#include <NCollection_UBTree.hxx>
Public Member Functions | |
| TreeNode (const TheObjType &theObj, const TheBndType &theBnd) | |
| Standard_Boolean | IsLeaf () const |
| Standard_Boolean | IsRoot () const |
| const TheBndType & | Bnd () const |
| TheBndType & | ChangeBnd () |
| const TheObjType & | Object () const |
| const TreeNode & | Child (const Standard_Integer i) const |
| TreeNode & | ChangeChild (const Standard_Integer i) |
| const TreeNode & | Parent () const |
| TreeNode & | ChangeParent () |
| void | Gemmate (const TheBndType &theNewBnd, const TheObjType &theObj, const TheBndType &theBnd, const Handle< NCollection_BaseAllocator > &theAlloc) |
| void | Kill (const Standard_Integer i, const Handle< NCollection_BaseAllocator > &theAlloc) |
| ~TreeNode () | |
Static Public Member Functions | |
| static void | delNode (TreeNode *theNode, const Handle< NCollection_BaseAllocator > &theAlloc) |
Class describing the node of the tree. Initially the tree consists of one leaf. A node can grow to a branch holding two childs:
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
Deleter of tree node. The whole hierarchy of its children also deleted. This method should be used instead of operator delete.
|
inline |
Forces *this node being gemmated such a way that it becomes a branch holding the previous content of *this node at the first child and theObj at the second child.
| theNewBnd | new bounding box comprizing both child nodes. |
| theObj | added object. |
| theBnd | bounding box of theObj. @theAlloc allocator providing memory to the new child nodes, provided by the calling Tree instance. |
|
inline |
|
inline |
|
inline |
Kills the i-th child, and *this accepts the content of another child
|
inline |
|
inline |