SALOME - SMESH
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
SMESH::Controls::ManifoldPart Class Reference

#include <SMESH_ControlsDef.hxx>

Inheritance diagram for SMESH::Controls::ManifoldPart:
Inheritance graph
Collaboration diagram for SMESH::Controls::ManifoldPart:
Collaboration graph

Data Structures

class  Link
 

Public Types

typedef std::set
< ManifoldPart::Link > 
TMapOfLink
 
typedef std::vector
< SMDS_MeshFace * > 
TVectorOfFacePtr
 
typedef std::vector
< ManifoldPart::Link > 
TVectorOfLink
 
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_Mesh * myMesh
 
TColStd_MapOfInteger myMapIds
 
TColStd_MapOfInteger myMapBadGeomIds
 
TVectorOfFacePtr myAllFacePtr
 
TDataMapFacePtrInt myAllFacePtrIntDMap
 
double myAngToler
 
bool myIsOnlyManifold
 
long myStartElemId
 

Detailed Description

Definition at line 553 of file SMESH_ControlsDef.hxx.

Member Typedef Documentation

Constructor & Destructor Documentation

SMESH::Controls::ManifoldPart::ManifoldPart ( )
SMESH::Controls::ManifoldPart::~ManifoldPart ( )

Member Function Documentation

bool SMESH::Controls::ManifoldPart::IsEqual ( const ManifoldPart::Link &  theLink1,
const ManifoldPart::Link &  theLink2 
)
virtual void SMESH::Controls::ManifoldPart::SetMesh ( const SMDS_Mesh *  theMesh)
virtual
virtual bool SMESH::Controls::ManifoldPart::IsSatisfy ( long  theElementId)
virtual
virtual SMDSAbs_ElementType SMESH::Controls::ManifoldPart::GetType ( ) const
virtual
void SMESH::Controls::ManifoldPart::SetAngleTolerance ( const double  theAngToler)
double SMESH::Controls::ManifoldPart::GetAngleTolerance ( ) const
void SMESH::Controls::ManifoldPart::SetIsOnlyManifold ( const bool  theIsOnly)
void SMESH::Controls::ManifoldPart::SetStartElem ( const long  theStartElemId)
bool SMESH::Controls::ManifoldPart::process ( )
private
bool SMESH::Controls::ManifoldPart::findConnected ( const TDataMapFacePtrInt &  theAllFacePtrInt,
SMDS_MeshFace *  theStartFace,
TMapOfLink &  theNonManifold,
TColStd_MapOfInteger &  theResFaces 
)
private
bool SMESH::Controls::ManifoldPart::isInPlane ( const SMDS_MeshFace *  theFace1,
const SMDS_MeshFace *  theFace2 
)
private
void SMESH::Controls::ManifoldPart::expandBoundary ( TMapOfLink &  theMapOfBoundary,
TVectorOfLink &  theSeqOfBoundary,
TDataMapOfLinkFacePtr &  theDMapLinkFacePtr,
TMapOfLink &  theNonManifold,
SMDS_MeshFace *  theNextFace 
) const
private
void SMESH::Controls::ManifoldPart::getFacesByLink ( const Link &  theLink,
TVectorOfFacePtr &  theFaces 
) const
private

Field Documentation

const SMDS_Mesh* SMESH::Controls::ManifoldPart::myMesh
private

Definition at line 610 of file SMESH_ControlsDef.hxx.

TColStd_MapOfInteger SMESH::Controls::ManifoldPart::myMapIds
private

Definition at line 611 of file SMESH_ControlsDef.hxx.

TColStd_MapOfInteger SMESH::Controls::ManifoldPart::myMapBadGeomIds
private

Definition at line 612 of file SMESH_ControlsDef.hxx.

TVectorOfFacePtr SMESH::Controls::ManifoldPart::myAllFacePtr
private

Definition at line 613 of file SMESH_ControlsDef.hxx.

TDataMapFacePtrInt SMESH::Controls::ManifoldPart::myAllFacePtrIntDMap
private

Definition at line 614 of file SMESH_ControlsDef.hxx.

double SMESH::Controls::ManifoldPart::myAngToler
private

Definition at line 615 of file SMESH_ControlsDef.hxx.

bool SMESH::Controls::ManifoldPart::myIsOnlyManifold
private

Definition at line 616 of file SMESH_ControlsDef.hxx.

long SMESH::Controls::ManifoldPart::myStartElemId
private

Definition at line 617 of file SMESH_ControlsDef.hxx.