SALOME - SMESH
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::LinkTMapOfLink
 
typedef std::vector< SMDS_MeshFace * > TVectorOfFacePtr
 
typedef std::vector< ManifoldPart::LinkTVectorOfLink
 
typedef std::map< SMDS_MeshFace *, intTDataMapFacePtrInt
 
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

◆ TMapOfLink

◆ TVectorOfFacePtr

◆ TVectorOfLink

◆ TDataMapFacePtrInt

◆ TDataMapOfLinkFacePtr

Constructor & Destructor Documentation

◆ ManifoldPart()

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

◆ ~ManifoldPart()

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

Member Function Documentation

◆ IsEqual()

bool SMESH::Controls::ManifoldPart::IsEqual ( const ManifoldPart::Link theLink1,
const ManifoldPart::Link theLink2 
)

◆ SetMesh()

virtual void SMESH::Controls::ManifoldPart::SetMesh ( const SMDS_Mesh theMesh)
virtual

◆ IsSatisfy()

virtual bool SMESH::Controls::ManifoldPart::IsSatisfy ( long  theElementId)
virtual

◆ GetType()

virtual SMDSAbs_ElementType SMESH::Controls::ManifoldPart::GetType ( ) const
virtual

◆ SetAngleTolerance()

void SMESH::Controls::ManifoldPart::SetAngleTolerance ( const double  theAngToler)

◆ GetAngleTolerance()

double SMESH::Controls::ManifoldPart::GetAngleTolerance ( ) const

◆ SetIsOnlyManifold()

void SMESH::Controls::ManifoldPart::SetIsOnlyManifold ( const bool  theIsOnly)

◆ SetStartElem()

void SMESH::Controls::ManifoldPart::SetStartElem ( const long  theStartElemId)

◆ process()

bool SMESH::Controls::ManifoldPart::process ( )
private

◆ findConnected()

bool SMESH::Controls::ManifoldPart::findConnected ( const TDataMapFacePtrInt theAllFacePtrInt,
SMDS_MeshFace theStartFace,
TMapOfLink theNonManifold,
TColStd_MapOfInteger &  theResFaces 
)
private

◆ isInPlane()

bool SMESH::Controls::ManifoldPart::isInPlane ( const SMDS_MeshFace theFace1,
const SMDS_MeshFace theFace2 
)
private

◆ expandBoundary()

void SMESH::Controls::ManifoldPart::expandBoundary ( TMapOfLink theMapOfBoundary,
TVectorOfLink theSeqOfBoundary,
TDataMapOfLinkFacePtr theDMapLinkFacePtr,
TMapOfLink theNonManifold,
SMDS_MeshFace theNextFace 
) const
private

◆ getFacesByLink()

void SMESH::Controls::ManifoldPart::getFacesByLink ( const Link theLink,
TVectorOfFacePtr theFaces 
) const
private

Field Documentation

◆ myMesh

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

Definition at line 610 of file SMESH_ControlsDef.hxx.

◆ myMapIds

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

Definition at line 611 of file SMESH_ControlsDef.hxx.

◆ myMapBadGeomIds

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

Definition at line 612 of file SMESH_ControlsDef.hxx.

◆ myAllFacePtr

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

Definition at line 613 of file SMESH_ControlsDef.hxx.

◆ myAllFacePtrIntDMap

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

Definition at line 614 of file SMESH_ControlsDef.hxx.

◆ myAngToler

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

Definition at line 615 of file SMESH_ControlsDef.hxx.

◆ myIsOnlyManifold

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

Definition at line 616 of file SMESH_ControlsDef.hxx.

◆ myStartElemId

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

Definition at line 617 of file SMESH_ControlsDef.hxx.