2D tree of anything. More...
#include <SMESH_Quadtree.hxx>

Public Types | |
| typedef SMESH_Tree< Bnd_B2d, 4 > | TBaseTree |
| typedef Bnd_B2d | box_type |
Public Member Functions | |
| SMESH_Quadtree (SMESH_TreeLimit *limit=0) | |
| Constructor. More... | |
| double | maxSize () const |
| Compute the bigger dimension of my box. More... | |
| void | compute () |
| bool | isLeaf () const |
| int | level () const |
| const box_type * | getBox () const |
| int | getHeight (const bool full=true) const |
Static Public Member Functions | |
| static int | nbChildren () |
Protected Member Functions | |
| virtual Bnd_B2d * | newChildBox (int childIndex) const |
| Allocate a bndbox according to childIndex. More... | |
| virtual void | enlargeByFactor (Bnd_B2d *box, double factor) const |
| Change size of a box by a factor; each dimension changes independently of others. More... | |
| virtual box_type * | buildRootBox ()=0 |
| virtual SMESH_Tree * | newChild () const =0 |
| virtual void | buildChildrenData ()=0 |
| void | buildChildren () |
Protected Attributes | |
| SMESH_Tree ** | myChildren |
| SMESH_Tree * | myFather |
| bool | myIsLeaf |
| const SMESH_TreeLimit * | myLimit |
| box_type * | myBox |
| int | myLevel |
2D tree of anything.
Methods to implement in a descendant are:
|
inherited |
| typedef SMESH_Tree< Bnd_B2d, 4> SMESH_Quadtree::TBaseTree |
| SMESH_Quadtree::SMESH_Quadtree | ( | SMESH_TreeLimit * | limit = 0 | ) |
Constructor.
limit must be provided at tree root construction. limit will be deleted by SMESH_Quadtree.
|
protectedinherited |
Build the children boxes and call buildChildrenData()
|
protectedpure virtualinherited |
Implemented in VISCOUS_2D::_SegmentTree.
|
protectedpure virtualinherited |
Implemented in VISCOUS_2D::_SegmentTree.
|
inherited |
Compute the Tree.
Referenced by VISCOUS_2D::_SegmentTree::_SegmentTree().
|
protectedvirtual |
Change size of a box by a factor; each dimension changes independently of others.
Implements SMESH_Tree< Bnd_B2d, 4 >.
|
inherited |
|
inherited |
Return height of the tree, full or from this level to topest leaf.
|
inherited |
Tell if Tree is a leaf or not An inheriting class can influence it via myIsLeaf protected field.
Referenced by VISCOUS_2D::_SegmentTree::GetSegmentsNear().
|
inherited |
|
virtual |
Compute the bigger dimension of my box.
Implements SMESH_Tree< Bnd_B2d, 4 >.
References SMESH_Tree< Bnd_B2d, 4 >::getBox().
|
staticinherited |
|
protectedpure virtualinherited |
Implemented in VISCOUS_2D::_SegmentTree.
|
protectedvirtual |
Allocate a bndbox according to childIndex.
childIndex is zero based
Implements SMESH_Tree< Bnd_B2d, 4 >.
References SMESH_Tree< Bnd_B2d, 4 >::getBox().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |