#include <SMESH_Pattern.hxx>
Data Structures | |
struct | TPoint |
Public Member Functions | |
SMESH_Pattern () | |
void | Clear () |
bool | Load (const char *theFileContents) |
bool | Load (SMESH_Mesh *theMesh, const TopoDS_Face &theFace, bool theProject=false, TopoDS_Vertex the1stVertex=TopoDS_Vertex(), bool theKeepNodes=false) |
bool | Load (SMESH_Mesh *theMesh, const TopoDS_Shell &theBlock, bool theKeepNodes=false) |
bool | Save (std::ostream &theFile) |
bool | Apply (const TopoDS_Face &theFace, const TopoDS_Vertex &theVertexOnKeyPoint1, const bool theReverse) |
bool | Apply (const TopoDS_Shell &theBlock, const TopoDS_Vertex &theVertex000, const TopoDS_Vertex &theVertex001) |
bool | Apply (const SMDS_MeshFace *theFace, const int theNodeIndexOnKeyPoint1, const bool theReverse) |
bool | Apply (SMESH_Mesh *theMesh, const SMDS_MeshFace *theFace, const TopoDS_Shape &theSurface, const int theNodeIndexOnKeyPoint1, const bool theReverse) |
bool | Apply (SMESH_Mesh *theMesh, std::set< const SMDS_MeshFace * > &theFaces, const int theNodeIndexOnKeyPoint1, const bool theReverse) |
bool | Apply (const SMDS_MeshVolume *theVolume, const int theNode000Index, const int theNode001Index) |
bool | Apply (std::set< const SMDS_MeshVolume * > &theVolumes, const int theNode000Index, const int theNode001Index) |
bool | GetMappedPoints (std::list< const gp_XYZ * > &thePoints) const |
bool | MakeMesh (SMESH_Mesh *theMesh, const bool toCreatePolygons=false, const bool toCreatePolyedrs=false) |
ErrorCode | GetErrorCode () const |
bool | IsLoaded () const |
bool | Is2D () const |
bool | GetPoints (std::list< const gp_XYZ * > &thePoints) const |
const std::list< int > & | GetKeyPointIDs () const |
const std::list< std::list < int > > & | GetElementPointIDs (bool applied) const |
void | GetInOutNodes (std::vector< const SMDS_MeshNode * > *&inNodes, std::vector< const SMDS_MeshNode * > *&outNodes) |
void | DumpPoints () const |
TopoDS_Shape | GetSubShape (const int i) const |
Private Types | |
typedef std::list< std::list < TopoDS_Edge > > | TListOfEdgesList |
typedef std::set< const SMDS_MeshNode * > | TNodeSet |
typedef std::list< int > | TElemDef |
Private Member Functions | |
bool | setErrorCode (const ErrorCode theErrorCode) |
set ErrorCode and return true if it is Ok More... | |
bool | setShapeToMesh (const TopoDS_Shape &theShape) |
std::list< TPoint * > & | getShapePoints (const TopoDS_Shape &theShape) |
std::list< TPoint * > & | getShapePoints (const int theShapeID) |
bool | findBoundaryPoints () |
void | arrangeBoundaries (std::list< std::list< TPoint * > > &boundaryPoints) |
void | computeUVOnEdge (const TopoDS_Edge &theEdge, const std::list< TPoint * > &ePoints) |
bool | compUVByIsoIntersection (const std::list< std::list< TPoint * > > &boundaryPoints, const gp_XY &theInitUV, gp_XY &theUV, bool &theIsDeformed) |
bool | compUVByElasticIsolines (const std::list< std::list< TPoint * > > &boundaryPoints, const std::list< TPoint * > &pointsToCompute) |
double | setFirstEdge (std::list< TopoDS_Edge > &theWire, int theFirstEdgeID) |
bool | sortSameSizeWires (TListOfEdgesList &theWireList, const TListOfEdgesList::iterator &theFromWire, const TListOfEdgesList::iterator &theToWire, const int theFirstEdgeID, std::list< std::list< TPoint * > > &theEdgesPointsList) |
void | mergePoints (const bool uniteGroups) |
void | makePolyElements (const std::vector< const SMDS_MeshNode * > &theNodes, const bool toCreatePolygons, const bool toCreatePolyedrs) |
void | createElements (SMESH_Mesh *theMesh, const std::vector< const SMDS_MeshNode * > &theNodesVector, const std::list< std::list< int > > &theElemNodeIDs, const std::vector< const SMDS_MeshElement * > &theElements) |
bool | getFacesDefinition (const SMDS_MeshNode **theBndNodes, const int theNbBndNodes, const std::vector< const SMDS_MeshNode * > &theNodes, std::list< int > &theFaceDefs, std::vector< int > &theQuantity) |
bool | isReversed (const SMDS_MeshNode *theFirstNode, const std::list< int > &theIdsList) const |
void | clearMesh (SMESH_Mesh *theMesh) const |
bool | findExistingNodes (SMESH_Mesh *mesh, const TopoDS_Shape &S, const std::list< TPoint * > &points, std::vector< const SMDS_MeshNode * > &nodes) |
Static Private Member Functions | |
static SMESHDS_SubMesh * | getSubmeshWithElements (SMESH_Mesh *theMesh, const TopoDS_Shape &theShape) |
Private Attributes | |
bool | myIs2D |
std::vector< TPoint > | myPoints |
std::list< int > | myKeyPointIDs |
std::list< TElemDef > | myElemPointIDs |
ErrorCode | myErrorCode |
bool | myIsComputed |
bool | myIsBoundaryPointsFound |
TopoDS_Shape | myShape |
TopTools_IndexedMapOfOrientedShape | myShapeIDMap |
std::map< int, std::list < TPoint * > > | myShapeIDToPointsMap |
std::list< int > | myNbKeyPntInBoundary |
bool | myToKeepNodes |
std::vector< const SMDS_MeshNode * > | myInNodes |
std::vector< const SMDS_MeshNode * > | myOutNodes |
std::vector< gp_XYZ > | myXYZ |
std::list< TElemDef > | myElemXYZIDs |
std::map< int, const SMDS_MeshNode * > | myXYZIdToNodeMap |
std::vector< const SMDS_MeshElement * > | myElements |
std::vector< const SMDS_MeshNode * > | myOrderedNodes |
std::vector< const SMDS_MeshElement * > | myPolyElems |
std::list< TElemDef > | myPolyElemXYZIDs |
std::list< std::vector< int > > | myPolyhedronQuantities |
std::map< TNodeSet, std::list < std::list< int > > > | myIdsOnBoundary |
std::map< int, std::list < TElemDef * > > | myReverseConnectivity |
Friends | |
std::ostream & | operator<< (std::ostream &OS, const TPoint &p) |
|
private |
|
private |
|
private |
SMESH_Pattern::SMESH_Pattern | ( | ) |
bool SMESH_Pattern::Apply | ( | const TopoDS_Shell & | theBlock, |
const TopoDS_Vertex & | theVertex000, | ||
const TopoDS_Vertex & | theVertex001 | ||
) |
bool SMESH_Pattern::Apply | ( | const SMDS_MeshFace * | theFace, |
const int | theNodeIndexOnKeyPoint1, | ||
const bool | theReverse | ||
) |
bool SMESH_Pattern::Apply | ( | SMESH_Mesh * | theMesh, |
const SMDS_MeshFace * | theFace, | ||
const TopoDS_Shape & | theSurface, | ||
const int | theNodeIndexOnKeyPoint1, | ||
const bool | theReverse | ||
) |
References Face, SMESH_MesherHelper::GetNodeUV(), SMESH_MesherHelper::GetNodeUVneedInFaceNode(), Handle(), SMESH_MesherHelper::IsSeamShape(), MESSAGE, SMESH_Pattern::TPoint::myInitU, SMESH_Pattern::TPoint::myUV, SMESH_Pattern::TPoint::myXYZ, SMDS_MeshElement::NbNodes(), SMDS_MeshElement::nodesIterator(), SMESH_MesherHelper::SetSubShape(), and smdsNode.
bool SMESH_Pattern::Apply | ( | SMESH_Mesh * | theMesh, |
std::set< const SMDS_MeshFace * > & | theFaces, | ||
const int | theNodeIndexOnKeyPoint1, | ||
const bool | theReverse | ||
) |
References MESSAGE, and undefinedXYZ().
bool SMESH_Pattern::Apply | ( | const SMDS_MeshVolume * | theVolume, |
const int | theNode000Index, | ||
const int | theNode001Index | ||
) |
bool SMESH_Pattern::Apply | ( | std::set< const SMDS_MeshVolume * > & | theVolumes, |
const int | theNode000Index, | ||
const int | theNode001Index | ||
) |
|
private |
References SMESH_Pattern::TPoint::myInitUV, SMESH_Pattern::TPoint::myInitXYZ, and reverse().
void SMESH_Pattern::Clear | ( | ) |
|
private |
References clearSubMesh().
|
private |
References Face, Handle(), SMESH_Pattern::TPoint::myInitU, SMESH_Pattern::TPoint::myU, and SMESH_Pattern::TPoint::myUV.
|
private |
WHAT IN THIS CASE ????????????? MAY BE THIS, I AM NOT SURE :(
References Abs(), checkQuads(), FIX_OLD, TIsoNode::GetBoundaryNode(), TIsoNode::GetNext(), MED::IsEqual(), TIsoNode::IsMovable(), TIsoNode::IsUVComputed(), Max(), MESSAGE, Min(), TIsoNode::myDir, SMESH_Pattern::TPoint::myInitUV, TIsoNode::myInitUV, TIsoNode::myNext, TIsoNode::myRatio, SMESH_Pattern::TPoint::myUV, TIsoNode::myUV, TIsoNode::SetBoundaryNode(), TIsoNode::SetNext(), and TIsoNode::SetNotMovable().
|
private |
References Abs(), intersectIsolines(), MESSAGE, SMESH_Pattern::TPoint::myInitUV, and SMESH_Pattern::TPoint::myUV.
|
private |
References SMESHDS_Mesh::AddFace(), SMESHDS_Mesh::AddPolygonalFace(), SMESHDS_Mesh::AddPolyhedralVolume(), SMESHDS_Mesh::AddVolume(), SMESH_subMesh::CHECK_COMPUTE_STATE, SMDS_MeshGroup::Contains(), SMESHDS_Mesh::GetGroups(), SMESHDS_SubMesh::GetNodes(), SMDS_MeshElement::getshapeId(), SMESHDS_Mesh::IndexToShape(), SMESHDS_Mesh::MeshElements(), SMDS_MeshElement::nodesIterator(), SMESHDS_Mesh::SetMeshElementOnShape(), SMESHDS_Mesh::SetNodeInVolume(), SMESHDS_Mesh::SetNodeOnFace(), SMESHDS_Mesh::ShapeToIndex(), SMESHDS_Mesh::ShapeToMesh(), SMDSAbs_Face, SMESHDS_Group::SMDSGroup(), and smdsNode.
void SMESH_Pattern::DumpPoints | ( | ) | const |
|
private |
|
private |
References Abs(), Edge, SMESH_Algo::GetSortedNodesOnEdge(), SMESH_Pattern::TPoint::myU, and SMESH_Algo::VertexNode().
ErrorCode SMESH_Pattern::GetErrorCode | ( | ) | const |
|
private |
void SMESH_Pattern::GetInOutNodes | ( | std::vector< const SMDS_MeshNode * > *& | inNodes, |
std::vector< const SMDS_MeshNode * > *& | outNodes | ||
) |
const std::list< int >& SMESH_Pattern::GetKeyPointIDs | ( | ) | const |
bool SMESH_Pattern::GetMappedPoints | ( | std::list< const gp_XYZ * > & | thePoints | ) | const |
References isDefined().
bool SMESH_Pattern::GetPoints | ( | std::list< const gp_XYZ * > & | thePoints | ) | const |
|
private |
|
private |
|
staticprivate |
References SMESHDS_SubMesh::GetElements(), and SMESHDS_SubMesh::GetNodes().
TopoDS_Shape SMESH_Pattern::GetSubShape | ( | const int | i | ) | const |
bool SMESH_Pattern::Is2D | ( | ) | const |
bool SMESH_Pattern::IsLoaded | ( | ) | const |
|
private |
References SMDS_MeshNode::X(), SMDS_MeshNode::Y(), and SMDS_MeshNode::Z().
bool SMESH_Pattern::Load | ( | const char * | theFileContents | ) |
References MESSAGE, SMESH_Pattern::TPoint::myInitUV, and SMESH_Pattern::TPoint::myInitXYZ.
bool SMESH_Pattern::Load | ( | SMESH_Mesh * | theMesh, |
const TopoDS_Face & | theFace, | ||
bool | theProject = false , |
||
TopoDS_Vertex | the1stVertex = TopoDS_Vertex() , |
||
bool | theKeepNodes = false |
||
) |
bool SMESH_Pattern::Load | ( | SMESH_Mesh * | theMesh, |
const TopoDS_Shell & | theBlock, | ||
bool | theKeepNodes = false |
||
) |
bool SMESH_Pattern::MakeMesh | ( | SMESH_Mesh * | theMesh, |
const bool | toCreatePolygons = false , |
||
const bool | toCreatePolyedrs = false |
||
) |
|
private |
|
private |
References isDefined(), and undefinedXYZ().
set ErrorCode and return true if it is Ok
|
private |
References Face, Handle(), Max(), MESSAGE, SMESH_Pattern::TPoint::myUV, and SMESH_Pattern::TPoint::myXYZ.
|
private |
|
private |
References Abs(), Face, MESSAGE, SMESH_Pattern::TPoint::myInitUV, SMESH_Pattern::TPoint::myUV, SMESH_Pattern::TPoint::myXYZ, and XY().
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |