IEvent.h
Go to the documentation of this file.
1 /**
2  * @file DCEL2D.h
3  *
4  * @brief Definitions for a doubly connected edge list
5  * This will define a vertex, half edge and face
6  *
7  * @author usher@slac.stanford.edu
8  *
9  */
10 #ifndef IEvent_voronoi2d_h
11 #define IEvent_voronoi2d_h
12 
14 
15 // std includes
16 #include <vector>
17 #include <algorithm>
18 //------------------------------------------------------------------------------------------------------------------------------------------
19 
20 namespace voronoi2d
21 {
22 /**
23  * @brief Define a virtual interface to the beachline "events"
24  */
25 class BSTNode;
26 
27 class IEvent
28 {
29 public:
30  /**
31  * @brief Virtual Destructor
32  */
33  virtual ~IEvent() noexcept = default;
34 
35  /**
36  * @brief Interface for configuring the particular algorithm tool
37  */
38 
39  virtual void setInvalid() const = 0;
40 
41  virtual bool isSite() const = 0;
42  virtual bool isCircle() const = 0;
43  virtual bool isValid() const = 0;
44 
45  virtual const dcel2d::Point& getPoint() const = 0;
46  virtual double xPos() const = 0;
47  virtual double yPos() const = 0;
48  virtual const dcel2d::Coords& getCoords() const = 0;
49  virtual const dcel2d::Coords& circleCenter() const = 0;
50 
51  virtual BSTNode* getBSTNode() const = 0;
52  virtual void setBSTNode(BSTNode*) = 0;
53 
54  virtual bool operator<(const IEvent& right) const = 0;
55 };
56 
57 } // namespace lar_cluster3d
58 #endif
BSTNode class definiton specifically for use in constructing Voronoi diagrams. We are trying to follo...
Definition: BeachLine.h:32
virtual BSTNode * getBSTNode() const =0
virtual bool operator<(const IEvent &right) const =0
virtual bool isSite() const =0
virtual const dcel2d::Coords & circleCenter() const =0
std::tuple< double, double, const reco::ClusterHit3D * > Point
Definitions used by the VoronoiDiagram algorithm.
Definition: DCEL.h:44
virtual double yPos() const =0
virtual void setBSTNode(BSTNode *)=0
virtual bool isCircle() const =0
virtual bool isValid() const =0
virtual double xPos() const =0
Eigen::Vector3f Coords
Definition: DCEL.h:46
virtual void setInvalid() const =0
Interface for configuring the particular algorithm tool.
virtual const dcel2d::Coords & getCoords() const =0
virtual ~IEvent() noexcept=default
Virtual Destructor.
virtual const dcel2d::Point & getPoint() const =0