Version: 9.16.0
SMESH::SMESH_MeshEditor Interface Reference

This interface makes modifications on the Mesh - removing elements and nodes etc. More...

import"SMESH_MeshEditor.idl";

Public Types

enum  Smooth_Method { LAPLACIAN_SMOOTH , CENTROIDAL_SMOOTH }
 
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  MirrorType { POINT , AXIS , PLANE }
 
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
}
 

Public Member Functions

SMESH_Mesh GetMesh ()
 Returns a mesh subject to edition. More...
 
MeshPreviewStruct GetPreviewData () raises (SALOME::SALOME_Exception)
 Return data of mesh edition preview which is computed provided that the editor was obtained through SMESH_Mesh::GetMeshEditPreviewer() More...
 
smIdType_array GetLastCreatedNodes () raises (SALOME::SALOME_Exception)
 If during last operation of MeshEditor some nodes were created, this method returns list of their IDs, if new nodes not created - returns empty list. More...
 
smIdType_array GetLastCreatedElems () raises (SALOME::SALOME_Exception)
 If during last operation of MeshEditor some elements were created, this method returns list of their IDs, if new elements not created - returns empty list. More...
 
void ClearLastCreated () raises (SALOME::SALOME_Exception)
 Clears sequences of last created elements and nodes. More...
 
ComputeError GetLastError () raises (SALOME::SALOME_Exception)
 Returns description of an error/warning occurred during the last operation. More...
 
SMESH_IDSource MakeIDSource (in smIdType_array IDsOfElements, in ElementType type)
 Wrap a sequence of ids in a SMESH_IDSource. More...
 
boolean RemoveElements (in smIdType_array IDsOfElements) raises (SALOME::SALOME_Exception)
 Remove mesh elements specified by their identifiers. More...
 
boolean RemoveNodes (in smIdType_array IDsOfNodes) raises (SALOME::SALOME_Exception)
 Remove mesh nodes specified by their identifiers. More...
 
smIdType RemoveOrphanNodes () raises (SALOME::SALOME_Exception)
 Remove all orphan nodes. More...
 
void RemoveNodeWithReconnection (in smIdType nodeID) raises (SALOME::SALOME_Exception)
 Remove a mesh node and change surrounding faces to close a hole. More...
 
smIdType AddNode (in double x, in double y, in double z) raises (SALOME::SALOME_Exception)
 Add a new node. More...
 
smIdType Add0DElement (in smIdType IDOfNode, in boolean DuplicateElements) raises (SALOME::SALOME_Exception)
 Create a 0D element on the given node. More...
 
smIdType AddBall (in smIdType IDOfNode, in double diameter) raises (SALOME::SALOME_Exception)
 Create a ball element on the given node. More...
 
smIdType AddEdge (in smIdType_array IDsOfNodes) raises (SALOME::SALOME_Exception)
 Create an edge, either linear and quadratic (this is determed by number of given nodes, two or three). More...
 
smIdType AddFace (in smIdType_array IDsOfNodes) raises (SALOME::SALOME_Exception)
 Create face, either linear and quadratic (this is determed by number of given nodes). More...
 
smIdType AddPolygonalFace (in smIdType_array IdsOfNodes) raises (SALOME::SALOME_Exception)
 
smIdType AddQuadPolygonalFace (in smIdType_array IdsOfNodes) raises (SALOME::SALOME_Exception)
 Create a quadratic polygonal face. More...
 
smIdType AddVolume (in smIdType_array IDsOfNodes) raises (SALOME::SALOME_Exception)
 Create volume, either linear and quadratic (this is determed by number of given nodes). More...
 
smIdType AddPolyhedralVolume (in smIdType_array IdsOfNodes, in long_array Quantities) raises (SALOME::SALOME_Exception)
 Create volume of many faces, giving nodes for each face. More...
 
smIdType AddPolyhedralVolumeByFaces (in smIdType_array IdsOfFaces) raises (SALOME::SALOME_Exception)
 Create volume of many faces, giving IDs of existing faces. More...
 
SMESH_IDSource Create0DElementsOnAllNodes (in SMESH_IDSource theObject, in string theGroupName, in boolean theDuplicateElements) raises (SALOME::SALOME_Exception)
 Create 0D elements on all nodes of the given object. More...
 
void SetNodeOnVertex (in smIdType NodeID, in long VertexID) raises (SALOME::SALOME_Exception)
 Bind a node to a vertex. More...
 
void SetNodeOnEdge (in smIdType NodeID, in long EdgeID, in double paramOnEdge) raises (SALOME::SALOME_Exception)
 Store node position on an edge. More...
 
void SetNodeOnFace (in smIdType NodeID, in long FaceID, in double u, in double v) raises (SALOME::SALOME_Exception)
 Store node position on a face. More...
 
void SetNodeInVolume (in smIdType NodeID, in long SolidID) raises (SALOME::SALOME_Exception)
 Bind a node to a solid. More...
 
void SetMeshElementOnShape (in smIdType ElementID, in long ShapeID) raises (SALOME::SALOME_Exception)
 Bind an element to a shape. More...
 
boolean MoveNode (in smIdType NodeID, in double x, in double y, in double z) raises (SALOME::SALOME_Exception)
 Change node location. More...
 
boolean InverseDiag (in smIdType NodeID1, in smIdType NodeID2) raises (SALOME::SALOME_Exception)
 Swap a diagonal of a quadrangle formed by two adjacent triangles. More...
 
boolean DeleteDiag (in smIdType NodeID1, in smIdType NodeID2) raises (SALOME::SALOME_Exception)
 Delete a diagonal of a quadrangle formed by two adjacent triangles so that a new quadrangle appears in place of the triangles. More...
 
void AddNodeOnSegment (in smIdType Node1, in smIdType Node2, in double position) raises (SALOME::SALOME_Exception)
 Replace each triangle bound by Node1-Node2 segment with two triangles by connecting a node made on the segment with a node opposite to the segment. More...
 
void AddNodeOnFace (in smIdType triangle, in double x, in double y, in double z)
 Split a face into triangles by adding a new node onto the face and connecting the new node with face nodes. More...
 
boolean Reorient (in smIdType_array IDsOfElements) raises (SALOME::SALOME_Exception)
 Change orientation of cells. More...
 
boolean ReorientObject (in SMESH_IDSource theObject) raises (SALOME::SALOME_Exception)
 Change orientation of cells. More...
 
long Reorient2D (in SMESH_IDSource the2Dgroup, in DirStruct theDirection, in long theFace, in PointStruct thePoint) raises (SALOME::SALOME_Exception)
 Reorient faces contained in the2Dgroup. More...
 
long Reorient2DByNeighbours (in SMESH::ListOfIDSources objectFaces, in SMESH::ListOfIDSources referenceFaces) raises (SALOME::SALOME_Exception)
 Reorient faces contained in a list of objectFaces equally to faces contained in a list of referenceFaces. More...
 
long Reorient2DBy3D (in ListOfIDSources faces, in SMESH_IDSource volumes, in boolean outsideNormal) raises (SALOME::SALOME_Exception)
 Reorient faces basing on orientation of adjacent volumes. More...
 
boolean TriToQuad (in smIdType_array IDsOfElements, in NumericalFunctor Criterion, in double MaxAngle) raises (SALOME::SALOME_Exception)
 Fuse neighbour triangles into quadrangles. More...
 
boolean TriToQuadObject (in SMESH_IDSource theObject, in NumericalFunctor Criterion, in double MaxAngle) raises (SALOME::SALOME_Exception)
 Fuse neighbour triangles into quadrangles. More...
 
boolean QuadToTri (in smIdType_array IDsOfElements, in NumericalFunctor Criterion) raises (SALOME::SALOME_Exception)
 Split quadrangles into triangles. More...
 
boolean QuadToTriObject (in SMESH_IDSource theObject, in NumericalFunctor Criterion) raises (SALOME::SALOME_Exception)
 Split quadrangles into triangles. More...
 
void QuadTo4Tri (in SMESH_IDSource theQuads) raises (SALOME::SALOME_Exception)
 Split each of quadrangles into 4 triangles. More...
 
boolean SplitQuad (in smIdType_array IDsOfElements, in boolean Diag13) raises (SALOME::SALOME_Exception)
 Split quadrangles into triangles. More...
 
boolean SplitQuadObject (in SMESH_IDSource theObject, in boolean Diag13) raises (SALOME::SALOME_Exception)
 Split quadrangles into triangles. More...
 
short BestSplit (in smIdType IDOfQuad, in NumericalFunctor Criterion) raises (SALOME::SALOME_Exception)
 Find better splitting of the given quadrangle. More...
 
void SplitVolumesIntoTetra (in SMESH_IDSource elems, in short methodFlags) raises (SALOME::SALOME_Exception)
 Split volumic elements into tetrahedrons. More...
 
void SplitVolumesIntoTetraAvoidOverConstrainedVolumes (in SMESH_IDSource elems, in short methodFlags) raises (SALOME::SALOME_Exception)
 Split volumic elements into tetrahedrons \and choose variants that comply with no over-constrained volumes. More...
 
void SplitHexahedraIntoPrisms (in SMESH_IDSource elems, in SMESH::PointStruct startHexPoint, in SMESH::DirStruct facetToSplitNormal, in short methodFlags, in boolean allDomains) raises (SALOME::SALOME_Exception)
 Split hexahedra into triangular prisms. More...
 
void SplitBiQuadraticIntoLinear (in ListOfIDSources elems) raises (SALOME::SALOME_Exception)
 Split bi-quadratic elements into linear ones without creation of additional nodes. More...
 
boolean Smooth (in smIdType_array IDsOfElements, in smIdType_array IDsOfFixedNodes, in short MaxNbOfIterations, in double MaxAspectRatio, in Smooth_Method Method) raises (SALOME::SALOME_Exception)
 
boolean SmoothObject (in SMESH_IDSource theObject, in smIdType_array IDsOfFixedNodes, in short MaxNbOfIterations, in double MaxAspectRatio, in Smooth_Method Method) raises (SALOME::SALOME_Exception)
 
boolean SmoothParametric (in smIdType_array IDsOfElements, in smIdType_array IDsOfFixedNodes, in short MaxNbOfIterations, in double MaxAspectRatio, in Smooth_Method Method) raises (SALOME::SALOME_Exception)
 
boolean SmoothParametricObject (in SMESH_IDSource theObject, in smIdType_array IDsOfFixedNodes, in short MaxNbOfIterations, in double MaxAspectRatio, in Smooth_Method Method) raises (SALOME::SALOME_Exception)
 
void ConvertToQuadratic (in boolean theForce3d) raises (SALOME::SALOME_Exception)
 
void ConvertToQuadraticObject (in boolean theForce3d, in SMESH_IDSource theObject) raises (SALOME::SALOME_Exception)
 
boolean ConvertFromQuadratic () raises (SALOME::SALOME_Exception)
 
void ConvertFromQuadraticObject (in SMESH_IDSource theObject) raises (SALOME::SALOME_Exception)
 
void ConvertToBiQuadratic (in boolean theForce3d, in SMESH_IDSource theObject) raises (SALOME::SALOME_Exception)
 
void RenumberNodes () raises (SALOME::SALOME_Exception)
 
void RenumberElements () raises (SALOME::SALOME_Exception)
 
ListOfGroups RotationSweepObjects (in ListOfIDSources Nodes, in ListOfIDSources Edges, in ListOfIDSources Faces, in AxisStruct Axis, in double AngleInRadians, in long NbOfSteps, in double Tolerance, in boolean ToMakeGroups) raises (SALOME::SALOME_Exception)
 Generate dim+1 elements by rotation of the object around axis. More...
 
ListOfGroups ExtrusionSweepObjects (in ListOfIDSources nodes, in ListOfIDSources edges, in ListOfIDSources faces, in DirStruct stepVector, in long nbOfSteps, in boolean toMakeGroups, in double_array scaleFactors, in boolean scaleVariation, in double_array basePoint, in double_array angles, in boolean angleVariation) raises (SALOME::SALOME_Exception)
 Generate dim+1 elements by extrusion of elements along vector. More...
 
ListOfGroups ExtrusionByNormal (in ListOfIDSources theObjects, in double stepSize, in long nbOfSteps, in boolean byAverageNormal, in boolean useInputElemsOnly, in boolean makeGroups, in short dim) raises (SALOME::SALOME_Exception)
 Generates new elements by extrusion along the normal to a discretized surface or wire. More...
 
ListOfGroups AdvancedExtrusion (in smIdType_array IDsOfElements, in DirStruct StepVector, in long NbOfSteps, in long ExtrFlags, in double SewTolerance, in boolean ToMakeGroups) raises (SALOME::SALOME_Exception)
 Generate new elements by extrusion of theElements by StepVector by NbOfSteps. More...
 
ListOfGroups ExtrusionAlongPathObjects (in ListOfIDSources Nodes, in ListOfIDSources Edges, in ListOfIDSources Faces, in SMESH_IDSource Path, in GEOM::GEOM_Object PathShape, in smIdType NodeStart, in boolean HasAngles, in double_array Angles, in boolean AnglesVariation, in boolean HasRefPoint, in PointStruct RefPoint, in boolean MakeGroups, in double_array ScaleFactors, in boolean ScaleVariation, out Extrusion_Error Error) raises (SALOME::SALOME_Exception)
 
double_array LinearAnglesVariation (in SMESH_Mesh PathMesh, in GEOM::GEOM_Object PathShape, in double_array Angles)
 Compute rotation angles for ExtrusionAlongPath as linear variation of given angles along path steps param PathMesh mesh containing a 1D sub-mesh on the edge, along which proceeds the extrusion param PathShape is shape(edge); as the mesh can be complex, the edge is used to define the sub-mesh for the path. More...
 
void Mirror (in smIdType_array IDsOfElements, in AxisStruct Mirror, in MirrorType Type, in boolean Copy) raises (SALOME::SALOME_Exception)
 
ListOfGroups MirrorMakeGroups (in smIdType_array IDsOfElements, in AxisStruct Mirror, in MirrorType Type) raises (SALOME::SALOME_Exception)
 
SMESH_Mesh MirrorMakeMesh (in smIdType_array IDsOfElements, in AxisStruct Mirror, in MirrorType Type, in boolean CopyGroups, in string MeshName) raises (SALOME::SALOME_Exception)
 
void MirrorObject (in SMESH_IDSource theObject, in AxisStruct Mirror, in MirrorType Type, in boolean Copy) raises (SALOME::SALOME_Exception)
 
ListOfGroups MirrorObjectMakeGroups (in SMESH_IDSource theObject, in AxisStruct Mirror, in MirrorType Type) raises (SALOME::SALOME_Exception)
 
SMESH_Mesh MirrorObjectMakeMesh (in SMESH_IDSource theObject, in AxisStruct Mirror, in MirrorType Type, in boolean CopyGroups, in string MeshName) raises (SALOME::SALOME_Exception)
 
void Translate (in smIdType_array IDsOfElements, in DirStruct Vector, in boolean Copy) raises (SALOME::SALOME_Exception)
 
ListOfGroups TranslateMakeGroups (in smIdType_array IDsOfElements, in DirStruct Vector) raises (SALOME::SALOME_Exception)
 
SMESH_Mesh TranslateMakeMesh (in smIdType_array IDsOfElements, in DirStruct Vector, in boolean CopyGroups, in string MeshName) raises (SALOME::SALOME_Exception)
 
void TranslateObject (in SMESH_IDSource theObject, in DirStruct Vector, in boolean Copy) raises (SALOME::SALOME_Exception)
 
ListOfGroups TranslateObjectMakeGroups (in SMESH_IDSource theObject, in DirStruct Vector) raises (SALOME::SALOME_Exception)
 
SMESH_Mesh TranslateObjectMakeMesh (in SMESH_IDSource theObject, in DirStruct Vector, in boolean CopyGroups, in string MeshName) raises (SALOME::SALOME_Exception)
 
void Scale (in SMESH_IDSource theObject, in PointStruct thePoint, in double_array theScaleFact, in boolean Copy) raises (SALOME::SALOME_Exception)
 
ListOfGroups ScaleMakeGroups (in SMESH_IDSource theObject, in PointStruct thePoint, in double_array theScaleFact) raises (SALOME::SALOME_Exception)
 
SMESH_Mesh ScaleMakeMesh (in SMESH_IDSource theObject, in PointStruct thePoint, in double_array theScaleFact, in boolean CopyGroups, in string MeshName) raises (SALOME::SALOME_Exception)
 
void Rotate (in smIdType_array IDsOfElements, in AxisStruct Axis, in double AngleInRadians, in boolean Copy) raises (SALOME::SALOME_Exception)
 
ListOfGroups RotateMakeGroups (in smIdType_array IDsOfElements, in AxisStruct Axis, in double AngleInRadians) raises (SALOME::SALOME_Exception)
 
SMESH_Mesh RotateMakeMesh (in smIdType_array IDsOfElements, in AxisStruct Axis, in double AngleInRadians, in boolean CopyGroups, in string MeshName) raises (SALOME::SALOME_Exception)
 
void RotateObject (in SMESH_IDSource theObject, in AxisStruct Axis, in double AngleInRadians, in boolean Copy) raises (SALOME::SALOME_Exception)
 
ListOfGroups RotateObjectMakeGroups (in SMESH_IDSource theObject, in AxisStruct Axis, in double AngleInRadians) raises (SALOME::SALOME_Exception)
 
SMESH_Mesh RotateObjectMakeMesh (in SMESH_IDSource theObject, in AxisStruct Axis, in double AngleInRadians, in boolean CopyGroups, in string MeshName) raises (SALOME::SALOME_Exception)
 
SMESH_Mesh Offset (in SMESH_IDSource theObject, in double Value, in boolean CopyGroups, in boolean CopyElements, in string MeshName, out ListOfGroups Groups) raises (SALOME::SALOME_Exception)
 
void FindCoincidentNodes (in double Tolerance, out array_of_long_array GroupsOfNodes, in boolean SeparateCornersAndMedium) raises (SALOME::SALOME_Exception)
 
void FindCoincidentNodesOnPart (in SMESH_IDSource SubMeshOrGroup, in double Tolerance, out array_of_long_array GroupsOfNodes, in boolean SeparateCornersAndMedium) raises (SALOME::SALOME_Exception)
 
void FindCoincidentNodesOnPartBut (in ListOfIDSources SubMeshOrGroup, in double Tolerance, out array_of_long_array GroupsOfNodes, in ListOfIDSources ExceptSubMeshOrGroups, in boolean SeparateCornersAndMedium) raises (SALOME::SALOME_Exception)
 
void MergeNodes (in array_of_long_array GroupsOfNodes, in SMESH::ListOfIDSources NodesToKeep, in boolean AvoidMakingHoles) raises (SALOME::SALOME_Exception)
 
void FindEqualElements (in ListOfIDSources MeshOrSubMeshOrGroup, in ListOfIDSources ExceptSubMeshOrGroups, out array_of_long_array GroupsOfElementsID) raises (SALOME::SALOME_Exception)
 Find elements built on the same nodes. More...
 
void MergeElements (in array_of_long_array GroupsOfElementsID, in SMESH::ListOfIDSources ElementsToKeep) raises (SALOME::SALOME_Exception)
 Merge elements in each given group. More...
 
void MergeEqualElements () raises (SALOME::SALOME_Exception)
 Merge equal elements in the whole mesh. More...
 
smIdType MoveClosestNodeToPoint (in double x, in double y, in double z, in smIdType nodeID) raises (SALOME::SALOME_Exception)
 If the given ID is a valid node ID (nodeID > 0), just move this node, else move the node closest to the point to point's location and return ID of the node. More...
 
smIdType FindNodeClosestTo (in double x, in double y, in double z) raises (SALOME::SALOME_Exception)
 Return ID of node closest to a given point. More...
 
smIdType_array FindElementsByPoint (in double x, in double y, in double z, in ElementType type) raises (SALOME::SALOME_Exception)
 Return elements of given type where the given point is IN or ON. More...
 
smIdType_array FindAmongElementsByPoint (in SMESH_IDSource elements, in double x, in double y, in double z, in ElementType type) raises (SALOME::SALOME_Exception)
 Searching among the given elements, return elements of given type where the given point is IN or ON. More...
 
smIdType ProjectPoint (in double x, in double y, in double z, in ElementType type, in SMESH_IDSource meshObject, out double_array projecton) raises (SALOME::SALOME_Exception)
 Project a point to a mesh object. More...
 
short GetPointState (in double x, in double y, in double z) raises (SALOME::SALOME_Exception)
 Return point state in a closed 2D mesh in terms of TopAbs_State enumeration. More...
 
boolean IsManifold () raises (SALOME::SALOME_Exception)
 Check if a 2D mesh is manifold. More...
 
boolean IsCoherentOrientation2D () raises (SALOME::SALOME_Exception)
 Check if orientation of 2D elements is coherent. More...
 
array_of_long_array Get1DBranches (in SMESH_IDSource edges, in smIdType startNode, out array_of_long_array nodeGroups) raises (SALOME::SALOME_Exception)
 Partition given 1D elements into groups of contiguous edges. More...
 
ListOfEdges FindSharpEdges (in double angle, in boolean addExistingEdges) raises (SALOME::SALOME_Exception)
 Return sharp edges of faces and non-manifold ones. More...
 
ListOfFreeBorders FindFreeBorders (in boolean closedOnly) raises (SALOME::SALOME_Exception)
 Returns all or only closed FreeBorder's. More...
 
SMESH_Group FillHole (in FreeBorder hole, in string groupName) raises (SALOME::SALOME_Exception)
 Fill with 2D elements a hole defined by a FreeBorder. More...
 
CoincidentFreeBorders FindCoincidentFreeBorders (in double tolerance)
 Returns groups of FreeBorder's coincident within the given tolerance. More...
 
short SewCoincidentFreeBorders (in CoincidentFreeBorders freeBorders, in boolean createPolygons, in boolean createPolyedrs) raises (SALOME::SALOME_Exception)
 Sew FreeBorder's of each group. More...
 
Sew_Error SewFreeBorders (in smIdType FirstNodeID1, in smIdType SecondNodeID1, in smIdType LastNodeID1, in smIdType FirstNodeID2, in smIdType SecondNodeID2, in smIdType LastNodeID2, in boolean CreatePolygons, in boolean CreatePolyedrs) raises (SALOME::SALOME_Exception)
 
Sew_Error SewConformFreeBorders (in smIdType FirstNodeID1, in smIdType SecondNodeID1, in smIdType LastNodeID1, in smIdType FirstNodeID2, in smIdType SecondNodeID2) raises (SALOME::SALOME_Exception)
 
Sew_Error SewBorderToSide (in smIdType FirstNodeIDOnFreeBorder, in smIdType SecondNodeIDOnFreeBorder, in smIdType LastNodeIDOnFreeBorder, in smIdType FirstNodeIDOnSide, in smIdType LastNodeIDOnSide, in boolean CreatePolygons, in boolean CreatePolyedrs) raises (SALOME::SALOME_Exception)
 
Sew_Error SewSideElements (in smIdType_array IDsOfSide1Elements, in smIdType_array IDsOfSide2Elements, in smIdType NodeID1OfSide1ToMerge, in smIdType NodeID1OfSide2ToMerge, in smIdType NodeID2OfSide1ToMerge, in smIdType NodeID2OfSide2ToMerge) raises (SALOME::SALOME_Exception)
 
boolean ChangeElemNodes (in smIdType id, in smIdType_array newIDs) raises (SALOME::SALOME_Exception)
 Set new nodes for given element. More...
 
SMESH_Group DoubleElements (in SMESH_IDSource theElements, in string theGroupName) raises (SALOME::SALOME_Exception)
 Duplicates given elements, i.e. More...
 
boolean DoubleNodes (in smIdType_array theNodes, in smIdType_array theModifiedElems) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
boolean DoubleNode (in smIdType theNodeId, in smIdType_array theModifiedElems) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above. More...
 
boolean DoubleNodeGroup (in SMESH_GroupBase theNodes, in SMESH_GroupBase theModifiedElems) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above. More...
 
SMESH_Group DoubleNodeGroupNew (in SMESH_GroupBase theNodes, in SMESH_GroupBase theModifiedElems) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
boolean DoubleNodeGroups (in ListOfGroups theNodes, in ListOfGroups theModifiedElems) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above. More...
 
SMESH_Group DoubleNodeGroupsNew (in ListOfGroups theNodes, in ListOfGroups theModifiedElems) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements Works as DoubleNodeGroups() described above, but returns a new group with newly created nodes. More...
 
boolean DoubleNodeElem (in smIdType_array theElems, in smIdType_array theNodesNot, in smIdType_array theAffectedElems) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
boolean DoubleNodeElemInRegion (in smIdType_array theElems, in smIdType_array theNodesNot, in GEOM::GEOM_Object theShape) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
boolean DoubleNodeElemGroup (in SMESH_GroupBase theElems, in SMESH_GroupBase theNodesNot, in SMESH_GroupBase theAffectedElems) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above. More...
 
SMESH_Group DoubleNodeElemGroupNew (in SMESH_GroupBase theElems, in SMESH_GroupBase theNodesNot, in SMESH_GroupBase theAffectedElems) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
ListOfGroups DoubleNodeElemGroup2New (in SMESH_GroupBase theElems, in SMESH_GroupBase theNodesNot, in SMESH_GroupBase theAffectedElems, in boolean theElemGroupNeeded, in boolean theNodeGroupNeeded) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
boolean DoubleNodeElemGroupInRegion (in SMESH_GroupBase theElems, in SMESH_GroupBase theNodesNot, in GEOM::GEOM_Object theShape) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above. More...
 
boolean DoubleNodeElemGroups (in ListOfGroups theElems, in ListOfGroups theNodesNot, in ListOfGroups theAffectedElems) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above. More...
 
SMESH_Group DoubleNodeElemGroupsNew (in ListOfGroups theElems, in ListOfGroups theNodesNot, in ListOfGroups theAffectedElems) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
ListOfGroups DoubleNodeElemGroups2New (in ListOfGroups theElems, in ListOfGroups theNodesNot, in ListOfGroups theAffectedElems, in boolean theElemGroupNeeded, in boolean theNodeGroupNeeded) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
boolean DoubleNodeElemGroupsInRegion (in ListOfGroups theElems, in ListOfGroups theNodesNot, in GEOM::GEOM_Object theShape) raises (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above. More...
 
ListOfGroups AffectedElemGroupsInRegion (in ListOfGroups theElems, in ListOfGroups theNodesNot, in GEOM::GEOM_Object theShape) raises (SALOME::SALOME_Exception)
 Identify the elements that will be affected by node duplication (actual duplication is not performed). More...
 
boolean Make2DMeshFrom3D () raises (SALOME::SALOME_Exception)
 Generates skin mesh (containing 2D cells) from 3D mesh The created 2D mesh elements based on nodes of free faces of boundary volumes. More...
 
SMESH_Mesh MakeBoundaryMesh (in SMESH_IDSource elements, in Bnd_Dimension dimension, in string groupName, in string meshName, in boolean toCopyElements, in boolean toCopyExistingBondary, out SMESH_Group group) raises (SALOME::SALOME_Exception)
 Creates missing boundary elements. More...
 
long MakeBoundaryElements (in Bnd_Dimension dimension, in string groupName, in string meshName, in boolean toCopyAll, in boolean toCreateAllElements, in ListOfIDSources groups, out SMESH_Mesh mesh, out SMESH_Group group) raises (SALOME::SALOME_Exception)
 Creates missing boundary elements around either the whole mesh or groups of 2D elements. More...
 
boolean DoubleNodesOnGroupBoundaries (in ListOfGroups theDomains, in boolean createJointElems, in boolean onAllBoundaries) raises (SALOME::SALOME_Exception)
 Double nodes on shared faces between groups of volumes and create flat elements on demand. More...
 
boolean CreateFlatElementsOnFacesGroups (in ListOfGroups theGroupsOfFaces) raises (SALOME::SALOME_Exception)
 Double nodes on some external faces and create flat elements. More...
 
void CreateHoleSkin (in double radius, in GEOM::GEOM_Object theShape, in string groupName, in double_array theNodesCoords, out array_of_long_array GroupsOfNodes) raises (SALOME::SALOME_Exception)
 identify all the elements around a geom shape, get the faces delimiting the hole Build groups of volume to remove, groups of faces to replace on the skin of the object, groups of faces to remove insidethe object, (idem edges). More...
 
void MakePolyLine (inout ListOfPolySegments segments, in string groupName) raises (SALOME::SALOME_Exception)
 Create a polyline consisting of 1D mesh elements each lying on a 2D element of the initial triangle mesh. More...
 
ListOfEdges MakeSlot (in SMESH_GroupBase segments, in double width) raises (SALOME::SALOME_Exception)
 Create a slot of given width around given 1D elements lying on a triangle mesh. More...
 

Detailed Description

This interface makes modifications on the Mesh - removing elements and nodes etc.

Also provides some analysis functions.

Member Enumeration Documentation

◆ Extrusion_Error

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 

◆ MirrorType

Enumerator
POINT 
AXIS 
PLANE 

◆ Sew_Error

Enumerator
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 

◆ Smooth_Method

Enumerator
LAPLACIAN_SMOOTH 
CENTROIDAL_SMOOTH 

Member Function Documentation

◆ Add0DElement()

smIdType SMESH::SMESH_MeshEditor::Add0DElement ( in smIdType  IDOfNode,
in boolean  DuplicateElements 
)
raises (SALOME::SALOME_Exception
)

Create a 0D element on the given node.

Parameters
IdOfNodeNode IDs for creation of element.
DuplicateElementsto add one more 0D element to a node or not

◆ AddBall()

smIdType SMESH::SMESH_MeshEditor::AddBall ( in smIdType  IDOfNode,
in double  diameter 
)
raises (SALOME::SALOME_Exception
)

Create a ball element on the given node.

Parameters
IdOfNodeNode IDs for creation of element.

◆ AddEdge()

smIdType SMESH::SMESH_MeshEditor::AddEdge ( in smIdType_array  IDsOfNodes)
raises (SALOME::SALOME_Exception
)

Create an edge, either linear and quadratic (this is determed by number of given nodes, two or three).

Parameters
IdsOfNodesList of node IDs for creation of element. Needed order of nodes in this list corresponds to description of MED. This description is located by the following link: http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.

◆ AddFace()

smIdType SMESH::SMESH_MeshEditor::AddFace ( in smIdType_array  IDsOfNodes)
raises (SALOME::SALOME_Exception
)

Create face, either linear and quadratic (this is determed by number of given nodes).

Parameters
IdsOfNodesList of node IDs for creation of element. Needed order of nodes in this list corresponds to description of MED. This description is located by the following link: http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.

◆ AddNode()

smIdType SMESH::SMESH_MeshEditor::AddNode ( in double  x,
in double  y,
in double  z 
)
raises (SALOME::SALOME_Exception
)

Add a new node.

Parameters
xX coordinate of new node
yY coordinate of new node
zZ coordinate of new node
Returns
integer identifier of new node

◆ AddNodeOnFace()

void SMESH::SMESH_MeshEditor::AddNodeOnFace ( in smIdType  triangle,
in double  x,
in double  y,
in double  z 
)

Split a face into triangles by adding a new node onto the face and connecting the new node with face nodes.

◆ AddNodeOnSegment()

void SMESH::SMESH_MeshEditor::AddNodeOnSegment ( in smIdType  Node1,
in smIdType  Node2,
in double  position 
)
raises (SALOME::SALOME_Exception
)

Replace each triangle bound by Node1-Node2 segment with two triangles by connecting a node made on the segment with a node opposite to the segment.

◆ AddPolygonalFace()

smIdType SMESH::SMESH_MeshEditor::AddPolygonalFace ( in smIdType_array  IdsOfNodes)
raises (SALOME::SALOME_Exception
)

◆ AddPolyhedralVolume()

smIdType SMESH::SMESH_MeshEditor::AddPolyhedralVolume ( in smIdType_array  IdsOfNodes,
in long_array  Quantities 
)
raises (SALOME::SALOME_Exception
)

Create volume of many faces, giving nodes for each face.

Parameters
IdsOfNodesList of node IDs for volume creation face by face.
QuantitiesList of integer values, Quantities[i] gives quantity of nodes in face number i.

◆ AddPolyhedralVolumeByFaces()

smIdType SMESH::SMESH_MeshEditor::AddPolyhedralVolumeByFaces ( in smIdType_array  IdsOfFaces)
raises (SALOME::SALOME_Exception
)

Create volume of many faces, giving IDs of existing faces.

Parameters
IdsOfFacesList of face IDs for volume creation.
Note
The created volume will refer only to nodes of the given faces, not to the faces itself.

◆ AddQuadPolygonalFace()

smIdType SMESH::SMESH_MeshEditor::AddQuadPolygonalFace ( in smIdType_array  IdsOfNodes)
raises (SALOME::SALOME_Exception
)

Create a quadratic polygonal face.

Parameters
IdsOfNodes- nodes of the polygon; corner nodes follow first
Returns
smIdType- ID of a new polygon

◆ AddVolume()

smIdType SMESH::SMESH_MeshEditor::AddVolume ( in smIdType_array  IDsOfNodes)
raises (SALOME::SALOME_Exception
)

Create volume, either linear and quadratic (this is determed by number of given nodes).

Parameters
IdsOfNodesList of node IDs for creation of element. Needed order of nodes in this list corresponds to description of MED. This description is located by the following link: http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.

◆ AdvancedExtrusion()

ListOfGroups SMESH::SMESH_MeshEditor::AdvancedExtrusion ( in smIdType_array  IDsOfElements,
in DirStruct  StepVector,
in long  NbOfSteps,
in long  ExtrFlags,
in double  SewTolerance,
in boolean  ToMakeGroups 
)
raises (SALOME::SALOME_Exception
)

Generate new elements by extrusion of theElements by StepVector by NbOfSteps.

Parameters
ExtrFlagsset flags for performing extrusion
SewTolerance- uses for comparing locations of nodes if flag EXTRUSION_FLAG_SEW is set
ToMakeGroups- if true, new elements will be included into new groups corresponding to groups the input elements included in.
Returns
ListOfGroups - new groups created if ToMakeGroups is true

◆ AffectedElemGroupsInRegion()

ListOfGroups SMESH::SMESH_MeshEditor::AffectedElemGroupsInRegion ( in ListOfGroups  theElems,
in ListOfGroups  theNodesNot,
in GEOM::GEOM_Object  theShape 
)
raises (SALOME::SALOME_Exception
)

Identify the elements that will be affected by node duplication (actual duplication is not performed).

This method is the first step of DoubleNodeElemGroupsInRegion.

Parameters
theElems- list of groups of elements (edges or faces) to be replicated
theNodesNot- list of groups of nodes not to replicated
theShape- shape to detect affected elements (element which geometric center located on or inside shape). The replicated nodes should be associated to affected elements.
Returns
groups of affected elements
See also
DoubleNodeElemGroupsInRegion()

◆ BestSplit()

short SMESH::SMESH_MeshEditor::BestSplit ( in smIdType  IDOfQuad,
in NumericalFunctor  Criterion 
)
raises (SALOME::SALOME_Exception
)

Find better splitting of the given quadrangle.

Parameters
IDOfQuadID of the quadrangle to be split.
CriterionA criterion to choose a diagonal for splitting.
Returns
1 if 1-3 diagonal is better, 2 if 2-4 diagonal is better, 0 if error occurs.

◆ ChangeElemNodes()

boolean SMESH::SMESH_MeshEditor::ChangeElemNodes ( in smIdType  id,
in smIdType_array  newIDs 
)
raises (SALOME::SALOME_Exception
)

Set new nodes for given element.

If number of nodes is not corresponded to type of element - returns false

◆ ClearLastCreated()

void SMESH::SMESH_MeshEditor::ClearLastCreated ( )
raises (SALOME::SALOME_Exception
)

Clears sequences of last created elements and nodes.

◆ ConvertFromQuadratic()

boolean SMESH::SMESH_MeshEditor::ConvertFromQuadratic ( )
raises (SALOME::SALOME_Exception
)

◆ ConvertFromQuadraticObject()

void SMESH::SMESH_MeshEditor::ConvertFromQuadraticObject ( in SMESH_IDSource  theObject)
raises (SALOME::SALOME_Exception
)

◆ ConvertToBiQuadratic()

void SMESH::SMESH_MeshEditor::ConvertToBiQuadratic ( in boolean  theForce3d,
in SMESH_IDSource  theObject 
)
raises (SALOME::SALOME_Exception
)

◆ ConvertToQuadratic()

void SMESH::SMESH_MeshEditor::ConvertToQuadratic ( in boolean  theForce3d)
raises (SALOME::SALOME_Exception
)

◆ ConvertToQuadraticObject()

void SMESH::SMESH_MeshEditor::ConvertToQuadraticObject ( in boolean  theForce3d,
in SMESH_IDSource  theObject 
)
raises (SALOME::SALOME_Exception
)

◆ Create0DElementsOnAllNodes()

SMESH_IDSource SMESH::SMESH_MeshEditor::Create0DElementsOnAllNodes ( in SMESH_IDSource  theObject,
in string  theGroupName,
in boolean  theDuplicateElements 
)
raises (SALOME::SALOME_Exception
)

Create 0D elements on all nodes of the given object.

Parameters
theObjectobject on whose nodes 0D elements will be created.
theGroupNameoptional name of a group to add 0D elements created and/or found on nodes of theObject.
theDuplicateElementsto add one more 0D element to a node or not
Returns
an object (a new group or a temporary SMESH_IDSource) holding ids of new and/or found 0D elements.

◆ CreateFlatElementsOnFacesGroups()

boolean SMESH::SMESH_MeshEditor::CreateFlatElementsOnFacesGroups ( in ListOfGroups  theGroupsOfFaces)
raises (SALOME::SALOME_Exception
)

Double nodes on some external faces and create flat elements.

Flat elements are mainly used by some types of mechanic calculations.

Each group of the list must be constituted of faces. Triangles are transformed in prisms, and quadrangles in hexahedrons.

Parameters
theGroupsOfFaces- list of groups of faces
Returns
TRUE if operation has been completed successfully, FALSE otherwise

◆ CreateHoleSkin()

void SMESH::SMESH_MeshEditor::CreateHoleSkin ( in double  radius,
in GEOM::GEOM_Object  theShape,
in string  groupName,
in double_array  theNodesCoords,
out array_of_long_array  GroupsOfNodes 
)
raises (SALOME::SALOME_Exception
)

identify all the elements around a geom shape, get the faces delimiting the hole Build groups of volume to remove, groups of faces to replace on the skin of the object, groups of faces to remove insidethe object, (idem edges).

Build ordered list of nodes at the border of each group of faces to replace (to be used to build a geom subshape)

◆ DeleteDiag()

boolean SMESH::SMESH_MeshEditor::DeleteDiag ( in smIdType  NodeID1,
in smIdType  NodeID2 
)
raises (SALOME::SALOME_Exception
)

Delete a diagonal of a quadrangle formed by two adjacent triangles so that a new quadrangle appears in place of the triangles.

◆ DoubleElements()

SMESH_Group SMESH::SMESH_MeshEditor::DoubleElements ( in SMESH_IDSource  theElements,
in string  theGroupName 
)
raises (SALOME::SALOME_Exception
)

Duplicates given elements, i.e.

creates new elements based on the same nodes as the given ones.

Parameters
theElements- container of elements to duplicate.
theGroupName- a name of group to contain the generated elements. If a group with such a name already exists, the new elements are added to the existing group, else a new group is created. If theGroupName is empty, new elements are not added in any group.
Returns
a group where the new elements are added. NULL if theGroupName == "".
See also
DoubleNode()

◆ DoubleNode()

boolean SMESH::SMESH_MeshEditor::DoubleNode ( in smIdType  theNodeId,
in smIdType_array  theModifiedElems 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.

Parameters
theNodeId- identifier of node to be doubled.
theModifiedElems- identifiers of elements to be updated.
Returns
TRUE if operation has been completed successfully, FALSE otherwise
See also
DoubleNodes(), DoubleNodeGroup(), DoubleNodeGroups()

◆ DoubleNodeElem()

boolean SMESH::SMESH_MeshEditor::DoubleNodeElem ( in smIdType_array  theElems,
in smIdType_array  theNodesNot,
in smIdType_array  theAffectedElems 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements.

Parameters
theElems- the list of elements (edges or faces) to be replicated The nodes for duplication could be found from these elements
theNodesNot- list of nodes to NOT replicate
theAffectedElems- the list of elements (cells and edges) to which the replicated nodes should be associated to.
Returns
TRUE if operation has been completed successfully, FALSE otherwise
See also
DoubleNodeGroup(), DoubleNodeGroups()

◆ DoubleNodeElemGroup()

boolean SMESH::SMESH_MeshEditor::DoubleNodeElemGroup ( in SMESH_GroupBase  theElems,
in SMESH_GroupBase  theNodesNot,
in SMESH_GroupBase  theAffectedElems 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.

Parameters
theElems- group of of elements (edges or faces) to be replicated
theNodesNot- group of nodes not to replicated
theAffectedElems- group of elements to which the replicated nodes should be associated to.
Returns
TRUE if operation has been completed successfully, FALSE otherwise
See also
DoubleNodes(), DoubleNodeGroups(), DoubleNodeElemGroupNew()

◆ DoubleNodeElemGroup2New()

ListOfGroups SMESH::SMESH_MeshEditor::DoubleNodeElemGroup2New ( in SMESH_GroupBase  theElems,
in SMESH_GroupBase  theNodesNot,
in SMESH_GroupBase  theAffectedElems,
in boolean  theElemGroupNeeded,
in boolean  theNodeGroupNeeded 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements.

Works as DoubleNodeElemGroup() described above, but returns two new groups: a group of newly created elements and a group of newly created nodes

Parameters
theElems- group of of elements (edges or faces) to be replicated
theNodesNot- group of nodes not to replicated
theAffectedElems- group of elements to which the replicated nodes should be associated to.
theElemGroupNeeded- to create group of new elements or not
theNodeGroupNeeded- to create group of new nodes or not
Returns
two new groups of newly created elements (1st) and nodes (2nd)
See also
DoubleNodeElemGroup()

◆ DoubleNodeElemGroupInRegion()

boolean SMESH::SMESH_MeshEditor::DoubleNodeElemGroupInRegion ( in SMESH_GroupBase  theElems,
in SMESH_GroupBase  theNodesNot,
in GEOM::GEOM_Object  theShape 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.

Parameters
theElems- group of elements (edges or faces) to be replicated
theNodesNot- group of nodes not to replicated
theShape- shape to detect affected elements (element which geometric center located on or inside shape). The replicated nodes should be associated to affected elements.
Returns
TRUE if operation has been completed successfully, FALSE otherwise
See also
DoubleNodesInRegion(), DoubleNodeGroupsInRegion()

◆ DoubleNodeElemGroupNew()

SMESH_Group SMESH::SMESH_MeshEditor::DoubleNodeElemGroupNew ( in SMESH_GroupBase  theElems,
in SMESH_GroupBase  theNodesNot,
in SMESH_GroupBase  theAffectedElems 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements.

Works as DoubleNodeElemGroup() described above, but returns a new group with newly created elements.

Parameters
theElems- group of of elements (edges or faces) to be replicated
theNodesNot- group of nodes not to replicated
theAffectedElems- group of elements to which the replicated nodes should be associated to.
Returns
a new group with newly created elements
See also
DoubleNodeElemGroup()

◆ DoubleNodeElemGroups()

boolean SMESH::SMESH_MeshEditor::DoubleNodeElemGroups ( in ListOfGroups  theElems,
in ListOfGroups  theNodesNot,
in ListOfGroups  theAffectedElems 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.

Parameters
theElems- list of groups of elements (edges or faces) to be replicated
theNodesNot- list of groups of nodes not to replicated
theAffectedElems- group of elements to which the replicated nodes should be associated to.
Returns
TRUE if operation has been completed successfully, FALSE otherwise
See also
DoubleNodeGroup(), DoubleNodes(), DoubleNodeElemGroupsNew()

◆ DoubleNodeElemGroups2New()

ListOfGroups SMESH::SMESH_MeshEditor::DoubleNodeElemGroups2New ( in ListOfGroups  theElems,
in ListOfGroups  theNodesNot,
in ListOfGroups  theAffectedElems,
in boolean  theElemGroupNeeded,
in boolean  theNodeGroupNeeded 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements.

Works as DoubleNodeElemGroups() described above, but returns two new groups: a group of newly created elements and a group of newly created nodes.

Parameters
theElems- list of groups of elements (edges or faces) to be replicated
theNodesNot- list of groups of nodes not to replicated
theAffectedElems- group of elements to which the replicated nodes should be associated to.
theElemGroupNeeded- to create group of new elements or not
theNodeGroupNeeded- to create group of new nodes or not
Returns
two new groups of newly created elements (1st) and nodes (2nd)
See also
DoubleNodeElemGroups()

◆ DoubleNodeElemGroupsInRegion()

boolean SMESH::SMESH_MeshEditor::DoubleNodeElemGroupsInRegion ( in ListOfGroups  theElems,
in ListOfGroups  theNodesNot,
in GEOM::GEOM_Object  theShape 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.

Parameters
theElems- list of groups of elements (edges or faces) to be replicated
theNodesNot- list of groups of nodes not to replicated
theShape- shape to detect affected elements (element which geometric center located on or inside shape). The replicated nodes should be associated to affected elements.
Returns
TRUE if operation has been completed successfully, FALSE otherwise
See also
DoubleNodeGroupInRegion(), DoubleNodesInRegion()

◆ DoubleNodeElemGroupsNew()

SMESH_Group SMESH::SMESH_MeshEditor::DoubleNodeElemGroupsNew ( in ListOfGroups  theElems,
in ListOfGroups  theNodesNot,
in ListOfGroups  theAffectedElems 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements.

Works as DoubleNodeElemGroups() described above, but returns a new group with newly created elements.

Parameters
theElems- list of groups of elements (edges or faces) to be replicated
theNodesNot- list of groups of nodes not to replicated
theAffectedElems- group of elements to which the replicated nodes should be associated to.
Returns
a new group with newly created elements
See also
DoubleNodeElemGroups()

◆ DoubleNodeElemInRegion()

boolean SMESH::SMESH_MeshEditor::DoubleNodeElemInRegion ( in smIdType_array  theElems,
in smIdType_array  theNodesNot,
in GEOM::GEOM_Object  theShape 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements.

Parameters
theElems- the list of elements (edges or faces) to be replicated The nodes for duplication could be found from these elements
theNodesNot- list of nodes to NOT replicate
theShape- shape to detect affected elements (element which geometric center located on or inside shape). The replicated nodes should be associated to affected elements.
Returns
TRUE if operation has been completed successfully, FALSE otherwise
See also
DoubleNodeGroupInRegion(), DoubleNodeGroupsInRegion()

◆ DoubleNodeGroup()

boolean SMESH::SMESH_MeshEditor::DoubleNodeGroup ( in SMESH_GroupBase  theNodes,
in SMESH_GroupBase  theModifiedElems 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.

Parameters
theNodes- group of nodes to be doubled.
theModifiedElems- group of elements to be updated.
Returns
TRUE if operation has been completed successfully, FALSE otherwise
See also
DoubleNode(), DoubleNodes(), DoubleNodeGroups(), DoubleNodeGroupNew()

◆ DoubleNodeGroupNew()

SMESH_Group SMESH::SMESH_MeshEditor::DoubleNodeGroupNew ( in SMESH_GroupBase  theNodes,
in SMESH_GroupBase  theModifiedElems 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements.

Works as DoubleNodeGroup() described above, but returns a new group with newly created nodes.

Parameters
theNodes- group of nodes to be doubled.
theModifiedElems- group of elements to be updated.
Returns
a new group with newly created nodes
See also
DoubleNodeGroup()

◆ DoubleNodeGroups()

boolean SMESH::SMESH_MeshEditor::DoubleNodeGroups ( in ListOfGroups  theNodes,
in ListOfGroups  theModifiedElems 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.

Parameters
theNodes- list of groups of nodes to be doubled
theModifiedElems- list of groups of elements to be updated.
Returns
TRUE if operation has been completed successfully, FALSE otherwise
See also
DoubleNode(), DoubleNodeGroup(), DoubleNodes()

◆ DoubleNodeGroupsNew()

SMESH_Group SMESH::SMESH_MeshEditor::DoubleNodeGroupsNew ( in ListOfGroups  theNodes,
in ListOfGroups  theModifiedElems 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements Works as DoubleNodeGroups() described above, but returns a new group with newly created nodes.

Parameters
theNodes- list of groups of nodes to be doubled
theModifiedElems- list of groups of elements to be updated.
Returns
a new group with newly created nodes
See also
DoubleNodeGroups()

◆ DoubleNodes()

boolean SMESH::SMESH_MeshEditor::DoubleNodes ( in smIdType_array  theNodes,
in smIdType_array  theModifiedElems 
)
raises (SALOME::SALOME_Exception
)

Creates a hole in a mesh by doubling the nodes of some particular elements.

Parameters
theNodes- identifiers of nodes to be doubled
theModifiedElems- identifiers of elements to be updated by the new (doubled) nodes. If list of element identifiers is empty then nodes are doubled but they not assigned to elements
Returns
TRUE if operation has been completed successfully, FALSE otherwise
See also
DoubleNode(), DoubleNodeGroup(), DoubleNodeGroups()

◆ DoubleNodesOnGroupBoundaries()

boolean SMESH::SMESH_MeshEditor::DoubleNodesOnGroupBoundaries ( in ListOfGroups  theDomains,
in boolean  createJointElems,
in boolean  onAllBoundaries 
)
raises (SALOME::SALOME_Exception
)

Double nodes on shared faces between groups of volumes and create flat elements on demand.

Flat elements are mainly used by some types of mechanic calculations.

The list of groups must describe a partition of the mesh volumes. The nodes of the internal faces at the boundaries of the groups are doubled. In option, the internal faces are replaced by flat elements. Triangles are transformed in prisms, and quadrangles in hexahedrons.

Parameters
theDomains- list of groups of volumes
createJointElems- if TRUE, create the elements
onAllBoundaries- if TRUE, the nodes and elements are also created on the boundary between theDomains and the rest mesh
Returns
TRUE if operation has been completed successfully, FALSE otherwise

◆ ExtrusionAlongPathObjects()

ListOfGroups SMESH::SMESH_MeshEditor::ExtrusionAlongPathObjects ( in ListOfIDSources  Nodes,
in ListOfIDSources  Edges,
in ListOfIDSources  Faces,
in SMESH_IDSource  Path,
in GEOM::GEOM_Object  PathShape,
in smIdType  NodeStart,
in boolean  HasAngles,
in double_array  Angles,
in boolean  AnglesVariation,
in boolean  HasRefPoint,
in PointStruct  RefPoint,
in boolean  MakeGroups,
in double_array  ScaleFactors,
in boolean  ScaleVariation,
out Extrusion_Error  Error 
)
raises (SALOME::SALOME_Exception
)

◆ ExtrusionByNormal()

ListOfGroups SMESH::SMESH_MeshEditor::ExtrusionByNormal ( in ListOfIDSources  theObjects,
in double  stepSize,
in long  nbOfSteps,
in boolean  byAverageNormal,
in boolean  useInputElemsOnly,
in boolean  makeGroups,
in short  dim 
)
raises (SALOME::SALOME_Exception
)

Generates new elements by extrusion along the normal to a discretized surface or wire.

◆ ExtrusionSweepObjects()

ListOfGroups SMESH::SMESH_MeshEditor::ExtrusionSweepObjects ( in ListOfIDSources  nodes,
in ListOfIDSources  edges,
in ListOfIDSources  faces,
in DirStruct  stepVector,
in long  nbOfSteps,
in boolean  toMakeGroups,
in double_array  scaleFactors,
in boolean  scaleVariation,
in double_array  basePoint,
in double_array  angles,
in boolean  angleVariation 
)
raises (SALOME::SALOME_Exception
)

Generate dim+1 elements by extrusion of elements along vector.

Parameters
nodes- nodes to extrude: a list including groups, sub-meshes or a mesh.
edges- edges to extrude: a list including groups, sub-meshes or a mesh.
faces- faces to extrude: a list including groups, sub-meshes or a mesh.
stepVector- vector giving direction and distance of an extrusion step.
nbOfSteps- number of elements to generate from one element.
toMakeGroups- if true, new elements will be included into new groups corresponding to groups the input elements included in.
scaleFactors- optional scale factors to apply during extrusion; it's usage depends on scalesVariation parameter.
scalesVariation- if True, scaleFactors are spread over all NbOfSteps, otherwise scaleFactors[i] is applied to nodes at the i-th extrusion step.
angles- optional rotation angles to apply during extrusion; it's usage depends on anglesVariation parameter.
anglesVariation- if True, angles are spread over all NbOfSteps, otherwise angle[i] is applied to nodes at the i-th extrusion step.
Returns
ListOfGroups - new groups created if toMakeGroups is true

◆ FillHole()

SMESH_Group SMESH::SMESH_MeshEditor::FillHole ( in FreeBorder  hole,
in string  groupName 
)
raises (SALOME::SALOME_Exception
)

Fill with 2D elements a hole defined by a FreeBorder.

Optionally add new faces to a given group, which is returned.

◆ FindAmongElementsByPoint()

smIdType_array SMESH::SMESH_MeshEditor::FindAmongElementsByPoint ( in SMESH_IDSource  elements,
in double  x,
in double  y,
in double  z,
in ElementType  type 
)
raises (SALOME::SALOME_Exception
)

Searching among the given elements, return elements of given type where the given point is IN or ON.

'ALL' type means elements of any type excluding nodes and 0D elements

◆ FindCoincidentFreeBorders()

CoincidentFreeBorders SMESH::SMESH_MeshEditor::FindCoincidentFreeBorders ( in double  tolerance)

Returns groups of FreeBorder's coincident within the given tolerance.

If the tolerance <= 0.0 then one tenth of an average size of elements adjacent to free borders being compared is used.

◆ FindCoincidentNodes()

void SMESH::SMESH_MeshEditor::FindCoincidentNodes ( in double  Tolerance,
out array_of_long_array  GroupsOfNodes,
in boolean  SeparateCornersAndMedium 
)
raises (SALOME::SALOME_Exception
)

◆ FindCoincidentNodesOnPart()

void SMESH::SMESH_MeshEditor::FindCoincidentNodesOnPart ( in SMESH_IDSource  SubMeshOrGroup,
in double  Tolerance,
out array_of_long_array  GroupsOfNodes,
in boolean  SeparateCornersAndMedium 
)
raises (SALOME::SALOME_Exception
)

◆ FindCoincidentNodesOnPartBut()

void SMESH::SMESH_MeshEditor::FindCoincidentNodesOnPartBut ( in ListOfIDSources  SubMeshOrGroup,
in double  Tolerance,
out array_of_long_array  GroupsOfNodes,
in ListOfIDSources  ExceptSubMeshOrGroups,
in boolean  SeparateCornersAndMedium 
)
raises (SALOME::SALOME_Exception
)

◆ FindElementsByPoint()

smIdType_array SMESH::SMESH_MeshEditor::FindElementsByPoint ( in double  x,
in double  y,
in double  z,
in ElementType  type 
)
raises (SALOME::SALOME_Exception
)

Return elements of given type where the given point is IN or ON.

'ALL' type means elements of any type excluding nodes and 0D elements

◆ FindEqualElements()

void SMESH::SMESH_MeshEditor::FindEqualElements ( in ListOfIDSources  MeshOrSubMeshOrGroup,
in ListOfIDSources  ExceptSubMeshOrGroups,
out array_of_long_array  GroupsOfElementsID 
)
raises (SALOME::SALOME_Exception
)

Find elements built on the same nodes.

Parameters
MeshOrSubMeshOrGroupMesh or SubMesh, or Group of elements for searching.
Returns
List of groups of equal elements.

◆ FindFreeBorders()

ListOfFreeBorders SMESH::SMESH_MeshEditor::FindFreeBorders ( in boolean  closedOnly)
raises (SALOME::SALOME_Exception
)

Returns all or only closed FreeBorder's.

◆ FindNodeClosestTo()

smIdType SMESH::SMESH_MeshEditor::FindNodeClosestTo ( in double  x,
in double  y,
in double  z 
)
raises (SALOME::SALOME_Exception
)

Return ID of node closest to a given point.

◆ FindSharpEdges()

ListOfEdges SMESH::SMESH_MeshEditor::FindSharpEdges ( in double  angle,
in boolean  addExistingEdges 
)
raises (SALOME::SALOME_Exception
)

Return sharp edges of faces and non-manifold ones.

Optionally add existing edges. Angle is in degrees.

◆ Get1DBranches()

array_of_long_array SMESH::SMESH_MeshEditor::Get1DBranches ( in SMESH_IDSource  edges,
in smIdType  startNode,
out array_of_long_array  nodeGroups 
)
raises (SALOME::SALOME_Exception
)

Partition given 1D elements into groups of contiguous edges.

A node where number of meeting edges != 2 is a group end. An optional startNode is used to orient groups it belongs to.

Returns
a list of edge groups and a list of corresponding node groups. If a group is closed, the first and last nodes of the group are same.

◆ GetLastCreatedElems()

smIdType_array SMESH::SMESH_MeshEditor::GetLastCreatedElems ( )
raises (SALOME::SALOME_Exception
)

If during last operation of MeshEditor some elements were created, this method returns list of their IDs, if new elements not created - returns empty list.

◆ GetLastCreatedNodes()

smIdType_array SMESH::SMESH_MeshEditor::GetLastCreatedNodes ( )
raises (SALOME::SALOME_Exception
)

If during last operation of MeshEditor some nodes were created, this method returns list of their IDs, if new nodes not created - returns empty list.

◆ GetLastError()

ComputeError SMESH::SMESH_MeshEditor::GetLastError ( )
raises (SALOME::SALOME_Exception
)

Returns description of an error/warning occurred during the last operation.

◆ GetMesh()

SMESH_Mesh SMESH::SMESH_MeshEditor::GetMesh ( )

Returns a mesh subject to edition.

◆ GetPointState()

short SMESH::SMESH_MeshEditor::GetPointState ( in double  x,
in double  y,
in double  z 
)
raises (SALOME::SALOME_Exception
)

Return point state in a closed 2D mesh in terms of TopAbs_State enumeration.

TopAbs_UNKNOWN state means that either mesh is wrong or the analysis fails.

◆ GetPreviewData()

MeshPreviewStruct SMESH::SMESH_MeshEditor::GetPreviewData ( )
raises (SALOME::SALOME_Exception
)

Return data of mesh edition preview which is computed provided that the editor was obtained through SMESH_Mesh::GetMeshEditPreviewer()

◆ InverseDiag()

boolean SMESH::SMESH_MeshEditor::InverseDiag ( in smIdType  NodeID1,
in smIdType  NodeID2 
)
raises (SALOME::SALOME_Exception
)

Swap a diagonal of a quadrangle formed by two adjacent triangles.

◆ IsCoherentOrientation2D()

boolean SMESH::SMESH_MeshEditor::IsCoherentOrientation2D ( )
raises (SALOME::SALOME_Exception
)

Check if orientation of 2D elements is coherent.

◆ IsManifold()

boolean SMESH::SMESH_MeshEditor::IsManifold ( )
raises (SALOME::SALOME_Exception
)

Check if a 2D mesh is manifold.

◆ LinearAnglesVariation()

double_array SMESH::SMESH_MeshEditor::LinearAnglesVariation ( in SMESH_Mesh  PathMesh,
in GEOM::GEOM_Object  PathShape,
in double_array  Angles 
)

Compute rotation angles for ExtrusionAlongPath as linear variation of given angles along path steps param PathMesh mesh containing a 1D sub-mesh on the edge, along which proceeds the extrusion param PathShape is shape(edge); as the mesh can be complex, the edge is used to define the sub-mesh for the path.

◆ Make2DMeshFrom3D()

boolean SMESH::SMESH_MeshEditor::Make2DMeshFrom3D ( )
raises (SALOME::SALOME_Exception
)

Generates skin mesh (containing 2D cells) from 3D mesh The created 2D mesh elements based on nodes of free faces of boundary volumes.

Returns
TRUE if operation has been completed successfully, FALSE otherwise

◆ MakeBoundaryElements()

long SMESH::SMESH_MeshEditor::MakeBoundaryElements ( in Bnd_Dimension  dimension,
in string  groupName,
in string  meshName,
in boolean  toCopyAll,
in boolean  toCreateAllElements,
in ListOfIDSources  groups,
out SMESH_Mesh  mesh,
out SMESH_Group  group 
)
raises (SALOME::SALOME_Exception
)

Creates missing boundary elements around either the whole mesh or groups of 2D elements.

Parameters
dimension- defines type of boundary elements to create
groupName- a name of group to store all boundary elements in, "" means not to create the group
meshName- a name of a new mesh, which is a copy of the initial mesh + created boundary elements; "" means not to create the new mesh
toCopyAll- if true, the whole initial mesh will be copied into the new mesh else only the new elements will be copied into the new mesh
toCreateAllElements- if true, all the boundary elements of the mesh are computed.
groups- optional groups of 2D elements to make boundary around
mesh- returns the mesh where elements were added to
group- returns the created group, if any
Return values
long- number of added boundary elements

◆ MakeBoundaryMesh()

SMESH_Mesh SMESH::SMESH_MeshEditor::MakeBoundaryMesh ( in SMESH_IDSource  elements,
in Bnd_Dimension  dimension,
in string  groupName,
in string  meshName,
in boolean  toCopyElements,
in boolean  toCopyExistingBondary,
out SMESH_Group  group 
)
raises (SALOME::SALOME_Exception
)

Creates missing boundary elements.

Parameters
elements- elements whose boundary is to be checked
dimension- defines type of boundary elements to create BND_1DFROM3D creates mesh edges on all borders of free facets of 3D elements.
groupName- a name of group to store created boundary elements in, "" means not to create the group
meshName- a name of new mesh to store created boundary elements in, "" means not to create the new mesh
toCopyElements- if true, the checked elements will be copied into the new mesh else only boundary elements will be copied into the new mesh
toCopyExistingBondary- if true, not only new but also pre-existing boundary elements will be copied into the new mesh
group- returns the create group, if any
Return values
SMESH::SMESH_Mesh- the mesh where elements were added to

◆ MakeIDSource()

SMESH_IDSource SMESH::SMESH_MeshEditor::MakeIDSource ( in smIdType_array  IDsOfElements,
in ElementType  type 
)

Wrap a sequence of ids in a SMESH_IDSource.

Parameters
IDsOfElementslist of mesh elements identifiers
Returns
new ID source object

◆ MakePolyLine()

void SMESH::SMESH_MeshEditor::MakePolyLine ( inout ListOfPolySegments  segments,
in string  groupName 
)
raises (SALOME::SALOME_Exception
)

Create a polyline consisting of 1D mesh elements each lying on a 2D element of the initial triangle mesh.

Positions of new nodes are found by cutting the mesh by the plane passing through pairs of points specified by each PolySegment structure. If there are several paths connecting a pair of points, the shortest path is selected by the module. Position of the cutting plane is defined by the two points and an optional vector lying on the plane specified by a PolySegment. By default the vector is defined by Mesh module as following. A middle point of the two given points is computed. The middle point is projected to the mesh. The vector goes from the middle point to the projection point. In case of planar mesh, the vector is normal to the mesh.

Parameters
[in,out]segments- PolySegment's defining positions of cutting planes. Return the used vector which goes from the middle point to its projection.
[in]groupName- optional name of a group where created mesh segments will be added.

◆ MakeSlot()

ListOfEdges SMESH::SMESH_MeshEditor::MakeSlot ( in SMESH_GroupBase  segments,
in double  width 
)
raises (SALOME::SALOME_Exception
)

Create a slot of given width around given 1D elements lying on a triangle mesh.

The slot is constructed by cutting faces by cylindrical surfaces made around each segment. Segments are expected to be created by MakePolyLine().

Returns
Edges located at the slot boundary

◆ MergeElements()

void SMESH::SMESH_MeshEditor::MergeElements ( in array_of_long_array  GroupsOfElementsID,
in SMESH::ListOfIDSources  ElementsToKeep 
)
raises (SALOME::SALOME_Exception
)

Merge elements in each given group.

Parameters
GroupsOfElementsIDGroups of elements for merging.

◆ MergeEqualElements()

void SMESH::SMESH_MeshEditor::MergeEqualElements ( )
raises (SALOME::SALOME_Exception
)

Merge equal elements in the whole mesh.

◆ MergeNodes()

void SMESH::SMESH_MeshEditor::MergeNodes ( in array_of_long_array  GroupsOfNodes,
in SMESH::ListOfIDSources  NodesToKeep,
in boolean  AvoidMakingHoles 
)
raises (SALOME::SALOME_Exception
)

◆ Mirror()

void SMESH::SMESH_MeshEditor::Mirror ( in smIdType_array  IDsOfElements,
in AxisStruct  Mirror,
in MirrorType  Type,
in boolean  Copy 
)
raises (SALOME::SALOME_Exception
)

◆ MirrorMakeGroups()

ListOfGroups SMESH::SMESH_MeshEditor::MirrorMakeGroups ( in smIdType_array  IDsOfElements,
in AxisStruct  Mirror,
in MirrorType  Type 
)
raises (SALOME::SALOME_Exception
)

◆ MirrorMakeMesh()

SMESH_Mesh SMESH::SMESH_MeshEditor::MirrorMakeMesh ( in smIdType_array  IDsOfElements,
in AxisStruct  Mirror,
in MirrorType  Type,
in boolean  CopyGroups,
in string  MeshName 
)
raises (SALOME::SALOME_Exception
)

◆ MirrorObject()

void SMESH::SMESH_MeshEditor::MirrorObject ( in SMESH_IDSource  theObject,
in AxisStruct  Mirror,
in MirrorType  Type,
in boolean  Copy 
)
raises (SALOME::SALOME_Exception
)

◆ MirrorObjectMakeGroups()

ListOfGroups SMESH::SMESH_MeshEditor::MirrorObjectMakeGroups ( in SMESH_IDSource  theObject,
in AxisStruct  Mirror,
in MirrorType  Type 
)
raises (SALOME::SALOME_Exception
)

◆ MirrorObjectMakeMesh()

SMESH_Mesh SMESH::SMESH_MeshEditor::MirrorObjectMakeMesh ( in SMESH_IDSource  theObject,
in AxisStruct  Mirror,
in MirrorType  Type,
in boolean  CopyGroups,
in string  MeshName 
)
raises (SALOME::SALOME_Exception
)

◆ MoveClosestNodeToPoint()

smIdType SMESH::SMESH_MeshEditor::MoveClosestNodeToPoint ( in double  x,
in double  y,
in double  z,
in smIdType  nodeID 
)
raises (SALOME::SALOME_Exception
)

If the given ID is a valid node ID (nodeID > 0), just move this node, else move the node closest to the point to point's location and return ID of the node.

◆ MoveNode()

boolean SMESH::SMESH_MeshEditor::MoveNode ( in smIdType  NodeID,
in double  x,
in double  y,
in double  z 
)
raises (SALOME::SALOME_Exception
)

Change node location.

◆ Offset()

SMESH_Mesh SMESH::SMESH_MeshEditor::Offset ( in SMESH_IDSource  theObject,
in double  Value,
in boolean  CopyGroups,
in boolean  CopyElements,
in string  MeshName,
out ListOfGroups  Groups 
)
raises (SALOME::SALOME_Exception
)

◆ ProjectPoint()

smIdType SMESH::SMESH_MeshEditor::ProjectPoint ( in double  x,
in double  y,
in double  z,
in ElementType  type,
in SMESH_IDSource  meshObject,
out double_array  projecton 
)
raises (SALOME::SALOME_Exception
)

Project a point to a mesh object.

Return ID of an element of given type where the given point is projected and coordinates of the projection point. In the case if nothing found, return -1 and []

◆ QuadTo4Tri()

void SMESH::SMESH_MeshEditor::QuadTo4Tri ( in SMESH_IDSource  theQuads)
raises (SALOME::SALOME_Exception
)

Split each of quadrangles into 4 triangles.

Parameters
theQuadsContainer of quadrangles to split.

◆ QuadToTri()

boolean SMESH::SMESH_MeshEditor::QuadToTri ( in smIdType_array  IDsOfElements,
in NumericalFunctor  Criterion 
)
raises (SALOME::SALOME_Exception
)

Split quadrangles into triangles.

Parameters
IDsOfElementsIds of quadrangles to split.
theCriterionIs used to choose a diagonal for splitting.
Returns
TRUE in case of success, FALSE otherwise.

◆ QuadToTriObject()

boolean SMESH::SMESH_MeshEditor::QuadToTriObject ( in SMESH_IDSource  theObject,
in NumericalFunctor  Criterion 
)
raises (SALOME::SALOME_Exception
)

Split quadrangles into triangles.

Behaves like the above method, taking a list of elements from theObject

◆ RemoveElements()

boolean SMESH::SMESH_MeshEditor::RemoveElements ( in smIdType_array  IDsOfElements)
raises (SALOME::SALOME_Exception
)

Remove mesh elements specified by their identifiers.

Parameters
IDsOfElementslist of mesh elements identifiers
Returns
true if elements are correctly removed or false otherwise

◆ RemoveNodes()

boolean SMESH::SMESH_MeshEditor::RemoveNodes ( in smIdType_array  IDsOfNodes)
raises (SALOME::SALOME_Exception
)

Remove mesh nodes specified by their identifiers.

Parameters
IDsOfNodeslist of mesh nodes identifiers
Returns
true if nodes are correctly removed or false otherwise

◆ RemoveNodeWithReconnection()

void SMESH::SMESH_MeshEditor::RemoveNodeWithReconnection ( in smIdType  nodeID)
raises (SALOME::SALOME_Exception
)

Remove a mesh node and change surrounding faces to close a hole.

Parameters
nodeIDnode identifier
Exceptions
ifmesh is not a triangle one

◆ RemoveOrphanNodes()

smIdType SMESH::SMESH_MeshEditor::RemoveOrphanNodes ( )
raises (SALOME::SALOME_Exception
)

Remove all orphan nodes.

Returns
number of removed nodes

◆ RenumberElements()

void SMESH::SMESH_MeshEditor::RenumberElements ( )
raises (SALOME::SALOME_Exception
)

◆ RenumberNodes()

void SMESH::SMESH_MeshEditor::RenumberNodes ( )
raises (SALOME::SALOME_Exception
)

◆ Reorient()

boolean SMESH::SMESH_MeshEditor::Reorient ( in smIdType_array  IDsOfElements)
raises (SALOME::SALOME_Exception
)

◆ Reorient2D()

long SMESH::SMESH_MeshEditor::Reorient2D ( in SMESH_IDSource  the2Dgroup,
in DirStruct  theDirection,
in long  theFace,
in PointStruct  thePoint 
)
raises (SALOME::SALOME_Exception
)

Reorient faces contained in the2Dgroup.

Parameters
the2Dgroup- the mesh or its part to reorient
theDirection- desired direction of normal of theFace
theFace- ID of face whose orientation is checked. It can be < 1 then thePoint is used to find a face.
thePoint- is used to find a face if theFace < 1.
Returns
number of reoriented faces.

Referenced by StdMeshers::Cartesian3D::Hexahedron::addFaces().

◆ Reorient2DBy3D()

long SMESH::SMESH_MeshEditor::Reorient2DBy3D ( in ListOfIDSources  faces,
in SMESH_IDSource  volumes,
in boolean  outsideNormal 
)
raises (SALOME::SALOME_Exception
)

Reorient faces basing on orientation of adjacent volumes.

Parameters
faces- a list of objects containing face to reorient
volumes- an object containing volumes.
outsideNormal- to orient faces to have their normal pointing either outside or inside the adjacent volumes.
Returns
number of reoriented faces.

◆ Reorient2DByNeighbours()

long SMESH::SMESH_MeshEditor::Reorient2DByNeighbours ( in SMESH::ListOfIDSources  objectFaces,
in SMESH::ListOfIDSources  referenceFaces 
)
raises (SALOME::SALOME_Exception
)

Reorient faces contained in a list of objectFaces equally to faces contained in a list of referenceFaces.

Parameters
objectFaces- faces to reorient in a list including either the whole mesh or groups and/or sub-meshes.
referenceFaces- correctly oriented faces in a list of groups and/or sub-meshes. It can be empty, then the 1st face in objectFaces is used as the reference.
Returns
number of reoriented faces.

◆ ReorientObject()

boolean SMESH::SMESH_MeshEditor::ReorientObject ( in SMESH_IDSource  theObject)
raises (SALOME::SALOME_Exception
)

Change orientation of cells.

◆ Rotate()

void SMESH::SMESH_MeshEditor::Rotate ( in smIdType_array  IDsOfElements,
in AxisStruct  Axis,
in double  AngleInRadians,
in boolean  Copy 
)
raises (SALOME::SALOME_Exception
)

◆ RotateMakeGroups()

ListOfGroups SMESH::SMESH_MeshEditor::RotateMakeGroups ( in smIdType_array  IDsOfElements,
in AxisStruct  Axis,
in double  AngleInRadians 
)
raises (SALOME::SALOME_Exception
)

◆ RotateMakeMesh()

SMESH_Mesh SMESH::SMESH_MeshEditor::RotateMakeMesh ( in smIdType_array  IDsOfElements,
in AxisStruct  Axis,
in double  AngleInRadians,
in boolean  CopyGroups,
in string  MeshName 
)
raises (SALOME::SALOME_Exception
)

◆ RotateObject()

void SMESH::SMESH_MeshEditor::RotateObject ( in SMESH_IDSource  theObject,
in AxisStruct  Axis,
in double  AngleInRadians,
in boolean  Copy 
)
raises (SALOME::SALOME_Exception
)

◆ RotateObjectMakeGroups()

ListOfGroups SMESH::SMESH_MeshEditor::RotateObjectMakeGroups ( in SMESH_IDSource  theObject,
in AxisStruct  Axis,
in double  AngleInRadians 
)
raises (SALOME::SALOME_Exception
)

◆ RotateObjectMakeMesh()

SMESH_Mesh SMESH::SMESH_MeshEditor::RotateObjectMakeMesh ( in SMESH_IDSource  theObject,
in AxisStruct  Axis,
in double  AngleInRadians,
in boolean  CopyGroups,
in string  MeshName 
)
raises (SALOME::SALOME_Exception
)

◆ RotationSweepObjects()

ListOfGroups SMESH::SMESH_MeshEditor::RotationSweepObjects ( in ListOfIDSources  Nodes,
in ListOfIDSources  Edges,
in ListOfIDSources  Faces,
in AxisStruct  Axis,
in double  AngleInRadians,
in long  NbOfSteps,
in double  Tolerance,
in boolean  ToMakeGroups 
)
raises (SALOME::SALOME_Exception
)

Generate dim+1 elements by rotation of the object around axis.

Parameters
Nodes- nodes to revolve: a list including groups, sub-meshes or a mesh
Edges- edges to revolve: a list including groups, sub-meshes or a mesh
Faces- faces to revolve: a list including groups, sub-meshes or a mesh
Axis- rotation axis
AngleInRadians- rotation angle
NbOfSteps- number of elements to generate from one element
ToMakeGroups- if true, new elements will be included into new groups corresponding to groups the input elements included in.
Returns
ListOfGroups - new groups created if ToMakeGroups is true

◆ Scale()

void SMESH::SMESH_MeshEditor::Scale ( in SMESH_IDSource  theObject,
in PointStruct  thePoint,
in double_array  theScaleFact,
in boolean  Copy 
)
raises (SALOME::SALOME_Exception
)

◆ ScaleMakeGroups()

ListOfGroups SMESH::SMESH_MeshEditor::ScaleMakeGroups ( in SMESH_IDSource  theObject,
in PointStruct  thePoint,
in double_array  theScaleFact 
)
raises (SALOME::SALOME_Exception
)

◆ ScaleMakeMesh()

SMESH_Mesh SMESH::SMESH_MeshEditor::ScaleMakeMesh ( in SMESH_IDSource  theObject,
in PointStruct  thePoint,
in double_array  theScaleFact,
in boolean  CopyGroups,
in string  MeshName 
)
raises (SALOME::SALOME_Exception
)

◆ SetMeshElementOnShape()

void SMESH::SMESH_MeshEditor::SetMeshElementOnShape ( in smIdType  ElementID,
in long  ShapeID 
)
raises (SALOME::SALOME_Exception
)

Bind an element to a shape.

Parameters
ElementID- element ID
ShapeID- shape ID available through GEOM_Object.GetSubShapeIndices()[0]

◆ SetNodeInVolume()

void SMESH::SMESH_MeshEditor::SetNodeInVolume ( in smIdType  NodeID,
in long  SolidID 
)
raises (SALOME::SALOME_Exception
)

Bind a node to a solid.

Parameters
NodeID- node ID
SolidID- vertex ID available through GEOM_Object.GetSubShapeIndices()[0]

◆ SetNodeOnEdge()

void SMESH::SMESH_MeshEditor::SetNodeOnEdge ( in smIdType  NodeID,
in long  EdgeID,
in double  paramOnEdge 
)
raises (SALOME::SALOME_Exception
)

Store node position on an edge.

Parameters
NodeID- node ID
EdgeID- edge ID available through GEOM_Object.GetSubShapeIndices()[0]
paramOnEdge- parameter on edge where the node is located

◆ SetNodeOnFace()

void SMESH::SMESH_MeshEditor::SetNodeOnFace ( in smIdType  NodeID,
in long  FaceID,
in double  u,
in double  v 
)
raises (SALOME::SALOME_Exception
)

Store node position on a face.

Parameters
NodeID- node ID
FaceID- face ID available through GEOM_Object.GetSubShapeIndices()[0]
u- U parameter on face where the node is located
v- V parameter on face where the node is located

◆ SetNodeOnVertex()

void SMESH::SMESH_MeshEditor::SetNodeOnVertex ( in smIdType  NodeID,
in long  VertexID 
)
raises (SALOME::SALOME_Exception
)

Bind a node to a vertex.

Parameters
NodeID- node ID
VertexID- vertex ID available through GEOM_Object.GetSubShapeIndices()[0]

◆ SewBorderToSide()

Sew_Error SMESH::SMESH_MeshEditor::SewBorderToSide ( in smIdType  FirstNodeIDOnFreeBorder,
in smIdType  SecondNodeIDOnFreeBorder,
in smIdType  LastNodeIDOnFreeBorder,
in smIdType  FirstNodeIDOnSide,
in smIdType  LastNodeIDOnSide,
in boolean  CreatePolygons,
in boolean  CreatePolyedrs 
)
raises (SALOME::SALOME_Exception
)

◆ SewCoincidentFreeBorders()

short SMESH::SMESH_MeshEditor::SewCoincidentFreeBorders ( in CoincidentFreeBorders  freeBorders,
in boolean  createPolygons,
in boolean  createPolyedrs 
)
raises (SALOME::SALOME_Exception
)

Sew FreeBorder's of each group.

◆ SewConformFreeBorders()

Sew_Error SMESH::SMESH_MeshEditor::SewConformFreeBorders ( in smIdType  FirstNodeID1,
in smIdType  SecondNodeID1,
in smIdType  LastNodeID1,
in smIdType  FirstNodeID2,
in smIdType  SecondNodeID2 
)
raises (SALOME::SALOME_Exception
)

◆ SewFreeBorders()

Sew_Error SMESH::SMESH_MeshEditor::SewFreeBorders ( in smIdType  FirstNodeID1,
in smIdType  SecondNodeID1,
in smIdType  LastNodeID1,
in smIdType  FirstNodeID2,
in smIdType  SecondNodeID2,
in smIdType  LastNodeID2,
in boolean  CreatePolygons,
in boolean  CreatePolyedrs 
)
raises (SALOME::SALOME_Exception
)

◆ SewSideElements()

Sew_Error SMESH::SMESH_MeshEditor::SewSideElements ( in smIdType_array  IDsOfSide1Elements,
in smIdType_array  IDsOfSide2Elements,
in smIdType  NodeID1OfSide1ToMerge,
in smIdType  NodeID1OfSide2ToMerge,
in smIdType  NodeID2OfSide1ToMerge,
in smIdType  NodeID2OfSide2ToMerge 
)
raises (SALOME::SALOME_Exception
)

◆ Smooth()

boolean SMESH::SMESH_MeshEditor::Smooth ( in smIdType_array  IDsOfElements,
in smIdType_array  IDsOfFixedNodes,
in short  MaxNbOfIterations,
in double  MaxAspectRatio,
in Smooth_Method  Method 
)
raises (SALOME::SALOME_Exception
)

◆ SmoothObject()

boolean SMESH::SMESH_MeshEditor::SmoothObject ( in SMESH_IDSource  theObject,
in smIdType_array  IDsOfFixedNodes,
in short  MaxNbOfIterations,
in double  MaxAspectRatio,
in Smooth_Method  Method 
)
raises (SALOME::SALOME_Exception
)

◆ SmoothParametric()

boolean SMESH::SMESH_MeshEditor::SmoothParametric ( in smIdType_array  IDsOfElements,
in smIdType_array  IDsOfFixedNodes,
in short  MaxNbOfIterations,
in double  MaxAspectRatio,
in Smooth_Method  Method 
)
raises (SALOME::SALOME_Exception
)

◆ SmoothParametricObject()

boolean SMESH::SMESH_MeshEditor::SmoothParametricObject ( in SMESH_IDSource  theObject,
in smIdType_array  IDsOfFixedNodes,
in short  MaxNbOfIterations,
in double  MaxAspectRatio,
in Smooth_Method  Method 
)
raises (SALOME::SALOME_Exception
)

◆ SplitBiQuadraticIntoLinear()

void SMESH::SMESH_MeshEditor::SplitBiQuadraticIntoLinear ( in ListOfIDSources  elems)
raises (SALOME::SALOME_Exception
)

Split bi-quadratic elements into linear ones without creation of additional nodes.

  • bi-quadratic triangle will be split into 3 linear quadrangles;
  • bi-quadratic quadrangle will be split into 4 linear quadrangles;
  • tri-quadratic hexahedron will be split into 8 linear hexahedra; Quadratic elements of lower dimension adjacent to the split bi-quadratic element will be split in order to keep the mesh conformal.
    Parameters
    elems- elements to split

◆ SplitHexahedraIntoPrisms()

void SMESH::SMESH_MeshEditor::SplitHexahedraIntoPrisms ( in SMESH_IDSource  elems,
in SMESH::PointStruct  startHexPoint,
in SMESH::DirStruct  facetToSplitNormal,
in short  methodFlags,
in boolean  allDomains 
)
raises (SALOME::SALOME_Exception
)

Split hexahedra into triangular prisms.

Parameters
elems- elements to split
startHexPoint- a point used to find a hexahedron for which facetToSplitNormal gives a normal vector defining facets to split into triangles.
facetToSplitNormal- normal used to find a facet of hexahedron to split into triangles.
methodFlags- flags passing splitting method: 1 - split the hexahedron into 2 prisms 2 - split the hexahedron into 4 prisms
allDomains- if False, only hexahedra adjacent to one closest to facetToSplitNormal location are split, else facetToSplitNormal is used to find the facet to split in all domains present in elems.

◆ SplitQuad()

boolean SMESH::SMESH_MeshEditor::SplitQuad ( in smIdType_array  IDsOfElements,
in boolean  Diag13 
)
raises (SALOME::SALOME_Exception
)

Split quadrangles into triangles.

Parameters
theElemsThe faces to be split.
the13DiagIs used to choose a diagonal for splitting.
Returns
TRUE in case of success, FALSE otherwise.

◆ SplitQuadObject()

boolean SMESH::SMESH_MeshEditor::SplitQuadObject ( in SMESH_IDSource  theObject,
in boolean  Diag13 
)
raises (SALOME::SALOME_Exception
)

Split quadrangles into triangles.

Behaves like the above method, taking list of elements from theObject

◆ SplitVolumesIntoTetra()

void SMESH::SMESH_MeshEditor::SplitVolumesIntoTetra ( in SMESH_IDSource  elems,
in short  methodFlags 
)
raises (SALOME::SALOME_Exception
)

Split volumic elements into tetrahedrons.

Parameters
elems- elements to split
methodFlags- flags passing splitting method: 1 - split the hexahedron into 5 tetrahedrons 2 - split the hexahedron into 6 tetrahedrons 3 - split the hexahedron into 24 tetrahedrons

◆ SplitVolumesIntoTetraAvoidOverConstrainedVolumes()

void SMESH::SMESH_MeshEditor::SplitVolumesIntoTetraAvoidOverConstrainedVolumes ( in SMESH_IDSource  elems,
in short  methodFlags 
)
raises (SALOME::SALOME_Exception
)

Split volumic elements into tetrahedrons \and choose variants that comply with no over-constrained volumes.

Parameters
elems- elements to split
methodFlags- flags passing splitting method: 1 - split the hexahedron into 5 tetrahedrons 2 - split the hexahedron into 6 tetrahedrons 3 - split the hexahedron into 24 tetrahedrons

◆ Translate()

void SMESH::SMESH_MeshEditor::Translate ( in smIdType_array  IDsOfElements,
in DirStruct  Vector,
in boolean  Copy 
)
raises (SALOME::SALOME_Exception
)

◆ TranslateMakeGroups()

ListOfGroups SMESH::SMESH_MeshEditor::TranslateMakeGroups ( in smIdType_array  IDsOfElements,
in DirStruct  Vector 
)
raises (SALOME::SALOME_Exception
)

◆ TranslateMakeMesh()

SMESH_Mesh SMESH::SMESH_MeshEditor::TranslateMakeMesh ( in smIdType_array  IDsOfElements,
in DirStruct  Vector,
in boolean  CopyGroups,
in string  MeshName 
)
raises (SALOME::SALOME_Exception
)

◆ TranslateObject()

void SMESH::SMESH_MeshEditor::TranslateObject ( in SMESH_IDSource  theObject,
in DirStruct  Vector,
in boolean  Copy 
)
raises (SALOME::SALOME_Exception
)

◆ TranslateObjectMakeGroups()

ListOfGroups SMESH::SMESH_MeshEditor::TranslateObjectMakeGroups ( in SMESH_IDSource  theObject,
in DirStruct  Vector 
)
raises (SALOME::SALOME_Exception
)

◆ TranslateObjectMakeMesh()

SMESH_Mesh SMESH::SMESH_MeshEditor::TranslateObjectMakeMesh ( in SMESH_IDSource  theObject,
in DirStruct  Vector,
in boolean  CopyGroups,
in string  MeshName 
)
raises (SALOME::SALOME_Exception
)

◆ TriToQuad()

boolean SMESH::SMESH_MeshEditor::TriToQuad ( in smIdType_array  IDsOfElements,
in NumericalFunctor  Criterion,
in double  MaxAngle 
)
raises (SALOME::SALOME_Exception
)

Fuse neighbour triangles into quadrangles.

Parameters
IDsOfElementsIds of triangles to be fused.
theCriterionIs used to choose a neighbour to fuse with.
theMaxAngleIs a max angle between element normals at which fusion is still performed; theMaxAngle is measured in radians.
Returns
true in case of success, FALSE otherwise.

◆ TriToQuadObject()

boolean SMESH::SMESH_MeshEditor::TriToQuadObject ( in SMESH_IDSource  theObject,
in NumericalFunctor  Criterion,
in double  MaxAngle 
)
raises (SALOME::SALOME_Exception
)

Fuse neighbour triangles into quadrangles.

Behaves like the above method, taking a list of elements from theObject