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_MeshmyMesh
 
TColStd_MapOfInteger myMapIds
 
TColStd_MapOfInteger myMapBadGeomIds
 
TVectorOfFacePtr myAllFacePtr
 
TDataMapFacePtrInt myAllFacePtrIntDMap
 
double myAngToler
 
bool myIsOnlyManifold
 
long myStartElemId
 

Detailed Description

Definition at line 543 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 600 of file SMESH_ControlsDef.hxx.

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

Definition at line 601 of file SMESH_ControlsDef.hxx.

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

Definition at line 602 of file SMESH_ControlsDef.hxx.

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

Definition at line 603 of file SMESH_ControlsDef.hxx.

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

Definition at line 604 of file SMESH_ControlsDef.hxx.

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

Definition at line 605 of file SMESH_ControlsDef.hxx.

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

Definition at line 606 of file SMESH_ControlsDef.hxx.

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

Definition at line 607 of file SMESH_ControlsDef.hxx.