64 if (m_event) m_event->setBSTNode(
this);
129 bool isEmpty()
const {
return m_root == NULL; }
136 int countNodes()
const;
137 int countLeaves()
const;
138 int traverseBeach()
const;
145 void countNodes(
const BSTNode*,
int&)
const;
146 void countLeaves(
const BSTNode*,
int&)
const;
148 int traverseBeachLeft(
BSTNode*)
const;
149 int traverseBeachRight(
BSTNode*)
const;
151 void checkBeachLine(
double)
const;
156 int getTreeDepth(
const BSTNode*)
const;
This defines the actual beach line. The idea is to implement this as a self balancing binary search t...
EventUtilities m_utilities
void setRightChild(BSTNode *node)
void setSuccessor(BSTNode *node)
constexpr bool operator<(CryostatID const &a, CryostatID const &b)
Order cryostats with increasing ID.
Provides some basic functions operating in IEvent class objects.
BSTNode class definiton specifically for use in constructing Voronoi diagrams. We are trying to follo...
BSTNode * getParent() const
std::list< BSTNode > BSTNodeList
Internal class definitions to facilitate construction of diagram.
BSTNode * findBestLeaf(const IEvent *event) const
BSTNode * getAssociated() const
void setLeftChild(BSTNode *node)
void setParent(BSTNode *node)
Allow setting of the points.
BSTNode * getRightChild() const
void setAssociated(BSTNode *node)
const BSTNode * getTopNode() const
int getDepth() const
recover the data members
BSTNode * getPredecessor() const
dcel2d::Face * getFace() const
void setFace(dcel2d::Face *face)
dcel2d::HalfEdge * getHalfEdge() const
void setPredecessor(BSTNode *node)
IEvent * getEvent() const
dcel2d::HalfEdge * m_halfEdge
BSTNode * getSuccessor() const
BSTNode * getLeftChild() const
Event finding and building.
void setHalfEdge(dcel2d::HalfEdge *half)