SALOME - SMESH
|
#include <SMESH_OctreeNode.hxx>
Public Member Functions | |
SMESH_OctreeNode (const std::set< const SMDS_MeshNode * > &theNodes, const int maxLevel=-1, const int maxNbNodes=5, const double minBoxSize=0.) | |
virtual | ~SMESH_OctreeNode () |
Empty destructor. | |
virtual const bool | isInside (const SMDS_MeshNode *Node, const double precision=0.) |
void | NodesAround (const SMDS_MeshNode *Node, std::list< const SMDS_MeshNode * > *Result, const double precision=0.) |
bool | NodesAround (const SMDS_MeshNode *Node, std::map< double, const SMDS_MeshNode * > &dist2Nodes, double precision) |
void | FindCoincidentNodes (std::set< const SMDS_MeshNode * > *nodes, const double theTolerance, std::list< std::list< const SMDS_MeshNode * > > *theGroupsOfNodes) |
void | UpdateByMoveNode (const SMDS_MeshNode *node, const gp_Pnt &toPnt) |
Update data according to node movement. | |
SMESH_OctreeNodeIteratorPtr | GetChildrenIterator () |
Return iterator over children. | |
SMDS_NodeIteratorPtr | GetNodeIterator () |
Return nodes iterator. | |
int | NbNodes () const |
Return nb nodes in a tree. | |
void | compute () |
bool | isLeaf () const |
int | level () const |
const Bnd_B3d & | getBox () const |
double | maxSize () const |
int | getChildIndex (double x, double y, double z, const gp_XYZ &boxMiddle) const |
Return index of a child the given point is in. | |
Static Public Member Functions | |
static void | FindCoincidentNodes (std::set< const SMDS_MeshNode * > &nodes, std::list< std::list< const SMDS_MeshNode * > > *theGroupsOfNodes, const double theTolerance=0.00001, const int maxLevel=-1, const int maxNbNodes=5) |
Protected Member Functions | |
SMESH_OctreeNode (int maxNbNodes) | |
virtual Bnd_B3d * | buildRootBox () |
virtual void | buildChildrenData () |
virtual SMESH_Octree * | allocateOctreeChild () const |
void | FindCoincidentNodes (const SMDS_MeshNode *Node, std::set< const SMDS_MeshNode * > *SetOfNodes, std::list< const SMDS_MeshNode * > *Result, const double precision) |
Protected Attributes | |
int | myMaxNbNodes |
std::set< const SMDS_MeshNode * > | myNodes |
SMESH_Octree ** | myChildren |
SMESH_Octree * | myFather |
bool | myIsLeaf |
const Limit * | myLimit |
Definition at line 48 of file SMESH_OctreeNode.hxx.
SMESH_OctreeNode.SMESH_OctreeNode | ( | const std::set< const SMDS_MeshNode * > & | theNodes, |
const int | maxLevel = -1 , |
||
const int | maxNbNodes = 5 , |
||
const double | minBoxSize = 0. |
||
) |
virtual SMESH_OctreeNode.~SMESH_OctreeNode | ( | ) | [virtual] |
Empty destructor.
Definition at line 61 of file SMESH_OctreeNode.hxx.
SMESH_OctreeNode.SMESH_OctreeNode | ( | int | maxNbNodes | ) | [protected] |
virtual const bool SMESH_OctreeNode.isInside | ( | const SMDS_MeshNode * | Node, |
const double | precision = 0. |
||
) | [virtual] |
void SMESH_OctreeNode.NodesAround | ( | const SMDS_MeshNode * | Node, |
std::list< const SMDS_MeshNode * > * | Result, | ||
const double | precision = 0. |
||
) |
bool SMESH_OctreeNode.NodesAround | ( | const SMDS_MeshNode * | Node, |
std::map< double, const SMDS_MeshNode * > & | dist2Nodes, | ||
double | precision | ||
) |
void SMESH_OctreeNode.FindCoincidentNodes | ( | std::set< const SMDS_MeshNode * > * | nodes, |
const double | theTolerance, | ||
std::list< std::list< const SMDS_MeshNode * > > * | theGroupsOfNodes | ||
) |
static void SMESH_OctreeNode.FindCoincidentNodes | ( | std::set< const SMDS_MeshNode * > & | nodes, |
std::list< std::list< const SMDS_MeshNode * > > * | theGroupsOfNodes, | ||
const double | theTolerance = 0.00001 , |
||
const int | maxLevel = -1 , |
||
const int | maxNbNodes = 5 |
||
) | [static] |
void SMESH_OctreeNode.UpdateByMoveNode | ( | const SMDS_MeshNode * | node, |
const gp_Pnt & | toPnt | ||
) |
Update data according to node movement.
SMESH_OctreeNodeIteratorPtr SMESH_OctreeNode.GetChildrenIterator | ( | ) |
Return iterator over children.
SMDS_NodeIteratorPtr SMESH_OctreeNode.GetNodeIterator | ( | ) |
Return nodes iterator.
int SMESH_OctreeNode.NbNodes | ( | ) | const |
virtual Bnd_B3d* SMESH_OctreeNode.buildRootBox | ( | ) | [protected, virtual] |
Implements SMESH_Octree.
virtual void SMESH_OctreeNode.buildChildrenData | ( | ) | [protected, virtual] |
Implements SMESH_Octree.
virtual SMESH_Octree* SMESH_OctreeNode.allocateOctreeChild | ( | ) | const [protected, virtual] |
Implements SMESH_Octree.
void SMESH_OctreeNode.FindCoincidentNodes | ( | const SMDS_MeshNode * | Node, |
std::set< const SMDS_MeshNode * > * | SetOfNodes, | ||
std::list< const SMDS_MeshNode * > * | Result, | ||
const double | precision | ||
) | [protected] |
void SMESH_Octree.compute | ( | ) | [inherited] |
bool SMESH_Octree.isLeaf | ( | ) | const [inherited] |
int SMESH_Octree.level | ( | ) | const [inherited] |
Definition at line 67 of file SMESH_Octree.hxx.
References SMESH_Octree.myLevel.
const Bnd_B3d& SMESH_Octree.getBox | ( | ) | const [inherited] |
Definition at line 70 of file SMESH_Octree.hxx.
References SMESH_Octree.myBox.
double SMESH_Octree.maxSize | ( | ) | const [inherited] |
int SMESH_Octree::getChildIndex | ( | double | x, |
double | y, | ||
double | z, | ||
const gp_XYZ & | boxMiddle | ||
) | const [inherited] |
Return index of a child the given point is in.
Definition at line 118 of file SMESH_Octree.hxx.
int SMESH_OctreeNode.myMaxNbNodes [protected] |
Definition at line 126 of file SMESH_OctreeNode.hxx.
std::set<const SMDS_MeshNode*> SMESH_OctreeNode.myNodes [protected] |
Definition at line 129 of file SMESH_OctreeNode.hxx.
Referenced by NbNodes().
SMESH_Octree** SMESH_Octree.myChildren [protected, inherited] |
Definition at line 91 of file SMESH_Octree.hxx.
SMESH_Octree* SMESH_Octree.myFather [protected, inherited] |
Definition at line 94 of file SMESH_Octree.hxx.
bool SMESH_Octree.myIsLeaf [protected, inherited] |
Definition at line 97 of file SMESH_Octree.hxx.
const Limit* SMESH_Octree.myLimit [protected, inherited] |
Definition at line 100 of file SMESH_Octree.hxx.