Base class for 2D and 3D trees. More...
#include <SMESH_tree.hxx>
Public Types | |
typedef BND_BOX box_type | |
Public Member Functions | |
void compute () | |
Compute the Tree. More... | |
const box_type * getBox () const | |
int getHeight (const bool full=true) const | |
Return height of the tree, full or from this level to topest leaf. More... | |
bool isLeaf () const | |
Tell if Tree is a leaf or not An inheriting class can influence it via myIsLeaf protected field. More... | |
int level () const | |
virtual double maxSize () const =0 | |
SMESH_Tree (SMESH_TreeLimit *limit=0) | |
virtual ~SMESH_Tree () | |
SMESH_Tree Destructor. More... | |
Static Public Member Functions | |
static int nbChildren () | |
Protected Member Functions | |
void buildChildren () | |
Build the children boxes and call buildChildrenData() More... | |
virtual void buildChildrenData ()=0 | |
virtual box_type * buildRootBox ()=0 | |
virtual SMESH_Tree * newChild () const =0 | |
virtual box_type * newChildBox (int childIndex) const =0 | |
Protected Attributes | |
box_type * myBox | |
SMESH_Tree ** myChildren | |
SMESH_Tree * myFather | |
bool myIsLeaf | |
int myLevel | |
const SMESH_TreeLimit * myLimit | |
Detailed Description
template<class BND_BOX, int NB_CHILDREN>
class SMESH_Tree< BND_BOX, NB_CHILDREN >
Base class for 2D and 3D trees.
Member Typedef Documentation
◆ box_type
typedef BND_BOX SMESH_Tree< BND_BOX, NB_CHILDREN >::box_type |
Constructor & Destructor Documentation
◆ SMESH_Tree()
SMESH_Tree< BND_BOX, NB_CHILDREN >::SMESH_Tree | ( | SMESH_TreeLimit * | limit = 0 | ) |
Constructor. limit must be provided at tree root construction. limit will be deleted by SMESH_Tree.
◆ ~SMESH_Tree()
|
virtual |
SMESH_Tree Destructor.
Member Function Documentation
◆ buildChildren()
|
protected |
Build the children boxes and call buildChildrenData()
◆ buildChildrenData()
|
protectedpure virtual |
Implemented in VISCOUS_2D::_SegmentTree, and SMESH_OctreeNode.
◆ buildRootBox()
|
protectedpure virtual |
Implemented in VISCOUS_2D::_SegmentTree, and SMESH_OctreeNode.
◆ compute()
void SMESH_Tree< BND_BOX, NB_CHILDREN >::compute |
Compute the Tree.
◆ getBox()
const box_type* SMESH_Tree< BND_BOX, NB_CHILDREN >::getBox | ( | ) | const |
Referenced by SMESH_NodeSearcherImpl::FindClosestTo().
◆ getHeight()
int SMESH_Tree< BND_BOX, NB_CHILDREN >::getHeight | ( | const bool | full = true | ) | const |
Return height of the tree, full or from this level to topest leaf.
◆ isLeaf()
bool SMESH_Tree< BND_BOX, NB_CHILDREN >::isLeaf |
Tell if Tree is a leaf or not An inheriting class can influence it via myIsLeaf protected field.
Referenced by SMESH_NodeSearcherImpl::FindClosestTo(), and SMESH_NodeSearcherImpl::SMESH_NodeSearcherImpl().
◆ level()
int SMESH_Tree< BND_BOX, NB_CHILDREN >::level | ( | ) | const |
◆ maxSize()
|
pure virtual |
Referenced by SMESH_Tree< Bnd_B3d, 8 >::buildChildren().
◆ nbChildren()
|
static |
◆ newChild()
|
protectedpure virtual |
◆ newChildBox()
|
protectedpure virtual |
Implemented in SMESH_Octree, and SMESH_Quadtree.
Member Data Documentation
◆ myBox
|
protected |
Referenced by SMESH_Tree< Bnd_B3d, 8 >::getBox().
◆ myChildren
|
protected |
◆ myFather
|
protected |
Referenced by SMESH_Tree< Bnd_B3d, 8 >::buildChildren().
◆ myIsLeaf
|
protected |
Referenced by SMESH_OctreeNode::buildChildrenData(), and VISCOUS_2D::_SegmentTree::buildChildrenData().
◆ myLevel
|
protected |
Referenced by SMESH_Tree< Bnd_B3d, 8 >::buildChildren(), and SMESH_Tree< Bnd_B3d, 8 >::level().
◆ myLimit
|
protected |
The documentation for this class was generated from the following file:
- src/3rdParty/salomesmesh/inc/SMESH_tree.hxx