LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
BSTNode class definiton specifically for use in constructing Voronoi diagrams. We are trying to follow the prescription described in "Computational Geometry" by Mark de Berg, et al. More...
#include "BeachLine.h"
Public Member Functions | |
BSTNode () | |
Constructor. More... | |
BSTNode (IEvent *event) | |
BSTNode (IEvent *, BSTNode *, BSTNode *, BSTNode *) | |
int | getDepth () const |
recover the data members More... | |
IEvent * | getEvent () const |
BSTNode * | getParent () const |
BSTNode * | getLeftChild () const |
BSTNode * | getRightChild () const |
BSTNode * | getPredecessor () const |
BSTNode * | getSuccessor () const |
BSTNode * | getAssociated () const |
dcel2d::HalfEdge * | getHalfEdge () const |
dcel2d::Face * | getFace () const |
void | setParent (BSTNode *node) |
Allow setting of the points. More... | |
void | setLeftChild (BSTNode *node) |
void | setRightChild (BSTNode *node) |
void | setPredecessor (BSTNode *node) |
void | setSuccessor (BSTNode *node) |
void | setAssociated (BSTNode *node) |
void | setHalfEdge (dcel2d::HalfEdge *half) |
void | setFace (dcel2d::Face *face) |
void | setDepth (int depth) |
void | setDepth () |
bool | operator< (const BSTNode &) const |
Provide override definition for ordering. More... | |
Private Attributes | |
int | m_depth |
IEvent * | m_event |
BSTNode * | m_parent |
BSTNode * | m_leftChild |
BSTNode * | m_rightChild |
BSTNode * | m_predecessor |
BSTNode * | m_successor |
BSTNode * | m_associated |
dcel2d::HalfEdge * | m_halfEdge |
dcel2d::Face * | m_face |
BSTNode class definiton specifically for use in constructing Voronoi diagrams. We are trying to follow the prescription described in "Computational Geometry" by Mark de Berg, et al.
Note that in this implementation the internal nodes of the tree will describe the breakpoints in the beach line and the leaves of the tree will describe the arcs (site points).
Definition at line 34 of file BeachLine.h.
|
inline |
Constructor.
Definition at line 39 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::insertNewLeaf().
|
inline |
Definition at line 52 of file BeachLine.h.
voronoi2d::BSTNode::BSTNode | ( | IEvent * | event, |
BSTNode * | parent, | ||
BSTNode * | leftChild, | ||
BSTNode * | rightChild | ||
) |
Definition at line 22 of file BeachLine.cxx.
References m_associated, m_depth, m_event, m_leftChild, m_parent, m_predecessor, m_rightChild, m_successor, voronoi2d::IEvent::setBSTNode(), and setDepth().
|
inline |
Definition at line 79 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::checkBeachLine(), voronoi2d::VoronoiDiagram::handleCircleEvents(), voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::VoronoiDiagram::makeLeftCircleEvent(), voronoi2d::VoronoiDiagram::makeRightCircleEvent(), voronoi2d::BeachLine::removeLeaf(), and voronoi2d::VoronoiDiagram::terminateInfiniteEdges().
|
inline |
recover the data members
Definition at line 72 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::rebalance(), and setDepth().
|
inline |
Definition at line 73 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::checkBeachLine(), voronoi2d::BeachLine::findBestLeaf(), voronoi2d::VoronoiDiagram::getConvexHull(), voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::VoronoiDiagram::makeCircleEvent(), voronoi2d::VoronoiDiagram::makeLeftCircleEvent(), voronoi2d::VoronoiDiagram::makeRightCircleEvent(), voronoi2d::BeachLine::removeLeaf(), and voronoi2d::VoronoiDiagram::terminateInfiniteEdges().
|
inline |
Definition at line 82 of file BeachLine.h.
Referenced by voronoi2d::VoronoiDiagram::getConvexHull(), voronoi2d::VoronoiDiagram::handleCircleEvents(), voronoi2d::VoronoiDiagram::handleSiteEvents(), and voronoi2d::VoronoiDiagram::terminateInfiniteEdges().
|
inline |
Definition at line 81 of file BeachLine.h.
Referenced by voronoi2d::VoronoiDiagram::handleCircleEvents(), and voronoi2d::VoronoiDiagram::terminateInfiniteEdges().
|
inline |
Definition at line 75 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::checkBeachLine(), voronoi2d::BeachLine::countLeaves(), voronoi2d::BeachLine::countNodes(), voronoi2d::BeachLine::findBestLeaf(), voronoi2d::VoronoiDiagram::getConvexHull(), voronoi2d::BeachLine::getTreeDepth(), voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::BeachLine::rebalance(), voronoi2d::BeachLine::removeLeaf(), voronoi2d::BeachLine::rotateWithLeftChild(), voronoi2d::BeachLine::rotateWithRightChild(), voronoi2d::VoronoiDiagram::terminateInfiniteEdges(), voronoi2d::BeachLine::traverseBeach(), voronoi2d::BeachLine::traverseBeachLeft(), and voronoi2d::BeachLine::traverseBeachRight().
|
inline |
Definition at line 74 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::checkBeachLine(), voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::BeachLine::rebalance(), voronoi2d::BeachLine::removeLeaf(), voronoi2d::BeachLine::rotateWithLeftChild(), and voronoi2d::BeachLine::rotateWithRightChild().
|
inline |
Definition at line 77 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::checkBeachLine(), voronoi2d::BeachLine::findBestLeaf(), voronoi2d::VoronoiDiagram::getConvexHull(), voronoi2d::VoronoiDiagram::handleCircleEvents(), voronoi2d::VoronoiDiagram::handleSiteEvents(), voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::VoronoiDiagram::makeLeftCircleEvent(), voronoi2d::BeachLine::removeLeaf(), voronoi2d::VoronoiDiagram::terminateInfiniteEdges(), voronoi2d::BeachLine::traverseBeach(), and voronoi2d::BeachLine::traverseBeachLeft().
|
inline |
Definition at line 76 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::checkBeachLine(), voronoi2d::BeachLine::countLeaves(), voronoi2d::BeachLine::countNodes(), voronoi2d::BeachLine::findBestLeaf(), voronoi2d::VoronoiDiagram::getConvexHull(), voronoi2d::BeachLine::getTreeDepth(), voronoi2d::BeachLine::rebalance(), voronoi2d::BeachLine::removeLeaf(), voronoi2d::BeachLine::rotateWithLeftChild(), voronoi2d::BeachLine::rotateWithRightChild(), voronoi2d::VoronoiDiagram::terminateInfiniteEdges(), voronoi2d::BeachLine::traverseBeach(), voronoi2d::BeachLine::traverseBeachLeft(), and voronoi2d::BeachLine::traverseBeachRight().
|
inline |
Definition at line 78 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::checkBeachLine(), voronoi2d::BeachLine::findBestLeaf(), voronoi2d::VoronoiDiagram::handleCircleEvents(), voronoi2d::VoronoiDiagram::handleSiteEvents(), voronoi2d::VoronoiDiagram::makeRightCircleEvent(), voronoi2d::BeachLine::removeLeaf(), voronoi2d::VoronoiDiagram::terminateInfiniteEdges(), voronoi2d::BeachLine::traverseBeach(), and voronoi2d::BeachLine::traverseBeachRight().
bool voronoi2d::BSTNode::operator< | ( | const BSTNode & | ) | const |
Provide override definition for ordering.
|
inline |
Definition at line 92 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::VoronoiDiagram::makeLeftCircleEvent(), voronoi2d::VoronoiDiagram::makeRightCircleEvent(), and voronoi2d::BeachLine::removeLeaf().
|
inline |
Definition at line 97 of file BeachLine.h.
References geo::operator<().
Referenced by voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::BeachLine::removeLeaf(), voronoi2d::BeachLine::rotateWithLeftChild(), voronoi2d::BeachLine::rotateWithRightChild(), and setDepth().
void voronoi2d::BSTNode::setDepth | ( | ) |
Definition at line 39 of file BeachLine.cxx.
References getDepth(), m_depth, m_leftChild, m_parent, m_rightChild, and setDepth().
Referenced by BSTNode().
|
inline |
Definition at line 95 of file BeachLine.h.
Referenced by voronoi2d::VoronoiDiagram::handleSiteEvents(), and voronoi2d::BeachLine::removeLeaf().
|
inline |
Definition at line 94 of file BeachLine.h.
Referenced by voronoi2d::VoronoiDiagram::handleCircleEvents(), voronoi2d::VoronoiDiagram::handleSiteEvents(), and voronoi2d::BeachLine::removeLeaf().
|
inline |
Definition at line 88 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::BeachLine::removeLeaf(), voronoi2d::BeachLine::rotateWithLeftChild(), and voronoi2d::BeachLine::rotateWithRightChild().
|
inline |
Allow setting of the points.
Definition at line 87 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::BeachLine::removeLeaf(), voronoi2d::BeachLine::rotateWithLeftChild(), and voronoi2d::BeachLine::rotateWithRightChild().
|
inline |
Definition at line 90 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::insertNewLeaf(), and voronoi2d::BeachLine::removeLeaf().
|
inline |
Definition at line 89 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::BeachLine::removeLeaf(), voronoi2d::BeachLine::rotateWithLeftChild(), and voronoi2d::BeachLine::rotateWithRightChild().
|
inline |
Definition at line 91 of file BeachLine.h.
Referenced by voronoi2d::BeachLine::insertNewLeaf(), and voronoi2d::BeachLine::removeLeaf().
|
private |
Definition at line 113 of file BeachLine.h.
Referenced by BSTNode().
|
private |
Definition at line 106 of file BeachLine.h.
Referenced by BSTNode(), and setDepth().
|
private |
Definition at line 107 of file BeachLine.h.
Referenced by BSTNode().
|
private |
Definition at line 115 of file BeachLine.h.
|
private |
Definition at line 114 of file BeachLine.h.
|
private |
Definition at line 109 of file BeachLine.h.
Referenced by BSTNode(), and setDepth().
|
private |
Definition at line 108 of file BeachLine.h.
Referenced by BSTNode(), and setDepth().
|
private |
Definition at line 111 of file BeachLine.h.
Referenced by BSTNode().
|
private |
Definition at line 110 of file BeachLine.h.
Referenced by BSTNode(), and setDepth().
|
private |
Definition at line 112 of file BeachLine.h.
Referenced by BSTNode().