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 |
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.