Version: 8.3.0
SMESH_MeshEditor_i Class Reference

#include <SMESH_MeshEditor_i.hxx>

Inheritance diagram for SMESH_MeshEditor_i:

Data Structures

struct  _IDSource
 

Public Member Functions

 SMESH_MeshEditor_i (SMESH_Mesh_i *theMesh, bool isPreview)
 
virtual ~SMESH_MeshEditor_i ()
 Destructor. More...
 
int GetMeshId () const
 Return edited mesh ID. More...
 
SMESH::SMESH_Mesh_ptr GetMesh ()
 Returns the mesh. More...
 
SMESH::MeshPreviewStructGetPreviewData () throw (SALOME::SALOME_Exception)
 Return data of mesh edition preview. More...
 
SMESH::long_arrayGetLastCreatedNodes () throw (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 an empty list. More...
 
SMESH::long_arrayGetLastCreatedElems () throw (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 an empty list. More...
 
void ClearLastCreated () throw (SALOME::SALOME_Exception)
 Clears sequences of last created elements and nodes. More...
 
SMESH::ComputeErrorGetLastError () throw (SALOME::SALOME_Exception)
 Returns description of an error/warning occurred during the last operation. More...
 
SMESH::SMESH_IDSource_ptr MakeIDSource (const SMESH::long_array &IDsOfElements, SMESH::ElementType type)
 Wrap a sequence of ids in a SMESH_IDSource. More...
 
CORBA::Boolean RemoveElements (const SMESH::long_array &IDsOfElements) throw (SALOME::SALOME_Exception)
 
CORBA::Boolean RemoveNodes (const SMESH::long_array &IDsOfNodes) throw (SALOME::SALOME_Exception)
 
CORBA::Long RemoveOrphanNodes () throw (SALOME::SALOME_Exception)
 
CORBA::Long AddNode (CORBA::Double x, CORBA::Double y, CORBA::Double z) throw (SALOME::SALOME_Exception)
 Methods for creation new elements. More...
 
CORBA::Long Add0DElement (CORBA::Long IDOfNode, CORBA::Boolean DuplicateElements) throw (SALOME::SALOME_Exception)
 Create 0D element on the given node. More...
 
CORBA::Long AddBall (CORBA::Long IDOfNodem, CORBA::Double diameter) throw (SALOME::SALOME_Exception)
 Create a ball element on the given node. More...
 
CORBA::Long AddEdge (const SMESH::long_array &IDsOfNodes) throw (SALOME::SALOME_Exception)
 Create an edge, either linear and quadratic (this is determed by number of given nodes, two or three) More...
 
CORBA::Long AddFace (const SMESH::long_array &IDsOfNodes) throw (SALOME::SALOME_Exception)
 AddFace. More...
 
CORBA::Long AddPolygonalFace (const SMESH::long_array &IDsOfNodes) throw (SALOME::SALOME_Exception)
 AddPolygonalFace. More...
 
CORBA::Long AddQuadPolygonalFace (const SMESH::long_array &IDsOfNodes) throw (SALOME::SALOME_Exception)
 AddQuadPolygonalFace. More...
 
CORBA::Long AddVolume (const SMESH::long_array &IDsOfNodes) throw (SALOME::SALOME_Exception)
 Create volume, either linear and quadratic (this is determed by number of given nodes) More...
 
CORBA::Long AddPolyhedralVolume (const SMESH::long_array &IDsOfNodes, const SMESH::long_array &Quantities) throw (SALOME::SALOME_Exception)
 AddPolyhedralVolume. More...
 
CORBA::Long AddPolyhedralVolumeByFaces (const SMESH::long_array &IdsOfFaces) throw (SALOME::SALOME_Exception)
 AddPolyhedralVolumeByFaces. More...
 
SMESH::SMESH_IDSource_ptr Create0DElementsOnAllNodes (SMESH::SMESH_IDSource_ptr theObject, const char *theGroupName, CORBA::Boolean theDuplicateElements) throw (SALOME::SALOME_Exception)
 Create 0D elements on all nodes of the given object except those nodes on which a 0D element already exists. More...
 
void SetNodeOnVertex (CORBA::Long NodeID, CORBA::Long VertexID) throw (SALOME::SALOME_Exception)
 Bind a node to a vertex. More...
 
void SetNodeOnEdge (CORBA::Long NodeID, CORBA::Long EdgeID, CORBA::Double paramOnEdge) throw (SALOME::SALOME_Exception)
 Store node position on an edge. More...
 
void SetNodeOnFace (CORBA::Long NodeID, CORBA::Long FaceID, CORBA::Double u, CORBA::Double v) throw (SALOME::SALOME_Exception)
 Store node position on a face. More...
 
void SetNodeInVolume (CORBA::Long NodeID, CORBA::Long SolidID) throw (SALOME::SALOME_Exception)
 Bind a node to a solid. More...
 
void SetMeshElementOnShape (CORBA::Long ElementID, CORBA::Long ShapeID) throw (SALOME::SALOME_Exception)
 Bind an element to a shape. More...
 
CORBA::Boolean MoveNode (CORBA::Long NodeID, CORBA::Double x, CORBA::Double y, CORBA::Double z) throw (SALOME::SALOME_Exception)
 Move the node to a given point. More...
 
CORBA::Boolean InverseDiag (CORBA::Long NodeID1, CORBA::Long NodeID2) throw (SALOME::SALOME_Exception)
 
CORBA::Boolean DeleteDiag (CORBA::Long NodeID1, CORBA::Long NodeID2) throw (SALOME::SALOME_Exception)
 
CORBA::Boolean Reorient (const SMESH::long_array &IDsOfElements) throw (SALOME::SALOME_Exception)
 
CORBA::Boolean ReorientObject (SMESH::SMESH_IDSource_ptr theObject) throw (SALOME::SALOME_Exception)
 
CORBA::Long Reorient2D (SMESH::SMESH_IDSource_ptr the2Dgroup, const SMESH::DirStruct &theDirection, CORBA::Long theFace, const SMESH::PointStruct &thePoint) throw (SALOME::SALOME_Exception)
 Reorient faces contained in the2Dgroup. More...
 
CORBA::Long Reorient2DBy3D (const SMESH::ListOfIDSources &faces, SMESH::SMESH_IDSource_ptr volumes, CORBA::Boolean outsideNormal) throw (SALOME::SALOME_Exception)
 Reorient faces basing on orientation of adjacent volumes. More...
 
CORBA::Boolean TriToQuad (const SMESH::long_array &IDsOfElements, SMESH::NumericalFunctor_ptr Criterion, CORBA::Double MaxAngle) throw (SALOME::SALOME_Exception)
 Fuse neighbour triangles into quadrangles. More...
 
CORBA::Boolean TriToQuadObject (SMESH::SMESH_IDSource_ptr theObject, SMESH::NumericalFunctor_ptr Criterion, CORBA::Double MaxAngle) throw (SALOME::SALOME_Exception)
 Fuse neighbour triangles into quadrangles. More...
 
CORBA::Boolean QuadToTri (const SMESH::long_array &IDsOfElements, SMESH::NumericalFunctor_ptr Criterion) throw (SALOME::SALOME_Exception)
 Split quadrangles into triangles. More...
 
CORBA::Boolean QuadToTriObject (SMESH::SMESH_IDSource_ptr theObject, SMESH::NumericalFunctor_ptr Criterion) throw (SALOME::SALOME_Exception)
 Split quadrangles into triangles. More...
 
void QuadTo4Tri (SMESH::SMESH_IDSource_ptr theObject) throw (SALOME::SALOME_Exception)
 Split each of quadrangles into 4 triangles. More...
 
CORBA::Boolean SplitQuad (const SMESH::long_array &IDsOfElements, CORBA::Boolean Diag13) throw (SALOME::SALOME_Exception)
 Split quadrangles into triangles. More...
 
CORBA::Boolean SplitQuadObject (SMESH::SMESH_IDSource_ptr theObject, CORBA::Boolean Diag13) throw (SALOME::SALOME_Exception)
 Split quadrangles into triangles. More...
 
CORBA::Long BestSplit (CORBA::Long IDOfQuad, SMESH::NumericalFunctor_ptr Criterion) throw (SALOME::SALOME_Exception)
 Find better splitting of the given quadrangle. More...
 
void SplitVolumesIntoTetra (SMESH::SMESH_IDSource_ptr elems, CORBA::Short methodFlags) throw (SALOME::SALOME_Exception)
 Split volumic elements into tetrahedrons. More...
 
void SplitHexahedraIntoPrisms (SMESH::SMESH_IDSource_ptr elems, const SMESH::PointStruct &startHexPoint, const SMESH::DirStruct &facetToSplitNormal, CORBA::Short methodFlags, CORBA::Boolean allDomains) throw (SALOME::SALOME_Exception)
 Split hexahedra into triangular prisms. More...
 
void SplitBiQuadraticIntoLinear (const SMESH::ListOfIDSources &elems) throw (SALOME::SALOME_Exception)
 Split bi-quadratic elements into linear ones without creation of additional nodes: More...
 
CORBA::Boolean Smooth (const SMESH::long_array &IDsOfElements, const SMESH::long_array &IDsOfFixedNodes, CORBA::Long MaxNbOfIterations, CORBA::Double MaxAspectRatio, SMESH::SMESH_MeshEditor::Smooth_Method Method) throw (SALOME::SALOME_Exception)
 
CORBA::Boolean SmoothObject (SMESH::SMESH_IDSource_ptr theObject, const SMESH::long_array &IDsOfFixedNodes, CORBA::Long MaxNbOfIterations, CORBA::Double MaxAspectRatio, SMESH::SMESH_MeshEditor::Smooth_Method Method) throw (SALOME::SALOME_Exception)
 
CORBA::Boolean SmoothParametric (const SMESH::long_array &IDsOfElements, const SMESH::long_array &IDsOfFixedNodes, CORBA::Long MaxNbOfIterations, CORBA::Double MaxAspectRatio, SMESH::SMESH_MeshEditor::Smooth_Method Method) throw (SALOME::SALOME_Exception)
 
CORBA::Boolean SmoothParametricObject (SMESH::SMESH_IDSource_ptr theObject, const SMESH::long_array &IDsOfFixedNodes, CORBA::Long MaxNbOfIterations, CORBA::Double MaxAspectRatio, SMESH::SMESH_MeshEditor::Smooth_Method Method) throw (SALOME::SALOME_Exception)
 
CORBA::Boolean smooth (const SMESH::long_array &IDsOfElements, const SMESH::long_array &IDsOfFixedNodes, CORBA::Long MaxNbOfIterations, CORBA::Double MaxAspectRatio, SMESH::SMESH_MeshEditor::Smooth_Method Method, bool IsParametric) throw (SALOME::SALOME_Exception)
 
CORBA::Boolean smoothObject (SMESH::SMESH_IDSource_ptr theObject, const SMESH::long_array &IDsOfFixedNodes, CORBA::Long MaxNbOfIterations, CORBA::Double MaxAspectRatio, SMESH::SMESH_MeshEditor::Smooth_Method Method, bool IsParametric) throw (SALOME::SALOME_Exception)
 
CORBA::Boolean ConvertFromQuadratic () throw (SALOME::SALOME_Exception)
 
void ConvertFromQuadraticObject (SMESH::SMESH_IDSource_ptr theObject) throw (SALOME::SALOME_Exception)
 Makes a part of the mesh linear. More...
 
void ConvertToQuadratic (CORBA::Boolean Force3d) throw (SALOME::SALOME_Exception)
 
void ConvertToQuadraticObject (CORBA::Boolean theForce3d, SMESH::SMESH_IDSource_ptr theObject) throw (SALOME::SALOME_Exception)
 Makes a part of the mesh quadratic. More...
 
void ConvertToBiQuadratic (CORBA::Boolean theForce3d, SMESH::SMESH_IDSource_ptr theObject) throw (SALOME::SALOME_Exception)
 Makes a part of the mesh bi-quadratic. More...
 
void RenumberNodes () throw (SALOME::SALOME_Exception)
 
void RenumberElements () throw (SALOME::SALOME_Exception)
 
SMESH::ListOfGroupsRotationSweepObjects (const SMESH::ListOfIDSources &nodes, const SMESH::ListOfIDSources &edges, const SMESH::ListOfIDSources &faces, const SMESH::AxisStruct &Axis, CORBA::Double AngleInRadians, CORBA::Long NbOfSteps, CORBA::Double Tolerance, CORBA::Boolean toMakeGroups) throw (SALOME::SALOME_Exception)
 
SMESH::ListOfGroupsExtrusionSweepObjects (const SMESH::ListOfIDSources &nodes, const SMESH::ListOfIDSources &edges, const SMESH::ListOfIDSources &faces, const SMESH::DirStruct &stepVector, CORBA::Long nbOfSteps, const SMESH::double_array &theScaleFactors, CORBA::Boolean theLinearVariation, const SMESH::double_array &theBasePoint, CORBA::Boolean toMakeGroups) throw (SALOME::SALOME_Exception)
 Generate dim+1 elements by extrusion of elements along vector. More...
 
SMESH::ListOfGroupsExtrusionByNormal (const SMESH::ListOfIDSources &objects, CORBA::Double stepSize, CORBA::Long nbOfSteps, CORBA::Boolean byAverageNormal, CORBA::Boolean useInputElemsOnly, CORBA::Boolean makeGroups, CORBA::Short dim) throw (SALOME::SALOME_Exception)
 
SMESH::ListOfGroupsAdvancedExtrusion (const SMESH::long_array &theIDsOfElements, const SMESH::DirStruct &theStepVector, CORBA::Long theNbOfSteps, CORBA::Long theExtrFlags, CORBA::Double theSewTolerance, CORBA::Boolean theMakeGroups) throw (SALOME::SALOME_Exception)
 
SMESH::ListOfGroupsExtrusionAlongPathObjects (const SMESH::ListOfIDSources &nodes, const SMESH::ListOfIDSources &edges, const SMESH::ListOfIDSources &faces, SMESH::SMESH_IDSource_ptr PathMesh, GEOM::GEOM_Object_ptr PathShape, CORBA::Long NodeStart, CORBA::Boolean HasAngles, const SMESH::double_array &Angles, CORBA::Boolean LinearVariation, CORBA::Boolean HasRefPoint, const SMESH::PointStruct &RefPoint, bool MakeGroups, SMESH::SMESH_MeshEditor::Extrusion_Error &Error) throw (SALOME::SALOME_Exception)
 
SMESH::double_arrayLinearAnglesVariation (SMESH::SMESH_Mesh_ptr PathMesh, GEOM::GEOM_Object_ptr PathShape, const SMESH::double_array &Angles)
 Compute rotation angles for ExtrusionAlongPath as linear variation of given angles along path steps. More...
 
void Mirror (const SMESH::long_array &IDsOfElements, const SMESH::AxisStruct &Axis, SMESH::SMESH_MeshEditor::MirrorType MirrorType, CORBA::Boolean Copy) throw (SALOME::SALOME_Exception)
 
void MirrorObject (SMESH::SMESH_IDSource_ptr theObject, const SMESH::AxisStruct &Axis, SMESH::SMESH_MeshEditor::MirrorType MirrorType, CORBA::Boolean Copy) throw (SALOME::SALOME_Exception)
 
void Translate (const SMESH::long_array &IDsOfElements, const SMESH::DirStruct &Vector, CORBA::Boolean Copy) throw (SALOME::SALOME_Exception)
 
void TranslateObject (SMESH::SMESH_IDSource_ptr theObject, const SMESH::DirStruct &Vector, CORBA::Boolean Copy) throw (SALOME::SALOME_Exception)
 
void Rotate (const SMESH::long_array &IDsOfElements, const SMESH::AxisStruct &Axis, CORBA::Double Angle, CORBA::Boolean Copy) throw (SALOME::SALOME_Exception)
 
void RotateObject (SMESH::SMESH_IDSource_ptr theObject, const SMESH::AxisStruct &Axis, CORBA::Double Angle, CORBA::Boolean Copy) throw (SALOME::SALOME_Exception)
 
SMESH::ListOfGroupsMirrorMakeGroups (const SMESH::long_array &IDsOfElements, const SMESH::AxisStruct &Mirror, SMESH::SMESH_MeshEditor::MirrorType MirrorType) throw (SALOME::SALOME_Exception)
 
SMESH::ListOfGroupsMirrorObjectMakeGroups (SMESH::SMESH_IDSource_ptr Object, const SMESH::AxisStruct &Mirror, SMESH::SMESH_MeshEditor::MirrorType MirrorType) throw (SALOME::SALOME_Exception)
 
SMESH::ListOfGroupsTranslateMakeGroups (const SMESH::long_array &IDsOfElements, const SMESH::DirStruct &Vector) throw (SALOME::SALOME_Exception)
 
SMESH::ListOfGroupsTranslateObjectMakeGroups (SMESH::SMESH_IDSource_ptr Object, const SMESH::DirStruct &Vector) throw (SALOME::SALOME_Exception)
 
SMESH::ListOfGroupsRotateMakeGroups (const SMESH::long_array &IDsOfElements, const SMESH::AxisStruct &Axis, CORBA::Double AngleInRadians) throw (SALOME::SALOME_Exception)
 
SMESH::ListOfGroupsRotateObjectMakeGroups (SMESH::SMESH_IDSource_ptr Object, const SMESH::AxisStruct &Axis, CORBA::Double AngleInRadians) throw (SALOME::SALOME_Exception)
 
SMESH::SMESH_Mesh_ptr MirrorMakeMesh (const SMESH::long_array &IDsOfElements, const SMESH::AxisStruct &Mirror, SMESH::SMESH_MeshEditor::MirrorType MirrorType, CORBA::Boolean CopyGroups, const char *MeshName) throw (SALOME::SALOME_Exception)
 
SMESH::SMESH_Mesh_ptr MirrorObjectMakeMesh (SMESH::SMESH_IDSource_ptr Object, const SMESH::AxisStruct &Mirror, SMESH::SMESH_MeshEditor::MirrorType MirrorType, CORBA::Boolean CopyGroups, const char *MeshName) throw (SALOME::SALOME_Exception)
 
SMESH::SMESH_Mesh_ptr TranslateMakeMesh (const SMESH::long_array &IDsOfElements, const SMESH::DirStruct &Vector, CORBA::Boolean CopyGroups, const char *MeshName) throw (SALOME::SALOME_Exception)
 
SMESH::SMESH_Mesh_ptr TranslateObjectMakeMesh (SMESH::SMESH_IDSource_ptr Object, const SMESH::DirStruct &Vector, CORBA::Boolean CopyGroups, const char *MeshName) throw (SALOME::SALOME_Exception)
 
SMESH::SMESH_Mesh_ptr RotateMakeMesh (const SMESH::long_array &IDsOfElements, const SMESH::AxisStruct &Axis, CORBA::Double AngleInRadians, CORBA::Boolean CopyGroups, const char *MeshName) throw (SALOME::SALOME_Exception)
 
SMESH::SMESH_Mesh_ptr RotateObjectMakeMesh (SMESH::SMESH_IDSource_ptr Object, const SMESH::AxisStruct &Axis, CORBA::Double AngleInRadians, CORBA::Boolean CopyGroups, const char *MeshName) throw (SALOME::SALOME_Exception)
 
void Scale (SMESH::SMESH_IDSource_ptr theObject, const SMESH::PointStruct &thePoint, const SMESH::double_array &theScaleFact, CORBA::Boolean theCopy) throw (SALOME::SALOME_Exception)
 
SMESH::ListOfGroupsScaleMakeGroups (SMESH::SMESH_IDSource_ptr theObject, const SMESH::PointStruct &thePoint, const SMESH::double_array &theScaleFact) throw (SALOME::SALOME_Exception)
 
SMESH::SMESH_Mesh_ptr ScaleMakeMesh (SMESH::SMESH_IDSource_ptr Object, const SMESH::PointStruct &Point, const SMESH::double_array &theScaleFact, CORBA::Boolean CopyGroups, const char *MeshName) throw (SALOME::SALOME_Exception)
 
void FindCoincidentNodes (CORBA::Double Tolerance, SMESH::array_of_long_array_out GroupsOfNodes, CORBA::Boolean SeparateCornersAndMedium) throw (SALOME::SALOME_Exception)
 
void FindCoincidentNodesOnPart (SMESH::SMESH_IDSource_ptr Object, CORBA::Double Tolerance, SMESH::array_of_long_array_out GroupsOfNodes, CORBA::Boolean SeparateCornersAndMedium) throw (SALOME::SALOME_Exception)
 
void FindCoincidentNodesOnPartBut (SMESH::SMESH_IDSource_ptr Object, CORBA::Double Tolerance, SMESH::array_of_long_array_out GroupsOfNodes, const SMESH::ListOfIDSources &ExceptSubMeshOrGroups, CORBA::Boolean SeparateCornersAndMedium) throw (SALOME::SALOME_Exception)
 Finds nodes coinsident with Tolerance within Object excluding nodes within ExceptSubMeshOrGroups. More...
 
void MergeNodes (const SMESH::array_of_long_array &GroupsOfNodes, const SMESH::ListOfIDSources &NodesToKeep, CORBA::Boolean AvoidMakingHoles) throw (SALOME::SALOME_Exception)
 
void FindEqualElements (SMESH::SMESH_IDSource_ptr Object, SMESH::array_of_long_array_out GroupsOfElementsID) throw (SALOME::SALOME_Exception)
 
void MergeElements (const SMESH::array_of_long_array &GroupsOfElementsID) throw (SALOME::SALOME_Exception)
 
void MergeEqualElements () throw (SALOME::SALOME_Exception)
 
CORBA::Long MoveClosestNodeToPoint (CORBA::Double x, CORBA::Double y, CORBA::Double z, CORBA::Long nodeID) throw (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...
 
CORBA::Long FindNodeClosestTo (CORBA::Double x, CORBA::Double y, CORBA::Double z) throw (SALOME::SALOME_Exception)
 Return ID of node closest to a given point. More...
 
SMESH::long_arrayFindElementsByPoint (CORBA::Double x, CORBA::Double y, CORBA::Double z, SMESH::ElementType type) throw (SALOME::SALOME_Exception)
 Return elements of given type where the given point is IN or ON. More...
 
SMESH::long_arrayFindAmongElementsByPoint (SMESH::SMESH_IDSource_ptr elements, CORBA::Double x, CORBA::Double y, CORBA::Double z, SMESH::ElementType type) throw (SALOME::SALOME_Exception)
 Searching among the given elements, return elements of given type where the given point is IN or ON. More...
 
CORBA::Short GetPointState (CORBA::Double x, CORBA::Double y, CORBA::Double z) throw (SALOME::SALOME_Exception)
 Return point state in a closed 2D mesh in terms of TopAbs_State enumeration. More...
 
SMESH::CoincidentFreeBordersFindCoincidentFreeBorders (CORBA::Double tolerance)
 Returns groups of FreeBorder's coincident within the given tolerance. More...
 
CORBA::Short SewCoincidentFreeBorders (const SMESH::CoincidentFreeBorders &freeBorders, CORBA::Boolean createPolygons, CORBA::Boolean createPolyedrs) throw (SALOME::SALOME_Exception)
 Sew FreeBorder's of each group. More...
 
SMESH::SMESH_MeshEditor::Sew_Error SewFreeBorders (CORBA::Long FirstNodeID1, CORBA::Long SecondNodeID1, CORBA::Long LastNodeID1, CORBA::Long FirstNodeID2, CORBA::Long SecondNodeID2, CORBA::Long LastNodeID2, CORBA::Boolean CreatePolygons, CORBA::Boolean CreatePolyedrs) throw (SALOME::SALOME_Exception)
 
SMESH::SMESH_MeshEditor::Sew_Error SewConformFreeBorders (CORBA::Long FirstNodeID1, CORBA::Long SecondNodeID1, CORBA::Long LastNodeID1, CORBA::Long FirstNodeID2, CORBA::Long SecondNodeID2) throw (SALOME::SALOME_Exception)
 
SMESH::SMESH_MeshEditor::Sew_Error SewBorderToSide (CORBA::Long FirstNodeIDOnFreeBorder, CORBA::Long SecondNodeIDOnFreeBorder, CORBA::Long LastNodeIDOnFreeBorder, CORBA::Long FirstNodeIDOnSide, CORBA::Long LastNodeIDOnSide, CORBA::Boolean CreatePolygons, CORBA::Boolean CreatePolyedrs) throw (SALOME::SALOME_Exception)
 
SMESH::SMESH_MeshEditor::Sew_Error SewSideElements (const SMESH::long_array &IDsOfSide1Elements, const SMESH::long_array &IDsOfSide2Elements, CORBA::Long NodeID1OfSide1ToMerge, CORBA::Long NodeID1OfSide2ToMerge, CORBA::Long NodeID2OfSide1ToMerge, CORBA::Long NodeID2OfSide2ToMerge) throw (SALOME::SALOME_Exception)
 
CORBA::Boolean ChangeElemNodes (CORBA::Long ide, const SMESH::long_array &newIDs) throw (SALOME::SALOME_Exception)
 Set new nodes for given element. More...
 
SMESH::SMESH_Group_ptr DoubleElements (SMESH::SMESH_IDSource_ptr theElements, const char *theGroupName) throw (SALOME::SALOME_Exception)
 Duplicates given elements, i.e. More...
 
CORBA::Boolean DoubleNodes (const SMESH::long_array &theNodes, const SMESH::long_array &theModifiedElems) throw (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
CORBA::Boolean DoubleNode (CORBA::Long theNodeId, const SMESH::long_array &theModifiedElems) throw (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...
 
CORBA::Boolean DoubleNodeGroup (SMESH::SMESH_GroupBase_ptr theNodes, SMESH::SMESH_GroupBase_ptr theModifiedElems) throw (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::SMESH_Group_ptr DoubleNodeGroupNew (SMESH::SMESH_GroupBase_ptr theNodes, SMESH::SMESH_GroupBase_ptr theModifiedElems) throw (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
CORBA::Boolean DoubleNodeGroups (const SMESH::ListOfGroups &theNodes, const SMESH::ListOfGroups &theModifiedElems) throw (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::SMESH_Group_ptr DoubleNodeGroupsNew (const SMESH::ListOfGroups &theNodes, const SMESH::ListOfGroups &theModifiedElems) throw (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
CORBA::Boolean DoubleNodeElem (const SMESH::long_array &theElems, const SMESH::long_array &theNodesNot, const SMESH::long_array &theAffectedElems) throw (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
CORBA::Boolean DoubleNodeElemInRegion (const SMESH::long_array &theElems, const SMESH::long_array &theNodesNot, GEOM::GEOM_Object_ptr theShape) throw (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
CORBA::Boolean DoubleNodeElemGroup (SMESH::SMESH_GroupBase_ptr theElems, SMESH::SMESH_GroupBase_ptr theNodesNot, SMESH::SMESH_GroupBase_ptr theAffectedElems) throw (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
SMESH::SMESH_Group_ptr DoubleNodeElemGroupNew (SMESH::SMESH_GroupBase_ptr theElems, SMESH::SMESH_GroupBase_ptr theNodesNot, SMESH::SMESH_GroupBase_ptr theAffectedElems) throw (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements Works as DoubleNodeElemGroup(), but returns a new group with newly created elements. More...
 
SMESH::ListOfGroupsDoubleNodeElemGroup2New (SMESH::SMESH_GroupBase_ptr theElems, SMESH::SMESH_GroupBase_ptr theNodesNot, SMESH::SMESH_GroupBase_ptr theAffectedElems, CORBA::Boolean theElemGroupNeeded, CORBA::Boolean theNodeGroupNeeded) throw (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements Works as DoubleNodeElemGroup(), but returns a new group with newly created elements. More...
 
CORBA::Boolean DoubleNodeElemGroupInRegion (SMESH::SMESH_GroupBase_ptr theElems, SMESH::SMESH_GroupBase_ptr theNodesNot, GEOM::GEOM_Object_ptr theShape) throw (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
CORBA::Boolean DoubleNodeElemGroups (const SMESH::ListOfGroups &theElems, const SMESH::ListOfGroups &theNodesNot, const SMESH::ListOfGroups &theAffectedElems) throw (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::SMESH_Group_ptr DoubleNodeElemGroupsNew (const SMESH::ListOfGroups &theElems, const SMESH::ListOfGroups &theNodesNot, const SMESH::ListOfGroups &theAffectedElems) throw (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements Works as DoubleNodeElemGroups(), but returns a new group with newly created elements. More...
 
SMESH::ListOfGroupsDoubleNodeElemGroups2New (const SMESH::ListOfGroups &theElems, const SMESH::ListOfGroups &theNodesNot, const SMESH::ListOfGroups &theAffectedElems, CORBA::Boolean theElemGroupNeeded, CORBA::Boolean theNodeGroupNeeded) throw (SALOME::SALOME_Exception)
 Creates a hole in a mesh by doubling the nodes of some particular elements Works as DoubleNodeElemGroups(), but returns a new group with newly created elements. More...
 
CORBA::Boolean DoubleNodeElemGroupsInRegion (const SMESH::ListOfGroups &theElems, const SMESH::ListOfGroups &theNodesNot, GEOM::GEOM_Object_ptr theShape) throw (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::ListOfGroupsAffectedElemGroupsInRegion (const SMESH::ListOfGroups &theElems, const SMESH::ListOfGroups &theNodesNot, GEOM::GEOM_Object_ptr theShape) throw (SALOME::SALOME_Exception)
 Identify the elements that will be affected by node duplication (actual duplication is not performed. More...
 
CORBA::Boolean DoubleNodesOnGroupBoundaries (const SMESH::ListOfGroups &theDomains, CORBA::Boolean createJointElems, CORBA::Boolean onAllBoundaries) throw (SALOME::SALOME_Exception)
 Double nodes on shared faces between groups of volumes and create flat elements on demand. More...
 
CORBA::Boolean CreateFlatElementsOnFacesGroups (const SMESH::ListOfGroups &theGroupsOfFaces) throw (SALOME::SALOME_Exception)
 Double nodes on some external faces and create flat elements. More...
 
void CreateHoleSkin (CORBA::Double radius, GEOM::GEOM_Object_ptr theShape, const char *groupName, const SMESH::double_array &theNodesCoords, SMESH::array_of_long_array_out GroupsOfNodes) throw (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...
 
CORBA::Boolean Make2DMeshFrom3D () throw (SALOME::SALOME_Exception)
 Generated skin mesh (containing 2D cells) from 3D mesh The created 2D mesh elements based on nodes of free faces of boundary volumes. More...
 
SMESH::SMESH_Mesh_ptr MakeBoundaryMesh (SMESH::SMESH_IDSource_ptr elements, SMESH::Bnd_Dimension dimension, const char *groupName, const char *meshName, CORBA::Boolean toCopyElements, CORBA::Boolean toCopyMissingBondary, SMESH::SMESH_Group_out group) throw (SALOME::SALOME_Exception)
 Creates missing boundary elements. More...
 
CORBA::Long MakeBoundaryElements (SMESH::Bnd_Dimension dimension, const char *groupName, const char *meshName, CORBA::Boolean toCopyAll, const SMESH::ListOfIDSources &groups, SMESH::SMESH_Mesh_out mesh, SMESH::SMESH_Group_out group) throw (SALOME::SALOME_Exception)
 Creates missing boundary elements. More...
 

Static Public Member Functions

static bool IsTemporaryIDSource (SMESH::SMESH_IDSource_ptr &idSource)
 
static CORBA::Long * GetTemporaryIDs (SMESH::SMESH_IDSource_ptr &idSource, int &nbIds)
 

Private Types

enum  IDSource_Error { IDSource_OK, IDSource_INVALID, IDSource_EMPTY }
 

Private Member Functions

::SMESH_MeshEditorgetEditor ()
 < private methods More...
 
SMESHDS_MeshgetMeshDS ()
 
MeshEditor_I::TPreviewMeshgetPreviewMesh (SMDSAbs_ElementType previewType=SMDSAbs_All)
 Initialize and return myPreviewMesh. More...
 
void declareMeshModified (bool isReComputeSafe)
 Increment mesh modif time and optionally record that the performed modification may influence further mesh re-compute. More...
 
void initData (bool deleteSearchers=true)
 Clear myLastCreated* or myPreviewData. More...
 
SMESH::ListOfGroupsgetGroups (const std::list< int > *groupIDs) throw (SALOME::SALOME_Exception)
 Return groups by their IDs. More...
 
SMESH::ListOfGroupsmirror (TIDSortedElemSet &IDsOfElements, const SMESH::AxisStruct &Axis, SMESH::SMESH_MeshEditor::MirrorType MirrorType, CORBA::Boolean Copy, bool MakeGroups,::SMESH_Mesh *TargetMesh=0) throw (SALOME::SALOME_Exception)
 
SMESH::ListOfGroupstranslate (TIDSortedElemSet &IDsOfElements, const SMESH::DirStruct &Vector, CORBA::Boolean Copy, bool MakeGroups,::SMESH_Mesh *TargetMesh=0) throw (SALOME::SALOME_Exception)
 
SMESH::ListOfGroupsrotate (TIDSortedElemSet &IDsOfElements, const SMESH::AxisStruct &Axis, CORBA::Double Angle, CORBA::Boolean Copy, bool MakeGroups,::SMESH_Mesh *TargetMesh=0) throw (SALOME::SALOME_Exception)
 
SMESH::ListOfGroupsscale (SMESH::SMESH_IDSource_ptr theObject, const SMESH::PointStruct &thePoint, const SMESH::double_array &theScaleFact, CORBA::Boolean theCopy, bool theMakeGroups,::SMESH_Mesh *theTargetMesh=0) throw (SALOME::SALOME_Exception)
 
void convertToQuadratic (CORBA::Boolean theForce3d, CORBA::Boolean theToBiQuad, SMESH::SMESH_IDSource_ptr theObject=SMESH::SMESH_IDSource::_nil()) throw (SALOME::SALOME_Exception)
 Makes a part of the mesh quadratic or bi-quadratic. More...
 
SMESH::SMESH_Mesh_ptr makeMesh (const char *theMeshName)
 
void dumpGroupsList (SMESH::TPythonDump &theDumpPython, const SMESH::ListOfGroups *theGroupList)
 
std::string generateGroupName (const std::string &thePrefix)
 Generates the unique group name. More...
 
void prepareIdSource (SMESH::SMESH_IDSource_ptr theObject)
 Prepare SMESH_IDSource for work. More...
 
bool idSourceToSet (SMESH::SMESH_IDSource_ptr theIDSource, const SMESHDS_Mesh *theMeshDS, TIDSortedElemSet &theElemSet, const SMDSAbs_ElementType theType, const bool emptyIfIsMesh=false, IDSource_Error *error=0)
 Retrieve elements of given type from SMESH_IDSource. More...
 
void findCoincidentNodes (TIDSortedNodeSet &Nodes, CORBA::Double Tolerance, SMESH::array_of_long_array_out GroupsOfNodes, CORBA::Boolean SeparateCornersAndMedium)
 

Private Attributes

SMESH_Mesh_imyMesh_i
 < fields More...
 
SMESH_MeshmyMesh
 
::SMESH_MeshEditor myEditor
 
bool myIsPreviewMode
 
MeshEditor_I::TPreviewMeshmyPreviewMesh
 
::SMESH_MeshEditormyPreviewEditor
 
SMESH::MeshPreviewStruct_var myPreviewData
 

Member Enumeration Documentation

Enumerator
IDSource_OK 
IDSource_INVALID 
IDSource_EMPTY 

Constructor & Destructor Documentation

SMESH_MeshEditor_i::SMESH_MeshEditor_i ( SMESH_Mesh_i theMesh,
bool  isPreview 
)
SMESH_MeshEditor_i::~SMESH_MeshEditor_i ( )
virtual

Destructor.

References SMESH_Gen_i::GetPOA(), myPreviewEditor, and myPreviewMesh.

Member Function Documentation

CORBA::Long SMESH_MeshEditor_i::Add0DElement ( CORBA::Long  IDOfNode,
CORBA::Boolean  DuplicateElements 
) throw (SALOME::SALOME_Exception)
CORBA::Long SMESH_MeshEditor_i::AddBall ( CORBA::Long  IDOfNodem,
CORBA::Double  diameter 
) throw (SALOME::SALOME_Exception)

Create a ball element on the given node.

References SMDS_MeshElement::GetID(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Long SMESH_MeshEditor_i::AddEdge ( const SMESH::long_array IDsOfNodes) throw (SALOME::SALOME_Exception)

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

References DriverMED::FindNode(), SMDS_MeshElement::GetID(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Long SMESH_MeshEditor_i::AddFace ( const SMESH::long_array IDsOfNodes) throw (SALOME::SALOME_Exception)
CORBA::Long SMESH_MeshEditor_i::AddNode ( CORBA::Double  x,
CORBA::Double  y,
CORBA::Double  z 
) throw (SALOME::SALOME_Exception)

Methods for creation new elements.

Add a new node.

Returns ID of created element or 0 if element not created

References SMDS_MeshElement::GetID(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Long SMESH_MeshEditor_i::AddPolygonalFace ( const SMESH::long_array IDsOfNodes) throw (SALOME::SALOME_Exception)
CORBA::Long SMESH_MeshEditor_i::AddPolyhedralVolume ( const SMESH::long_array IDsOfNodes,
const SMESH::long_array Quantities 
) throw (SALOME::SALOME_Exception)
CORBA::Long SMESH_MeshEditor_i::AddPolyhedralVolumeByFaces ( const SMESH::long_array IdsOfFaces) throw (SALOME::SALOME_Exception)
CORBA::Long SMESH_MeshEditor_i::AddQuadPolygonalFace ( const SMESH::long_array IDsOfNodes) throw (SALOME::SALOME_Exception)
CORBA::Long SMESH_MeshEditor_i::AddVolume ( const SMESH::long_array IDsOfNodes) throw (SALOME::SALOME_Exception)

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

References SMDS_MeshElement::GetID(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::ListOfGroups * SMESH_MeshEditor_i::AdvancedExtrusion ( const SMESH::long_array theIDsOfElements,
const SMESH::DirStruct theStepVector,
CORBA::Long  theNbOfSteps,
CORBA::Long  theExtrFlags,
CORBA::Double  theSewTolerance,
CORBA::Boolean  theMakeGroups 
) throw (SALOME::SALOME_Exception)
SMESH::ListOfGroups * SMESH_MeshEditor_i::AffectedElemGroupsInRegion ( const SMESH::ListOfGroups theElems,
const SMESH::ListOfGroups theNodesNot,
GEOM::GEOM_Object_ptr  theShape 
) throw (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()

References SMESH::EDGE, SMESH::FACE, SMESH_Gen_i::GeomObjectToShape(), SMDS_MeshElement::GetID(), SMESH_Gen_i::GetSMESHGen(), listOfGroupToSet(), SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, SMESH::throwCorbaException(), and SMESH::VOLUME.

CORBA::Long SMESH_MeshEditor_i::BestSplit ( CORBA::Long  IDOfQuad,
SMESH::NumericalFunctor_ptr  Criterion 
) throw (SALOME::SALOME_Exception)

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.

References SMESH::NumericalFunctor_i::GetNumericalFunctor(), SMESH_Gen_i::GetServant(), SMDS_MeshElement::GetType(), SMDS_MeshElement::NbNodes(), SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::ChangeElemNodes ( CORBA::Long  ide,
const SMESH::long_array newIDs 
) throw (SALOME::SALOME_Exception)

Set new nodes for given element.

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

Parameters
ide- element id
newIDs- new node ids
Return values
CORBA::Boolean- true if result is OK

References SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

void SMESH_MeshEditor_i::ClearLastCreated ( ) throw (SALOME::SALOME_Exception)

Clears sequences of last created elements and nodes.

References getEditor(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::ConvertFromQuadratic ( ) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::ConvertFromQuadraticObject ( SMESH::SMESH_IDSource_ptr  theObject) throw (SALOME::SALOME_Exception)

Makes a part of the mesh linear.

References SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

void SMESH_MeshEditor_i::ConvertToBiQuadratic ( CORBA::Boolean  theForce3d,
SMESH::SMESH_IDSource_ptr  theObject 
) throw (SALOME::SALOME_Exception)

Makes a part of the mesh bi-quadratic.

void SMESH_MeshEditor_i::ConvertToQuadratic ( CORBA::Boolean  Force3d) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::convertToQuadratic ( CORBA::Boolean  theForce3d,
CORBA::Boolean  theToBiQuad,
SMESH::SMESH_IDSource_ptr  theObject = SMESH::SMESH_IDSource::_nil() 
) throw (SALOME::SALOME_Exception)
private

Makes a part of the mesh quadratic or bi-quadratic.

References SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

void SMESH_MeshEditor_i::ConvertToQuadraticObject ( CORBA::Boolean  theForce3d,
SMESH::SMESH_IDSource_ptr  theObject 
) throw (SALOME::SALOME_Exception)

Makes a part of the mesh quadratic.

SMESH::SMESH_IDSource_ptr SMESH_MeshEditor_i::Create0DElementsOnAllNodes ( SMESH::SMESH_IDSource_ptr  theObject,
const char *  theGroupName,
CORBA::Boolean  theDuplicateElements 
) throw (SALOME::SALOME_Exception)

Create 0D elements on all nodes of the given object except those nodes on which a 0D element already exists.

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.

References SMESH::ELEM0D, SMDSAbs_All, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::CreateFlatElementsOnFacesGroups ( const SMESH::ListOfGroups theGroupsOfFaces) throw (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

References MeshEditor_I::arrayToSet(), SMESH::NODE, SMDSAbs_All, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

void SMESH_MeshEditor_i::CreateHoleSkin ( CORBA::Double  radius,
GEOM::GEOM_Object_ptr  theShape,
const char *  groupName,
const SMESH::double_array theNodesCoords,
SMESH::array_of_long_array_out  GroupsOfNodes 
) throw (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).

Identify all the elements around a geom shape, get the faces delimiting the hole.

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

Build groups of volume to remove, groups of faces to replace on the skin of the object, groups of faces to remove inside the 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).

References SMESH_Gen_i::GeomObjectToShape(), SMESH_MeshAlgos::GetNodeSearcher(), SMESH_Gen_i::GetSMESHGen(), MeshEditor_I::TSearchersDeleter::Set(), SMESH_CATCH, SMESH_TRY, MeshEditor_I::theNodeSearcher, MeshEditor_I::theSearchersDeleter, and SMESH::throwCorbaException().

void SMESH_MeshEditor_i::declareMeshModified ( bool  isReComputeSafe)
private

Increment mesh modif time and optionally record that the performed modification may influence further mesh re-compute.

Parameters
[in]isReComputeSafe- true if the modification does not influence further mesh re-compute

References myMesh.

Referenced by ConvertFromQuadratic(), Make2DMeshFrom3D(), MergeEqualElements(), and RemoveOrphanNodes().

CORBA::Boolean SMESH_MeshEditor_i::DeleteDiag ( CORBA::Long  NodeID1,
CORBA::Long  NodeID2 
) throw (SALOME::SALOME_Exception)
SMESH::SMESH_Group_ptr SMESH_MeshEditor_i::DoubleElements ( SMESH::SMESH_IDSource_ptr  theElements,
const char *  theGroupName 
) throw (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 existng 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()

References SMDS_MeshGroup::Add(), SMDSAbs_All, SMESHDS_Group::SMDSGroup(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::DoubleNode ( CORBA::Long  theNodeId,
const SMESH::long_array theModifiedElems 
) throw (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()

References SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::DoubleNodeElem ( const SMESH::long_array theElems,
const SMESH::long_array theNodesNot,
const SMESH::long_array theAffectedElems 
) throw (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()

References MeshEditor_I::arrayToSet(), SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::DoubleNodeElemGroup ( SMESH::SMESH_GroupBase_ptr  theElems,
SMESH::SMESH_GroupBase_ptr  theNodesNot,
SMESH::SMESH_GroupBase_ptr  theAffectedElems 
) throw (SALOME::SALOME_Exception)

Creates a hole in a mesh by doubling the nodes of some particular 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
TRUE if operation has been completed successfully, FALSE otherwise
See Also
DoubleNodes(), DoubleNodeGroups(), DoubleNodeElemGroupNew()
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()

References SMESH::NODE, SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::ListOfGroups * SMESH_MeshEditor_i::DoubleNodeElemGroup2New ( SMESH::SMESH_GroupBase_ptr  theElems,
SMESH::SMESH_GroupBase_ptr  theNodesNot,
SMESH::SMESH_GroupBase_ptr  theAffectedElems,
CORBA::Boolean  theElemGroupNeeded,
CORBA::Boolean  theNodeGroupNeeded 
) throw (SALOME::SALOME_Exception)

Creates a hole in a mesh by doubling the nodes of some particular elements Works as DoubleNodeElemGroup(), 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()

References SMESH::NODE, SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::DoubleNodeElemGroupInRegion ( SMESH::SMESH_GroupBase_ptr  theElems,
SMESH::SMESH_GroupBase_ptr  theNodesNot,
GEOM::GEOM_Object_ptr  theShape 
) throw (SALOME::SALOME_Exception)

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

Parameters
theElems- group of 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()

References SMESH_Gen_i::GeomObjectToShape(), SMESH_Gen_i::GetSMESHGen(), SMESH::NODE, SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::SMESH_Group_ptr SMESH_MeshEditor_i::DoubleNodeElemGroupNew ( SMESH::SMESH_GroupBase_ptr  theElems,
SMESH::SMESH_GroupBase_ptr  theNodesNot,
SMESH::SMESH_GroupBase_ptr  theAffectedElems 
) throw (SALOME::SALOME_Exception)

Creates a hole in a mesh by doubling the nodes of some particular elements Works as DoubleNodeElemGroup(), 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()
CORBA::Boolean SMESH_MeshEditor_i::DoubleNodeElemGroups ( const SMESH::ListOfGroups theElems,
const SMESH::ListOfGroups theNodesNot,
const SMESH::ListOfGroups theAffectedElems 
) throw (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.

Creates a hole in a mesh by doubling the nodes of some particular 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
TRUE if operation has been completed successfully, FALSE otherwise
See Also
DoubleNodeGroup(), DoubleNodes(), DoubleNodeElemGroupsNew()

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()

References listOfGroupToSet(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::ListOfGroups * SMESH_MeshEditor_i::DoubleNodeElemGroups2New ( const SMESH::ListOfGroups theElems,
const SMESH::ListOfGroups theNodesNot,
const SMESH::ListOfGroups theAffectedElems,
CORBA::Boolean  theElemGroupNeeded,
CORBA::Boolean  theNodeGroupNeeded 
) throw (SALOME::SALOME_Exception)

Creates a hole in a mesh by doubling the nodes of some particular elements Works as DoubleNodeElemGroups(), 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()

References listOfGroupToSet(), SMESH::NODE, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::DoubleNodeElemGroupsInRegion ( const SMESH::ListOfGroups theElems,
const SMESH::ListOfGroups theNodesNot,
GEOM::GEOM_Object_ptr  theShape 
) throw (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()

References SMESH_Gen_i::GeomObjectToShape(), SMESH_Gen_i::GetSMESHGen(), listOfGroupToSet(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::SMESH_Group_ptr SMESH_MeshEditor_i::DoubleNodeElemGroupsNew ( const SMESH::ListOfGroups theElems,
const SMESH::ListOfGroups theNodesNot,
const SMESH::ListOfGroups theAffectedElems 
) throw (SALOME::SALOME_Exception)

Creates a hole in a mesh by doubling the nodes of some particular elements Works as DoubleNodeElemGroups(), 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()
CORBA::Boolean SMESH_MeshEditor_i::DoubleNodeElemInRegion ( const SMESH::long_array theElems,
const SMESH::long_array theNodesNot,
GEOM::GEOM_Object_ptr  theShape 
) throw (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()

References MeshEditor_I::arrayToSet(), SMESH_Gen_i::GeomObjectToShape(), SMESH_Gen_i::GetSMESHGen(), SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::DoubleNodeGroup ( SMESH::SMESH_GroupBase_ptr  theNodes,
SMESH::SMESH_GroupBase_ptr  theModifiedElems 
) throw (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()

References SMESH::NODE, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::SMESH_Group_ptr SMESH_MeshEditor_i::DoubleNodeGroupNew ( SMESH::SMESH_GroupBase_ptr  theNodes,
SMESH::SMESH_GroupBase_ptr  theModifiedElems 
) throw (SALOME::SALOME_Exception)

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

Works as DoubleNodeGroup(), 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()

References SMESH::NODE, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::DoubleNodeGroups ( const SMESH::ListOfGroups theNodes,
const SMESH::ListOfGroups theModifiedElems 
) throw (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()

References SMESH::NODE, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::SMESH_Group_ptr SMESH_MeshEditor_i::DoubleNodeGroupsNew ( const SMESH::ListOfGroups theNodes,
const SMESH::ListOfGroups theModifiedElems 
) throw (SALOME::SALOME_Exception)

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

Works as DoubleNodeGroups(), 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
DoubleNodeGroups()

References SMESH::NODE.

CORBA::Boolean SMESH_MeshEditor_i::DoubleNodes ( const SMESH::long_array theNodes,
const SMESH::long_array theModifiedElems 
) throw (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()

References SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::DoubleNodesOnGroupBoundaries ( const SMESH::ListOfGroups theDomains,
CORBA::Boolean  createJointElems,
CORBA::Boolean  onAllBoundaries 
) throw (SALOME::SALOME_Exception)

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

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 create on the boundary between theDomains and the rest mesh
Returns
TRUE if operation has been completed successfully, FALSE otherwise

The list of groups must contain at least two groups. The groups have to be disjoint: no common element into two different groups. The nodes of the internal faces at the boundaries of the groups are doubled. Optionally, the internal faces are replaced by flat elements. Triangles are transformed into prisms, and quadrangles into hexahedrons. The flat elements are stored in groups of volumes. These groups are named according to the position of the group in the list: the group j_n_p is the group of the flat elements that are built between the group #n and the group #p in the list. If there is no shared faces between the group #n and the group #p in the list, the group j_n_p is not created. All the flat elements are gathered into the group named "joints3D" (or "joints2D" in 2D situation). The flat element of the multiple junctions between the simple junction are stored in a group named "jointsMultiples".

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

References MeshEditor_I::arrayToSet(), SMDSAbs_All, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

void SMESH_MeshEditor_i::dumpGroupsList ( SMESH::TPythonDump theDumpPython,
const SMESH::ListOfGroups theGroupList 
)
private
SMESH::ListOfGroups * SMESH_MeshEditor_i::ExtrusionAlongPathObjects ( const SMESH::ListOfIDSources nodes,
const SMESH::ListOfIDSources edges,
const SMESH::ListOfIDSources faces,
SMESH::SMESH_IDSource_ptr  PathMesh,
GEOM::GEOM_Object_ptr  PathShape,
CORBA::Long  NodeStart,
CORBA::Boolean  HasAngles,
const SMESH::double_array Angles,
CORBA::Boolean  LinearVariation,
CORBA::Boolean  HasRefPoint,
const SMESH::PointStruct RefPoint,
bool  MakeGroups,
SMESH::SMESH_MeshEditor::Extrusion_Error Error 
) throw (SALOME::SALOME_Exception)
SMESH::ListOfGroups * SMESH_MeshEditor_i::ExtrusionByNormal ( const SMESH::ListOfIDSources objects,
CORBA::Double  stepSize,
CORBA::Long  nbOfSteps,
CORBA::Boolean  byAverageNormal,
CORBA::Boolean  useInputElemsOnly,
CORBA::Boolean  makeGroups,
CORBA::Short  dim 
) throw (SALOME::SALOME_Exception)
SMESH::ListOfGroups * SMESH_MeshEditor_i::ExtrusionSweepObjects ( const SMESH::ListOfIDSources theNodes,
const SMESH::ListOfIDSources theEdges,
const SMESH::ListOfIDSources theFaces,
const SMESH::DirStruct theStepVector,
CORBA::Long  theNbOfSteps,
const SMESH::double_array theScaleFactors,
CORBA::Boolean  theLinearVariation,
const SMESH::double_array theBasePoint,
CORBA::Boolean  theToMakeGroups 
) throw (SALOME::SALOME_Exception)

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

Parameters
[in]edges- edges to extrude: a list including groups, sub-meshes or a mesh
[in]faces- faces to extrude: a list including groups, sub-meshes or a mesh
[in]nodes- nodes to extrude: a list including groups, sub-meshes or a mesh
[in]stepVector- vector giving direction and distance of an extrusion step
[in]nbOfSteps- number of elements to generate from one element
[in]toMakeGroups- if true, new elements will be included into new groups corresponding to groups the input elements included in.
Returns
ListOfGroups - new groups craeted if toMakeGroups is true

References MeshEditor_I::TPreviewMesh::Copy(), SMESH::NODE, MeshEditor_I::ExtrusionParams::SetNoGroups(), SMDSAbs_All, SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::long_array * SMESH_MeshEditor_i::FindAmongElementsByPoint ( SMESH::SMESH_IDSource_ptr  elements,
CORBA::Double  x,
CORBA::Double  y,
CORBA::Double  z,
SMESH::ElementType  type 
) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::FindCoincidentNodes ( CORBA::Double  Tolerance,
SMESH::array_of_long_array_out  GroupsOfNodes,
CORBA::Boolean  SeparateCornersAndMedium 
) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::findCoincidentNodes ( TIDSortedNodeSet Nodes,
CORBA::Double  Tolerance,
SMESH::array_of_long_array_out  GroupsOfNodes,
CORBA::Boolean  SeparateCornersAndMedium 
)
private

References getEditor().

void SMESH_MeshEditor_i::FindCoincidentNodesOnPart ( SMESH::SMESH_IDSource_ptr  Object,
CORBA::Double  Tolerance,
SMESH::array_of_long_array_out  GroupsOfNodes,
CORBA::Boolean  SeparateCornersAndMedium 
) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::FindCoincidentNodesOnPartBut ( SMESH::SMESH_IDSource_ptr  Object,
CORBA::Double  Tolerance,
SMESH::array_of_long_array_out  GroupsOfNodes,
const SMESH::ListOfIDSources ExceptSubMeshOrGroups,
CORBA::Boolean  SeparateCornersAndMedium 
) throw (SALOME::SALOME_Exception)

Finds nodes coinsident with Tolerance within Object excluding nodes within ExceptSubMeshOrGroups.

References cast2Node, MeshEditor_I::idSourceToNodeSet(), SMESH::NODE, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::long_array * SMESH_MeshEditor_i::FindElementsByPoint ( CORBA::Double  x,
CORBA::Double  y,
CORBA::Double  z,
SMESH::ElementType  type 
) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::FindEqualElements ( SMESH::SMESH_IDSource_ptr  Object,
SMESH::array_of_long_array_out  GroupsOfElementsID 
) throw (SALOME::SALOME_Exception)
CORBA::Long SMESH_MeshEditor_i::FindNodeClosestTo ( CORBA::Double  x,
CORBA::Double  y,
CORBA::Double  z 
) throw (SALOME::SALOME_Exception)
std::string SMESH_MeshEditor_i::generateGroupName ( const std::string &  thePrefix)
private

Generates the unique group name.

Parameters
thePrefixname prefix
Returns
unique name

References SMESH_Mesh_i::GetGroups(), and myMesh_i.

SMESH_MeshEditor & SMESH_MeshEditor_i::getEditor ( )
private

< private methods

Return either myEditor or myPreviewEditor depending on myIsPreviewMode.

WARNING: in preview mode call getPreviewMesh() before getEditor()!

References getPreviewMesh(), myEditor, myIsPreviewMode, myPreviewEditor, and myPreviewMesh.

Referenced by ClearLastCreated(), ConvertFromQuadratic(), findCoincidentNodes(), GetLastCreatedElems(), GetLastCreatedNodes(), GetLastError(), GetPreviewData(), initData(), Make2DMeshFrom3D(), MergeEqualElements(), and RemoveOrphanNodes().

SMESH::ListOfGroups * SMESH_MeshEditor_i::getGroups ( const std::list< int > *  groupIDs) throw (SALOME::SALOME_Exception)
private

Return groups by their IDs.

References SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::long_array * SMESH_MeshEditor_i::GetLastCreatedElems ( ) throw (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 an empty list.

Returns list of it's IDs of created elements.

Return values
SMESH::long_array*- list of elements' ID

References getEditor(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::long_array * SMESH_MeshEditor_i::GetLastCreatedNodes ( ) throw (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 an empty list.

Returns list of it's IDs of created nodes.

Return values
SMESH::long_array*- list of node ID

References getEditor(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::ComputeError * SMESH_MeshEditor_i::GetLastError ( ) throw (SALOME::SALOME_Exception)

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

References getEditor(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::GetMesh ( )

Returns the mesh.

References myMesh_i.

Referenced by GetPreviewData().

SMESHDS_Mesh* SMESH_MeshEditor_i::getMeshDS ( )
private
int SMESH_MeshEditor_i::GetMeshId ( ) const

Return edited mesh ID.

Return values
int- mesh ID

Referenced by SMESH::TPythonDump::operator<<().

CORBA::Short SMESH_MeshEditor_i::GetPointState ( CORBA::Double  x,
CORBA::Double  y,
CORBA::Double  z 
) throw (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.

References SMESH_MeshAlgos::GetElementSearcher(), SMESH_ElementSearcher::GetPointState(), MeshEditor_I::TSearchersDeleter::Set(), SMESH_CATCH, SMESH_TRY, MeshEditor_I::theElementSearcher, MeshEditor_I::theSearchersDeleter, and SMESH::throwCorbaException().

TPreviewMesh * SMESH_MeshEditor_i::getPreviewMesh ( SMDSAbs_ElementType  previewElements = SMDSAbs_All)
private

Initialize and return myPreviewMesh.

Parameters
previewElements- type of elements to show in preview

WARNING: call it once per method!

References SMESH_Mesh::Clear(), myPreviewEditor, myPreviewMesh, and MeshEditor_I::TPreviewMesh::myPreviewType.

Referenced by getEditor().

CORBA::Long * SMESH_MeshEditor_i::GetTemporaryIDs ( SMESH::SMESH_IDSource_ptr &  idSource,
int nbIds 
)
static
bool SMESH_MeshEditor_i::idSourceToSet ( SMESH::SMESH_IDSource_ptr  theIDSource,
const SMESHDS_Mesh theMeshDS,
TIDSortedElemSet theElemSet,
const SMDSAbs_ElementType  theType,
const bool  emptyIfIsMesh = false,
IDSource_Error error = 0 
)
private

Retrieve elements of given type from SMESH_IDSource.

References MeshEditor_I::arrayToSet(), getMeshDS(), IDSource_EMPTY, IDSource_INVALID, IDSource_OK, SMESH::NODE, prepareIdSource(), SMDSAbs_All, and SMDSAbs_Node.

void SMESH_MeshEditor_i::initData ( bool  deleteSearchers = true)
private
CORBA::Boolean SMESH_MeshEditor_i::InverseDiag ( CORBA::Long  NodeID1,
CORBA::Long  NodeID2 
) throw (SALOME::SALOME_Exception)
bool SMESH_MeshEditor_i::IsTemporaryIDSource ( SMESH::SMESH_IDSource_ptr &  idSource)
static
SMESH::double_array * SMESH_MeshEditor_i::LinearAnglesVariation ( SMESH::SMESH_Mesh_ptr  thePathMesh,
GEOM::GEOM_Object_ptr  thePathShape,
const SMESH::double_array theAngles 
)

Compute rotation angles for ExtrusionAlongPath as linear variation of given angles along path steps.

Parameters
PathMeshmesh containing a 1D sub-mesh on the edge, along which proceeds the extrusion
PathShapeis shape(edge); as the mesh can be complex, the edge is used to define the sub-mesh for the path

References SMESH_Gen_i::GeomObjectToShape(), SMESH_Mesh_i::GetImpl(), and SMESH_Gen_i::GetSMESHGen().

CORBA::Boolean SMESH_MeshEditor_i::Make2DMeshFrom3D ( ) throw (SALOME::SALOME_Exception)

Generated 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

References declareMeshModified(), getEditor(), initData(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Long SMESH_MeshEditor_i::MakeBoundaryElements ( SMESH::Bnd_Dimension  dim,
const char *  groupName,
const char *  meshName,
CORBA::Boolean  toCopyAll,
const SMESH::ListOfIDSources groups,
SMESH::SMESH_Mesh_out  mesh,
SMESH::SMESH_Group_out  group 
) throw (SALOME::SALOME_Exception)

Creates missing boundary 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 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

References SMESH::BND_1DFROM2D, SMESH::BND_2DFROM3D, SMESH_Gen_i::CopyMesh(), SMESH_Mesh_i::CreateGroup(), SMESH_Mesh_i::GetImpl(), SMESH_Gen_i::GetSMESHGen(), SMDSAbs_Face, SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::MakeBoundaryMesh ( SMESH::SMESH_IDSource_ptr  idSource,
SMESH::Bnd_Dimension  dim,
const char *  groupName,
const char *  meshName,
CORBA::Boolean  toCopyElements,
CORBA::Boolean  toCopyExistingBondary,
SMESH::SMESH_Group_out  group 
) throw (SALOME::SALOME_Exception)

Creates missing boundary elements.

Parameters
elements- elements whose boundary is to be checked
dimension- defines type of boundary elements to create
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
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

References SMESH::BND_1DFROM2D, SMESH_Mesh_i::GetImpl(), SMDSAbs_Face, SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::SMESH_IDSource_ptr SMESH_MeshEditor_i::MakeIDSource ( const SMESH::long_array IDsOfElements,
SMESH::ElementType  type 
)
SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::makeMesh ( const char *  theMeshName)
private
void SMESH_MeshEditor_i::MergeElements ( const SMESH::array_of_long_array GroupsOfElementsID) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::MergeEqualElements ( ) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::MergeNodes ( const SMESH::array_of_long_array GroupsOfNodes,
const SMESH::ListOfIDSources NodesToKeep,
CORBA::Boolean  AvoidMakingHoles 
) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::Mirror ( const SMESH::long_array IDsOfElements,
const SMESH::AxisStruct Axis,
SMESH::SMESH_MeshEditor::MirrorType  MirrorType,
CORBA::Boolean  Copy 
) throw (SALOME::SALOME_Exception)
SMESH::ListOfGroups * SMESH_MeshEditor_i::mirror ( TIDSortedElemSet IDsOfElements,
const SMESH::AxisStruct Axis,
SMESH::SMESH_MeshEditor::MirrorType  MirrorType,
CORBA::Boolean  Copy,
bool  MakeGroups,
::SMESH_Mesh TargetMesh = 0 
) throw (SALOME::SALOME_Exception)
private
SMESH::ListOfGroups * SMESH_MeshEditor_i::MirrorMakeGroups ( const SMESH::long_array IDsOfElements,
const SMESH::AxisStruct Mirror,
SMESH::SMESH_MeshEditor::MirrorType  MirrorType 
) throw (SALOME::SALOME_Exception)
SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::MirrorMakeMesh ( const SMESH::long_array IDsOfElements,
const SMESH::AxisStruct Mirror,
SMESH::SMESH_MeshEditor::MirrorType  MirrorType,
CORBA::Boolean  CopyGroups,
const char *  MeshName 
) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::MirrorObject ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::AxisStruct Axis,
SMESH::SMESH_MeshEditor::MirrorType  MirrorType,
CORBA::Boolean  Copy 
) throw (SALOME::SALOME_Exception)
SMESH::ListOfGroups * SMESH_MeshEditor_i::MirrorObjectMakeGroups ( SMESH::SMESH_IDSource_ptr  Object,
const SMESH::AxisStruct Mirror,
SMESH::SMESH_MeshEditor::MirrorType  MirrorType 
) throw (SALOME::SALOME_Exception)
SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::MirrorObjectMakeMesh ( SMESH::SMESH_IDSource_ptr  Object,
const SMESH::AxisStruct Mirror,
SMESH::SMESH_MeshEditor::MirrorType  MirrorType,
CORBA::Boolean  CopyGroups,
const char *  MeshName 
) throw (SALOME::SALOME_Exception)
CORBA::Long SMESH_MeshEditor_i::MoveClosestNodeToPoint ( CORBA::Double  x,
CORBA::Double  y,
CORBA::Double  z,
CORBA::Long  nodeID 
) throw (SALOME::SALOME_Exception)
CORBA::Boolean SMESH_MeshEditor_i::MoveNode ( CORBA::Long  NodeID,
CORBA::Double  x,
CORBA::Double  y,
CORBA::Double  z 
) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::prepareIdSource ( SMESH::SMESH_IDSource_ptr  theObject)
private

Prepare SMESH_IDSource for work.

References myMesh_i.

Referenced by idSourceToSet().

void SMESH_MeshEditor_i::QuadTo4Tri ( SMESH::SMESH_IDSource_ptr  theObject) throw (SALOME::SALOME_Exception)

Split each of quadrangles into 4 triangles.

Parameters
[in]theObject- theQuads Container of quadrangles to split.

References SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::QuadToTri ( const SMESH::long_array IDsOfElements,
SMESH::NumericalFunctor_ptr  Criterion 
) throw (SALOME::SALOME_Exception)
CORBA::Boolean SMESH_MeshEditor_i::QuadToTriObject ( SMESH::SMESH_IDSource_ptr  theObject,
SMESH::NumericalFunctor_ptr  Criterion 
) throw (SALOME::SALOME_Exception)

Split quadrangles into triangles.

References SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::RemoveElements ( const SMESH::long_array IDsOfElements) throw (SALOME::SALOME_Exception)
CORBA::Boolean SMESH_MeshEditor_i::RemoveNodes ( const SMESH::long_array IDsOfNodes) throw (SALOME::SALOME_Exception)
CORBA::Long SMESH_MeshEditor_i::RemoveOrphanNodes ( ) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::RenumberElements ( ) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::RenumberNodes ( ) throw (SALOME::SALOME_Exception)
CORBA::Boolean SMESH_MeshEditor_i::Reorient ( const SMESH::long_array IDsOfElements) throw (SALOME::SALOME_Exception)
CORBA::Long SMESH_MeshEditor_i::Reorient2D ( SMESH::SMESH_IDSource_ptr  the2Dgroup,
const SMESH::DirStruct theDirection,
CORBA::Long  theFace,
const SMESH::PointStruct thePoint 
) throw (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 elements.

References SMESH::FACE, SMESH_ElementSearcher::FindClosestTo(), SMESH_MeshAlgos::GetElementSearcher(), MeshEditor_I::getPartIOR(), SMDS_MeshElement::GetType(), MeshEditor_I::TSearchersDeleter::Set(), SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, MeshEditor_I::theElementSearcher, MeshEditor_I::theSearchersDeleter, SMESH::throwCorbaException(), SMESH::PointStruct::x, SMESH::PointStruct::y, and SMESH::PointStruct::z.

CORBA::Long SMESH_MeshEditor_i::Reorient2DBy3D ( const SMESH::ListOfIDSources faces,
SMESH::SMESH_IDSource_ptr  volumes,
CORBA::Boolean  outsideNormal 
) throw (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.

References SMDSAbs_Face, SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::ReorientObject ( SMESH::SMESH_IDSource_ptr  theObject) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::Rotate ( const SMESH::long_array IDsOfElements,
const SMESH::AxisStruct Axis,
CORBA::Double  Angle,
CORBA::Boolean  Copy 
) throw (SALOME::SALOME_Exception)
SMESH::ListOfGroups * SMESH_MeshEditor_i::rotate ( TIDSortedElemSet IDsOfElements,
const SMESH::AxisStruct Axis,
CORBA::Double  Angle,
CORBA::Boolean  Copy,
bool  MakeGroups,
::SMESH_Mesh TargetMesh = 0 
) throw (SALOME::SALOME_Exception)
private
SMESH::ListOfGroups * SMESH_MeshEditor_i::RotateMakeGroups ( const SMESH::long_array IDsOfElements,
const SMESH::AxisStruct Axis,
CORBA::Double  AngleInRadians 
) throw (SALOME::SALOME_Exception)
SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::RotateMakeMesh ( const SMESH::long_array IDsOfElements,
const SMESH::AxisStruct Axis,
CORBA::Double  AngleInRadians,
CORBA::Boolean  CopyGroups,
const char *  MeshName 
) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::RotateObject ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::AxisStruct Axis,
CORBA::Double  Angle,
CORBA::Boolean  Copy 
) throw (SALOME::SALOME_Exception)

References SMDSAbs_All.

SMESH::ListOfGroups * SMESH_MeshEditor_i::RotateObjectMakeGroups ( SMESH::SMESH_IDSource_ptr  Object,
const SMESH::AxisStruct Axis,
CORBA::Double  AngleInRadians 
) throw (SALOME::SALOME_Exception)

References SMDSAbs_All.

SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::RotateObjectMakeMesh ( SMESH::SMESH_IDSource_ptr  Object,
const SMESH::AxisStruct Axis,
CORBA::Double  AngleInRadians,
CORBA::Boolean  CopyGroups,
const char *  MeshName 
) throw (SALOME::SALOME_Exception)
SMESH::ListOfGroups * SMESH_MeshEditor_i::RotationSweepObjects ( const SMESH::ListOfIDSources nodes,
const SMESH::ListOfIDSources edges,
const SMESH::ListOfIDSources faces,
const SMESH::AxisStruct Axis,
CORBA::Double  AngleInRadians,
CORBA::Long  NbOfSteps,
CORBA::Double  Tolerance,
CORBA::Boolean  toMakeGroups 
) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::Scale ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::PointStruct thePoint,
const SMESH::double_array theScaleFact,
CORBA::Boolean  theCopy 
) throw (SALOME::SALOME_Exception)
SMESH::ListOfGroups * SMESH_MeshEditor_i::scale ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::PointStruct thePoint,
const SMESH::double_array theScaleFact,
CORBA::Boolean  theCopy,
bool  theMakeGroups,
::SMESH_Mesh theTargetMesh = 0 
) throw (SALOME::SALOME_Exception)
private
SMESH::ListOfGroups * SMESH_MeshEditor_i::ScaleMakeGroups ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::PointStruct thePoint,
const SMESH::double_array theScaleFact 
) throw (SALOME::SALOME_Exception)
SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::ScaleMakeMesh ( SMESH::SMESH_IDSource_ptr  Object,
const SMESH::PointStruct Point,
const SMESH::double_array theScaleFact,
CORBA::Boolean  CopyGroups,
const char *  MeshName 
) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::SetMeshElementOnShape ( CORBA::Long  ElementID,
CORBA::Long  ShapeID 
) throw (SALOME::SALOME_Exception)

Bind an element to a shape.

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

References SMDS_Mesh::FindElement(), SMESHDS_Mesh::IndexToShape(), SMESHDS_Mesh::MaxShapeIndex(), SMESHDS_Mesh::SetMeshElementOnShape(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

void SMESH_MeshEditor_i::SetNodeInVolume ( CORBA::Long  NodeID,
CORBA::Long  SolidID 
) throw (SALOME::SALOME_Exception)

Bind a node to a solid.

Parameters
NodeID- node ID
SolidID- vertex ID available through GEOM_Object.GetSubShapeIndices()[0]
NodeID- node ID
SolidID- vertex ID available through GEOM_Object.GetSubShapeIndices()[0]
Return values
boolean- false if NodeID or SolidID is invalid

References SMDS_Mesh::FindNode(), SMESHDS_Mesh::IndexToShape(), SMESHDS_Mesh::MaxShapeIndex(), SMESHDS_Mesh::SetNodeInVolume(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

void SMESH_MeshEditor_i::SetNodeOnEdge ( CORBA::Long  NodeID,
CORBA::Long  EdgeID,
CORBA::Double  paramOnEdge 
) throw (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
NodeID- node ID
EdgeID- edge ID available through GEOM_Object.GetSubShapeIndices()[0]
paramOnEdge- parameter on edge where the node is located
Return values
boolean- false if any parameter is invalid

References Edge, SMDS_Mesh::FindNode(), SMESHDS_Mesh::IndexToShape(), SMESHDS_Mesh::MaxShapeIndex(), SMESHDS_Mesh::SetNodeOnEdge(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

void SMESH_MeshEditor_i::SetNodeOnFace ( CORBA::Long  NodeID,
CORBA::Long  FaceID,
CORBA::Double  u,
CORBA::Double  v 
) throw (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
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
Return values
boolean- false if any parameter is invalid

References Face, SMDS_Mesh::FindNode(), SMESHDS_Mesh::IndexToShape(), SMESHDS_Mesh::MaxShapeIndex(), MESSAGE, SMESHDS_Mesh::SetNodeOnFace(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

void SMESH_MeshEditor_i::SetNodeOnVertex ( CORBA::Long  NodeID,
CORBA::Long  VertexID 
) throw (SALOME::SALOME_Exception)

Bind a node to a vertex.

Parameters
NodeID- node ID
VertexID- vertex ID available through GEOM_Object.GetSubShapeIndices()[0]
NodeID- node ID
VertexID- vertex ID available through GEOM_Object.GetSubShapeIndices()[0]
Return values
boolean- false if NodeID or VertexID is invalid

References SMDS_Mesh::FindNode(), SMESHDS_Mesh::IndexToShape(), SMESHDS_Mesh::MaxShapeIndex(), SMESHDS_Mesh::SetNodeOnVertex(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

SMESH::SMESH_MeshEditor::Sew_Error SMESH_MeshEditor_i::SewBorderToSide ( CORBA::Long  FirstNodeIDOnFreeBorder,
CORBA::Long  SecondNodeIDOnFreeBorder,
CORBA::Long  LastNodeIDOnFreeBorder,
CORBA::Long  FirstNodeIDOnSide,
CORBA::Long  LastNodeIDOnSide,
CORBA::Boolean  CreatePolygons,
CORBA::Boolean  CreatePolyedrs 
) throw (SALOME::SALOME_Exception)
CORBA::Short SMESH_MeshEditor_i::SewCoincidentFreeBorders ( const SMESH::CoincidentFreeBorders freeBorders,
CORBA::Boolean  createPolygons,
CORBA::Boolean  createPolyedrs 
) throw (SALOME::SALOME_Exception)
SMESH::SMESH_MeshEditor::Sew_Error SMESH_MeshEditor_i::SewConformFreeBorders ( CORBA::Long  FirstNodeID1,
CORBA::Long  SecondNodeID1,
CORBA::Long  LastNodeID1,
CORBA::Long  FirstNodeID2,
CORBA::Long  SecondNodeID2 
) throw (SALOME::SALOME_Exception)
SMESH::SMESH_MeshEditor::Sew_Error SMESH_MeshEditor_i::SewFreeBorders ( CORBA::Long  FirstNodeID1,
CORBA::Long  SecondNodeID1,
CORBA::Long  LastNodeID1,
CORBA::Long  FirstNodeID2,
CORBA::Long  SecondNodeID2,
CORBA::Long  LastNodeID2,
CORBA::Boolean  CreatePolygons,
CORBA::Boolean  CreatePolyedrs 
) throw (SALOME::SALOME_Exception)
SMESH::SMESH_MeshEditor::Sew_Error SMESH_MeshEditor_i::SewSideElements ( const SMESH::long_array IDsOfSide1Elements,
const SMESH::long_array IDsOfSide2Elements,
CORBA::Long  NodeID1OfSide1ToMerge,
CORBA::Long  NodeID1OfSide2ToMerge,
CORBA::Long  NodeID2OfSide1ToMerge,
CORBA::Long  NodeID2OfSide2ToMerge 
) throw (SALOME::SALOME_Exception)
CORBA::Boolean SMESH_MeshEditor_i::Smooth ( const SMESH::long_array IDsOfElements,
const SMESH::long_array IDsOfFixedNodes,
CORBA::Long  MaxNbOfIterations,
CORBA::Double  MaxAspectRatio,
SMESH::SMESH_MeshEditor::Smooth_Method  Method 
) throw (SALOME::SALOME_Exception)
CORBA::Boolean SMESH_MeshEditor_i::smooth ( const SMESH::long_array IDsOfElements,
const SMESH::long_array IDsOfFixedNodes,
CORBA::Long  MaxNbOfIterations,
CORBA::Double  MaxAspectRatio,
SMESH::SMESH_MeshEditor::Smooth_Method  Method,
bool  IsParametric 
) throw (SALOME::SALOME_Exception)
CORBA::Boolean SMESH_MeshEditor_i::SmoothObject ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::long_array IDsOfFixedNodes,
CORBA::Long  MaxNbOfIterations,
CORBA::Double  MaxAspectRatio,
SMESH::SMESH_MeshEditor::Smooth_Method  Method 
) throw (SALOME::SALOME_Exception)
CORBA::Boolean SMESH_MeshEditor_i::smoothObject ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::long_array IDsOfFixedNodes,
CORBA::Long  MaxNbOfIterations,
CORBA::Double  MaxAspectRatio,
SMESH::SMESH_MeshEditor::Smooth_Method  Method,
bool  IsParametric 
) throw (SALOME::SALOME_Exception)
CORBA::Boolean SMESH_MeshEditor_i::SmoothParametric ( const SMESH::long_array IDsOfElements,
const SMESH::long_array IDsOfFixedNodes,
CORBA::Long  MaxNbOfIterations,
CORBA::Double  MaxAspectRatio,
SMESH::SMESH_MeshEditor::Smooth_Method  Method 
) throw (SALOME::SALOME_Exception)
CORBA::Boolean SMESH_MeshEditor_i::SmoothParametricObject ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::long_array IDsOfFixedNodes,
CORBA::Long  MaxNbOfIterations,
CORBA::Double  MaxAspectRatio,
SMESH::SMESH_MeshEditor::Smooth_Method  Method 
) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::SplitBiQuadraticIntoLinear ( const SMESH::ListOfIDSources theElems) throw (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

References SMDSAbs_All, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

void SMESH_MeshEditor_i::SplitHexahedraIntoPrisms ( SMESH::SMESH_IDSource_ptr  elems,
const SMESH::PointStruct startHexPoint,
const SMESH::DirStruct facetToSplitNormal,
CORBA::Short  methodFlags,
CORBA::Boolean  allDomains 
) throw (SALOME::SALOME_Exception)

Split hexahedra into triangular prisms.

Parameters
elems- elements to split
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

References MeshEditor_I::arrayToSet(), SMESH_MeshEditor::HEXA_TO_2_PRISMS, SMESH_MeshEditor::HEXA_TO_4_PRISMS, SMDSAbs_Volume, SMDSGeom_HEXA, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::SplitQuad ( const SMESH::long_array IDsOfElements,
CORBA::Boolean  Diag13 
) throw (SALOME::SALOME_Exception)

Split quadrangles into triangles.

References MeshEditor_I::arrayToSet(), SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

CORBA::Boolean SMESH_MeshEditor_i::SplitQuadObject ( SMESH::SMESH_IDSource_ptr  theObject,
CORBA::Boolean  Diag13 
) throw (SALOME::SALOME_Exception)

Split quadrangles into triangles.

References SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

void SMESH_MeshEditor_i::SplitVolumesIntoTetra ( SMESH::SMESH_IDSource_ptr  elems,
CORBA::Short  methodFlags 
) throw (SALOME::SALOME_Exception)

Split volumic elements into tetrahedrons.

References SMESH_CATCH, SMESH_TRY, SMESH::throwCorbaException(), and SMESH::VOLUME.

void SMESH_MeshEditor_i::Translate ( const SMESH::long_array IDsOfElements,
const SMESH::DirStruct Vector,
CORBA::Boolean  Copy 
) throw (SALOME::SALOME_Exception)
SMESH::ListOfGroups * SMESH_MeshEditor_i::translate ( TIDSortedElemSet IDsOfElements,
const SMESH::DirStruct Vector,
CORBA::Boolean  Copy,
bool  MakeGroups,
::SMESH_Mesh TargetMesh = 0 
) throw (SALOME::SALOME_Exception)
private
SMESH::ListOfGroups * SMESH_MeshEditor_i::TranslateMakeGroups ( const SMESH::long_array IDsOfElements,
const SMESH::DirStruct Vector 
) throw (SALOME::SALOME_Exception)
SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::TranslateMakeMesh ( const SMESH::long_array IDsOfElements,
const SMESH::DirStruct Vector,
CORBA::Boolean  CopyGroups,
const char *  MeshName 
) throw (SALOME::SALOME_Exception)
void SMESH_MeshEditor_i::TranslateObject ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::DirStruct Vector,
CORBA::Boolean  Copy 
) throw (SALOME::SALOME_Exception)

References SMDSAbs_All.

SMESH::ListOfGroups * SMESH_MeshEditor_i::TranslateObjectMakeGroups ( SMESH::SMESH_IDSource_ptr  Object,
const SMESH::DirStruct Vector 
) throw (SALOME::SALOME_Exception)

References SMDSAbs_All.

SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::TranslateObjectMakeMesh ( SMESH::SMESH_IDSource_ptr  Object,
const SMESH::DirStruct Vector,
CORBA::Boolean  CopyGroups,
const char *  MeshName 
) throw (SALOME::SALOME_Exception)
CORBA::Boolean SMESH_MeshEditor_i::TriToQuad ( const SMESH::long_array IDsOfElements,
SMESH::NumericalFunctor_ptr  Criterion,
CORBA::Double  MaxAngle 
) throw (SALOME::SALOME_Exception)
CORBA::Boolean SMESH_MeshEditor_i::TriToQuadObject ( SMESH::SMESH_IDSource_ptr  theObject,
SMESH::NumericalFunctor_ptr  Criterion,
CORBA::Double  MaxAngle 
) throw (SALOME::SALOME_Exception)

Fuse neighbour triangles into quadrangles.

References SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

Field Documentation

::SMESH_MeshEditor SMESH_MeshEditor_i::myEditor
private

Referenced by getEditor().

bool SMESH_MeshEditor_i::myIsPreviewMode
private

Referenced by getEditor(), GetPreviewData(), and initData().

SMESH_Mesh* SMESH_MeshEditor_i::myMesh
private
SMESH_Mesh_i* SMESH_MeshEditor_i::myMesh_i
private
SMESH::MeshPreviewStruct_var SMESH_MeshEditor_i::myPreviewData
private

Referenced by GetPreviewData().

::SMESH_MeshEditor* SMESH_MeshEditor_i::myPreviewEditor
private
MeshEditor_I::TPreviewMesh* SMESH_MeshEditor_i::myPreviewMesh
private