Version: 6.3.1
Public Types | Public Member Functions

SMESH.SMESH_MeshEditor Interface Reference

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
}

Public Member Functions

SMESH_IDSource MakeIDSource (in long_array IDsOfElements, in ElementType type)
 Wrap a sequence of ids in a SMESH_IDSource.
boolean RemoveElements (in long_array IDsOfElements)
 Remove mesh elements specified by their identifiers.
boolean RemoveNodes (in long_array IDsOfNodes)
 Remove mesh nodes specified by their identifiers.
long RemoveOrphanNodes ()
 Remove all orphan nodes.
long AddNode (in double x, in double y, in double z)
 Add new node.
long Add0DElement (in long IDOfNode)
 Create 0D element on the given node.
long AddEdge (in long_array IDsOfNodes)
 Create edge, either linear and quadratic (this is determed by number of given nodes).
long AddFace (in long_array IDsOfNodes)
 Create face, either linear and quadratic (this is determed by number of given nodes).
long AddPolygonalFace (in long_array IdsOfNodes)
long AddVolume (in long_array IDsOfNodes)
 Create volume, either linear and quadratic (this is determed by number of given nodes).
long AddPolyhedralVolume (in long_array IdsOfNodes, in long_array Quantities)
 Create volume of many faces, giving nodes for each face.
long AddPolyhedralVolumeByFaces (in long_array IdsOfFaces)
 Create volume of many faces, giving IDs of existing faces.
void SetNodeOnVertex (in long NodeID, in long VertexID) raises (SALOME::SALOME_Exception)
 Bind a node to a vertex.
void SetNodeOnEdge (in long NodeID, in long EdgeID, in double paramOnEdge) raises (SALOME::SALOME_Exception)
 Store node position on an edge.
void SetNodeOnFace (in long NodeID, in long FaceID, in double u, in double v) raises (SALOME::SALOME_Exception)
 Store node position on a face.
void SetNodeInVolume (in long NodeID, in long SolidID) raises (SALOME::SALOME_Exception)
 Bind a node to a solid.
void SetMeshElementOnShape (in long ElementID, in long ShapeID) raises (SALOME::SALOME_Exception)
 Bind an element to a shape.
boolean MoveNode (in long NodeID, in double x, in double y, in double z)
boolean InverseDiag (in long NodeID1, in long NodeID2)
boolean DeleteDiag (in long NodeID1, in long NodeID2)
boolean Reorient (in long_array IDsOfElements)
boolean ReorientObject (in SMESH_IDSource theObject)
boolean TriToQuad (in long_array IDsOfElements, in NumericalFunctor Criterion, in double MaxAngle)
 Fuse neighbour triangles into quadrangles.
boolean TriToQuadObject (in SMESH_IDSource theObject, in NumericalFunctor Criterion, in double MaxAngle)
 Fuse neighbour triangles into quadrangles.
boolean QuadToTri (in long_array IDsOfElements, in NumericalFunctor Criterion)
 Split quadrangles into triangles.
boolean QuadToTriObject (in SMESH_IDSource theObject, in NumericalFunctor Criterion)
 Split quadrangles into triangles.
boolean SplitQuad (in long_array IDsOfElements, in boolean Diag13)
 Split quadrangles into triangles.
boolean SplitQuadObject (in SMESH_IDSource theObject, in boolean Diag13)
 Split quadrangles into triangles.
long BestSplit (in long IDOfQuad, in NumericalFunctor Criterion)
 Find better splitting of the given quadrangle.
void SplitVolumesIntoTetra (in SMESH_IDSource elems, in short methodFlags) raises (SALOME::SALOME_Exception)
 Split volumic elements into tetrahedrons.
boolean Smooth (in long_array IDsOfElements, in long_array IDsOfFixedNodes, in long MaxNbOfIterations, in double MaxAspectRatio, in Smooth_Method Method)
boolean SmoothObject (in SMESH_IDSource theObject, in long_array IDsOfFixedNodes, in long MaxNbOfIterations, in double MaxAspectRatio, in Smooth_Method Method)
boolean SmoothParametric (in long_array IDsOfElements, in long_array IDsOfFixedNodes, in long MaxNbOfIterations, in double MaxAspectRatio, in Smooth_Method Method)
boolean SmoothParametricObject (in SMESH_IDSource theObject, in long_array IDsOfFixedNodes, in long MaxNbOfIterations, in double MaxAspectRatio, in Smooth_Method Method)
void ConvertToQuadratic (in boolean theForce3d)
boolean ConvertFromQuadratic ()
void ConvertToQuadraticObject (in boolean theForce3d, in SMESH_IDSource theObject) raises (SALOME::SALOME_Exception)
void ConvertFromQuadraticObject (in SMESH_IDSource theObject) raises (SALOME::SALOME_Exception)
void RenumberNodes ()
void RenumberElements ()
void RotationSweep (in long_array IDsOfElements, in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, in double Tolerance)
 Genarate dim+1 elements by rotation of given elements around axis.
ListOfGroups RotationSweepMakeGroups (in long_array IDsOfElements, in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, in double Tolerance)
 Same as previous but additionally create groups of elements generated from elements belonging to preexisting groups.
void RotationSweepObject (in SMESH_IDSource theObject, in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, in double Tolerance)
 Genarate dim+1 elements by rotation of the object around axis.
ListOfGroups RotationSweepObjectMakeGroups (in SMESH_IDSource theObject, in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, in double Tolerance)
 Same as previous but additionally create groups of elements generated from elements belonging to preexisting groups.
void RotationSweepObject1D (in SMESH_IDSource theObject, in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, in double Tolerance)
 Genarate dim+1 elements by rotation of the object around axis.
ListOfGroups RotationSweepObject1DMakeGroups (in SMESH_IDSource theObject, in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, in double Tolerance)
 Same as previous but additionally create groups of elements generated from elements belonging to preexisting groups.
void RotationSweepObject2D (in SMESH_IDSource theObject, in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, in double Tolerance)
 Genarate dim+1 elements by rotation of the object around axis.
ListOfGroups RotationSweepObject2DMakeGroups (in SMESH_IDSource theObject, in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, in double Tolerance)
 Same as previous but additionally create groups of elements generated from elements belonging to preexisting groups.
void ExtrusionSweep (in long_array IDsOfElements, in DirStruct StepVector, in long NbOfSteps)
 Genarate dim+1 elements by extrusion of elements along vector.
ListOfGroups ExtrusionSweepMakeGroups (in long_array IDsOfElements, in DirStruct StepVector, in long NbOfSteps)
 Same as previous but additionally create groups of elements generated from elements belonging to preexisting groups.
void AdvancedExtrusion (in long_array IDsOfElements, in DirStruct StepVector, in long NbOfSteps, in long ExtrFlags, in double SewTolerance)
 Generate new elements by extrusion of theElements by StepVector by NbOfSteps param ExtrFlags set flags for performing extrusion param SewTolerance - uses for comparing locations of nodes if flag EXTRUSION_FLAG_SEW is set.
ListOfGroups AdvancedExtrusionMakeGroups (in long_array IDsOfElements, in DirStruct StepVector, in long NbOfSteps, in long ExtrFlags, in double SewTolerance)
 Same as previous but additionally create groups of elements generated from elements belonging to preexisting groups.
void ExtrusionSweepObject (in SMESH_IDSource theObject, in DirStruct StepVector, in long NbOfSteps)
ListOfGroups ExtrusionSweepObjectMakeGroups (in SMESH_IDSource theObject, in DirStruct StepVector, in long NbOfSteps)
void ExtrusionSweepObject1D (in SMESH_IDSource theObject, in DirStruct StepVector, in long NbOfSteps)
ListOfGroups ExtrusionSweepObject1DMakeGroups (in SMESH_IDSource theObject, in DirStruct StepVector, in long NbOfSteps)
void ExtrusionSweepObject2D (in SMESH_IDSource theObject, in DirStruct StepVector, in long NbOfSteps)
ListOfGroups ExtrusionSweepObject2DMakeGroups (in SMESH_IDSource theObject, in DirStruct StepVector, in long NbOfSteps)
ListOfGroups ExtrusionAlongPathX (in long_array IDsOfElements, in SMESH_IDSource Path, in long NodeStart, in boolean HasAngles, in double_array Angles, in boolean LinearVariation, in boolean HasRefPoint, in PointStruct RefPoint, in boolean MakeGroups, in ElementType ElemType, out Extrusion_Error Error)
ListOfGroups ExtrusionAlongPathObjX (in SMESH_IDSource theObject, in SMESH_IDSource Path, in long NodeStart, in boolean HasAngles, in double_array Angles, in boolean LinearVariation, in boolean HasRefPoint, in PointStruct RefPoint, in boolean MakeGroups, in ElementType ElemType, out Extrusion_Error Error)
Extrusion_Error ExtrusionAlongPath (in long_array IDsOfElements, in SMESH_Mesh PathMesh, in GEOM::GEOM_Object PathShape, in long NodeStart, in boolean HasAngles, in double_array Angles, in boolean HasRefPoint, in PointStruct RefPoint)
ListOfGroups ExtrusionAlongPathMakeGroups (in long_array IDsOfElements, in SMESH_Mesh PathMesh, in GEOM::GEOM_Object PathShape, in long NodeStart, in boolean HasAngles, in double_array Angles, in boolean HasRefPoint, in PointStruct RefPoint, out Extrusion_Error Error)
Extrusion_Error ExtrusionAlongPathObject (in SMESH_IDSource theObject, in SMESH_Mesh PathMesh, in GEOM::GEOM_Object PathShape, in long NodeStart, in boolean HasAngles, in double_array Angles, in boolean HasRefPoint, in PointStruct RefPoint)
ListOfGroups ExtrusionAlongPathObjectMakeGroups (in SMESH_IDSource theObject, in SMESH_Mesh PathMesh, in GEOM::GEOM_Object PathShape, in long NodeStart, in boolean HasAngles, in double_array Angles, in boolean HasRefPoint, in PointStruct RefPoint, out Extrusion_Error Error)
Extrusion_Error ExtrusionAlongPathObject1D (in SMESH_IDSource theObject, in SMESH_Mesh PathMesh, in GEOM::GEOM_Object PathShape, in long NodeStart, in boolean HasAngles, in double_array Angles, in boolean HasRefPoint, in PointStruct RefPoint)
ListOfGroups ExtrusionAlongPathObject1DMakeGroups (in SMESH_IDSource theObject, in SMESH_Mesh PathMesh, in GEOM::GEOM_Object PathShape, in long NodeStart, in boolean HasAngles, in double_array Angles, in boolean HasRefPoint, in PointStruct RefPoint, out Extrusion_Error Error)
Extrusion_Error ExtrusionAlongPathObject2D (in SMESH_IDSource theObject, in SMESH_Mesh PathMesh, in GEOM::GEOM_Object PathShape, in long NodeStart, in boolean HasAngles, in double_array Angles, in boolean HasRefPoint, in PointStruct RefPoint)
ListOfGroups ExtrusionAlongPathObject2DMakeGroups (in SMESH_IDSource theObject, in SMESH_Mesh PathMesh, in GEOM::GEOM_Object PathShape, in long NodeStart, in boolean HasAngles, in double_array Angles, in boolean HasRefPoint, in PointStruct RefPoint, out Extrusion_Error Error)
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.
void Mirror (in long_array IDsOfElements, in AxisStruct Mirror, in MirrorType Type, in boolean Copy)
ListOfGroups MirrorMakeGroups (in long_array IDsOfElements, in AxisStruct Mirror, in MirrorType Type)
SMESH_Mesh MirrorMakeMesh (in long_array IDsOfElements, in AxisStruct Mirror, in MirrorType Type, in boolean CopyGroups, in string MeshName)
void MirrorObject (in SMESH_IDSource theObject, in AxisStruct Mirror, in MirrorType Type, in boolean Copy)
ListOfGroups MirrorObjectMakeGroups (in SMESH_IDSource theObject, in AxisStruct Mirror, in MirrorType Type)
SMESH_Mesh MirrorObjectMakeMesh (in SMESH_IDSource theObject, in AxisStruct Mirror, in MirrorType Type, in boolean CopyGroups, in string MeshName)
void Translate (in long_array IDsOfElements, in DirStruct Vector, in boolean Copy)
ListOfGroups TranslateMakeGroups (in long_array IDsOfElements, in DirStruct Vector)
SMESH_Mesh TranslateMakeMesh (in long_array IDsOfElements, in DirStruct Vector, in boolean CopyGroups, in string MeshName)
void TranslateObject (in SMESH_IDSource theObject, in DirStruct Vector, in boolean Copy)
ListOfGroups TranslateObjectMakeGroups (in SMESH_IDSource theObject, in DirStruct Vector)
SMESH_Mesh TranslateObjectMakeMesh (in SMESH_IDSource theObject, in DirStruct Vector, in boolean CopyGroups, in string MeshName)
void Scale (in SMESH_IDSource theObject, in PointStruct thePoint, in double_array theScaleFact, in boolean Copy)
ListOfGroups ScaleMakeGroups (in SMESH_IDSource theObject, in PointStruct thePoint, in double_array theScaleFact)
SMESH_Mesh ScaleMakeMesh (in SMESH_IDSource theObject, in PointStruct thePoint, in double_array theScaleFact, in boolean CopyGroups, in string MeshName)
void Rotate (in long_array IDsOfElements, in AxisStruct Axis, in double AngleInRadians, in boolean Copy)
ListOfGroups RotateMakeGroups (in long_array IDsOfElements, in AxisStruct Axis, in double AngleInRadians)
SMESH_Mesh RotateMakeMesh (in long_array IDsOfElements, in AxisStruct Axis, in double AngleInRadians, in boolean CopyGroups, in string MeshName)
void RotateObject (in SMESH_IDSource theObject, in AxisStruct Axis, in double AngleInRadians, in boolean Copy)
ListOfGroups RotateObjectMakeGroups (in SMESH_IDSource theObject, in AxisStruct Axis, in double AngleInRadians)
SMESH_Mesh RotateObjectMakeMesh (in SMESH_IDSource theObject, in AxisStruct Axis, in double AngleInRadians, in boolean CopyGroups, in string MeshName)
void FindCoincidentNodes (in double Tolerance, out array_of_long_array GroupsOfNodes)
void FindCoincidentNodesOnPart (in SMESH_IDSource SubMeshOrGroup, in double Tolerance, out array_of_long_array GroupsOfNodes)
void FindCoincidentNodesOnPartBut (in SMESH_IDSource SubMeshOrGroup, in double Tolerance, out array_of_long_array GroupsOfNodes, in ListOfIDSources ExceptSubMeshOrGroups)
void MergeNodes (in array_of_long_array GroupsOfNodes)
void FindEqualElements (in SMESH_IDSource MeshOrSubMeshOrGroup, out array_of_long_array GroupsOfElementsID)
 Find elements built on the same nodes.
void MergeElements (in array_of_long_array GroupsOfElementsID)
 Merge elements in each given group.
void MergeEqualElements ()
 Merge equal elements in the whole mesh.
long MoveClosestNodeToPoint (in double x, in double y, in double z, in long nodeID)
 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.
long FindNodeClosestTo (in double x, in double y, in double z)
 Return ID of node closest to a given point.
long_array FindElementsByPoint (in double x, in double y, in double z, in ElementType type)
 Return elements of given type where the given point is IN or ON.
short GetPointState (in double x, in double y, in double z)
 Return point state in a closed 2D mesh in terms of TopAbs_State enumeration.
Sew_Error SewFreeBorders (in long FirstNodeID1, in long SecondNodeID1, in long LastNodeID1, in long FirstNodeID2, in long SecondNodeID2, in long LastNodeID2, in boolean CreatePolygons, in boolean CreatePolyedrs)
Sew_Error SewConformFreeBorders (in long FirstNodeID1, in long SecondNodeID1, in long LastNodeID1, in long FirstNodeID2, in long SecondNodeID2)
Sew_Error SewBorderToSide (in long FirstNodeIDOnFreeBorder, in long SecondNodeIDOnFreeBorder, in long LastNodeIDOnFreeBorder, in long FirstNodeIDOnSide, in long LastNodeIDOnSide, in boolean CreatePolygons, in boolean CreatePolyedrs)
Sew_Error SewSideElements (in long_array IDsOfSide1Elements, in long_array IDsOfSide2Elements, in long NodeID1OfSide1ToMerge, in long NodeID1OfSide2ToMerge, in long NodeID2OfSide1ToMerge, in long NodeID2OfSide2ToMerge)
boolean ChangeElemNodes (in long ide, in long_array newIDs)
 Set new nodes for given element.
MeshPreviewStruct GetPreviewData ()
 Return data of mesh edition preview which is computed provided that the editor was obtained trough SMESH_Mesh.GetMeshEditPreviewer()
long_array GetLastCreatedNodes ()
 If during last operation of MeshEditor some nodes were created this method returns list of it's IDs, if new nodes not creared - returns empty list.
long_array GetLastCreatedElems ()
 If during last operation of MeshEditor some elements were created this method returns list of it's IDs, if new elements not creared - returns empty list.
boolean DoubleNodes (in long_array theNodes, in long_array theModifiedElems)
 Creates a hole in a mesh by doubling the nodes of some particular elements.
boolean DoubleNode (in long theNodeId, in long_array theModifiedElems)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.
boolean DoubleNodeGroup (in SMESH_GroupBase theNodes, in SMESH_GroupBase theModifiedElems)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.
SMESH_Group DoubleNodeGroupNew (in SMESH_GroupBase theNodes, in SMESH_GroupBase theModifiedElems)
 Creates a hole in a mesh by doubling the nodes of some particular elements.
boolean DoubleNodeGroups (in ListOfGroups theNodes, in ListOfGroups theModifiedElems)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.
SMESH_Group DoubleNodeGroupsNew (in ListOfGroups theNodes, in ListOfGroups theModifiedElems)
 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.
boolean DoubleNodeElem (in long_array theElems, in long_array theNodesNot, in long_array theAffectedElems)
 Creates a hole in a mesh by doubling the nodes of some particular elements.
boolean DoubleNodeElemInRegion (in long_array theElems, in long_array theNodesNot, in GEOM::GEOM_Object theShape)
 Creates a hole in a mesh by doubling the nodes of some particular elements.
boolean DoubleNodeElemGroup (in SMESH_GroupBase theElems, in SMESH_GroupBase theNodesNot, in SMESH_GroupBase theAffectedElems)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.
SMESH_Group DoubleNodeElemGroupNew (in SMESH_GroupBase theElems, in SMESH_GroupBase theNodesNot, in SMESH_GroupBase theAffectedElems)
 Creates a hole in a mesh by doubling the nodes of some particular elements.
boolean DoubleNodeElemGroupInRegion (in SMESH_GroupBase theElems, in SMESH_GroupBase theNodesNot, in GEOM::GEOM_Object theShape)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.
boolean DoubleNodeElemGroups (in ListOfGroups theElems, in ListOfGroups theNodesNot, in ListOfGroups theAffectedElems)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.
SMESH_Group DoubleNodeElemGroupsNew (in ListOfGroups theElems, in ListOfGroups theNodesNot, in ListOfGroups theAffectedElems)
 Creates a hole in a mesh by doubling the nodes of some particular elements.
boolean DoubleNodeElemGroupsInRegion (in ListOfGroups theElems, in ListOfGroups theNodesNot, in GEOM::GEOM_Object theShape)
 Creates a hole in a mesh by doubling the nodes of some particular elements This method provided for convenience works as DoubleNodes() described above.
boolean Make2DMeshFrom3D ()
 Generates skin mesh (containing 2D cells) from 3D mesh The created 2D mesh elements based on nodes of free faces of boundary volumes.
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)
 Creates missing boundary elements.
long MakeBoundaryElements (in Bnd_Dimension dimension, in string groupName, in string meshName, in boolean toCopyAll, 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.
boolean DoubleNodesOnGroupBoundaries (in ListOfGroups theDomains, in boolean createJointElems)
 Double nodes on shared faces between groups of volumes and create flat elements on demand.
boolean CreateFlatElementsOnFacesGroups (in ListOfGroups theGroupsOfFaces)
 Double nodes on some external faces and create flat elements.

Detailed Description

Definition at line 37 of file SMESH_MeshEditor.idl.


Member Enumeration Documentation

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 441 of file SMESH_MeshEditor.idl.

Enumerator:
POINT 
AXIS 
PLANE 

Definition at line 559 of file SMESH_MeshEditor.idl.

{ POINT, AXIS, PLANE };
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 

Definition at line 703 of file SMESH_MeshEditor.idl.

Enumerator:
LAPLACIAN_SMOOTH 
CENTROIDAL_SMOOTH 

Definition at line 257 of file SMESH_MeshEditor.idl.


Member Function Documentation

long SMESH.SMESH_MeshEditor.Add0DElement ( in long  IDOfNode)

Create 0D element on the given node.

Parameters:
IdOfNodeNode IDs for creation of element.
long SMESH.SMESH_MeshEditor.AddEdge ( in long_array  IDsOfNodes)

Create edge, 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.
long SMESH.SMESH_MeshEditor.AddFace ( in long_array  IDsOfNodes)

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.
long SMESH.SMESH_MeshEditor.AddNode ( in double  x,
in double  y,
in double  z 
)

Add new node.

Parameters:
xX coordinate of new node
yY coordinate of new node
zZ coordinate of new node
Returns:
integer identifier of new node
long SMESH.SMESH_MeshEditor.AddPolygonalFace ( in long_array  IdsOfNodes)
long SMESH.SMESH_MeshEditor.AddPolyhedralVolume ( in long_array  IdsOfNodes,
in long_array  Quantities 
)

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.
long SMESH.SMESH_MeshEditor.AddPolyhedralVolumeByFaces ( in long_array  IdsOfFaces)

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.
long SMESH.SMESH_MeshEditor.AddVolume ( in long_array  IDsOfNodes)

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.
void SMESH.SMESH_MeshEditor.AdvancedExtrusion ( in long_array  IDsOfElements,
in DirStruct  StepVector,
in long  NbOfSteps,
in long  ExtrFlags,
in double  SewTolerance 
)

Generate new elements by extrusion of theElements by StepVector by NbOfSteps param ExtrFlags set flags for performing extrusion param SewTolerance - uses for comparing locations of nodes if flag EXTRUSION_FLAG_SEW is set.

ListOfGroups SMESH.SMESH_MeshEditor.AdvancedExtrusionMakeGroups ( in long_array  IDsOfElements,
in DirStruct  StepVector,
in long  NbOfSteps,
in long  ExtrFlags,
in double  SewTolerance 
)

Same as previous but additionally create groups of elements generated from elements belonging to preexisting groups.

long SMESH.SMESH_MeshEditor.BestSplit ( in long  IDOfQuad,
in NumericalFunctor  Criterion 
)

Find better splitting of the given quadrangle.

Parameters:
IDOfQuadID of the quadrangle to be splitted.
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.
boolean SMESH.SMESH_MeshEditor.ChangeElemNodes ( in long  ide,
in long_array  newIDs 
)

Set new nodes for given element.

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

bool SMESH_MeshEditor::ConvertFromQuadratic ( )

Definition at line 9625 of file SMESH_MeshEditor.cxx.

References SMESH.SMESH_subMesh.GetId().

{
  int nbCheckedElems = 0;
  if ( myMesh->HasShapeToMesh() )
  {
    if ( SMESH_subMesh *aSubMesh = myMesh->GetSubMeshContaining(myMesh->GetShapeToMesh()))
    {
      SMESH_subMeshIteratorPtr smIt = aSubMesh->getDependsOnIterator(true,false);
      while ( smIt->more() ) {
        SMESH_subMesh* sm = smIt->next();
        if ( SMESHDS_SubMesh *smDS = sm->GetSubMeshDS() )
          nbCheckedElems += removeQuadElem( smDS, smDS->GetElements(), sm->GetId() );
      }
    }
  }

  int totalNbElems =
    GetMeshDS()->NbEdges() + GetMeshDS()->NbFaces() + GetMeshDS()->NbVolumes();
  if ( nbCheckedElems < totalNbElems ) // not all elements are in submeshes
  {
    SMESHDS_SubMesh *aSM = 0;
    removeQuadElem( aSM, GetMeshDS()->elementsIterator(), 0 );
  }

  return true;
}
void SMESH.SMESH_MeshEditor.ConvertFromQuadraticObject ( in SMESH_IDSource  theObject) raises (SALOME::SALOME_Exception)
void SMESH.SMESH_MeshEditor.ConvertToQuadratic ( in boolean  theForce3d)
void SMESH.SMESH_MeshEditor.ConvertToQuadraticObject ( in boolean  theForce3d,
in SMESH_IDSource  theObject 
) raises (SALOME::SALOME_Exception)
boolean SMESH.SMESH_MeshEditor.CreateFlatElementsOnFacesGroups ( in ListOfGroups  theGroupsOfFaces)

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
boolean SMESH.SMESH_MeshEditor.DeleteDiag ( in long  NodeID1,
in long  NodeID2 
)
boolean SMESH.SMESH_MeshEditor.DoubleNode ( in long  theNodeId,
in long_array  theModifiedElems 
)

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()
boolean SMESH.SMESH_MeshEditor.DoubleNodeElem ( in long_array  theElems,
in long_array  theNodesNot,
in long_array  theAffectedElems 
)

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()
boolean SMESH.SMESH_MeshEditor.DoubleNodeElemGroup ( in SMESH_GroupBase  theElems,
in SMESH_GroupBase  theNodesNot,
in SMESH_GroupBase  theAffectedElems 
)

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()
boolean SMESH.SMESH_MeshEditor.DoubleNodeElemGroupInRegion ( in SMESH_GroupBase  theElems,
in SMESH_GroupBase  theNodesNot,
in GEOM::GEOM_Object  theShape 
)

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()
SMESH_Group SMESH.SMESH_MeshEditor.DoubleNodeElemGroupNew ( in SMESH_GroupBase  theElems,
in SMESH_GroupBase  theNodesNot,
in SMESH_GroupBase  theAffectedElems 
)

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()
boolean SMESH.SMESH_MeshEditor.DoubleNodeElemGroups ( in ListOfGroups  theElems,
in ListOfGroups  theNodesNot,
in ListOfGroups  theAffectedElems 
)

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()
boolean SMESH.SMESH_MeshEditor.DoubleNodeElemGroupsInRegion ( in ListOfGroups  theElems,
in ListOfGroups  theNodesNot,
in GEOM::GEOM_Object  theShape 
)

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()
SMESH_Group SMESH.SMESH_MeshEditor.DoubleNodeElemGroupsNew ( in ListOfGroups  theElems,
in ListOfGroups  theNodesNot,
in ListOfGroups  theAffectedElems 
)

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()
boolean SMESH.SMESH_MeshEditor.DoubleNodeElemInRegion ( in long_array  theElems,
in long_array  theNodesNot,
in GEOM::GEOM_Object  theShape 
)

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()
boolean SMESH.SMESH_MeshEditor.DoubleNodeGroup ( in SMESH_GroupBase  theNodes,
in SMESH_GroupBase  theModifiedElems 
)

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()
SMESH_Group SMESH.SMESH_MeshEditor.DoubleNodeGroupNew ( in SMESH_GroupBase  theNodes,
in SMESH_GroupBase  theModifiedElems 
)

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()
boolean SMESH.SMESH_MeshEditor.DoubleNodeGroups ( in ListOfGroups  theNodes,
in ListOfGroups  theModifiedElems 
)

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()
SMESH_Group SMESH.SMESH_MeshEditor.DoubleNodeGroupsNew ( in ListOfGroups  theNodes,
in ListOfGroups  theModifiedElems 
)

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()
boolean SMESH.SMESH_MeshEditor.DoubleNodes ( in long_array  theNodes,
in long_array  theModifiedElems 
)

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()
boolean SMESH.SMESH_MeshEditor.DoubleNodesOnGroupBoundaries ( in ListOfGroups  theDomains,
in boolean  createJointElems 
)

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
Returns:
TRUE if operation has been completed successfully, FALSE otherwise
Extrusion_Error SMESH.SMESH_MeshEditor.ExtrusionAlongPath ( in long_array  IDsOfElements,
in SMESH_Mesh  PathMesh,
in GEOM::GEOM_Object  PathShape,
in long  NodeStart,
in boolean  HasAngles,
in double_array  Angles,
in boolean  HasRefPoint,
in PointStruct  RefPoint 
)
ListOfGroups SMESH.SMESH_MeshEditor.ExtrusionAlongPathMakeGroups ( in long_array  IDsOfElements,
in SMESH_Mesh  PathMesh,
in GEOM::GEOM_Object  PathShape,
in long  NodeStart,
in boolean  HasAngles,
in double_array  Angles,
in boolean  HasRefPoint,
in PointStruct  RefPoint,
out Extrusion_Error  Error 
)
Extrusion_Error SMESH.SMESH_MeshEditor.ExtrusionAlongPathObject ( in SMESH_IDSource  theObject,
in SMESH_Mesh  PathMesh,
in GEOM::GEOM_Object  PathShape,
in long  NodeStart,
in boolean  HasAngles,
in double_array  Angles,
in boolean  HasRefPoint,
in PointStruct  RefPoint 
)
Extrusion_Error SMESH.SMESH_MeshEditor.ExtrusionAlongPathObject1D ( in SMESH_IDSource  theObject,
in SMESH_Mesh  PathMesh,
in GEOM::GEOM_Object  PathShape,
in long  NodeStart,
in boolean  HasAngles,
in double_array  Angles,
in boolean  HasRefPoint,
in PointStruct  RefPoint 
)
ListOfGroups SMESH.SMESH_MeshEditor.ExtrusionAlongPathObject1DMakeGroups ( in SMESH_IDSource  theObject,
in SMESH_Mesh  PathMesh,
in GEOM::GEOM_Object  PathShape,
in long  NodeStart,
in boolean  HasAngles,
in double_array  Angles,
in boolean  HasRefPoint,
in PointStruct  RefPoint,
out Extrusion_Error  Error 
)
Extrusion_Error SMESH.SMESH_MeshEditor.ExtrusionAlongPathObject2D ( in SMESH_IDSource  theObject,
in SMESH_Mesh  PathMesh,
in GEOM::GEOM_Object  PathShape,
in long  NodeStart,
in boolean  HasAngles,
in double_array  Angles,
in boolean  HasRefPoint,
in PointStruct  RefPoint 
)
ListOfGroups SMESH.SMESH_MeshEditor.ExtrusionAlongPathObject2DMakeGroups ( in SMESH_IDSource  theObject,
in SMESH_Mesh  PathMesh,
in GEOM::GEOM_Object  PathShape,
in long  NodeStart,
in boolean  HasAngles,
in double_array  Angles,
in boolean  HasRefPoint,
in PointStruct  RefPoint,
out Extrusion_Error  Error 
)
ListOfGroups SMESH.SMESH_MeshEditor.ExtrusionAlongPathObjectMakeGroups ( in SMESH_IDSource  theObject,
in SMESH_Mesh  PathMesh,
in GEOM::GEOM_Object  PathShape,
in long  NodeStart,
in boolean  HasAngles,
in double_array  Angles,
in boolean  HasRefPoint,
in PointStruct  RefPoint,
out Extrusion_Error  Error 
)
ListOfGroups SMESH.SMESH_MeshEditor.ExtrusionAlongPathObjX ( in SMESH_IDSource  theObject,
in SMESH_IDSource  Path,
in long  NodeStart,
in boolean  HasAngles,
in double_array  Angles,
in boolean  LinearVariation,
in boolean  HasRefPoint,
in PointStruct  RefPoint,
in boolean  MakeGroups,
in ElementType  ElemType,
out Extrusion_Error  Error 
)
ListOfGroups SMESH.SMESH_MeshEditor.ExtrusionAlongPathX ( in long_array  IDsOfElements,
in SMESH_IDSource  Path,
in long  NodeStart,
in boolean  HasAngles,
in double_array  Angles,
in boolean  LinearVariation,
in boolean  HasRefPoint,
in PointStruct  RefPoint,
in boolean  MakeGroups,
in ElementType  ElemType,
out Extrusion_Error  Error 
)
void SMESH.SMESH_MeshEditor.ExtrusionSweep ( in long_array  IDsOfElements,
in DirStruct  StepVector,
in long  NbOfSteps 
)

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

Parameters:
IDsOfElements- elements to sweep
StepVector- vector giving direction and distance of an extrusion step
NbOfSteps- number of elements to generate from one element
ListOfGroups SMESH.SMESH_MeshEditor.ExtrusionSweepMakeGroups ( in long_array  IDsOfElements,
in DirStruct  StepVector,
in long  NbOfSteps 
)

Same as previous but additionally create groups of elements generated from elements belonging to preexisting groups.

void SMESH.SMESH_MeshEditor.ExtrusionSweepObject ( in SMESH_IDSource  theObject,
in DirStruct  StepVector,
in long  NbOfSteps 
)
void SMESH.SMESH_MeshEditor.ExtrusionSweepObject1D ( in SMESH_IDSource  theObject,
in DirStruct  StepVector,
in long  NbOfSteps 
)
ListOfGroups SMESH.SMESH_MeshEditor.ExtrusionSweepObject1DMakeGroups ( in SMESH_IDSource  theObject,
in DirStruct  StepVector,
in long  NbOfSteps 
)
void SMESH.SMESH_MeshEditor.ExtrusionSweepObject2D ( in SMESH_IDSource  theObject,
in DirStruct  StepVector,
in long  NbOfSteps 
)
ListOfGroups SMESH.SMESH_MeshEditor.ExtrusionSweepObject2DMakeGroups ( in SMESH_IDSource  theObject,
in DirStruct  StepVector,
in long  NbOfSteps 
)
ListOfGroups SMESH.SMESH_MeshEditor.ExtrusionSweepObjectMakeGroups ( in SMESH_IDSource  theObject,
in DirStruct  StepVector,
in long  NbOfSteps 
)
void SMESH.SMESH_MeshEditor.FindCoincidentNodes ( in double  Tolerance,
out array_of_long_array  GroupsOfNodes 
)
void SMESH.SMESH_MeshEditor.FindCoincidentNodesOnPart ( in SMESH_IDSource  SubMeshOrGroup,
in double  Tolerance,
out array_of_long_array  GroupsOfNodes 
)
void SMESH.SMESH_MeshEditor.FindCoincidentNodesOnPartBut ( in SMESH_IDSource  SubMeshOrGroup,
in double  Tolerance,
out array_of_long_array  GroupsOfNodes,
in ListOfIDSources  ExceptSubMeshOrGroups 
)
long_array SMESH.SMESH_MeshEditor.FindElementsByPoint ( in double  x,
in double  y,
in double  z,
in ElementType  type 
)

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

void SMESH.SMESH_MeshEditor.FindEqualElements ( in SMESH_IDSource  MeshOrSubMeshOrGroup,
out array_of_long_array  GroupsOfElementsID 
)

Find elements built on the same nodes.

Parameters:
MeshOrSubMeshOrGroupMesh or SubMesh, or Group of elements for searching.
Returns:
List of groups of equal elements.
long SMESH.SMESH_MeshEditor.FindNodeClosestTo ( in double  x,
in double  y,
in double  z 
)

Return ID of node closest to a given point.

long_array SMESH.SMESH_MeshEditor.GetLastCreatedElems ( )

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

long_array SMESH.SMESH_MeshEditor.GetLastCreatedNodes ( )

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

short SMESH.SMESH_MeshEditor.GetPointState ( in double  x,
in double  y,
in double  z 
)

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.

MeshPreviewStruct SMESH.SMESH_MeshEditor.GetPreviewData ( )

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

boolean SMESH.SMESH_MeshEditor.InverseDiag ( in long  NodeID1,
in long  NodeID2 
)
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.

bool SMESH_MeshEditor::Make2DMeshFrom3D ( )

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

Definition at line 11516 of file SMESH_MeshEditor.cxx.

References SMDS_Mesh.FindFace(), SMDS_VolumeTool.GetFaceNodes(), SMDS_VolumeTool.IsFreeFace(), SMDS_MeshElement.IsPoly(), SMDS_MeshElement.IsQuadratic(), SMDS_VolumeTool.NbFaceNodes(), SMDS_VolumeTool.NbFaces(), SMESH_AdvancedEditor.nodes, SMDS_VolumeTool.SetExternalNormal(), SMDSAbs_Face, and SMDS_Mesh.volumesIterator().

{
  // iterates on volume elements and detect all free faces on them
  SMESHDS_Mesh* aMesh = GetMeshDS();
  if (!aMesh)
    return false;
  //bool res = false;
  int nbFree = 0, nbExisted = 0, nbCreated = 0;
  SMDS_VolumeIteratorPtr vIt = aMesh->volumesIterator();
  while(vIt->more())
  {
    const SMDS_MeshVolume* volume = vIt->next();
    SMDS_VolumeTool vTool( volume );
    vTool.SetExternalNormal();
    const bool isPoly = volume->IsPoly();
    const bool isQuad = volume->IsQuadratic();
    for ( int iface = 0, n = vTool.NbFaces(); iface < n; iface++ )
    {
      if (!vTool.IsFreeFace(iface))
        continue;
      nbFree++;
      vector<const SMDS_MeshNode *> nodes;
      int nbFaceNodes = vTool.NbFaceNodes(iface);
      const SMDS_MeshNode** faceNodes = vTool.GetFaceNodes(iface);
      int inode = 0;
      for ( ; inode < nbFaceNodes; inode += isQuad ? 2 : 1)
        nodes.push_back(faceNodes[inode]);
      if (isQuad)
        for ( inode = 1; inode < nbFaceNodes; inode += 2)
          nodes.push_back(faceNodes[inode]);

      // add new face based on volume nodes
      if (aMesh->FindFace( nodes ) ) {
        nbExisted++;
        continue; // face already exsist
      }
      AddElement(nodes, SMDSAbs_Face, isPoly && iface == 1);
      nbCreated++;
    }
  }
  return ( nbFree==(nbExisted+nbCreated) );
}
long SMESH.SMESH_MeshEditor.MakeBoundaryElements ( in Bnd_Dimension  dimension,
in string  groupName,
in string  meshName,
in boolean  toCopyAll,
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 boundary elements will be copied into the new mesh
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
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 
)

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
SMESH_IDSource SMESH.SMESH_MeshEditor.MakeIDSource ( in long_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
void SMESH.SMESH_MeshEditor.MergeElements ( in array_of_long_array  GroupsOfElementsID)

Merge elements in each given group.

Parameters:
GroupsOfElementsIDGroups of elements for merging.
void SMESH_MeshEditor::MergeEqualElements ( )

Merge equal elements in the whole mesh.

Definition at line 8078 of file SMESH_MeshEditor.cxx.

{
  set<const SMDS_MeshElement*> aMeshElements; /* empty input -
                                                 to merge equal elements in the whole mesh */
  TListOfListOfElementsID aGroupsOfElementsID;
  FindEqualElements(aMeshElements, aGroupsOfElementsID);
  MergeElements(aGroupsOfElementsID);
}
void SMESH.SMESH_MeshEditor.MergeNodes ( in array_of_long_array  GroupsOfNodes)
void SMESH.SMESH_MeshEditor.Mirror ( in long_array  IDsOfElements,
in AxisStruct  Mirror,
in MirrorType  Type,
in boolean  Copy 
)
ListOfGroups SMESH.SMESH_MeshEditor.MirrorMakeGroups ( in long_array  IDsOfElements,
in AxisStruct  Mirror,
in MirrorType  Type 
)
SMESH_Mesh SMESH.SMESH_MeshEditor.MirrorMakeMesh ( in long_array  IDsOfElements,
in AxisStruct  Mirror,
in MirrorType  Type,
in boolean  CopyGroups,
in string  MeshName 
)
void SMESH.SMESH_MeshEditor.MirrorObject ( in SMESH_IDSource  theObject,
in AxisStruct  Mirror,
in MirrorType  Type,
in boolean  Copy 
)
ListOfGroups SMESH.SMESH_MeshEditor.MirrorObjectMakeGroups ( in SMESH_IDSource  theObject,
in AxisStruct  Mirror,
in MirrorType  Type 
)
SMESH_Mesh SMESH.SMESH_MeshEditor.MirrorObjectMakeMesh ( in SMESH_IDSource  theObject,
in AxisStruct  Mirror,
in MirrorType  Type,
in boolean  CopyGroups,
in string  MeshName 
)
long SMESH.SMESH_MeshEditor.MoveClosestNodeToPoint ( in double  x,
in double  y,
in double  z,
in long  nodeID 
)

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.

boolean SMESH.SMESH_MeshEditor.MoveNode ( in long  NodeID,
in double  x,
in double  y,
in double  z 
)
boolean SMESH.SMESH_MeshEditor.QuadToTri ( in long_array  IDsOfElements,
in NumericalFunctor  Criterion 
)

Split quadrangles into triangles.

Parameters:
theElemsThe faces to be splitted.
theCriterionIs used to choose a diagonal for splitting.
Returns:
TRUE in case of success, FALSE otherwise.
boolean SMESH.SMESH_MeshEditor.QuadToTriObject ( in SMESH_IDSource  theObject,
in NumericalFunctor  Criterion 
)

Split quadrangles into triangles.

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

boolean SMESH.SMESH_MeshEditor.RemoveElements ( in long_array  IDsOfElements)

Remove mesh elements specified by their identifiers.

Parameters:
IDsOfElementslist of mesh elements identifiers
Returns:
true if elements are correctly removed or false otherwise
boolean SMESH.SMESH_MeshEditor.RemoveNodes ( in long_array  IDsOfNodes)

Remove mesh nodes specified by their identifiers.

Parameters:
IDsOfNodeslist of mesh nodes identifiers
Returns:
true if nodes are correctly removed or false otherwise
long SMESH.SMESH_MeshEditor.RemoveOrphanNodes ( )

Remove all orphan nodes.

Returns:
number of removed nodes
void SMESH.SMESH_MeshEditor.RenumberElements ( )
void SMESH.SMESH_MeshEditor.RenumberNodes ( )
boolean SMESH.SMESH_MeshEditor.Reorient ( in long_array  IDsOfElements)
boolean SMESH.SMESH_MeshEditor.ReorientObject ( in SMESH_IDSource  theObject)
void SMESH.SMESH_MeshEditor.Rotate ( in long_array  IDsOfElements,
in AxisStruct  Axis,
in double  AngleInRadians,
in boolean  Copy 
)
ListOfGroups SMESH.SMESH_MeshEditor.RotateMakeGroups ( in long_array  IDsOfElements,
in AxisStruct  Axis,
in double  AngleInRadians 
)
SMESH_Mesh SMESH.SMESH_MeshEditor.RotateMakeMesh ( in long_array  IDsOfElements,
in AxisStruct  Axis,
in double  AngleInRadians,
in boolean  CopyGroups,
in string  MeshName 
)
void SMESH.SMESH_MeshEditor.RotateObject ( in SMESH_IDSource  theObject,
in AxisStruct  Axis,
in double  AngleInRadians,
in boolean  Copy 
)
ListOfGroups SMESH.SMESH_MeshEditor.RotateObjectMakeGroups ( in SMESH_IDSource  theObject,
in AxisStruct  Axis,
in double  AngleInRadians 
)
SMESH_Mesh SMESH.SMESH_MeshEditor.RotateObjectMakeMesh ( in SMESH_IDSource  theObject,
in AxisStruct  Axis,
in double  AngleInRadians,
in boolean  CopyGroups,
in string  MeshName 
)
void SMESH.SMESH_MeshEditor.RotationSweep ( in long_array  IDsOfElements,
in AxisStruct  Axix,
in double  AngleInRadians,
in long  NbOfSteps,
in double  Tolerance 
)

Genarate dim+1 elements by rotation of given elements around axis.

Parameters:
IDsOfElements- elements to ratate
Axix- rotation axis
AngleInRadians- rotation angle
NbOfSteps- number of elements to generate from one element
ListOfGroups SMESH.SMESH_MeshEditor.RotationSweepMakeGroups ( in long_array  IDsOfElements,
in AxisStruct  Axix,
in double  AngleInRadians,
in long  NbOfSteps,
in double  Tolerance 
)

Same as previous but additionally create groups of elements generated from elements belonging to preexisting groups.

void SMESH.SMESH_MeshEditor.RotationSweepObject ( in SMESH_IDSource  theObject,
in AxisStruct  Axix,
in double  AngleInRadians,
in long  NbOfSteps,
in double  Tolerance 
)

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

Parameters:
theObject- object containing elements to ratate
Axix- rotation axis
AngleInRadians- rotation angle
NbOfSteps- number of elements to generate from one element
void SMESH.SMESH_MeshEditor.RotationSweepObject1D ( in SMESH_IDSource  theObject,
in AxisStruct  Axix,
in double  AngleInRadians,
in long  NbOfSteps,
in double  Tolerance 
)

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

Parameters:
theObject- object containing elements to ratate
Axix- rotation axis
AngleInRadians- rotation angle
NbOfSteps- number of elements to generate from one element
ListOfGroups SMESH.SMESH_MeshEditor.RotationSweepObject1DMakeGroups ( in SMESH_IDSource  theObject,
in AxisStruct  Axix,
in double  AngleInRadians,
in long  NbOfSteps,
in double  Tolerance 
)

Same as previous but additionally create groups of elements generated from elements belonging to preexisting groups.

void SMESH.SMESH_MeshEditor.RotationSweepObject2D ( in SMESH_IDSource  theObject,
in AxisStruct  Axix,
in double  AngleInRadians,
in long  NbOfSteps,
in double  Tolerance 
)

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

Parameters:
theObject- object containing elements to ratate
Axix- rotation axis
AngleInRadians- rotation angle
NbOfSteps- number of elements to generate from one element
ListOfGroups SMESH.SMESH_MeshEditor.RotationSweepObject2DMakeGroups ( in SMESH_IDSource  theObject,
in AxisStruct  Axix,
in double  AngleInRadians,
in long  NbOfSteps,
in double  Tolerance 
)

Same as previous but additionally create groups of elements generated from elements belonging to preexisting groups.

ListOfGroups SMESH.SMESH_MeshEditor.RotationSweepObjectMakeGroups ( in SMESH_IDSource  theObject,
in AxisStruct  Axix,
in double  AngleInRadians,
in long  NbOfSteps,
in double  Tolerance 
)

Same as previous but additionally create groups of elements generated from elements belonging to preexisting groups.

void SMESH.SMESH_MeshEditor.Scale ( in SMESH_IDSource  theObject,
in PointStruct  thePoint,
in double_array  theScaleFact,
in boolean  Copy 
)
ListOfGroups SMESH.SMESH_MeshEditor.ScaleMakeGroups ( in SMESH_IDSource  theObject,
in PointStruct  thePoint,
in double_array  theScaleFact 
)
SMESH_Mesh SMESH.SMESH_MeshEditor.ScaleMakeMesh ( in SMESH_IDSource  theObject,
in PointStruct  thePoint,
in double_array  theScaleFact,
in boolean  CopyGroups,
in string  MeshName 
)
void SMESH.SMESH_MeshEditor.SetMeshElementOnShape ( in long  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]
void SMESH.SMESH_MeshEditor.SetNodeInVolume ( in long  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]
void SMESH.SMESH_MeshEditor.SetNodeOnEdge ( in long  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
void SMESH.SMESH_MeshEditor.SetNodeOnFace ( in long  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
void SMESH.SMESH_MeshEditor.SetNodeOnVertex ( in long  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]
Sew_Error SMESH.SMESH_MeshEditor.SewBorderToSide ( in long  FirstNodeIDOnFreeBorder,
in long  SecondNodeIDOnFreeBorder,
in long  LastNodeIDOnFreeBorder,
in long  FirstNodeIDOnSide,
in long  LastNodeIDOnSide,
in boolean  CreatePolygons,
in boolean  CreatePolyedrs 
)
Sew_Error SMESH.SMESH_MeshEditor.SewConformFreeBorders ( in long  FirstNodeID1,
in long  SecondNodeID1,
in long  LastNodeID1,
in long  FirstNodeID2,
in long  SecondNodeID2 
)
Sew_Error SMESH.SMESH_MeshEditor.SewFreeBorders ( in long  FirstNodeID1,
in long  SecondNodeID1,
in long  LastNodeID1,
in long  FirstNodeID2,
in long  SecondNodeID2,
in long  LastNodeID2,
in boolean  CreatePolygons,
in boolean  CreatePolyedrs 
)
Sew_Error SMESH.SMESH_MeshEditor.SewSideElements ( in long_array  IDsOfSide1Elements,
in long_array  IDsOfSide2Elements,
in long  NodeID1OfSide1ToMerge,
in long  NodeID1OfSide2ToMerge,
in long  NodeID2OfSide1ToMerge,
in long  NodeID2OfSide2ToMerge 
)
boolean SMESH.SMESH_MeshEditor.Smooth ( in long_array  IDsOfElements,
in long_array  IDsOfFixedNodes,
in long  MaxNbOfIterations,
in double  MaxAspectRatio,
in Smooth_Method  Method 
)
boolean SMESH.SMESH_MeshEditor.SmoothObject ( in SMESH_IDSource  theObject,
in long_array  IDsOfFixedNodes,
in long  MaxNbOfIterations,
in double  MaxAspectRatio,
in Smooth_Method  Method 
)
boolean SMESH.SMESH_MeshEditor.SmoothParametric ( in long_array  IDsOfElements,
in long_array  IDsOfFixedNodes,
in long  MaxNbOfIterations,
in double  MaxAspectRatio,
in Smooth_Method  Method 
)
boolean SMESH.SMESH_MeshEditor.SmoothParametricObject ( in SMESH_IDSource  theObject,
in long_array  IDsOfFixedNodes,
in long  MaxNbOfIterations,
in double  MaxAspectRatio,
in Smooth_Method  Method 
)
boolean SMESH.SMESH_MeshEditor.SplitQuad ( in long_array  IDsOfElements,
in boolean  Diag13 
)

Split quadrangles into triangles.

Parameters:
theElemsThe faces to be splitted.
the13DiagIs used to choose a diagonal for splitting.
Returns:
TRUE in case of success, FALSE otherwise.
boolean SMESH.SMESH_MeshEditor.SplitQuadObject ( in SMESH_IDSource  theObject,
in boolean  Diag13 
)

Split quadrangles into triangles.

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

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
void SMESH.SMESH_MeshEditor.Translate ( in long_array  IDsOfElements,
in DirStruct  Vector,
in boolean  Copy 
)
ListOfGroups SMESH.SMESH_MeshEditor.TranslateMakeGroups ( in long_array  IDsOfElements,
in DirStruct  Vector 
)
SMESH_Mesh SMESH.SMESH_MeshEditor.TranslateMakeMesh ( in long_array  IDsOfElements,
in DirStruct  Vector,
in boolean  CopyGroups,
in string  MeshName 
)
void SMESH.SMESH_MeshEditor.TranslateObject ( in SMESH_IDSource  theObject,
in DirStruct  Vector,
in boolean  Copy 
)
ListOfGroups SMESH.SMESH_MeshEditor.TranslateObjectMakeGroups ( in SMESH_IDSource  theObject,
in DirStruct  Vector 
)
SMESH_Mesh SMESH.SMESH_MeshEditor.TranslateObjectMakeMesh ( in SMESH_IDSource  theObject,
in DirStruct  Vector,
in boolean  CopyGroups,
in string  MeshName 
)
boolean SMESH.SMESH_MeshEditor.TriToQuad ( in long_array  IDsOfElements,
in NumericalFunctor  Criterion,
in double  MaxAngle 
)

Fuse neighbour triangles into quadrangles.

Parameters:
theElemsThe 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 mesured in radians.
Returns:
TRUE in case of success, FALSE otherwise.
boolean SMESH.SMESH_MeshEditor.TriToQuadObject ( in SMESH_IDSource  theObject,
in NumericalFunctor  Criterion,
in double  MaxAngle 
)

Fuse neighbour triangles into quadrangles.

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

Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS