SMESH_OctreeNode Class Reference

#include <SMESH_OctreeNode.hxx>

Inheritance diagram for SMESH_OctreeNode:
Inheritance graph
Collaboration diagram for SMESH_OctreeNode:
Collaboration graph

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_OctreeallocateOctreeChild () 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_OctreemyFather
bool myIsLeaf
const LimitmyLimit

Detailed Description

Definition at line 48 of file SMESH_OctreeNode.hxx.


Constructor & Destructor Documentation

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]

Member Function Documentation

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

Return nb nodes in a tree.

Definition at line 104 of file SMESH_OctreeNode.hxx.

References myNodes.

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.


Field Documentation

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.


Generated on 17 May 2014 for SALOME - SMESH by  doxygen 1.6.1