LArSoft
v07_13_02
Liquid Argon Software toolkit - http://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 *) | |
~BSTNode () | |
Virtual Destructor. More... | |
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 32 of file BeachLine.h.
|
inline |
Constructor.
Definition at line 38 of file BeachLine.h.
Referenced by BSTNode(), and voronoi2d::BeachLine::insertNewLeaf().
|
inline |
Definition at line 51 of file BeachLine.h.
References BSTNode(), m_event, and voronoi2d::IEvent::setBSTNode().
voronoi2d::BSTNode::BSTNode | ( | IEvent * | event, |
BSTNode * | parent, | ||
BSTNode * | leftChild, | ||
BSTNode * | rightChild | ||
) |
Definition at line 24 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 |
|
inline |
Definition at line 83 of file BeachLine.h.
References m_associated.
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 76 of file BeachLine.h.
References m_depth.
Referenced by voronoi2d::BeachLine::rebalance(), and setDepth().
|
inline |
Definition at line 77 of file BeachLine.h.
References m_event.
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 86 of file BeachLine.h.
References m_face.
Referenced by voronoi2d::VoronoiDiagram::getConvexHull(), voronoi2d::VoronoiDiagram::handleCircleEvents(), voronoi2d::VoronoiDiagram::handleSiteEvents(), and voronoi2d::VoronoiDiagram::terminateInfiniteEdges().
|
inline |
Definition at line 85 of file BeachLine.h.
References m_halfEdge.
Referenced by voronoi2d::VoronoiDiagram::handleCircleEvents(), and voronoi2d::VoronoiDiagram::terminateInfiniteEdges().
|
inline |
Definition at line 79 of file BeachLine.h.
References m_leftChild.
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 78 of file BeachLine.h.
References m_parent.
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 81 of file BeachLine.h.
References m_predecessor.
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 80 of file BeachLine.h.
References m_rightChild.
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 82 of file BeachLine.h.
References m_successor.
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.
Referenced by setDepth().
|
inline |
Definition at line 96 of file BeachLine.h.
References m_associated.
Referenced by voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::VoronoiDiagram::makeLeftCircleEvent(), voronoi2d::VoronoiDiagram::makeRightCircleEvent(), and voronoi2d::BeachLine::removeLeaf().
|
inline |
Definition at line 101 of file BeachLine.h.
References m_depth, operator<(), and setDepth().
Referenced by voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::BeachLine::removeLeaf(), voronoi2d::BeachLine::rotateWithLeftChild(), voronoi2d::BeachLine::rotateWithRightChild(), and setDepth().
void voronoi2d::BSTNode::setDepth | ( | ) |
Definition at line 41 of file BeachLine.cxx.
References getDepth(), m_depth, m_leftChild, m_parent, m_rightChild, max, and setDepth().
Referenced by BSTNode(), and setDepth().
|
inline |
Definition at line 99 of file BeachLine.h.
References m_face.
Referenced by voronoi2d::VoronoiDiagram::handleSiteEvents(), and voronoi2d::BeachLine::removeLeaf().
|
inline |
Definition at line 98 of file BeachLine.h.
References m_halfEdge.
Referenced by voronoi2d::VoronoiDiagram::handleCircleEvents(), voronoi2d::VoronoiDiagram::handleSiteEvents(), and voronoi2d::BeachLine::removeLeaf().
|
inline |
Definition at line 92 of file BeachLine.h.
References m_leftChild.
Referenced by voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::BeachLine::removeLeaf(), voronoi2d::BeachLine::rotateWithLeftChild(), and voronoi2d::BeachLine::rotateWithRightChild().
|
inline |
Allow setting of the points.
Definition at line 91 of file BeachLine.h.
References m_parent.
Referenced by voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::BeachLine::removeLeaf(), voronoi2d::BeachLine::rotateWithLeftChild(), and voronoi2d::BeachLine::rotateWithRightChild().
|
inline |
Definition at line 94 of file BeachLine.h.
References m_predecessor.
Referenced by voronoi2d::BeachLine::insertNewLeaf(), and voronoi2d::BeachLine::removeLeaf().
|
inline |
Definition at line 93 of file BeachLine.h.
References m_rightChild.
Referenced by voronoi2d::BeachLine::insertNewLeaf(), voronoi2d::BeachLine::removeLeaf(), voronoi2d::BeachLine::rotateWithLeftChild(), and voronoi2d::BeachLine::rotateWithRightChild().
|
inline |
Definition at line 95 of file BeachLine.h.
References m_successor.
Referenced by voronoi2d::BeachLine::insertNewLeaf(), and voronoi2d::BeachLine::removeLeaf().
|
private |
Definition at line 117 of file BeachLine.h.
Referenced by BSTNode(), getAssociated(), and setAssociated().
|
private |
Definition at line 110 of file BeachLine.h.
Referenced by BSTNode(), getDepth(), and setDepth().
|
private |
Definition at line 111 of file BeachLine.h.
Referenced by BSTNode(), and getEvent().
|
private |
Definition at line 119 of file BeachLine.h.
|
private |
Definition at line 118 of file BeachLine.h.
Referenced by getHalfEdge(), and setHalfEdge().
|
private |
Definition at line 113 of file BeachLine.h.
Referenced by BSTNode(), getLeftChild(), setDepth(), and setLeftChild().
|
private |
Definition at line 112 of file BeachLine.h.
Referenced by BSTNode(), getParent(), setDepth(), and setParent().
|
private |
Definition at line 115 of file BeachLine.h.
Referenced by BSTNode(), getPredecessor(), and setPredecessor().
|
private |
Definition at line 114 of file BeachLine.h.
Referenced by BSTNode(), getRightChild(), setDepth(), and setRightChild().
|
private |
Definition at line 116 of file BeachLine.h.
Referenced by BSTNode(), getSuccessor(), and setSuccessor().