30 #ifndef _SMESH_OCTREENODE_HXX_ 31 #define _SMESH_OCTREENODE_HXX_ 53 SMESH_OctreeNode (
const std::set<const SMDS_MeshNode*>& theNodes,
const int maxLevel = -1,
54 const int maxNbNodes = 5,
const double minBoxSize = 0.);
68 std::list<const SMDS_MeshNode*>* Result,
69 const double precision = 0.);
73 std::map<double, const SMDS_MeshNode*>& dist2Nodes,
79 const double theTolerance,
80 std::list< std::list< const SMDS_MeshNode*> >* theGroupsOfNodes);
85 std::list< std::list< const SMDS_MeshNode*> >* theGroupsOfNodes,
86 const double theTolerance = 0.00001,
87 const int maxLevel = -1,
88 const int maxNbNodes = 5);
121 std::set<const SMDS_MeshNode*>* SetOfNodes,
122 std::list<const SMDS_MeshNode*>* Result,
123 const double precision);
SMDS_Iterator< SMESH_OctreeNode * > SMESH_OctreeNodeIterator
int NbNodes() const
Return nb nodes in a tree.
void NodesAround(const SMDS_MeshNode *Node, std::list< const SMDS_MeshNode *> *Result, const double precision=0.)
SMDS_NodeIteratorPtr GetNodeIterator()
Return nodes iterator.
void UpdateByMoveNode(const SMDS_MeshNode *node, const gp_Pnt &toPnt)
Update data according to node movement.
std::set< const SMDS_MeshNode * > myNodes
virtual void buildChildrenData()
boost::shared_ptr< SMDS_Iterator< const SMDS_MeshNode * > > SMDS_NodeIteratorPtr
virtual SMESH_Octree * allocateOctreeChild() const
Abstract class for iterators.
virtual ~SMESH_OctreeNode()
Empty destructor.
virtual const bool isInside(const SMDS_MeshNode *Node, const double precision=0.)
void FindCoincidentNodes(std::set< const SMDS_MeshNode *> *nodes, const double theTolerance, std::list< std::list< const SMDS_MeshNode *> > *theGroupsOfNodes)
virtual Bnd_B3d * buildRootBox()
boost::shared_ptr< SMESH_OctreeNodeIterator > SMESH_OctreeNodeIteratorPtr
SMESH_OctreeNodeIteratorPtr GetChildrenIterator()
Return iterator over children.
SMESH_OctreeNode(const std::set< const SMDS_MeshNode *> &theNodes, const int maxLevel=-1, const int maxNbNodes=5, const double minBoxSize=0.)