Version: 8.3.0
SMESH::Controls::ElementsOnShape::OctreeClassifier Struct Reference
Inheritance diagram for SMESH::Controls::ElementsOnShape::OctreeClassifier:

Public Types

typedef SMESH_Tree< Bnd_B3d, 8 > TBaseTree
 
typedef Bnd_B3d box_type
 

Public Member Functions

 OctreeClassifier (const std::vector< ElementsOnShape::Classifier * > &classifiers)
 
 OctreeClassifier (const OctreeClassifier *otherTree, const std::vector< ElementsOnShape::Classifier > &clsOther, std::vector< ElementsOnShape::Classifier > &cls)
 
void GetClassifiersAtPoint (const gp_XYZ &p, std::vector< ElementsOnShape::Classifier * > &classifiers)
 
double maxSize () const
 Compute the bigger dimension of my box. More...
 
void compute ()
 
bool isLeaf () const
 
int level () const
 
const box_typegetBox () const
 
int getHeight (const bool full=true) const
 

Static Public Member Functions

static int getChildIndex (double x, double y, double z, const gp_XYZ &boxMiddle)
 Return index of a child the given point is in. More...
 
static int nbChildren ()
 

Protected Member Functions

 OctreeClassifier ()
 
SMESH_OctreenewChild () const
 
void buildChildrenData ()
 
Bnd_B3d * buildRootBox ()
 
virtual Bnd_B3d * newChildBox (int childIndex) const
 Allocate a bndbox according to childIndex. More...
 
virtual void enlargeByFactor (Bnd_B3d *box, double factor) const
 Change size of a box by a factor; each dimension changes independently of others. More...
 
void buildChildren ()
 

Protected Attributes

std::vector
< ElementsOnShape::Classifier * > 
myClassifiers
 
SMESH_Tree ** myChildren
 
SMESH_TreemyFather
 
bool myIsLeaf
 
const SMESH_TreeLimitmyLimit
 
box_typemyBox
 
int myLevel
 

Member Typedef Documentation

typedef Bnd_B3d SMESH_Tree< Bnd_B3d , NB_CHILDREN >::box_type
inherited
typedef SMESH_Tree< Bnd_B3d, 8> SMESH_Octree::TBaseTree
inherited

Constructor & Destructor Documentation

SMESH::Controls::ElementsOnShape::OctreeClassifier::OctreeClassifier ( const std::vector< ElementsOnShape::Classifier * > &  classifiers)
SMESH::Controls::ElementsOnShape::OctreeClassifier::OctreeClassifier ( )
protected

Member Function Documentation

void SMESH_Tree< Bnd_B3d , NB_CHILDREN >::buildChildren ( )
protectedinherited

Build the children boxes and call buildChildrenData()

Bnd_B3d * SMESH::Controls::ElementsOnShape::OctreeClassifier::buildRootBox ( )
protectedvirtual
void SMESH_Tree< Bnd_B3d , NB_CHILDREN >::compute ( )
inherited
void SMESH_Octree::enlargeByFactor ( Bnd_B3d *  box,
double  factor 
) const
protectedvirtualinherited

Change size of a box by a factor; each dimension changes independently of others.

Implements SMESH_Tree< Bnd_B3d, 8 >.

int SMESH_Octree::getChildIndex ( double  x,
double  y,
double  z,
const gp_XYZ &  boxMiddle 
)
staticinherited

Return index of a child the given point is in.

Referenced by SMESH_OctreeNode::buildChildrenData(), SMESH_OctreeNode::NodesAround(), and SMESH_OctreeNode::UpdateByMoveNode().

void SMESH::Controls::ElementsOnShape::OctreeClassifier::GetClassifiersAtPoint ( const gp_XYZ &  p,
std::vector< ElementsOnShape::Classifier * > &  classifiers 
)
int SMESH_Tree< Bnd_B3d , NB_CHILDREN >::getHeight ( const bool  full = true) const
inherited

Return height of the tree, full or from this level to topest leaf.

bool SMESH_Tree< Bnd_B3d , NB_CHILDREN >::isLeaf ( ) const
inherited

Tell if Tree is a leaf or not An inheriting class can influence it via myIsLeaf protected field.

Referenced by SMESH_OctreeNode::FindCoincidentNodes(), SMESH_OctreeNode::GetChildrenIterator(), SMESH_OctreeNode::NodesAround(), and SMESH_OctreeNode::UpdateByMoveNode().

int SMESH_Tree< Bnd_B3d , NB_CHILDREN >::level ( ) const
inherited
double SMESH_Octree::maxSize ( ) const
virtualinherited
static int SMESH_Tree< Bnd_B3d , NB_CHILDREN >::nbChildren ( )
staticinherited
SMESH_Octree* SMESH::Controls::ElementsOnShape::OctreeClassifier::newChild ( ) const
protectedvirtual
Bnd_B3d * SMESH_Octree::newChildBox ( int  childIndex) const
protectedvirtualinherited

Allocate a bndbox according to childIndex.

childIndex is zero based

Implements SMESH_Tree< Bnd_B3d, 8 >.

References SMESH_Tree< Bnd_B3d, 8 >::getBox().

Field Documentation

box_type* SMESH_Tree< Bnd_B3d , NB_CHILDREN >::myBox
protectedinherited
std::vector< ElementsOnShape::Classifier* > SMESH::Controls::ElementsOnShape::OctreeClassifier::myClassifiers
protected
SMESH_Tree* SMESH_Tree< Bnd_B3d , NB_CHILDREN >::myFather
protectedinherited
bool SMESH_Tree< Bnd_B3d , NB_CHILDREN >::myIsLeaf
protectedinherited
int SMESH_Tree< Bnd_B3d , NB_CHILDREN >::myLevel
protectedinherited
const SMESH_TreeLimit* SMESH_Tree< Bnd_B3d , NB_CHILDREN >::myLimit
protectedinherited