irafhy
Interval arithmetic based Reachability Analysis Framework for Hybrid Automaton
geometry.h
Go to the documentation of this file.
1 #ifndef REPRESENTATION_GEOMETRIC_GEOMETRY_H
2 #define REPRESENTATION_GEOMETRIC_GEOMETRY_H
3 
4 #include <Eigen/Core>
5 
6 namespace irafhy
7 {
8  class Point;
9 
10  template <typename DerivedGeometry>
11  class Geometry
12  {
13  public:
17  virtual ~Geometry() = default;
22  [[nodiscard]] virtual int dimension() const = 0;
27  [[nodiscard]] virtual bool empty() const = 0;
33  virtual bool intersect(const DerivedGeometry&, DerivedGeometry& result) const = 0;
38  virtual DerivedGeometry unite(const DerivedGeometry&) const = 0;
44  [[nodiscard]] virtual bool contains(const Point& point) const = 0;
50  [[nodiscard]] virtual bool contains(const Eigen::VectorXd& coordinate) const = 0;
51  };
52 } // namespace irafhy
53 #endif //REPRESENTATION_GEOMETRIC_GEOMETRY_H
virtual bool empty() const =0
check if the geometry object is empty or not
virtual bool contains(const Point &point) const =0
check if the given point is inside the domain defined by the geometry object or not ...
virtual int dimension() const =0
get the dimension of the space which the geometry object in
Definition: point.h:10
Definition: condition.cpp:3
virtual DerivedGeometry unite(const DerivedGeometry &) const =0
get the union of the current geometry object and given geometry object
Definition: geometry.h:11
virtual bool intersect(const DerivedGeometry &, DerivedGeometry &result) const =0
check if the current geometry object intersect with given geometry object or not
virtual ~Geometry()=default
destructor