SMESH.Controls.ManifoldPart Class Reference

#include <SMESH_ControlsDef.hxx>

Inheritance diagram for SMESH.Controls.ManifoldPart:

Inheritance graph

Public Types

typedef std::set< ManifoldPart::LinkTMapOfLink
typedef std::vector< SMDS_MeshFace * > TVectorOfFacePtr
typedef std::vector< ManifoldPart::LinkTVectorOfLink
typedef std::map< SMDS_MeshFace *,
int
TDataMapFacePtrInt
typedef std::map< ManifoldPart::Link,
SMDS_MeshFace * > 
TDataMapOfLinkFacePtr

Public Member Functions

bool IsEqual (const ManifoldPart::Link &theLink1, const ManifoldPart::Link &theLink2)
 ManifoldPart ()
 ~ManifoldPart ()
virtual void SetMesh (const SMDS_Mesh *theMesh)
virtual bool IsSatisfy (long theElementId)
virtual SMDSAbs_ElementType GetType () const
void SetAngleTolerance (const double theAngToler)
double GetAngleTolerance () const
void SetIsOnlyManifold (const bool theIsOnly)
void SetStartElem (const long theStartElemId)

Private Member Functions

bool process ()
bool findConnected (const TDataMapFacePtrInt &theAllFacePtrInt, SMDS_MeshFace *theStartFace, TMapOfLink &theNonManifold, TColStd_MapOfInteger &theResFaces)
bool isInPlane (const SMDS_MeshFace *theFace1, const SMDS_MeshFace *theFace2)
void expandBoundary (TMapOfLink &theMapOfBoundary, TVectorOfLink &theSeqOfBoundary, TDataMapOfLinkFacePtr &theDMapLinkFacePtr, TMapOfLink &theNonManifold, SMDS_MeshFace *theNextFace) const
void getFacesByLink (const Link &theLink, TVectorOfFacePtr &theFaces) const

Private Attributes

const SMDS_MeshmyMesh
TColStd_MapOfInteger myMapIds
TColStd_MapOfInteger myMapBadGeomIds
TVectorOfFacePtr myAllFacePtr
TDataMapFacePtrInt myAllFacePtrIntDMap
double myAngToler
bool myIsOnlyManifold
long myStartElemId

Data Structures

class  Link

Member Typedef Documentation

typedef std::set<ManifoldPart::Link> SMESH.Controls.ManifoldPart.TMapOfLink
 

typedef std::vector<SMDS_MeshFace*> SMESH.Controls.ManifoldPart.TVectorOfFacePtr
 

typedef std::vector<ManifoldPart::Link> SMESH.Controls.ManifoldPart.TVectorOfLink
 

typedef std::map<SMDS_MeshFace*,int> SMESH.Controls.ManifoldPart.TDataMapFacePtrInt
 

typedef std::map<ManifoldPart::Link,SMDS_MeshFace*> SMESH.Controls.ManifoldPart.TDataMapOfLinkFacePtr
 


Constructor & Destructor Documentation

ManifoldPart::ManifoldPart  ) 
 

ManifoldPart::~ManifoldPart  ) 
 


Member Function Documentation

bool ManifoldPart::IsEqual const ManifoldPart::Link theLink1,
const ManifoldPart::Link theLink2
 

void ManifoldPart::SetMesh const SMDS_Mesh theMesh  )  [virtual]
 

Implements SMESH.Controls.Functor.

bool ManifoldPart::IsSatisfy long  theElementId  )  [virtual]
 

Implements SMESH.Controls.Predicate.

SMDSAbs_ElementType ManifoldPart::GetType  )  const [virtual]
 

Implements SMESH.Controls.Predicate.

void ManifoldPart::SetAngleTolerance const double  theAngToler  ) 
 

double ManifoldPart::GetAngleTolerance  )  const
 

void ManifoldPart::SetIsOnlyManifold const bool  theIsOnly  ) 
 

void ManifoldPart::SetStartElem const long  theStartElemId  ) 
 

bool ManifoldPart::process  )  [private]
 

bool ManifoldPart::findConnected const TDataMapFacePtrInt theAllFacePtrInt,
SMDS_MeshFace theStartFace,
TMapOfLink theNonManifold,
TColStd_MapOfInteger &  theResFaces
[private]
 

bool ManifoldPart::isInPlane const SMDS_MeshFace theFace1,
const SMDS_MeshFace theFace2
[private]
 

void ManifoldPart::expandBoundary TMapOfLink theMapOfBoundary,
TVectorOfLink theSeqOfBoundary,
TDataMapOfLinkFacePtr theDMapLinkFacePtr,
TMapOfLink theNonManifold,
SMDS_MeshFace theNextFace
const [private]
 

void ManifoldPart::getFacesByLink const Link theLink,
TVectorOfFacePtr theFaces
const [private]
 


Field Documentation

const SMDS_Mesh* SMESH.Controls.ManifoldPart.myMesh [private]
 

TColStd_MapOfInteger SMESH.Controls.ManifoldPart.myMapIds [private]
 

TColStd_MapOfInteger SMESH.Controls.ManifoldPart.myMapBadGeomIds [private]
 

TVectorOfFacePtr SMESH.Controls.ManifoldPart.myAllFacePtr [private]
 

TDataMapFacePtrInt SMESH.Controls.ManifoldPart.myAllFacePtrIntDMap [private]
 

double SMESH.Controls.ManifoldPart.myAngToler [private]
 

bool SMESH.Controls.ManifoldPart.myIsOnlyManifold [private]
 

long SMESH.Controls.ManifoldPart.myStartElemId [private]