SALOME - SMESH
|
Editor of a mesh. More...
#include <SMESH_MeshEditor.hxx>
Data Structures | |
struct | ExtrusParam |
Public Types | |
enum | SmoothMethod { LAPLACIAN = 0, CENTROIDAL } |
enum | ExtrusionFlags { EXTRUSION_FLAG_BOUNDARY = 0x01, EXTRUSION_FLAG_SEW = 0x02 } |
enum | Extrusion_Error { EXTR_OK, EXTR_NO_ELEMENTS, EXTR_PATH_NOT_EDGE, EXTR_BAD_PATH_SHAPE, EXTR_BAD_STARTING_NODE, EXTR_BAD_ANGLES_NUMBER, EXTR_CANT_GET_TANGENT } |
enum | Sew_Error { SEW_OK, SEW_BORDER1_NOT_FOUND, SEW_BORDER2_NOT_FOUND, SEW_BOTH_BORDERS_NOT_FOUND, SEW_BAD_SIDE_NODES, SEW_VOLUMES_TO_SPLIT, SEW_DIFF_NB_OF_ELEMENTS, SEW_TOPO_DIFF_SETS_OF_ELEMENTS, SEW_BAD_SIDE1_NODES, SEW_BAD_SIDE2_NODES, SEW_INTERNAL_ERROR } |
typedef std::auto_ptr< std::list< int > > | PGroupIDs |
typedef std::list< std::list< const SMDS_MeshNode *> > | TListOfListOfNodes |
typedef std::list< std::list< int > > | TListOfListOfElementsID |
Public Member Functions | |
SMESH_MeshEditor (SMESH_Mesh *theMesh) | |
SMDS_MeshElement * | AddElement (const std::vector< const SMDS_MeshNode *> &nodes, const SMDSAbs_ElementType type, const bool isPoly, const int ID=0) |
Add element. More... | |
SMDS_MeshElement * | AddElement (const std::vector< int > &nodeIDs, const SMDSAbs_ElementType type, const bool isPoly, const int ID=0) |
Add element. More... | |
bool | Remove (const std::list< int > &theElemIDs, const bool isNodes) |
bool | InverseDiag (const SMDS_MeshElement *theTria1, const SMDS_MeshElement *theTria2) |
bool | InverseDiag (const SMDS_MeshNode *theNode1, const SMDS_MeshNode *theNode2) |
bool | DeleteDiag (const SMDS_MeshNode *theNode1, const SMDS_MeshNode *theNode2) |
bool | Reorient (const SMDS_MeshElement *theElement) |
bool | TriToQuad (TIDSortedElemSet &theElems, SMESH::Controls::NumericalFunctorPtr theCriterion, const double theMaxAngle) |
Fuse neighbour triangles into quadrangles. More... | |
bool | QuadToTri (TIDSortedElemSet &theElems, SMESH::Controls::NumericalFunctorPtr theCriterion) |
Split quadrangles into triangles. More... | |
bool | QuadToTri (TIDSortedElemSet &theElems, const bool the13Diag) |
Split quadrangles into triangles. More... | |
int | BestSplit (const SMDS_MeshElement *theQuad, SMESH::Controls::NumericalFunctorPtr theCriterion) |
Find better diagonal for splitting. More... | |
void | Smooth (TIDSortedElemSet &theElements, std::set< const SMDS_MeshNode *> &theFixedNodes, const SmoothMethod theSmoothMethod, const int theNbIterations, double theTgtAspectRatio=1.0, const bool the2D=true) |
PGroupIDs | RotationSweep (TIDSortedElemSet &theElements, const gp_Ax1 &theAxis, const double theAngle, const int theNbSteps, const double theToler, const bool theMakeGroups, const bool theMakeWalls=true) |
const SMDS_MeshNode * | CreateNode (const double x, const double y, const double z, const double tolnode, SMESH_SequenceOfNode &aNodes) |
PGroupIDs | ExtrusionSweep (TIDSortedElemSet &theElems, const gp_Vec &theStep, const int theNbSteps, TElemOfElemListMap &newElemsMap, const bool theMakeGroups, const int theFlags=EXTRUSION_FLAG_BOUNDARY, const double theTolerance=1.e-6) |
PGroupIDs | ExtrusionSweep (TIDSortedElemSet &theElems, ExtrusParam &theParams, TElemOfElemListMap &newElemsMap, const bool theMakeGroups, const int theFlags, const double theTolerance) |
Extrusion_Error | ExtrusionAlongTrack (TIDSortedElemSet &theElements, SMESH_subMesh *theTrackPattern, const SMDS_MeshNode *theNodeStart, const bool theHasAngles, std::list< double > &theAngles, const bool theLinearVariation, const bool theHasRefPoint, const gp_Pnt &theRefPoint, const bool theMakeGroups) |
Extrusion_Error | ExtrusionAlongTrack (TIDSortedElemSet &theElements, SMESH_Mesh *theTrackPattern, const SMDS_MeshNode *theNodeStart, const bool theHasAngles, std::list< double > &theAngles, const bool theLinearVariation, const bool theHasRefPoint, const gp_Pnt &theRefPoint, const bool theMakeGroups) |
PGroupIDs | Transform (TIDSortedElemSet &theElements, const gp_Trsf &theTrsf, const bool theCopy, const bool theMakeGroups, SMESH_Mesh *theTargetMesh=0) |
void | FindCoincidentNodes (std::set< const SMDS_MeshNode *> &theNodes, const double theTolerance, TListOfListOfNodes &theGroupsOfNodes) |
SMESH_NodeSearcher * | GetNodeSearcher () |
Return SMESH_NodeSearcher. More... | |
SMESH_ElementSearcher * | GetElementSearcher () |
Return SMESH_ElementSearcher. More... | |
int | SimplifyFace (const std::vector< const SMDS_MeshNode *> faceNodes, std::vector< const SMDS_MeshNode *> &poly_nodes, std::vector< int > &quantities) const |
void | MergeNodes (TListOfListOfNodes &theNodeGroups) |
void | FindEqualElements (std::set< const SMDS_MeshElement *> &theElements, TListOfListOfElementsID &theGroupsOfElementsID) |
void | MergeElements (TListOfListOfElementsID &theGroupsOfElementsID) |
void | MergeEqualElements () |
Sew_Error | SewFreeBorder (const SMDS_MeshNode *theBorderFirstNode, const SMDS_MeshNode *theBorderSecondNode, const SMDS_MeshNode *theBorderLastNode, const SMDS_MeshNode *theSide2FirstNode, const SMDS_MeshNode *theSide2SecondNode, const SMDS_MeshNode *theSide2ThirdNode=0, const bool theSide2IsFreeBorder=true, const bool toCreatePolygons=false, const bool toCreatePolyedrs=false) |
Sew_Error | SewSideElements (TIDSortedElemSet &theSide1, TIDSortedElemSet &theSide2, const SMDS_MeshNode *theFirstNode1ToMerge, const SMDS_MeshNode *theFirstNode2ToMerge, const SMDS_MeshNode *theSecondNode1ToMerge, const SMDS_MeshNode *theSecondNode2ToMerge) |
void | InsertNodesIntoLink (const SMDS_MeshElement *theFace, const SMDS_MeshNode *theBetweenNode1, const SMDS_MeshNode *theBetweenNode2, std::list< const SMDS_MeshNode *> &theNodesToInsert, const bool toCreatePoly=false) |
void | UpdateVolumes (const SMDS_MeshNode *theBetweenNode1, const SMDS_MeshNode *theBetweenNode2, std::list< const SMDS_MeshNode *> &theNodesToInsert) |
void | ConvertToQuadratic (const bool theForce3d) |
bool | ConvertFromQuadratic () |
int | FindShape (const SMDS_MeshElement *theElem) |
SMESH_Mesh * | GetMesh () |
SMESHDS_Mesh * | GetMeshDS () |
const SMESH_SequenceOfElemPtr & | GetLastCreatedNodes () const |
const SMESH_SequenceOfElemPtr & | GetLastCreatedElems () const |
bool | DoubleNodes (const std::list< int > &theListOfNodes, const std::list< int > &theListOfModifiedElems) |
bool | DoubleNodes (const TIDSortedElemSet &theElems, const TIDSortedElemSet &theNodesNot, const TIDSortedElemSet &theAffectedElems) |
bool | DoubleNodesInRegion (const TIDSortedElemSet &theElems, const TIDSortedElemSet &theNodesNot, const TopoDS_Shape &theShape) |
bool | Make2DMeshFrom3D () |
Generated skin mesh (containing 2D cells) from 3D mesh The created 2D mesh elements based on nodes of free faces of boundary volumes. More... | |
Static Public Member Functions | |
static bool | isOut (const SMDS_MeshElement *element, const gp_Pnt &point, double tol) |
Return true if the point is IN or ON of the element. More... | |
static bool | CheckFreeBorderNodes (const SMDS_MeshNode *theNode1, const SMDS_MeshNode *theNode2, const SMDS_MeshNode *theNode3=0) |
static bool | FindFreeBorder (const SMDS_MeshNode *theFirstNode, const SMDS_MeshNode *theSecondNode, const SMDS_MeshNode *theLastNode, std::list< const SMDS_MeshNode * > &theNodes, std::list< const SMDS_MeshElement * > &theFaces) |
static void | AddToSameGroups (const SMDS_MeshElement *elemToAdd, const SMDS_MeshElement *elemInGroups, SMESHDS_Mesh *aMesh) |
static void | RemoveElemFromGroups (const SMDS_MeshElement *element, SMESHDS_Mesh *aMesh) |
static void | ReplaceElemInGroups (const SMDS_MeshElement *elemToRm, const SMDS_MeshElement *elemToAdd, SMESHDS_Mesh *aMesh) |
static void | GetLinkedNodes (const SMDS_MeshNode *node, TIDSortedElemSet &linkedNodes, SMDSAbs_ElementType type=SMDSAbs_All) |
Return nodes linked to the given one in elements of the type. More... | |
static const SMDS_MeshElement * | FindFaceInSet (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const TIDSortedElemSet &elemSet, const TIDSortedElemSet &avoidSet) |
static Sew_Error | FindMatchingNodes (std::set< const SMDS_MeshElement *> &theSide1, std::set< const SMDS_MeshElement *> &theSide2, const SMDS_MeshNode *theFirstNode1, const SMDS_MeshNode *theFirstNode2, const SMDS_MeshNode *theSecondNode1, const SMDS_MeshNode *theSecondNode2, TNodeNodeMap &nReplaceMap) |
Find corresponding nodes in two sets of faces. More... | |
static bool | IsMedium (const SMDS_MeshNode *node, const SMDSAbs_ElementType typeToCheck=SMDSAbs_All) |
Returns true if given node is medium. More... | |
Private Types | |
typedef std::map< const SMDS_MeshNode *, std::list< const SMDS_MeshNode * > > | TNodeOfNodeListMap |
typedef TNodeOfNodeListMap::iterator | TNodeOfNodeListMapItr |
typedef std::vector< TNodeOfNodeListMapItr > | TVecOfNnlmiMap |
typedef std::map< const SMDS_MeshElement *, TVecOfNnlmiMap > | TElemOfVecOfNnlmiMap |
Private Member Functions | |
int | convertElemToQuadratic (SMESHDS_SubMesh *theSm, SMESH_MesherHelper &theHelper, const bool theForce3d) |
Convert elements contained in a submesh to quadratic. More... | |
int | removeQuadElem (SMESHDS_SubMesh *theSm, SMDS_ElemIteratorPtr theItr, const int theShapeID) |
Convert quadratic elements to linear ones and remove quadratic nodes. More... | |
PGroupIDs | generateGroups (const SMESH_SequenceOfElemPtr &nodeGens, const SMESH_SequenceOfElemPtr &elemGens, const std::string &postfix, SMESH_Mesh *targetMesh=0) |
Create groups of elements made during transformation. More... | |
void | sweepElement (const SMDS_MeshElement *elem, const std::vector< TNodeOfNodeListMapItr > &newNodesItVec, std::list< const SMDS_MeshElement *> &newElems, const int nbSteps, SMESH_SequenceOfElemPtr &srcElements) |
Create elements by sweeping an element. More... | |
void | makeWalls (TNodeOfNodeListMap &mapNewNodes, TElemOfElemListMap &newElemsMap, TElemOfVecOfNnlmiMap &elemNewNodesMap, TIDSortedElemSet &elemSet, const int nbSteps, SMESH_SequenceOfElemPtr &srcElements) |
Create 1D and 2D elements around swept elements. More... | |
Extrusion_Error | MakeEdgePathPoints (std::list< double > &aPrms, const TopoDS_Edge &aTrackEdge, bool FirstIsStart, list< SMESH_MeshEditor_PathPoint > &LPP) |
Extrusion_Error | MakeExtrElements (TIDSortedElemSet &theElements, list< SMESH_MeshEditor_PathPoint > &fullList, const bool theHasAngles, list< double > &theAngles, const bool theLinearVariation, const bool theHasRefPoint, const gp_Pnt &theRefPoint, const bool theMakeGroups) |
void | LinearAngleVariation (const int NbSteps, list< double > &theAngles) |
bool | doubleNodes (SMESHDS_Mesh *theMeshDS, const TIDSortedElemSet &theElems, const TIDSortedElemSet &theNodesNot, std::map< const SMDS_MeshNode *, const SMDS_MeshNode * > &theNodeNodeMap, const bool theIsDoubleElem) |
Private Attributes | |
SMESH_Mesh * | myMesh |
SMESH_SequenceOfElemPtr | myLastCreatedNodes |
SMESH_SequenceOfElemPtr | myLastCreatedElems |
Editor of a mesh.
Definition at line 160 of file SMESH_MeshEditor.hxx.
typedef std::auto_ptr< std::list<int> > SMESH_MeshEditor::PGroupIDs |
Definition at line 264 of file SMESH_MeshEditor.hxx.
typedef std::list< std::list< const SMDS_MeshNode* > > SMESH_MeshEditor::TListOfListOfNodes |
Definition at line 385 of file SMESH_MeshEditor.hxx.
typedef std::list< std::list< int > > SMESH_MeshEditor::TListOfListOfElementsID |
Definition at line 418 of file SMESH_MeshEditor.hxx.
|
private |
Definition at line 654 of file SMESH_MeshEditor.hxx.
|
private |
Definition at line 655 of file SMESH_MeshEditor.hxx.
|
private |
Definition at line 656 of file SMESH_MeshEditor.hxx.
|
private |
Definition at line 657 of file SMESH_MeshEditor.hxx.
Enumerator | |
---|---|
LAPLACIAN | |
CENTROIDAL |
Definition at line 247 of file SMESH_MeshEditor.hxx.
Auxilary flag for advanced extrusion. BOUNDARY: create or not boundary for result of extrusion SEW: try to use existing nodes or create new nodes in any case
Enumerator | |
---|---|
EXTRUSION_FLAG_BOUNDARY | |
EXTRUSION_FLAG_SEW |
Definition at line 281 of file SMESH_MeshEditor.hxx.
Enumerator | |
---|---|
EXTR_OK | |
EXTR_NO_ELEMENTS | |
EXTR_PATH_NOT_EDGE | |
EXTR_BAD_PATH_SHAPE | |
EXTR_BAD_STARTING_NODE | |
EXTR_BAD_ANGLES_NUMBER | |
EXTR_CANT_GET_TANGENT |
Definition at line 346 of file SMESH_MeshEditor.hxx.
Definition at line 444 of file SMESH_MeshEditor.hxx.
SMESH_MeshEditor::SMESH_MeshEditor | ( | SMESH_Mesh * | theMesh | ) |
SMDS_MeshElement* SMESH_MeshEditor::AddElement | ( | const std::vector< const SMDS_MeshNode *> & | nodes, |
const SMDSAbs_ElementType | type, | ||
const bool | isPoly, | ||
const int | ID = 0 |
||
) |
Add element.
SMDS_MeshElement* SMESH_MeshEditor::AddElement | ( | const std::vector< int > & | nodeIDs, |
const SMDSAbs_ElementType | type, | ||
const bool | isPoly, | ||
const int | ID = 0 |
||
) |
Add element.
bool SMESH_MeshEditor::Remove | ( | const std::list< int > & | theElemIDs, |
const bool | isNodes | ||
) |
bool SMESH_MeshEditor::InverseDiag | ( | const SMDS_MeshElement * | theTria1, |
const SMDS_MeshElement * | theTria2 | ||
) |
bool SMESH_MeshEditor::InverseDiag | ( | const SMDS_MeshNode * | theNode1, |
const SMDS_MeshNode * | theNode2 | ||
) |
bool SMESH_MeshEditor::DeleteDiag | ( | const SMDS_MeshNode * | theNode1, |
const SMDS_MeshNode * | theNode2 | ||
) |
bool SMESH_MeshEditor::Reorient | ( | const SMDS_MeshElement * | theElement | ) |
bool SMESH_MeshEditor::TriToQuad | ( | TIDSortedElemSet & | theElems, |
SMESH::Controls::NumericalFunctorPtr | theCriterion, | ||
const double | theMaxAngle | ||
) |
Fuse neighbour triangles into quadrangles.
theElems | - The triangles to be fused. |
theCriterion | - Is used to choose a neighbour to fuse with. |
theMaxAngle | - Is a max angle between element normals at which fusion is still performed; theMaxAngle is mesured in radians. |
bool | - Success or not. |
bool SMESH_MeshEditor::QuadToTri | ( | TIDSortedElemSet & | theElems, |
SMESH::Controls::NumericalFunctorPtr | theCriterion | ||
) |
Split quadrangles into triangles.
theElems | - The faces to be splitted. |
theCriterion | - Is used to choose a diagonal for splitting. |
bool | - Success or not. |
bool SMESH_MeshEditor::QuadToTri | ( | TIDSortedElemSet & | theElems, |
const bool | the13Diag | ||
) |
Split quadrangles into triangles.
theElems | - The faces to be splitted. |
the13Diag | - Is used to choose a diagonal for splitting. |
bool | - Success or not. |
int SMESH_MeshEditor::BestSplit | ( | const SMDS_MeshElement * | theQuad, |
SMESH::Controls::NumericalFunctorPtr | theCriterion | ||
) |
Find better diagonal for splitting.
theQuad | - The face to find better splitting of. |
theCriterion | - Is used to choose a diagonal for splitting. |
int | - 1 for 1-3 diagonal, 2 for 2-4, -1 - for errors. |
void SMESH_MeshEditor::Smooth | ( | TIDSortedElemSet & | theElements, |
std::set< const SMDS_MeshNode *> & | theFixedNodes, | ||
const SmoothMethod | theSmoothMethod, | ||
const int | theNbIterations, | ||
double | theTgtAspectRatio = 1.0 , |
||
const bool | the2D = true |
||
) |
PGroupIDs SMESH_MeshEditor::RotationSweep | ( | TIDSortedElemSet & | theElements, |
const gp_Ax1 & | theAxis, | ||
const double | theAngle, | ||
const int | theNbSteps, | ||
const double | theToler, | ||
const bool | theMakeGroups, | ||
const bool | theMakeWalls = true |
||
) |
const SMDS_MeshNode* SMESH_MeshEditor::CreateNode | ( | const double | x, |
const double | y, | ||
const double | z, | ||
const double | tolnode, | ||
SMESH_SequenceOfNode & | aNodes | ||
) |
Create new node in the mesh with given coordinates (auxilary for advanced extrusion)
PGroupIDs SMESH_MeshEditor::ExtrusionSweep | ( | TIDSortedElemSet & | theElems, |
const gp_Vec & | theStep, | ||
const int | theNbSteps, | ||
TElemOfElemListMap & | newElemsMap, | ||
const bool | theMakeGroups, | ||
const int | theFlags = EXTRUSION_FLAG_BOUNDARY , |
||
const double | theTolerance = 1.e-6 |
||
) |
Generate new elements by extrusion of theElements It is a method used in .idl file. All functionality is implemented in the next method (see below) which is used in the cuurent method. param theElems - list of elements for extrusion param newElemsMap returns history of extrusion param theFlags set flags for performing extrusion (see description of enum ExtrusionFlags for additional information) param theTolerance - uses for comparing locations of nodes if flag EXTRUSION_FLAG_SEW is set
PGroupIDs SMESH_MeshEditor::ExtrusionSweep | ( | TIDSortedElemSet & | theElems, |
ExtrusParam & | theParams, | ||
TElemOfElemListMap & | newElemsMap, | ||
const bool | theMakeGroups, | ||
const int | theFlags, | ||
const double | theTolerance | ||
) |
Generate new elements by extrusion of theElements param theElems - list of elements for extrusion param newElemsMap returns history of extrusion param theFlags set flags for performing extrusion (see description of enum ExtrusionFlags for additional information) param theTolerance - uses for comparing locations of nodes if flag EXTRUSION_FLAG_SEW is set param theParams - special structure for manage of extrusion
Extrusion_Error SMESH_MeshEditor::ExtrusionAlongTrack | ( | TIDSortedElemSet & | theElements, |
SMESH_subMesh * | theTrackPattern, | ||
const SMDS_MeshNode * | theNodeStart, | ||
const bool | theHasAngles, | ||
std::list< double > & | theAngles, | ||
const bool | theLinearVariation, | ||
const bool | theHasRefPoint, | ||
const gp_Pnt & | theRefPoint, | ||
const bool | theMakeGroups | ||
) |
Extrusion_Error SMESH_MeshEditor::ExtrusionAlongTrack | ( | TIDSortedElemSet & | theElements, |
SMESH_Mesh * | theTrackPattern, | ||
const SMDS_MeshNode * | theNodeStart, | ||
const bool | theHasAngles, | ||
std::list< double > & | theAngles, | ||
const bool | theLinearVariation, | ||
const bool | theHasRefPoint, | ||
const gp_Pnt & | theRefPoint, | ||
const bool | theMakeGroups | ||
) |
PGroupIDs SMESH_MeshEditor::Transform | ( | TIDSortedElemSet & | theElements, |
const gp_Trsf & | theTrsf, | ||
const bool | theCopy, | ||
const bool | theMakeGroups, | ||
SMESH_Mesh * | theTargetMesh = 0 |
||
) |
void SMESH_MeshEditor::FindCoincidentNodes | ( | std::set< const SMDS_MeshNode *> & | theNodes, |
const double | theTolerance, | ||
TListOfListOfNodes & | theGroupsOfNodes | ||
) |
SMESH_NodeSearcher* SMESH_MeshEditor::GetNodeSearcher | ( | ) |
Return SMESH_NodeSearcher.
SMESH_ElementSearcher* SMESH_MeshEditor::GetElementSearcher | ( | ) |
Return SMESH_ElementSearcher.
|
static |
Return true if the point is IN or ON of the element.
int SMESH_MeshEditor::SimplifyFace | ( | const std::vector< const SMDS_MeshNode *> | faceNodes, |
std::vector< const SMDS_MeshNode *> & | poly_nodes, | ||
std::vector< int > & | quantities | ||
) | const |
void SMESH_MeshEditor::MergeNodes | ( | TListOfListOfNodes & | theNodeGroups | ) |
void SMESH_MeshEditor::FindEqualElements | ( | std::set< const SMDS_MeshElement *> & | theElements, |
TListOfListOfElementsID & | theGroupsOfElementsID | ||
) |
void SMESH_MeshEditor::MergeElements | ( | TListOfListOfElementsID & | theGroupsOfElementsID | ) |
void SMESH_MeshEditor::MergeEqualElements | ( | ) |
|
static |
|
static |
Sew_Error SMESH_MeshEditor::SewFreeBorder | ( | const SMDS_MeshNode * | theBorderFirstNode, |
const SMDS_MeshNode * | theBorderSecondNode, | ||
const SMDS_MeshNode * | theBorderLastNode, | ||
const SMDS_MeshNode * | theSide2FirstNode, | ||
const SMDS_MeshNode * | theSide2SecondNode, | ||
const SMDS_MeshNode * | theSide2ThirdNode = 0 , |
||
const bool | theSide2IsFreeBorder = true , |
||
const bool | toCreatePolygons = false , |
||
const bool | toCreatePolyedrs = false |
||
) |
Sew_Error SMESH_MeshEditor::SewSideElements | ( | TIDSortedElemSet & | theSide1, |
TIDSortedElemSet & | theSide2, | ||
const SMDS_MeshNode * | theFirstNode1ToMerge, | ||
const SMDS_MeshNode * | theFirstNode2ToMerge, | ||
const SMDS_MeshNode * | theSecondNode1ToMerge, | ||
const SMDS_MeshNode * | theSecondNode2ToMerge | ||
) |
void SMESH_MeshEditor::InsertNodesIntoLink | ( | const SMDS_MeshElement * | theFace, |
const SMDS_MeshNode * | theBetweenNode1, | ||
const SMDS_MeshNode * | theBetweenNode2, | ||
std::list< const SMDS_MeshNode *> & | theNodesToInsert, | ||
const bool | toCreatePoly = false |
||
) |
void SMESH_MeshEditor::UpdateVolumes | ( | const SMDS_MeshNode * | theBetweenNode1, |
const SMDS_MeshNode * | theBetweenNode2, | ||
std::list< const SMDS_MeshNode *> & | theNodesToInsert | ||
) |
void SMESH_MeshEditor::ConvertToQuadratic | ( | const bool | theForce3d | ) |
bool SMESH_MeshEditor::ConvertFromQuadratic | ( | ) |
|
static |
|
static |
|
static |
|
static |
Return nodes linked to the given one in elements of the type.
|
static |
|
static |
Find corresponding nodes in two sets of faces.
theSide1 | - first face set |
theSide2 | - second first face |
theFirstNode1 | - a boundary node of set 1 |
theFirstNode2 | - a node of set 2 corresponding to theFirstNode1 |
theSecondNode1 | - a boundary node of set 1 linked with theFirstNode1 |
theSecondNode2 | - a node of set 2 corresponding to theSecondNode1 |
nReplaceMap | - output map of corresponding nodes |
Sew_Error | - is a success or not |
|
static |
Returns true if given node is medium.
n | - node to check |
typeToCheck | - type of elements containing the node to ask about node status |
bool | - check result |
int SMESH_MeshEditor::FindShape | ( | const SMDS_MeshElement * | theElem | ) |
SMESH_Mesh* SMESH_MeshEditor::GetMesh | ( | ) |
Definition at line 599 of file SMESH_MeshEditor.hxx.
SMESHDS_Mesh* SMESH_MeshEditor::GetMeshDS | ( | ) |
Definition at line 601 of file SMESH_MeshEditor.hxx.
const SMESH_SequenceOfElemPtr& SMESH_MeshEditor::GetLastCreatedNodes | ( | ) | const |
Definition at line 603 of file SMESH_MeshEditor.hxx.
const SMESH_SequenceOfElemPtr& SMESH_MeshEditor::GetLastCreatedElems | ( | ) | const |
Definition at line 605 of file SMESH_MeshEditor.hxx.
bool SMESH_MeshEditor::DoubleNodes | ( | const std::list< int > & | theListOfNodes, |
const std::list< int > & | theListOfModifiedElems | ||
) |
bool SMESH_MeshEditor::DoubleNodes | ( | const TIDSortedElemSet & | theElems, |
const TIDSortedElemSet & | theNodesNot, | ||
const TIDSortedElemSet & | theAffectedElems | ||
) |
bool SMESH_MeshEditor::DoubleNodesInRegion | ( | const TIDSortedElemSet & | theElems, |
const TIDSortedElemSet & | theNodesNot, | ||
const TopoDS_Shape & | theShape | ||
) |
bool SMESH_MeshEditor::Make2DMeshFrom3D | ( | ) |
Generated skin mesh (containing 2D cells) from 3D mesh The created 2D mesh elements based on nodes of free faces of boundary volumes.
|
private |
Convert elements contained in a submesh to quadratic.
int | - nb of checked elements |
|
private |
Convert quadratic elements to linear ones and remove quadratic nodes.
int | - nb of checked elements |
|
private |
Create groups of elements made during transformation.
nodeGens | - nodes making corresponding myLastCreatedNodes |
elemGens | - elements making corresponding myLastCreatedElems |
postfix | - to append to names of new groups |
|
private |
Create elements by sweeping an element.
elem | - element to sweep |
newNodesItVec | - nodes generated from each node of the element |
newElems | - generated elements |
nbSteps | - number of sweeping steps |
srcElements | - to append elem for each generated element |
|
private |
Create 1D and 2D elements around swept elements.
mapNewNodes | - source nodes and ones generated from them |
newElemsMap | - source elements and ones generated from them |
elemNewNodesMap | - nodes generated from each node of each element |
elemSet | - all swept elements |
nbSteps | - number of sweeping steps |
srcElements | - to append elem for each generated element |
|
private |
auxilary for ExtrusionAlongTrack
|
private |
|
private |
|
private |
|
private |
Definition at line 716 of file SMESH_MeshEditor.hxx.
|
private |
Sequence for keeping nodes created during last operation
Definition at line 721 of file SMESH_MeshEditor.hxx.
|
private |
Sequence for keeping elements created during last operation
Definition at line 726 of file SMESH_MeshEditor.hxx.