Version: 9.12.0
SMESH::Controls::ElementsOnShape Class Reference

#include <SMESH_ControlsDef.hxx>

Inheritance diagram for SMESH::Controls::ElementsOnShape:

Data Structures

struct  Classifier
 
struct  OctreeClassifier
 

Public Member Functions

 ElementsOnShape ()
 
 ~ElementsOnShape ()
 
virtual Predicateclone () const
 
virtual void SetMesh (const SMDS_Mesh *theMesh)
 
virtual bool IsSatisfy (long theElementId)
 
virtual SMDSAbs_ElementType GetType () const
 
void SetTolerance (const double theToler)
 
double GetTolerance () const
 
void SetAllNodes (bool theAllNodes)
 
bool GetAllNodes () const
 
void SetShape (const TopoDS_Shape &theShape, const SMDSAbs_ElementType theType)
 
bool IsSatisfy (const SMDS_MeshElement *elem)
 
bool IsSatisfy (const SMDS_MeshNode *node, TopoDS_Shape *okShape=0)
 Check and optionally return a satisfying shape. More...
 
void GetParams (double &u, double &v) const
 

Private Member Functions

void clearClassifiers ()
 
bool getNodeIsOut (const SMDS_MeshNode *n, bool &isOut)
 
void setNodeIsOut (const SMDS_MeshNode *n, bool isOut)
 

Private Attributes

std::vector< ClassifiermyClassifiers
 
std::vector< Classifier * > myWorkClassifiers
 
OctreeClassifiermyOctree
 
SMDSAbs_ElementType myType
 
TopoDS_Shape myShape
 
double myToler
 
double myU
 
double myV
 
bool myAllNodesFlag
 
TMeshModifTracer myMeshModifTracer
 
std::vector< bool > myNodeIsChecked
 
std::vector< bool > myNodeIsOut
 

Constructor & Destructor Documentation

◆ ElementsOnShape()

ElementsOnShape::ElementsOnShape ( )

Referenced by clone().

◆ ~ElementsOnShape()

ElementsOnShape::~ElementsOnShape ( )

References clearClassifiers().

Member Function Documentation

◆ clearClassifiers()

void ElementsOnShape::clearClassifiers ( )
private

References myClassifiers, and myOctree.

Referenced by SetShape(), and ~ElementsOnShape().

◆ clone()

◆ GetAllNodes()

bool SMESH::Controls::ElementsOnShape::GetAllNodes ( ) const

◆ getNodeIsOut()

bool ElementsOnShape::getNodeIsOut ( const SMDS_MeshNode n,
bool &  isOut 
)
private

◆ GetParams()

void SMESH::Controls::ElementsOnShape::GetParams ( double &  u,
double &  v 
) const

◆ GetTolerance()

double ElementsOnShape::GetTolerance ( ) const

References myToler.

◆ GetType()

SMDSAbs_ElementType ElementsOnShape::GetType ( ) const
virtual

Implements SMESH::Controls::Predicate.

References myType.

◆ IsSatisfy() [1/3]

◆ IsSatisfy() [2/3]

bool ElementsOnShape::IsSatisfy ( const SMDS_MeshNode node,
TopoDS_Shape *  okShape = 0 
)

◆ IsSatisfy() [3/3]

◆ SetAllNodes()

void ElementsOnShape::SetAllNodes ( bool  theAllNodes)

References myAllNodesFlag.

Referenced by SMESH_Gen_i::_GetInside(), and clone().

◆ SetMesh()

◆ setNodeIsOut()

void ElementsOnShape::setNodeIsOut ( const SMDS_MeshNode n,
bool  isOut 
)
private

◆ SetShape()

void ElementsOnShape::SetShape ( const TopoDS_Shape &  theShape,
const SMDSAbs_ElementType  theType 
)

◆ SetTolerance()

void ElementsOnShape::SetTolerance ( const double  theToler)

Field Documentation

◆ myAllNodesFlag

bool SMESH::Controls::ElementsOnShape::myAllNodesFlag
private

Referenced by clone(), IsSatisfy(), and SetAllNodes().

◆ myClassifiers

std::vector< Classifier > SMESH::Controls::ElementsOnShape::myClassifiers
private

◆ myMeshModifTracer

TMeshModifTracer SMESH::Controls::ElementsOnShape::myMeshModifTracer
private

Referenced by clone(), IsSatisfy(), and SetMesh().

◆ myNodeIsChecked

std::vector<bool> SMESH::Controls::ElementsOnShape::myNodeIsChecked
private

◆ myNodeIsOut

std::vector<bool> SMESH::Controls::ElementsOnShape::myNodeIsOut
private

◆ myOctree

OctreeClassifier* SMESH::Controls::ElementsOnShape::myOctree
private

Referenced by clearClassifiers(), clone(), and IsSatisfy().

◆ myShape

TopoDS_Shape SMESH::Controls::ElementsOnShape::myShape
private

Referenced by clone(), SetShape(), and SetTolerance().

◆ myToler

double SMESH::Controls::ElementsOnShape::myToler
private

◆ myType

SMDSAbs_ElementType SMESH::Controls::ElementsOnShape::myType
private

◆ myU

double SMESH::Controls::ElementsOnShape::myU
private

Referenced by IsSatisfy().

◆ myV

double SMESH::Controls::ElementsOnShape::myV
private

Referenced by IsSatisfy().

◆ myWorkClassifiers

std::vector< Classifier* > SMESH::Controls::ElementsOnShape::myWorkClassifiers
private

Referenced by clone(), and IsSatisfy().