21 #pragma GCC diagnostic push 22 #pragma GCC diagnostic ignored "-Wmaybe-uninitialized" 24 #include <Eigen/Dense> 27 #pragma GCC diagnostic pop 42 using Point = std::tuple<double, double, const reco::ClusterHit3D*>;
56 Vertex() : fCoords(0., 0., 0.), fHalfEdge(NULL) {}
58 Vertex(
const double* coords,
HalfEdge* half) : fHalfEdge(half) { setCoords(coords); }
67 fCoords[0] = coords[0];
68 fCoords[1] = coords[1];
69 fCoords[2] = coords[2];
99 , fClusterHit3D(clusterHit3D)
133 : m_targetVertex(NULL)
135 , m_twinHalfEdge(NULL)
136 , m_nextHalfEdge(NULL)
137 , m_lastHalfEdge(NULL)
141 : m_targetVertex(vertex)
143 , m_twinHalfEdge(twin)
144 , m_nextHalfEdge(next)
145 , m_lastHalfEdge(last)
void setFaceArea(double area)
const reco::ClusterHit3D * getClusterHit3D() const
Vertex()
Vertex class definition for use in a doubly connected edge list a Vertex will contain the coordinates...
HalfEdge * getLastHalfEdge() const
void setCoords(const Coords &coords)
HalfEdge * getNextHalfEdge() const
std::list< HalfEdge > HalfEdgeList
void setHalfEdge(HalfEdge *half)
Face(HalfEdge *half, const Coords &coords, const reco::ClusterHit3D *clusterHit3D)
Face class definition for use in a doubly connected edge list A Face represents the area enclosed by ...
HalfEdge * getTwinHalfEdge() const
bool onConvexHull() const
HalfEdge * m_lastHalfEdge
HalfEdge * m_nextHalfEdge
Vertex(const double *coords, HalfEdge *half)
Vertex(const Coords &coords, HalfEdge *half)
void setLastHalfEdge(HalfEdge *last)
void setTwinHalfEdge(HalfEdge *twin)
HalfEdge()
HalfEdge class definition for use in a doubly connected edge list The half edge class represents one ...
std::list< Face > FaceList
const Coords & getCoords() const
const HalfEdge * getHalfEdge() const
void setNextHalfEdge(HalfEdge *next)
std::tuple< double, double, const reco::ClusterHit3D * > Point
Definitions used by the VoronoiDiagram algorithm.
void setCoords(const double *coords)
HalfEdge(Vertex *vertex, Face *face, HalfEdge *twin, HalfEdge *next, HalfEdge *last)
void setHalfEdge(HalfEdge *half)
HalfEdge * m_twinHalfEdge
std::list< Point > PointList
Vertex * getTargetVertex() const
const HalfEdge * getHalfEdge() const
const Coords & getCoords() const
const reco::ClusterHit3D * fClusterHit3D
std::list< Vertex > VertexList
void setTargetVertex(Vertex *vertex)
double getFaceArea() const