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 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.