
Public Member Functions | |
| TreeNode () | |
| virtual | ~TreeNode () | 
| void | deleteChildren () | 
| void | setParent (TreeNode *parent) | 
| void | setChildren (TreeNode *left, TreeNode *right) | 
| const TreeNode * | first () const | 
| const TreeNode * | last () const | 
| bool | isLeftChild () const | 
| bool | isRightChild () const | 
| const TreeNode * | next () const | 
| bool | hasChildren () const | 
| int | numLeaves () const | 
Protected Member Functions | |
| TreeNode * | left () | 
| TreeNode * | right () | 
Private Attributes | |
| TreeNode * | parent_ | 
| TreeNode * | left_ | 
| TreeNode * | right_ | 
Only maximal elements will be responsible for deleting their children. Therefore, the TreeNode dtor does not delete children; subtypes that need to delete children should call the deleteChildren() method.
Definition at line 21 of file SundanceRivaraTreeNode.hpp.
| TreeNode::TreeNode | ( | ) | 
Empty ctor
Definition at line 9 of file SundanceRivaraTreeNode.cpp.
| virtual Sundance::Rivara::TreeNode::~TreeNode | ( | ) |  [inline, virtual] | 
        
Definition at line 27 of file SundanceRivaraTreeNode.hpp.
| void TreeNode::deleteChildren | ( | ) | 
Delete the node's children
Definition at line 13 of file SundanceRivaraTreeNode.cpp.
Referenced by Sundance::Rivara::Element::~Element().
| const TreeNode * TreeNode::first | ( | ) | const | 
| bool Sundance::Rivara::TreeNode::hasChildren | ( | ) |  const [inline] | 
        
Indicate whether this node has children
Definition at line 57 of file SundanceRivaraTreeNode.hpp.
References left_.
Referenced by Sundance::Rivara::Edge::getUnrefinedCofacets(), Sundance::Rivara::Element::hasHangingNode(), numLeaves(), and Sundance::Rivara::Element::refine().
| bool TreeNode::isLeftChild | ( | ) | const | 
Indicate whether this is the leftward child of another node
Definition at line 40 of file SundanceRivaraTreeNode.cpp.
References left_, and parent_.
Referenced by next().
| bool TreeNode::isRightChild | ( | ) | const | 
Indicate whether this is the rightward child of another node
Definition at line 33 of file SundanceRivaraTreeNode.cpp.
References parent_, and right_.
Referenced by next().
| const TreeNode * TreeNode::last | ( | ) | const | 
return the rightmost leaf beneath this node
Definition at line 26 of file SundanceRivaraTreeNode.cpp.
References last(), and right_.
Referenced by last().
| TreeNode* Sundance::Rivara::TreeNode::left | ( | ) |  [inline, protected] | 
        
Definition at line 64 of file SundanceRivaraTreeNode.hpp.
References left_.
Referenced by Sundance::Rivara::Element::refine().
| const TreeNode * TreeNode::next | ( | ) | const | 
Return the next leaf in a left-to-right walk of the tree. If this is the last leaf, return 0.
Definition at line 47 of file SundanceRivaraTreeNode.cpp.
References first(), isLeftChild(), isRightChild(), parent_, and right_.
Referenced by Sundance::Rivara::ElementIterator::getNextElement(), and Sundance::Rivara::ElementIterator::hasMoreElements().
| int TreeNode::numLeaves | ( | ) | const | 
Return a count of the number of leaves
Definition at line 75 of file SundanceRivaraTreeNode.cpp.
References hasChildren(), left_, numLeaves(), and right_.
Referenced by numLeaves().
| TreeNode* Sundance::Rivara::TreeNode::right | ( | ) |  [inline, protected] | 
        
Definition at line 66 of file SundanceRivaraTreeNode.hpp.
References right_.
Referenced by Sundance::Rivara::Element::refine().
Set the two children of this node
Definition at line 37 of file SundanceRivaraTreeNode.hpp.
Referenced by Sundance::Rivara::Edge::bisect(), and Sundance::Rivara::Element::refine().
| void Sundance::Rivara::TreeNode::setParent | ( | TreeNode * | parent | ) |  [inline] | 
        
set the parent of this node
Definition at line 34 of file SundanceRivaraTreeNode.hpp.
References parent_.
Referenced by Sundance::Rivara::Element::refine().
TreeNode* Sundance::Rivara::TreeNode::left_ [private]           | 
        
Definition at line 71 of file SundanceRivaraTreeNode.hpp.
Referenced by deleteChildren(), first(), hasChildren(), isLeftChild(), left(), numLeaves(), and setChildren().
TreeNode* Sundance::Rivara::TreeNode::parent_ [private]           | 
        
Definition at line 69 of file SundanceRivaraTreeNode.hpp.
Referenced by isLeftChild(), isRightChild(), next(), and setParent().
TreeNode* Sundance::Rivara::TreeNode::right_ [private]           | 
        
Definition at line 73 of file SundanceRivaraTreeNode.hpp.
Referenced by deleteChildren(), isRightChild(), last(), next(), numLeaves(), right(), and setChildren().