SALOME - SMESH
SMESH_Octree Class Referenceabstract

#include <SMESH_Octree.hxx>

Inheritance diagram for SMESH_Octree:
Inheritance graph
Collaboration diagram for SMESH_Octree:
Collaboration graph

Data Structures

struct  Limit
 

Public Member Functions

 SMESH_Octree (Limit *limit=0)
 
virtual ~SMESH_Octree ()
 
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. More...
 

Protected Member Functions

virtual Bnd_B3d * buildRootBox ()=0
 
virtual SMESH_OctreeallocateOctreeChild () const =0
 
virtual void buildChildrenData ()=0
 

Protected Attributes

SMESH_Octree ** myChildren
 
SMESH_OctreemyFather
 
bool myIsLeaf
 
const LimitmyLimit
 

Private Member Functions

void buildChildren ()
 

Private Attributes

int myLevel
 
Bnd_B3d * myBox
 

Detailed Description

Definition at line 34 of file SMESH_Octree.hxx.

Constructor & Destructor Documentation

◆ SMESH_Octree()

SMESH_Octree::SMESH_Octree ( Limit limit = 0)

Referenced by SMESH_Octree::Limit::~Limit().

Here is the caller graph for this function:

◆ ~SMESH_Octree()

virtual SMESH_Octree::~SMESH_Octree ( )
virtual

Referenced by SMESH_Octree::Limit::~Limit().

Here is the caller graph for this function:

Member Function Documentation

◆ compute()

void SMESH_Octree::compute ( )

Referenced by SMESH_Octree::Limit::~Limit().

Here is the caller graph for this function:

◆ isLeaf()

bool SMESH_Octree::isLeaf ( ) const

Referenced by SMESH_Octree::Limit::~Limit().

Here is the caller graph for this function:

◆ level()

int SMESH_Octree::level ( ) const

Definition at line 67 of file SMESH_Octree.hxx.

References myLevel.

◆ getBox()

const Bnd_B3d& SMESH_Octree::getBox ( ) const

Definition at line 70 of file SMESH_Octree.hxx.

References allocateOctreeChild(), buildChildrenData(), buildRootBox(), getChildIndex(), maxSize(), and myBox.

Here is the call graph for this function:

◆ maxSize()

double SMESH_Octree::maxSize ( ) const

Referenced by getBox().

Here is the caller graph for this function:

◆ getChildIndex()

int SMESH_Octree::getChildIndex ( double  x,
double  y,
double  z,
const gp_XYZ &  boxMiddle 
) const

Return index of a child the given point is in.

Definition at line 118 of file SMESH_Octree.hxx.

Referenced by getBox().

Here is the caller graph for this function:

◆ buildRootBox()

virtual Bnd_B3d* SMESH_Octree::buildRootBox ( )
protectedpure virtual

Implemented in SMESH_OctreeNode.

Referenced by getBox().

Here is the caller graph for this function:

◆ allocateOctreeChild()

virtual SMESH_Octree* SMESH_Octree::allocateOctreeChild ( ) const
protectedpure virtual

Implemented in SMESH_OctreeNode.

Referenced by getBox().

Here is the caller graph for this function:

◆ buildChildrenData()

virtual void SMESH_Octree::buildChildrenData ( )
protectedpure virtual

Implemented in SMESH_OctreeNode.

Referenced by getBox().

Here is the caller graph for this function:

◆ buildChildren()

void SMESH_Octree::buildChildren ( )
private

Field Documentation

◆ myChildren

SMESH_Octree** SMESH_Octree::myChildren
protected

Definition at line 91 of file SMESH_Octree.hxx.

◆ myFather

SMESH_Octree* SMESH_Octree::myFather
protected

Definition at line 94 of file SMESH_Octree.hxx.

◆ myIsLeaf

bool SMESH_Octree::myIsLeaf
protected

Definition at line 97 of file SMESH_Octree.hxx.

◆ myLimit

const Limit* SMESH_Octree::myLimit
protected

Definition at line 100 of file SMESH_Octree.hxx.

◆ myLevel

int SMESH_Octree::myLevel
private

Definition at line 107 of file SMESH_Octree.hxx.

Referenced by level().

◆ myBox

Bnd_B3d* SMESH_Octree::myBox
private

Definition at line 109 of file SMESH_Octree.hxx.

Referenced by getBox().