#include <SMESH_ControlsDef.hxx>
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) |
virtual Predicate * | clone () const |
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 |
typedef std::map<SMDS_MeshFace*,int> SMESH::Controls::ManifoldPart::TDataMapFacePtrInt |
typedef std::map<ManifoldPart::Link,SMDS_MeshFace*> SMESH::Controls::ManifoldPart::TDataMapOfLinkFacePtr |
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 |
ManifoldPart::ManifoldPart | ( | ) |
References myAngToler, myIsOnlyManifold, and myMesh.
ManifoldPart::~ManifoldPart | ( | ) |
References myMesh.
|
virtualinherited |
|
private |
References getLinks(), SMESH::Controls::ManifoldPart::Link::IsEqual(), and myIsOnlyManifold.
Referenced by findConnected().
|
private |
References expandBoundary(), getFacesByLink(), SMDS_MeshElement::GetID(), SMESH::getNormale(), isInPlane(), myAllFacePtrIntDMap, myIsOnlyManifold, and myMapBadGeomIds.
Referenced by process().
double ManifoldPart::GetAngleTolerance | ( | ) | const |
References myAngToler.
|
private |
References SMDS_MeshElement::facesIterator(), SMESH::Controls::ManifoldPart::Link::myNode1, and SMESH::Controls::ManifoldPart::Link::myNode2.
Referenced by findConnected().
|
virtual |
Implements SMESH::Controls::Predicate.
References SMDSAbs_Face.
bool ManifoldPart::IsEqual | ( | const ManifoldPart::Link & | theLink1, |
const ManifoldPart::Link & | theLink2 | ||
) |
References SMESH::Controls::ManifoldPart::Link::IsEqual().
|
private |
References SMDS_MeshElement::GetID(), SMESH::getNormale(), myAngToler, and myMapBadGeomIds.
Referenced by findConnected().
|
virtual |
Implements SMESH::Controls::Predicate.
References myMapIds.
|
private |
References SMDS_Mesh::facesIterator(), findConnected(), SMDS_Mesh::FindElement(), SMDS_MeshElement::GetID(), myAllFacePtr, myAllFacePtrIntDMap, myMapBadGeomIds, myMapIds, myMesh, and myStartElemId.
Referenced by SetMesh().
void ManifoldPart::SetAngleTolerance | ( | const double | theAngToler | ) |
References myAngToler.
void ManifoldPart::SetIsOnlyManifold | ( | const bool | theIsOnly | ) |
References myIsOnlyManifold.
|
virtual |
Implements SMESH::Controls::Functor.
void ManifoldPart::SetStartElem | ( | const long | theStartElemId | ) |
References myStartElemId.
|
private |
Referenced by process().
|
private |
Referenced by findConnected(), and process().
|
private |
Referenced by GetAngleTolerance(), isInPlane(), ManifoldPart(), and SetAngleTolerance().
|
private |
Referenced by expandBoundary(), findConnected(), ManifoldPart(), and SetIsOnlyManifold().
|
private |
Referenced by findConnected(), isInPlane(), and process().
|
private |
Referenced by IsSatisfy(), and process().
|
private |
Referenced by ManifoldPart(), process(), SetMesh(), and ~ManifoldPart().
|
private |
Referenced by process(), and SetStartElem().