
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_type * | getBox () 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_Octree * | newChild () 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_Tree * | myFather |
| bool | myIsLeaf |
| const SMESH_TreeLimit * | myLimit |
| box_type * | myBox |
| int | myLevel |
|
inherited |
|
inherited |
| SMESH::Controls::ElementsOnShape::OctreeClassifier::OctreeClassifier | ( | const std::vector< ElementsOnShape::Classifier * > & | classifiers | ) |
| SMESH::Controls::ElementsOnShape::OctreeClassifier::OctreeClassifier | ( | const OctreeClassifier * | otherTree, |
| const std::vector< ElementsOnShape::Classifier > & | clsOther, | ||
| std::vector< ElementsOnShape::Classifier > & | cls | ||
| ) |
References SMESH_Tree< BND_BOX, NB_CHILDREN >::getBox(), SMESH_Tree< BND_BOX, NB_CHILDREN >::isLeaf(), SMESH_Tree< Bnd_B3d, 8 >::myBox, SMESH_Tree< Bnd_B3d, 8 >::myChildren, SMESH_Tree< BND_BOX, NB_CHILDREN >::myChildren, SMESH::Controls::ElementsOnShape::OctreeClassifier::myClassifiers, SMESH_Tree< Bnd_B3d, 8 >::myIsLeaf, and SMESH_Tree< Bnd_B3d, 8 >::nbChildren().
|
protected |
|
protectedinherited |
Build the children boxes and call buildChildrenData()
|
protectedvirtual |
Implements SMESH_Tree< Bnd_B3d, 8 >.
References SMESH::Controls::ElementsOnShape::OctreeClassifier::buildChildrenData(), SMESHUtils::FreeVector(), SMESH::Controls::ElementsOnShape::OctreeClassifier::myClassifiers, and SMESH_Tree< BND_BOX, NB_CHILDREN >::myIsLeaf.
Referenced by SMESH::Controls::ElementsOnShape::OctreeClassifier::buildChildrenData().
|
protectedvirtual |
Implements SMESH_Tree< Bnd_B3d, 8 >.
References SMESH::Controls::ElementsOnShape::OctreeClassifier::buildRootBox().
Referenced by SMESH::Controls::ElementsOnShape::OctreeClassifier::buildRootBox().
|
inherited |
Compute the Tree.
Referenced by SMESH::Controls::ElementsOnShape::OctreeClassifier::OctreeClassifier(), and SMESH_OctreeNode::SMESH_OctreeNode().
|
protectedvirtualinherited |
Change size of a box by a factor; each dimension changes independently of others.
Implements SMESH_Tree< Bnd_B3d, 8 >.
|
inherited |
|
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 | ||
| ) |
References SMESH_MeshAlgos::IsOut().
Referenced by SMESH::Controls::ElementsOnShape::IsSatisfy().
|
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 SMESH_OctreeNode::FindCoincidentNodes(), SMESH_OctreeNode::GetChildrenIterator(), SMESH_OctreeNode::NodesAround(), and SMESH_OctreeNode::UpdateByMoveNode().
|
inherited |
References SMESH_Tree< BND_BOX, NB_CHILDREN >::myLevel.
|
virtualinherited |
Compute the bigger dimension of my box.
Implements SMESH_Tree< Bnd_B3d, 8 >.
References SMESH_Tree< Bnd_B3d, 8 >::getBox().
Referenced by SMESH_ElementSearcherImpl::getTolerance(), SMESH_OctreeNode::NodesAround(), and SMESH_NodeSearcherImpl::SMESH_NodeSearcherImpl().
|
staticinherited |
|
protectedvirtual |
Implements SMESH_Tree< Bnd_B3d, 8 >.
References SMESH::Controls::ElementsOnShape::OctreeClassifier::OctreeClassifier().
|
protectedvirtualinherited |
Allocate a bndbox according to childIndex.
childIndex is zero based
Implements SMESH_Tree< Bnd_B3d, 8 >.
References SMESH_Tree< Bnd_B3d, 8 >::getBox().
|
protectedinherited |
|
protectedinherited |
|
protected |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Referenced by SMESH_OctreeNode::getMaxNbNodes().