Version: 9.16.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 ()
 Return data of mesh edition preview. More...
 
SMESH::smIdType_arrayGetLastCreatedNodes ()
 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::smIdType_arrayGetLastCreatedElems ()
 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 ()
 Clears sequences of last created elements and nodes. More...
 
SMESH::ComputeErrorGetLastError ()
 Returns description of an error/warning occurred during the last operation. More...
 
SMESH::SMESH_IDSource_ptr MakeIDSource (const SMESH::smIdType_array &IDsOfElements, SMESH::ElementType type)
 Wrap a sequence of ids in a SMESH_IDSource. More...
 
std::string GenerateGroupName (const std::string &thePrefix)
 Generates the unique group name. More...
 
CORBA::Boolean RemoveElements (const SMESH::smIdType_array &IDsOfElements)
 
CORBA::Boolean RemoveNodes (const SMESH::smIdType_array &IDsOfNodes)
 
SMESH::smIdType RemoveOrphanNodes ()
 Remove orphan nodes. More...
 
void RemoveNodeWithReconnection (SMESH::smIdType nodeID)
 Remove a node and fill a hole appeared by changing surrounding faces. More...
 
SMESH::smIdType AddNode (CORBA::Double x, CORBA::Double y, CORBA::Double z)
 Methods for creation new elements. More...
 
SMESH::smIdType Add0DElement (SMESH::smIdType IDOfNode, CORBA::Boolean DuplicateElements)
 Create 0D element on the given node. More...
 
SMESH::smIdType AddBall (SMESH::smIdType IDOfNodem, CORBA::Double diameter)
 Create a ball element on the given node. More...
 
SMESH::smIdType AddEdge (const SMESH::smIdType_array &IDsOfNodes)
 Create an edge, either linear and quadratic (this is determed by number of given nodes, two or three) More...
 
SMESH::smIdType AddFace (const SMESH::smIdType_array &IDsOfNodes)
 AddFace. More...
 
SMESH::smIdType AddPolygonalFace (const SMESH::smIdType_array &IDsOfNodes)
 AddPolygonalFace. More...
 
SMESH::smIdType AddQuadPolygonalFace (const SMESH::smIdType_array &IDsOfNodes)
 AddQuadPolygonalFace. More...
 
SMESH::smIdType AddVolume (const SMESH::smIdType_array &IDsOfNodes)
 Create volume, either linear and quadratic (this is determed by number of given nodes) More...
 
SMESH::smIdType AddPolyhedralVolume (const SMESH::smIdType_array &IDsOfNodes, const SMESH::long_array &Quantities)
 AddPolyhedralVolume. More...
 
SMESH::smIdType AddPolyhedralVolumeByFaces (const SMESH::smIdType_array &IdsOfFaces)
 AddPolyhedralVolumeByFaces. More...
 
SMESH::SMESH_IDSource_ptr Create0DElementsOnAllNodes (SMESH::SMESH_IDSource_ptr theObject, const char *theGroupName, CORBA::Boolean theDuplicateElements)
 Create 0D elements on all nodes of the given object except those nodes on which a 0D element already exists. More...
 
void SetNodeOnVertex (SMESH::smIdType NodeID, CORBA::Long VertexID)
 Bind a node to a vertex. More...
 
void SetNodeOnEdge (SMESH::smIdType NodeID, CORBA::Long EdgeID, CORBA::Double paramOnEdge)
 Store node position on an edge. More...
 
void SetNodeOnFace (SMESH::smIdType NodeID, CORBA::Long FaceID, CORBA::Double u, CORBA::Double v)
 Store node position on a face. More...
 
void SetNodeInVolume (SMESH::smIdType NodeID, CORBA::Long SolidID)
 Bind a node to a solid. More...
 
void SetMeshElementOnShape (SMESH::smIdType ElementID, CORBA::Long ShapeID)
 Bind an element to a shape. More...
 
CORBA::Boolean MoveNode (SMESH::smIdType NodeID, CORBA::Double x, CORBA::Double y, CORBA::Double z)
 Change node location. More...
 
CORBA::Boolean InverseDiag (SMESH::smIdType NodeID1, SMESH::smIdType NodeID2)
 Swap a diagonal of a quadrangle formed by two adjacent triangles. More...
 
CORBA::Boolean DeleteDiag (SMESH::smIdType NodeID1, SMESH::smIdType NodeID2)
 Delete a diagonal of a quadrangle formed by two adjacent triangles so that a new quadrangle appears in place of the triangles. More...
 
void AddNodeOnSegment (SMESH::smIdType segmentNode1, SMESH::smIdType segmentNode2, CORBA::Double position)
 Split a diagonal of a quadrangle formed by two adjacent triangles so that four new triangles appear in place of the two triangles. More...
 
void AddNodeOnFace (SMESH::smIdType triangle, CORBA::Double x, CORBA::Double y, CORBA::Double z)
 Split a face into triangles by adding a new node onto the face and connecting the new node with face nodes. More...
 
CORBA::Boolean Reorient (const SMESH::smIdType_array &IDsOfElements)
 Change orientation of cells. More...
 
CORBA::Boolean ReorientObject (SMESH::SMESH_IDSource_ptr theObject)
 Change orientation of cells. More...
 
CORBA::Long Reorient2D (SMESH::SMESH_IDSource_ptr the2Dgroup, const SMESH::DirStruct &theDirection, CORBA::Long theFace, const SMESH::PointStruct &thePoint)
 Reorient faces contained in the2Dgroup. More...
 
CORBA::Long Reorient2DByNeighbours (const SMESH::ListOfIDSources &objectFaces, const SMESH::ListOfIDSources &referenceFaces)
 Reorient faces contained in a list of objectFaces equally to faces contained in a list of referenceFaces. More...
 
CORBA::Long Reorient2DBy3D (const SMESH::ListOfIDSources &faces, SMESH::SMESH_IDSource_ptr volumes, CORBA::Boolean outsideNormal)
 Reorient faces basing on orientation of adjacent volumes. More...
 
CORBA::Boolean TriToQuad (const SMESH::smIdType_array &IDsOfElements, SMESH::NumericalFunctor_ptr Criterion, CORBA::Double MaxAngle)
 Fuse neighbour triangles into quadrangles. More...
 
CORBA::Boolean TriToQuadObject (SMESH::SMESH_IDSource_ptr theObject, SMESH::NumericalFunctor_ptr Criterion, CORBA::Double MaxAngle)
 Fuse neighbour triangles into quadrangles. More...
 
CORBA::Boolean QuadToTri (const SMESH::smIdType_array &IDsOfElements, SMESH::NumericalFunctor_ptr Criterion)
 Split quadrangles into triangles. More...
 
CORBA::Boolean QuadToTriObject (SMESH::SMESH_IDSource_ptr theObject, SMESH::NumericalFunctor_ptr Criterion)
 Split quadrangles into triangles. More...
 
void QuadTo4Tri (SMESH::SMESH_IDSource_ptr theObject)
 Split each of quadrangles into 4 triangles. More...
 
CORBA::Boolean SplitQuad (const SMESH::smIdType_array &IDsOfElements, CORBA::Boolean Diag13)
 Split quadrangles into triangles. More...
 
CORBA::Boolean SplitQuadObject (SMESH::SMESH_IDSource_ptr theObject, CORBA::Boolean Diag13)
 Split quadrangles into triangles. More...
 
CORBA::Short BestSplit (SMESH::smIdType IDOfQuad, SMESH::NumericalFunctor_ptr Criterion)
 Find better splitting of the given quadrangle. More...
 
void SplitVolumesIntoTetra (SMESH::SMESH_IDSource_ptr elems, CORBA::Short methodFlags)
 Split volumic elements into tetrahedrons. More...
 
void SplitVolumesIntoTetraAvoidOverConstrainedVolumes (SMESH::SMESH_IDSource_ptr elems, CORBA::Short methodFlags)
 Split volumic elements into tetrahedrons and avoid creating over-constrained volumes. More...
 
void SplitHexahedraIntoPrisms (SMESH::SMESH_IDSource_ptr elems, const SMESH::PointStruct &startHexPoint, const SMESH::DirStruct &facetToSplitNormal, CORBA::Short methodFlags, CORBA::Boolean allDomains)
 Split hexahedra into triangular prisms. More...
 
void SplitBiQuadraticIntoLinear (const SMESH::ListOfIDSources &elems)
 Split bi-quadratic elements into linear ones without creation of additional nodes: More...
 
CORBA::Boolean Smooth (const SMESH::smIdType_array &IDsOfElements, const SMESH::smIdType_array &IDsOfFixedNodes, CORBA::Short MaxNbOfIterations, CORBA::Double MaxAspectRatio, SMESH::SMESH_MeshEditor::Smooth_Method Method)
 
CORBA::Boolean SmoothObject (SMESH::SMESH_IDSource_ptr theObject, const SMESH::smIdType_array &IDsOfFixedNodes, CORBA::Short MaxNbOfIterations, CORBA::Double MaxAspectRatio, SMESH::SMESH_MeshEditor::Smooth_Method Method)
 
CORBA::Boolean SmoothParametric (const SMESH::smIdType_array &IDsOfElements, const SMESH::smIdType_array &IDsOfFixedNodes, CORBA::Short MaxNbOfIterations, CORBA::Double MaxAspectRatio, SMESH::SMESH_MeshEditor::Smooth_Method Method)
 
CORBA::Boolean SmoothParametricObject (SMESH::SMESH_IDSource_ptr theObject, const SMESH::smIdType_array &IDsOfFixedNodes, CORBA::Short MaxNbOfIterations, CORBA::Double MaxAspectRatio, SMESH::SMESH_MeshEditor::Smooth_Method Method)
 
CORBA::Boolean smooth (const SMESH::smIdType_array &IDsOfElements, const SMESH::smIdType_array &IDsOfFixedNodes, CORBA::Short MaxNbOfIterations, CORBA::Double MaxAspectRatio, SMESH::SMESH_MeshEditor::Smooth_Method Method, bool IsParametric)
 
CORBA::Boolean smoothObject (SMESH::SMESH_IDSource_ptr theObject, const SMESH::smIdType_array &IDsOfFixedNodes, CORBA::Short MaxNbOfIterations, CORBA::Double MaxAspectRatio, SMESH::SMESH_MeshEditor::Smooth_Method Method, bool IsParametric)
 
CORBA::Boolean ConvertFromQuadratic ()
 
void ConvertFromQuadraticObject (SMESH::SMESH_IDSource_ptr theObject)
 Makes a part of the mesh linear. More...
 
void ConvertToQuadratic (CORBA::Boolean Force3d)
 
void ConvertToQuadraticObject (CORBA::Boolean theForce3d, SMESH::SMESH_IDSource_ptr theObject)
 Makes a part of the mesh quadratic. More...
 
void ConvertToBiQuadratic (CORBA::Boolean theForce3d, SMESH::SMESH_IDSource_ptr theObject)
 Makes a part of the mesh bi-quadratic. More...
 
void RenumberNodes ()
 
void RenumberElements ()
 
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)
 
SMESH::ListOfGroupsExtrusionSweepObjects (const SMESH::ListOfIDSources &Nodes, const SMESH::ListOfIDSources &Edges, const SMESH::ListOfIDSources &Faces, const SMESH::DirStruct &StepVector, CORBA::Long NbOfSteps, CORBA::Boolean ToMakeGroups, const SMESH::double_array &ScaleFactors, CORBA::Boolean ScalesVariation, const SMESH::double_array &BasePoint, const SMESH::double_array &Angles, CORBA::Boolean AnglesVariation)
 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)
 
SMESH::ListOfGroupsAdvancedExtrusion (const SMESH::smIdType_array &theIDsOfElements, const SMESH::DirStruct &theStepVector, CORBA::Long theNbOfSteps, CORBA::Long theExtrFlags, CORBA::Double theSewTolerance, CORBA::Boolean theMakeGroups)
 
SMESH::ListOfGroupsExtrusionAlongPathObjects (const SMESH::ListOfIDSources &Nodes, const SMESH::ListOfIDSources &Edges, const SMESH::ListOfIDSources &Faces, SMESH::SMESH_IDSource_ptr PathMesh, GEOM::GEOM_Object_ptr PathShape, SMESH::smIdType NodeStart, CORBA::Boolean HasAngles, const SMESH::double_array &Angles, CORBA::Boolean AnglesVariation, CORBA::Boolean HasRefPoint, const SMESH::PointStruct &RefPoint, bool MakeGroups, const SMESH::double_array &ScaleFactors, CORBA::Boolean ScalesVariation, SMESH::SMESH_MeshEditor::Extrusion_Error &Error)
 
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::smIdType_array &IDsOfElements, const SMESH::AxisStruct &Axis, SMESH::SMESH_MeshEditor::MirrorType MirrorType, CORBA::Boolean Copy)
 
void MirrorObject (SMESH::SMESH_IDSource_ptr theObject, const SMESH::AxisStruct &Axis, SMESH::SMESH_MeshEditor::MirrorType MirrorType, CORBA::Boolean Copy)
 
void Translate (const SMESH::smIdType_array &IDsOfElements, const SMESH::DirStruct &Vector, CORBA::Boolean Copy)
 
void TranslateObject (SMESH::SMESH_IDSource_ptr theObject, const SMESH::DirStruct &Vector, CORBA::Boolean Copy)
 
void Rotate (const SMESH::smIdType_array &IDsOfElements, const SMESH::AxisStruct &Axis, CORBA::Double Angle, CORBA::Boolean Copy)
 
void RotateObject (SMESH::SMESH_IDSource_ptr theObject, const SMESH::AxisStruct &Axis, CORBA::Double Angle, CORBA::Boolean Copy)
 
SMESH::ListOfGroupsMirrorMakeGroups (const SMESH::smIdType_array &IDsOfElements, const SMESH::AxisStruct &Mirror, SMESH::SMESH_MeshEditor::MirrorType MirrorType)
 
SMESH::ListOfGroupsMirrorObjectMakeGroups (SMESH::SMESH_IDSource_ptr Object, const SMESH::AxisStruct &Mirror, SMESH::SMESH_MeshEditor::MirrorType MirrorType)
 
SMESH::ListOfGroupsTranslateMakeGroups (const SMESH::smIdType_array &IDsOfElements, const SMESH::DirStruct &Vector)
 
SMESH::ListOfGroupsTranslateObjectMakeGroups (SMESH::SMESH_IDSource_ptr Object, const SMESH::DirStruct &Vector)
 
SMESH::ListOfGroupsRotateMakeGroups (const SMESH::smIdType_array &IDsOfElements, const SMESH::AxisStruct &Axis, CORBA::Double AngleInRadians)
 
SMESH::ListOfGroupsRotateObjectMakeGroups (SMESH::SMESH_IDSource_ptr Object, const SMESH::AxisStruct &Axis, CORBA::Double AngleInRadians)
 
SMESH::SMESH_Mesh_ptr MirrorMakeMesh (const SMESH::smIdType_array &IDsOfElements, const SMESH::AxisStruct &Mirror, SMESH::SMESH_MeshEditor::MirrorType MirrorType, CORBA::Boolean CopyGroups, const char *MeshName)
 
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)
 
SMESH::SMESH_Mesh_ptr TranslateMakeMesh (const SMESH::smIdType_array &IDsOfElements, const SMESH::DirStruct &Vector, CORBA::Boolean CopyGroups, const char *MeshName)
 
SMESH::SMESH_Mesh_ptr TranslateObjectMakeMesh (SMESH::SMESH_IDSource_ptr Object, const SMESH::DirStruct &Vector, CORBA::Boolean CopyGroups, const char *MeshName)
 
SMESH::SMESH_Mesh_ptr RotateMakeMesh (const SMESH::smIdType_array &IDsOfElements, const SMESH::AxisStruct &Axis, CORBA::Double AngleInRadians, CORBA::Boolean CopyGroups, const char *MeshName)
 
SMESH::SMESH_Mesh_ptr RotateObjectMakeMesh (SMESH::SMESH_IDSource_ptr Object, const SMESH::AxisStruct &Axis, CORBA::Double AngleInRadians, CORBA::Boolean CopyGroups, const char *MeshName)
 
void Scale (SMESH::SMESH_IDSource_ptr theObject, const SMESH::PointStruct &thePoint, const SMESH::double_array &theScaleFact, CORBA::Boolean theCopy)
 
SMESH::ListOfGroupsScaleMakeGroups (SMESH::SMESH_IDSource_ptr theObject, const SMESH::PointStruct &thePoint, const SMESH::double_array &theScaleFact)
 
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)
 
SMESH::SMESH_Mesh_ptr Offset (SMESH::SMESH_IDSource_ptr theObject, CORBA::Double Value, CORBA::Boolean CopyGroups, CORBA::Boolean CopyElements, const char *MeshName, SMESH::ListOfGroups_out Groups)
 Make an offset mesh from a source 2D mesh. More...
 
void FindCoincidentNodes (CORBA::Double Tolerance, SMESH::array_of_long_array_out GroupsOfNodes, CORBA::Boolean SeparateCornersAndMedium)
 
void FindCoincidentNodesOnPart (SMESH::SMESH_IDSource_ptr Object, CORBA::Double Tolerance, SMESH::array_of_long_array_out GroupsOfNodes, CORBA::Boolean SeparateCornersAndMedium)
 
void FindCoincidentNodesOnPartBut (const SMESH::ListOfIDSources &Objects, CORBA::Double Tolerance, SMESH::array_of_long_array_out GroupsOfNodes, const SMESH::ListOfIDSources &ExceptSubMeshOrGroups, CORBA::Boolean SeparateCornersAndMedium)
 Finds nodes coincident with Tolerance within Objects excluding nodes within ExceptSubMeshOrGroups. More...
 
void MergeNodes (const SMESH::array_of_long_array &GroupsOfNodes, const SMESH::ListOfIDSources &NodesToKeep, CORBA::Boolean AvoidMakingHoles)
 
void FindEqualElements (const SMESH::ListOfIDSources &Objects, const SMESH::ListOfIDSources &ExceptSubMeshOrGroups, SMESH::array_of_long_array_out GroupsOfElementsID)
 
void MergeElements (const SMESH::array_of_long_array &GroupsOfElementsID, const SMESH::ListOfIDSources &ElementsToKeep)
 
void MergeEqualElements ()
 
SMESH::smIdType MoveClosestNodeToPoint (CORBA::Double x, CORBA::Double y, CORBA::Double z, SMESH::smIdType 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. More...
 
SMESH::smIdType FindNodeClosestTo (CORBA::Double x, CORBA::Double y, CORBA::Double z)
 Return ID of node closest to a given point. More...
 
SMESH::smIdType_arrayFindElementsByPoint (CORBA::Double x, CORBA::Double y, CORBA::Double z, SMESH::ElementType type)
 Return elements of given type where the given point is IN or ON. More...
 
SMESH::smIdType_arrayFindAmongElementsByPoint (SMESH::SMESH_IDSource_ptr elements, CORBA::Double x, CORBA::Double y, CORBA::Double z, SMESH::ElementType type)
 Searching among the given elements, return elements of given type where the given point is IN or ON. More...
 
SMESH::smIdType ProjectPoint (CORBA::Double x, CORBA::Double y, CORBA::Double z, SMESH::ElementType type, SMESH::SMESH_IDSource_ptr meshObject, SMESH::double_array_out projecton)
 Project a point to a mesh object. More...
 
CORBA::Short GetPointState (CORBA::Double x, CORBA::Double y, CORBA::Double z)
 Return point state in a closed 2D mesh in terms of TopAbs_State enumeration. More...
 
CORBA::Boolean IsManifold ()
 Check if a 2D mesh is manifold. More...
 
CORBA::Boolean IsCoherentOrientation2D ()
 Check if orientation of 2D elements is coherent. More...
 
SMESH::array_of_long_arrayGet1DBranches (SMESH::SMESH_IDSource_ptr edges, SMESH::smIdType startNode, SMESH::array_of_long_array_out nodeGroups)
 Partition given 1D elements into groups of contiguous edges. More...
 
SMESH::ListOfEdgesFindSharpEdges (CORBA::Double angle, CORBA::Boolean addExisting)
 Return sharp edges of faces and non-manifold ones. More...
 
SMESH::ListOfFreeBordersFindFreeBorders (CORBA::Boolean closedOnly)
 Returns all or only closed FreeBorder's. More...
 
SMESH::SMESH_Group_ptr FillHole (const SMESH::FreeBorder &hole, const char *groupName)
 Fill with 2D elements a hole defined by a FreeBorder. 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)
 Sew FreeBorder's of each group. More...
 
SMESH::SMESH_MeshEditor::Sew_Error SewFreeBorders (SMESH::smIdType FirstNodeID1, SMESH::smIdType SecondNodeID1, SMESH::smIdType LastNodeID1, SMESH::smIdType FirstNodeID2, SMESH::smIdType SecondNodeID2, SMESH::smIdType LastNodeID2, CORBA::Boolean CreatePolygons, CORBA::Boolean CreatePolyedrs)
 
SMESH::SMESH_MeshEditor::Sew_Error SewConformFreeBorders (SMESH::smIdType FirstNodeID1, SMESH::smIdType SecondNodeID1, SMESH::smIdType LastNodeID1, SMESH::smIdType FirstNodeID2, SMESH::smIdType SecondNodeID2)
 
SMESH::SMESH_MeshEditor::Sew_Error SewBorderToSide (SMESH::smIdType FirstNodeIDOnFreeBorder, SMESH::smIdType SecondNodeIDOnFreeBorder, SMESH::smIdType LastNodeIDOnFreeBorder, SMESH::smIdType FirstNodeIDOnSide, SMESH::smIdType LastNodeIDOnSide, CORBA::Boolean CreatePolygons, CORBA::Boolean CreatePolyedrs)
 
SMESH::SMESH_MeshEditor::Sew_Error SewSideElements (const SMESH::smIdType_array &IDsOfSide1Elements, const SMESH::smIdType_array &IDsOfSide2Elements, SMESH::smIdType NodeID1OfSide1ToMerge, SMESH::smIdType NodeID1OfSide2ToMerge, SMESH::smIdType NodeID2OfSide1ToMerge, SMESH::smIdType NodeID2OfSide2ToMerge)
 
CORBA::Boolean ChangeElemNodes (SMESH::smIdType ide, const SMESH::smIdType_array &newIDs)
 Set new nodes for given element. More...
 
SMESH::SMESH_Group_ptr DoubleElements (SMESH::SMESH_IDSource_ptr theElements, const char *theGroupName)
 Duplicates given elements, i.e. More...
 
CORBA::Boolean DoubleNodes (const SMESH::smIdType_array &theNodes, const SMESH::smIdType_array &theModifiedElems)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
CORBA::Boolean DoubleNode (SMESH::smIdType theNodeId, const SMESH::smIdType_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. More...
 
CORBA::Boolean DoubleNodeGroup (SMESH::SMESH_GroupBase_ptr theNodes, SMESH::SMESH_GroupBase_ptr 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. More...
 
SMESH::SMESH_Group_ptr DoubleNodeGroupNew (SMESH::SMESH_GroupBase_ptr theNodes, SMESH::SMESH_GroupBase_ptr theModifiedElems)
 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)
 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)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
CORBA::Boolean DoubleNodeElem (const SMESH::smIdType_array &theElems, const SMESH::smIdType_array &theNodesNot, const SMESH::smIdType_array &theAffectedElems)
 Creates a hole in a mesh by doubling the nodes of some particular elements. More...
 
CORBA::Boolean DoubleNodeElemInRegion (const SMESH::smIdType_array &theElems, const SMESH::smIdType_array &theNodesNot, GEOM::GEOM_Object_ptr theShape)
 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)
 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)
 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)
 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)
 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)
 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)
 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)
 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)
 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)
 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)
 Double nodes on shared faces between groups of volumes and create flat elements on demand. More...
 
CORBA::Boolean CreateFlatElementsOnFacesGroups (const SMESH::ListOfGroups &theGroupsOfFaces)
 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)
 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 ()
 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)
 Creates missing boundary elements. More...
 
CORBA::Long MakeBoundaryElements (SMESH::Bnd_Dimension dimension, const char *groupName, const char *meshName, CORBA::Boolean toCopyAll, CORBA::Boolean toCreateAllElements, const SMESH::ListOfIDSources &groups, SMESH::SMESH_Mesh_out mesh, SMESH::SMESH_Group_out group)
 Creates missing boundary elements. More...
 
void MakePolyLine (SMESH::ListOfPolySegments &segments, const char *groupName)
 Create a polyline consisting of 1D mesh elements each lying on a 2D element of the initial mesh. More...
 
SMESH::ListOfEdgesMakeSlot (SMESH::SMESH_GroupBase_ptr segments, CORBA::Double width)
 Create a slot of given width around given 1D elements lying on a triangle mesh. More...
 

Static Public Member Functions

static bool IsTemporaryIDSource (SMESH::SMESH_IDSource_ptr &idSource)
 
static SMESH::smIdType * GetTemporaryIDs (SMESH::SMESH_IDSource_ptr &idSource, SMESH::smIdType &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)
 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)
 
SMESH::ListOfGroupstranslate (TIDSortedElemSet &IDsOfElements, const SMESH::DirStruct &Vector, CORBA::Boolean Copy, bool MakeGroups, ::SMESH_Mesh *TargetMesh=0)
 
SMESH::ListOfGroupsrotate (TIDSortedElemSet &IDsOfElements, const SMESH::AxisStruct &Axis, CORBA::Double Angle, CORBA::Boolean Copy, bool MakeGroups, ::SMESH_Mesh *TargetMesh=0)
 
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)
 
void convertToQuadratic (CORBA::Boolean theForce3d, CORBA::Boolean theToBiQuad, SMESH::SMESH_IDSource_ptr theObject=SMESH::SMESH_IDSource::_nil())
 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)
 
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

◆ IDSource_Error

Enumerator
IDSource_OK 
IDSource_INVALID 
IDSource_EMPTY 

Constructor & Destructor Documentation

◆ SMESH_MeshEditor_i()

SMESH_MeshEditor_i::SMESH_MeshEditor_i ( SMESH_Mesh_i theMesh,
bool  isPreview 
)

◆ ~SMESH_MeshEditor_i()

SMESH_MeshEditor_i::~SMESH_MeshEditor_i ( )
virtual

Destructor.

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

Member Function Documentation

◆ Add0DElement()

SMESH::smIdType SMESH_MeshEditor_i::Add0DElement ( SMESH::smIdType  IDOfNode,
CORBA::Boolean  DuplicateElements 
)

◆ AddBall()

SMESH::smIdType SMESH_MeshEditor_i::AddBall ( SMESH::smIdType  IDOfNodem,
CORBA::Double  diameter 
)

◆ AddEdge()

SMESH::smIdType SMESH_MeshEditor_i::AddEdge ( const SMESH::smIdType_array IDsOfNodes)

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

References SMESHDS_Mesh::AddEdge(), declareMeshModified(), DriverMED::FindNode(), SMDS_MeshElement::GetID(), getMeshDS(), initData(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ AddFace()

◆ AddNode()

SMESH::smIdType SMESH_MeshEditor_i::AddNode ( CORBA::Double  x,
CORBA::Double  y,
CORBA::Double  z 
)

Methods for creation new elements.

Add a new node.

Returns ID of created element or 0 if element not created

References SMESHDS_Mesh::AddNode(), declareMeshModified(), SMDS_MeshElement::GetID(), getMeshDS(), initData(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ AddNodeOnFace()

void SMESH_MeshEditor_i::AddNodeOnFace ( SMESH::smIdType  triangle,
CORBA::Double  x,
CORBA::Double  y,
CORBA::Double  z 
)

◆ AddNodeOnSegment()

void SMESH_MeshEditor_i::AddNodeOnSegment ( SMESH::smIdType  segmentNode1,
SMESH::smIdType  segmentNode2,
CORBA::Double  position 
)

◆ AddPolygonalFace()

SMESH::smIdType SMESH_MeshEditor_i::AddPolygonalFace ( const SMESH::smIdType_array IDsOfNodes)

◆ AddPolyhedralVolume()

SMESH::smIdType SMESH_MeshEditor_i::AddPolyhedralVolume ( const SMESH::smIdType_array IDsOfNodes,
const SMESH::long_array Quantities 
)

◆ AddPolyhedralVolumeByFaces()

◆ AddQuadPolygonalFace()

SMESH::smIdType SMESH_MeshEditor_i::AddQuadPolygonalFace ( const SMESH::smIdType_array IDsOfNodes)

◆ AddVolume()

SMESH::smIdType SMESH_MeshEditor_i::AddVolume ( const SMESH::smIdType_array IDsOfNodes)

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

References SMESHDS_Mesh::AddVolume(), declareMeshModified(), SMDS_Mesh::FindNode(), SMDS_MeshElement::GetID(), getMeshDS(), initData(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ AdvancedExtrusion()

SMESH::ListOfGroups * SMESH_MeshEditor_i::AdvancedExtrusion ( const SMESH::smIdType_array theIDsOfElements,
const SMESH::DirStruct theStepVector,
CORBA::Long  theNbOfSteps,
CORBA::Long  theExtrFlags,
CORBA::Double  theSewTolerance,
CORBA::Boolean  theMakeGroups 
)

◆ AffectedElemGroupsInRegion()

SMESH::ListOfGroups * SMESH_MeshEditor_i::AffectedElemGroupsInRegion ( const SMESH::ListOfGroups theElems,
const SMESH::ListOfGroups theNodesNot,
GEOM::GEOM_Object_ptr  theShape 
)

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

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 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
groups of affected elements
See also
DoubleNodeElemGroupsInRegion()

References SMESH_MeshEditor::AffectedElemGroupsInRegion(), SMESH_Mesh_i::CreateGroup(), declareMeshModified(), SMESH::EDGE, SMESH::FACE, GenerateGroupName(), SMESH_Gen_i::GeomObjectToShape(), SMDS_MeshElement::GetID(), getMeshDS(), SMESH_Gen_i::GetSMESHGen(), SMDS_MeshElement::GetType(), initData(), listOfGroupToSet(), myMesh, myMesh_i, SMESH::NODE, SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, SMESH::throwCorbaException(), and SMESH::VOLUME.

◆ BestSplit()

CORBA::Short SMESH_MeshEditor_i::BestSplit ( SMESH::smIdType  IDOfQuad,
SMESH::NumericalFunctor_ptr  Criterion 
)

Find better splitting of the given quadrangle.

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

References SMESH_MeshEditor::BestSplit(), declareMeshModified(), SMDS_Mesh::FindElement(), getEditor(), getMeshDS(), SMESH::NumericalFunctor_i::GetNumericalFunctor(), SMESH_Gen_i::GetServant(), SMDS_MeshElement::GetType(), initData(), SMDS_MeshElement::NbNodes(), SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ ChangeElemNodes()

CORBA::Boolean SMESH_MeshEditor_i::ChangeElemNodes ( SMESH::smIdType  ide,
const SMESH::smIdType_array newIDs 
)

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 SMESHDS_Mesh::ChangeElementNodes(), declareMeshModified(), SMDS_Mesh::FindElement(), SMDS_Mesh::FindNode(), getMeshDS(), initData(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ ClearLastCreated()

void SMESH_MeshEditor_i::ClearLastCreated ( )

Clears sequences of last created elements and nodes.

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

◆ ConvertFromQuadratic()

CORBA::Boolean SMESH_MeshEditor_i::ConvertFromQuadratic ( )

◆ ConvertFromQuadraticObject()

void SMESH_MeshEditor_i::ConvertFromQuadraticObject ( SMESH::SMESH_IDSource_ptr  theObject)

◆ ConvertToBiQuadratic()

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

Makes a part of the mesh bi-quadratic.

References convertToQuadratic().

◆ ConvertToQuadratic()

void SMESH_MeshEditor_i::ConvertToQuadratic ( CORBA::Boolean  Force3d)

References convertToQuadratic().

◆ convertToQuadratic()

void SMESH_MeshEditor_i::convertToQuadratic ( CORBA::Boolean  theForce3d,
CORBA::Boolean  theToBiQuad,
SMESH::SMESH_IDSource_ptr  theObject = SMESH::SMESH_IDSource::_nil() 
)
private

◆ ConvertToQuadraticObject()

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

Makes a part of the mesh quadratic.

References convertToQuadratic().

◆ Create0DElementsOnAllNodes()

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

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_Mesh_i::ConvertToStandalone(), SMESH_MeshEditor::Create0DElementsOnAllNodes(), SMESH_Mesh_i::CreateGroup(), SMESH::ELEM0D, getEditor(), SMESH_Mesh_i::GetGroups(), getMeshDS(), idSourceToSet(), initData(), MakeIDSource(), myMesh_i, SMDSAbs_All, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ CreateFlatElementsOnFacesGroups()

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

References MeshEditor_I::arrayToSet(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), declareMeshModified(), getEditor(), getMeshDS(), initData(), SMESH::NODE, SMDSAbs_All, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ CreateHoleSkin()

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 
)

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_MeshEditor::CreateHoleSkin(), SMESH_Gen_i::GeomObjectToShape(), getMeshDS(), SMESH_MeshAlgos::GetNodeSearcher(), SMESH_Gen_i::GetSMESHGen(), initData(), myMesh, MeshEditor_I::TSearchersDeleter::Set(), SMESH_CATCH, SMESH_TRY, MeshEditor_I::theNodeSearcher, MeshEditor_I::theSearchersDeleter, and SMESH::throwCorbaException().

◆ declareMeshModified()

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 SMESH_Mesh::GetMeshDS(), SMDS_Mesh::Modified(), myMesh, and SMESH_Mesh::SetIsModified().

Referenced by Add0DElement(), AddBall(), AddEdge(), AddFace(), AddNode(), AddNodeOnFace(), AddNodeOnSegment(), AddPolygonalFace(), AddPolyhedralVolume(), AddPolyhedralVolumeByFaces(), AddQuadPolygonalFace(), AddVolume(), AdvancedExtrusion(), AffectedElemGroupsInRegion(), BestSplit(), ChangeElemNodes(), ConvertFromQuadratic(), ConvertFromQuadraticObject(), convertToQuadratic(), CreateFlatElementsOnFacesGroups(), DeleteDiag(), DoubleNodeElem(), DoubleNodeElemGroup(), DoubleNodeElemGroup2New(), DoubleNodeElemGroupInRegion(), DoubleNodeElemGroups(), DoubleNodeElemGroups2New(), DoubleNodeElemGroupsInRegion(), DoubleNodeElemInRegion(), DoubleNodeGroups(), DoubleNodes(), DoubleNodesOnGroupBoundaries(), ExtrusionAlongPathObjects(), ExtrusionByNormal(), ExtrusionSweepObjects(), InverseDiag(), Make2DMeshFrom3D(), MergeElements(), MergeEqualElements(), MergeNodes(), mirror(), MoveClosestNodeToPoint(), MoveNode(), QuadTo4Tri(), QuadToTri(), QuadToTriObject(), RemoveElements(), RemoveNodes(), RemoveNodeWithReconnection(), RemoveOrphanNodes(), Reorient(), Reorient2D(), Reorient2DBy3D(), Reorient2DByNeighbours(), ReorientObject(), rotate(), RotationSweepObjects(), scale(), SewBorderToSide(), SewCoincidentFreeBorders(), SewConformFreeBorders(), SewFreeBorders(), SewSideElements(), smooth(), SplitBiQuadraticIntoLinear(), SplitHexahedraIntoPrisms(), SplitQuad(), SplitQuadObject(), SplitVolumesIntoTetra(), SplitVolumesIntoTetraAvoidOverConstrainedVolumes(), translate(), and TriToQuad().

◆ DeleteDiag()

CORBA::Boolean SMESH_MeshEditor_i::DeleteDiag ( SMESH::smIdType  NodeID1,
SMESH::smIdType  NodeID2 
)

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

References declareMeshModified(), SMESH_MeshEditor::DeleteDiag(), SMDS_Mesh::FindNode(), getEditor(), getMeshDS(), initData(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ DoubleElements()

SMESH::SMESH_Group_ptr SMESH_MeshEditor_i::DoubleElements ( SMESH::SMESH_IDSource_ptr  theElements,
const char *  theGroupName 
)

Duplicates given elements, i.e.

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

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

References SMDS_MeshGroup::Add(), SMESH_Mesh_i::CreateGroup(), SMESH_MeshEditor::DoubleElements(), getEditor(), SMESH_Mesh_i::GetGroups(), GetLastCreatedElems(), SMESH_MeshEditor::GetLastCreatedElems(), getMeshDS(), idSourceToSet(), initData(), myMesh_i, SMDSAbs_All, SMESHDS_Group::SMDSGroup(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ DoubleNode()

CORBA::Boolean SMESH_MeshEditor_i::DoubleNode ( SMESH::smIdType  theNodeId,
const SMESH::smIdType_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()

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

◆ DoubleNodeElem()

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

References MeshEditor_I::arrayToSet(), declareMeshModified(), SMESH_MeshEditor::DoubleNodes(), getEditor(), getMeshDS(), initData(), SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ DoubleNodeElemGroup()

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

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 declareMeshModified(), SMESH_MeshEditor::DoubleNodes(), getEditor(), getMeshDS(), idSourceToSet(), initData(), SMESH::NODE, SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ DoubleNodeElemGroup2New()

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 
)

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_Mesh_i::CreateGroup(), declareMeshModified(), SMESH_MeshEditor::DoubleNodes(), GenerateGroupName(), getEditor(), SMESH_Mesh_i::GetElementType(), GetLastCreatedElems(), GetLastCreatedNodes(), getMeshDS(), idSourceToSet(), initData(), myMesh_i, SMESH::NODE, SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

Referenced by DoubleNodeElemGroupNew().

◆ DoubleNodeElemGroupInRegion()

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

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 declareMeshModified(), SMESH_MeshEditor::DoubleNodesInRegion(), SMESH_Gen_i::GeomObjectToShape(), getEditor(), getMeshDS(), SMESH_Gen_i::GetSMESHGen(), idSourceToSet(), initData(), SMESH::NODE, SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ DoubleNodeElemGroupNew()

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

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

◆ DoubleNodeElemGroups()

CORBA::Boolean SMESH_MeshEditor_i::DoubleNodeElemGroups ( const SMESH::ListOfGroups theElems,
const SMESH::ListOfGroups theNodesNot,
const SMESH::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.

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 declareMeshModified(), SMESH_MeshEditor::DoubleNodes(), getEditor(), getMeshDS(), initData(), listOfGroupToSet(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ DoubleNodeElemGroups2New()

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

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 SMESH_Mesh_i::CreateGroup(), declareMeshModified(), SMESH_MeshEditor::DoubleNodes(), GenerateGroupName(), getEditor(), SMESH_Mesh_i::GetElementType(), GetLastCreatedElems(), GetLastCreatedNodes(), getMeshDS(), initData(), listOfGroupToSet(), myMesh_i, SMESH::NODE, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

Referenced by DoubleNodeElemGroupsNew().

◆ DoubleNodeElemGroupsInRegion()

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

References declareMeshModified(), SMESH_MeshEditor::DoubleNodesInRegion(), SMESH_Gen_i::GeomObjectToShape(), getEditor(), getMeshDS(), SMESH_Gen_i::GetSMESHGen(), initData(), listOfGroupToSet(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ DoubleNodeElemGroupsNew()

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

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

◆ DoubleNodeElemInRegion()

CORBA::Boolean SMESH_MeshEditor_i::DoubleNodeElemInRegion ( const SMESH::smIdType_array theElems,
const SMESH::smIdType_array theNodesNot,
GEOM::GEOM_Object_ptr  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()

References MeshEditor_I::arrayToSet(), declareMeshModified(), SMESH_MeshEditor::DoubleNodesInRegion(), SMESH_Gen_i::GeomObjectToShape(), getEditor(), getMeshDS(), SMESH_Gen_i::GetSMESHGen(), initData(), SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ DoubleNodeGroup()

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

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

◆ DoubleNodeGroupNew()

SMESH::SMESH_Group_ptr SMESH_MeshEditor_i::DoubleNodeGroupNew ( SMESH::SMESH_GroupBase_ptr  theNodes,
SMESH::SMESH_GroupBase_ptr  theModifiedElems 
)

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_Mesh_i::CreateGroup(), DoubleNodes(), GenerateGroupName(), GetLastCreatedNodes(), myMesh_i, SMESH::NODE, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ DoubleNodeGroups()

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

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

Referenced by DoubleNodeGroupsNew().

◆ DoubleNodeGroupsNew()

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

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_Mesh_i::CreateGroup(), DoubleNodeGroups(), GenerateGroupName(), GetLastCreatedNodes(), SMESH::GetName(), myMesh_i, and SMESH::NODE.

◆ DoubleNodes()

CORBA::Boolean SMESH_MeshEditor_i::DoubleNodes ( const SMESH::smIdType_array theNodes,
const SMESH::smIdType_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()

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

Referenced by DoubleNode(), DoubleNodeGroup(), and DoubleNodeGroupNew().

◆ DoubleNodesOnGroupBoundaries()

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

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(), SMESH_Mesh_i::CreateGroupServants(), declareMeshModified(), SMESH_MeshEditor::DoubleNodesOnGroupBoundaries(), getEditor(), getMeshDS(), initData(), myMesh_i, SMDSAbs_All, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ dumpGroupsList()

◆ ExtrusionAlongPathObjects()

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,
SMESH::smIdType  NodeStart,
CORBA::Boolean  HasAngles,
const SMESH::double_array Angles,
CORBA::Boolean  AnglesVariation,
CORBA::Boolean  HasRefPoint,
const SMESH::PointStruct RefPoint,
bool  MakeGroups,
const SMESH::double_array ScaleFactors,
CORBA::Boolean  ScalesVariation,
SMESH::SMESH_MeshEditor::Extrusion_Error Error 
)

◆ ExtrusionByNormal()

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 
)

◆ ExtrusionSweepObjects()

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,
CORBA::Boolean  theToMakeGroups,
const SMESH::double_array theScaleFactors,
CORBA::Boolean  theScalesVariation,
const SMESH::double_array theBasePoint,
const SMESH::double_array theAngles,
CORBA::Boolean  theAnglesVariation 
)

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 created if toMakeGroups is true

References MeshEditor_I::TPreviewMesh::Copy(), declareMeshModified(), dumpGroupsList(), SMESH_MeshEditor::ExtrusionSweep(), getEditor(), SMESH_Mesh_i::GetElements(), getGroups(), getMeshDS(), getPreviewMesh(), idSourceToSet(), initData(), myIsPreviewMode, myMesh_i, SMESH::NODE, MeshEditor_I::TPreviewMesh::Remove(), MeshEditor_I::ExtrusionParams::SetNoGroups(), SMDSAbs_All, SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ FillHole()

◆ FindAmongElementsByPoint()

SMESH::smIdType_array * SMESH_MeshEditor_i::FindAmongElementsByPoint ( SMESH::SMESH_IDSource_ptr  elements,
CORBA::Double  x,
CORBA::Double  y,
CORBA::Double  z,
SMESH::ElementType  type 
)

◆ FindCoincidentFreeBorders()

◆ FindCoincidentNodes()

void SMESH_MeshEditor_i::FindCoincidentNodes ( CORBA::Double  Tolerance,
SMESH::array_of_long_array_out  GroupsOfNodes,
CORBA::Boolean  SeparateCornersAndMedium 
)

◆ findCoincidentNodes()

void SMESH_MeshEditor_i::findCoincidentNodes ( TIDSortedNodeSet Nodes,
CORBA::Double  Tolerance,
SMESH::array_of_long_array_out  GroupsOfNodes,
CORBA::Boolean  SeparateCornersAndMedium 
)
private

◆ FindCoincidentNodesOnPart()

void SMESH_MeshEditor_i::FindCoincidentNodesOnPart ( SMESH::SMESH_IDSource_ptr  Object,
CORBA::Double  Tolerance,
SMESH::array_of_long_array_out  GroupsOfNodes,
CORBA::Boolean  SeparateCornersAndMedium 
)

◆ FindCoincidentNodesOnPartBut()

void SMESH_MeshEditor_i::FindCoincidentNodesOnPartBut ( const SMESH::ListOfIDSources Objects,
CORBA::Double  Tolerance,
SMESH::array_of_long_array_out  GroupsOfNodes,
const SMESH::ListOfIDSources ExceptSubMeshOrGroups,
CORBA::Boolean  SeparateCornersAndMedium 
)

Finds nodes coincident with Tolerance within Objects excluding nodes within ExceptSubMeshOrGroups.

References cast2Node, findCoincidentNodes(), SMESH_Mesh_i::GetElements(), getMeshDS(), MeshEditor_I::idSourceToNodeSet(), initData(), myMesh_i, SMESH::NODE, prepareIdSource(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ FindElementsByPoint()

SMESH::smIdType_array * SMESH_MeshEditor_i::FindElementsByPoint ( CORBA::Double  x,
CORBA::Double  y,
CORBA::Double  z,
SMESH::ElementType  type 
)

◆ FindEqualElements()

void SMESH_MeshEditor_i::FindEqualElements ( const SMESH::ListOfIDSources Objects,
const SMESH::ListOfIDSources ExceptSubMeshOrGroups,
SMESH::array_of_long_array_out  GroupsOfElementsID 
)

◆ FindFreeBorders()

SMESH::ListOfFreeBorders * SMESH_MeshEditor_i::FindFreeBorders ( CORBA::Boolean  closedOnly)

◆ FindNodeClosestTo()

SMESH::smIdType SMESH_MeshEditor_i::FindNodeClosestTo ( CORBA::Double  x,
CORBA::Double  y,
CORBA::Double  z 
)

◆ FindSharpEdges()

SMESH::ListOfEdges * SMESH_MeshEditor_i::FindSharpEdges ( CORBA::Double  angle,
CORBA::Boolean  addExisting 
)

◆ GenerateGroupName()

std::string SMESH_MeshEditor_i::GenerateGroupName ( const std::string &  thePrefix)

Generates the unique group name.

Parameters
thePrefixname prefix
Returns
unique name

References SMESH_Mesh_i::GetGroups(), and myMesh_i.

Referenced by AffectedElemGroupsInRegion(), DoubleNodeElemGroup2New(), DoubleNodeElemGroups2New(), DoubleNodeGroupNew(), DoubleNodeGroupsNew(), and SMESH_Mesh_i::FaceGroupsSeparatedByEdges().

◆ Get1DBranches()

SMESH::array_of_long_array * SMESH_MeshEditor_i::Get1DBranches ( SMESH::SMESH_IDSource_ptr  edges,
SMESH::smIdType  startNode,
SMESH::array_of_long_array_out  nodeGroups 
)

Partition given 1D elements into groups of contiguous edges.

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

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

References SMESH::EDGE, DriverMED::FindNode(), SMESH_MeshAlgos::Get1DBranches(), SMESH_Mesh_i::GetElements(), getMeshDS(), prepareIdSource(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ getEditor()

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 AddNodeOnFace(), AddNodeOnSegment(), AdvancedExtrusion(), BestSplit(), ClearLastCreated(), ConvertFromQuadratic(), ConvertFromQuadraticObject(), convertToQuadratic(), Create0DElementsOnAllNodes(), CreateFlatElementsOnFacesGroups(), DeleteDiag(), DoubleElements(), DoubleNodeElem(), DoubleNodeElemGroup(), DoubleNodeElemGroup2New(), DoubleNodeElemGroupInRegion(), DoubleNodeElemGroups(), DoubleNodeElemGroups2New(), DoubleNodeElemGroupsInRegion(), DoubleNodeElemInRegion(), DoubleNodeGroups(), DoubleNodes(), DoubleNodesOnGroupBoundaries(), ExtrusionAlongPathObjects(), ExtrusionByNormal(), ExtrusionSweepObjects(), FillHole(), findCoincidentNodes(), FindEqualElements(), GetLastCreatedElems(), GetLastCreatedNodes(), GetLastError(), GetPreviewData(), initData(), InverseDiag(), Make2DMeshFrom3D(), MakeBoundaryElements(), MakeBoundaryMesh(), MakePolyLine(), MergeElements(), MergeEqualElements(), MergeNodes(), mirror(), Offset(), QuadTo4Tri(), QuadToTri(), RemoveElements(), RemoveNodes(), RemoveNodeWithReconnection(), RemoveOrphanNodes(), Reorient(), Reorient2D(), Reorient2DBy3D(), Reorient2DByNeighbours(), rotate(), RotationSweepObjects(), scale(), SewBorderToSide(), SewCoincidentFreeBorders(), SewConformFreeBorders(), SewFreeBorders(), SewSideElements(), smooth(), SplitBiQuadraticIntoLinear(), SplitHexahedraIntoPrisms(), SplitQuad(), SplitVolumesIntoTetra(), SplitVolumesIntoTetraAvoidOverConstrainedVolumes(), translate(), and TriToQuad().

◆ getGroups()

◆ GetLastCreatedElems()

SMESH::smIdType_array * SMESH_MeshEditor_i::GetLastCreatedElems ( )

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_MeshEditor::GetLastCreatedElems(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

Referenced by DoubleElements(), DoubleNodeElemGroup2New(), and DoubleNodeElemGroups2New().

◆ GetLastCreatedNodes()

SMESH::smIdType_array * SMESH_MeshEditor_i::GetLastCreatedNodes ( )

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_MeshEditor::GetLastCreatedNodes(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

Referenced by DoubleNodeElemGroup2New(), DoubleNodeElemGroups2New(), DoubleNodeGroupNew(), and DoubleNodeGroupsNew().

◆ GetLastError()

SMESH::ComputeError * SMESH_MeshEditor_i::GetLastError ( )

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

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

◆ GetMesh()

SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::GetMesh ( )

Returns the mesh.

References myMesh_i.

Referenced by GetPreviewData().

◆ getMeshDS()

SMESHDS_Mesh * SMESH_MeshEditor_i::getMeshDS ( )
private

Referenced by Add0DElement(), AddBall(), AddEdge(), AddFace(), AddNode(), AddNodeOnFace(), AddNodeOnSegment(), AddPolygonalFace(), AddPolyhedralVolume(), AddPolyhedralVolumeByFaces(), AddQuadPolygonalFace(), AddVolume(), AdvancedExtrusion(), AffectedElemGroupsInRegion(), BestSplit(), ChangeElemNodes(), ConvertFromQuadraticObject(), convertToQuadratic(), Create0DElementsOnAllNodes(), CreateFlatElementsOnFacesGroups(), CreateHoleSkin(), DeleteDiag(), DoubleElements(), DoubleNodeElem(), DoubleNodeElemGroup(), DoubleNodeElemGroup2New(), DoubleNodeElemGroupInRegion(), DoubleNodeElemGroups(), DoubleNodeElemGroups2New(), DoubleNodeElemGroupsInRegion(), DoubleNodeElemInRegion(), DoubleNodesOnGroupBoundaries(), ExtrusionAlongPathObjects(), ExtrusionByNormal(), ExtrusionSweepObjects(), FillHole(), FindAmongElementsByPoint(), FindCoincidentFreeBorders(), FindCoincidentNodesOnPart(), FindCoincidentNodesOnPartBut(), FindElementsByPoint(), FindEqualElements(), FindFreeBorders(), FindNodeClosestTo(), FindSharpEdges(), Get1DBranches(), GetPointState(), idSourceToSet(), InverseDiag(), IsCoherentOrientation2D(), IsManifold(), MakeBoundaryMesh(), MakePolyLine(), MakeSlot(), MergeNodes(), Mirror(), mirror(), MirrorMakeGroups(), MirrorMakeMesh(), MirrorObject(), MirrorObjectMakeGroups(), MirrorObjectMakeMesh(), MoveClosestNodeToPoint(), MoveNode(), Offset(), ProjectPoint(), QuadTo4Tri(), QuadToTri(), RemoveNodeWithReconnection(), RemoveOrphanNodes(), RenumberElements(), RenumberNodes(), Reorient(), Reorient2D(), Reorient2DBy3D(), Reorient2DByNeighbours(), Rotate(), rotate(), RotateMakeGroups(), RotateMakeMesh(), RotateObject(), RotateObjectMakeGroups(), RotateObjectMakeMesh(), RotationSweepObjects(), scale(), SetMeshElementOnShape(), SetNodeInVolume(), SetNodeOnEdge(), SetNodeOnFace(), SetNodeOnVertex(), SewBorderToSide(), SewCoincidentFreeBorders(), SewConformFreeBorders(), SewFreeBorders(), SewSideElements(), smooth(), SplitBiQuadraticIntoLinear(), SplitHexahedraIntoPrisms(), SplitQuad(), Translate(), translate(), TranslateMakeGroups(), TranslateMakeMesh(), TranslateObject(), TranslateObjectMakeGroups(), TranslateObjectMakeMesh(), and TriToQuad().

◆ GetMeshId()

int SMESH_MeshEditor_i::GetMeshId ( ) const

Return edited mesh ID.

Return values
int- mesh ID

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

◆ GetPointState()

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

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

◆ GetPreviewData()

◆ getPreviewMesh()

◆ GetTemporaryIDs()

SMESH::smIdType * SMESH_MeshEditor_i::GetTemporaryIDs ( SMESH::SMESH_IDSource_ptr &  idSource,
SMESH::smIdType &  nbIds 
)
static

◆ idSourceToSet()

◆ initData()

void SMESH_MeshEditor_i::initData ( bool  deleteSearchers = true)
private

Clear myLastCreated* or myPreviewData.

Clear members.

References SMESH_MeshEditor::ClearLastCreated(), getEditor(), SMESH_MeshEditor::GetError(), myIsPreviewMode, myPreviewMesh, and MeshEditor_I::TPreviewMesh::RemoveAll().

Referenced by Add0DElement(), AddBall(), AddEdge(), AddFace(), AddNode(), AddNodeOnFace(), AddNodeOnSegment(), AddPolygonalFace(), AddPolyhedralVolume(), AddPolyhedralVolumeByFaces(), AddQuadPolygonalFace(), AddVolume(), AdvancedExtrusion(), AffectedElemGroupsInRegion(), BestSplit(), ChangeElemNodes(), ConvertFromQuadratic(), ConvertFromQuadraticObject(), convertToQuadratic(), Create0DElementsOnAllNodes(), CreateFlatElementsOnFacesGroups(), CreateHoleSkin(), DeleteDiag(), DoubleElements(), DoubleNodeElem(), DoubleNodeElemGroup(), DoubleNodeElemGroup2New(), DoubleNodeElemGroupInRegion(), DoubleNodeElemGroups(), DoubleNodeElemGroups2New(), DoubleNodeElemGroupsInRegion(), DoubleNodeElemInRegion(), DoubleNodeGroups(), DoubleNodes(), DoubleNodesOnGroupBoundaries(), ExtrusionAlongPathObjects(), ExtrusionByNormal(), ExtrusionSweepObjects(), FillHole(), FindCoincidentNodes(), FindCoincidentNodesOnPart(), FindCoincidentNodesOnPartBut(), FindEqualElements(), FindSharpEdges(), InverseDiag(), Make2DMeshFrom3D(), MakeBoundaryElements(), MakeBoundaryMesh(), MakePolyLine(), MakeSlot(), MergeElements(), MergeEqualElements(), MergeNodes(), mirror(), MoveClosestNodeToPoint(), MoveNode(), Offset(), QuadTo4Tri(), QuadToTri(), QuadToTriObject(), RemoveElements(), RemoveNodes(), RemoveNodeWithReconnection(), RemoveOrphanNodes(), Reorient(), Reorient2D(), Reorient2DBy3D(), Reorient2DByNeighbours(), ReorientObject(), rotate(), RotationSweepObjects(), scale(), SewBorderToSide(), SewConformFreeBorders(), SewFreeBorders(), SewSideElements(), smooth(), smoothObject(), SplitBiQuadraticIntoLinear(), SplitHexahedraIntoPrisms(), SplitQuad(), SplitQuadObject(), SplitVolumesIntoTetra(), SplitVolumesIntoTetraAvoidOverConstrainedVolumes(), translate(), TriToQuad(), and TriToQuadObject().

◆ InverseDiag()

CORBA::Boolean SMESH_MeshEditor_i::InverseDiag ( SMESH::smIdType  NodeID1,
SMESH::smIdType  NodeID2 
)

◆ IsCoherentOrientation2D()

CORBA::Boolean SMESH_MeshEditor_i::IsCoherentOrientation2D ( )

Check if orientation of 2D elements is coherent.

References SMESH_MeshAlgos::FindFreeBorders(), getMeshDS(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ IsManifold()

CORBA::Boolean SMESH_MeshEditor_i::IsManifold ( )

◆ IsTemporaryIDSource()

bool SMESH_MeshEditor_i::IsTemporaryIDSource ( SMESH::SMESH_IDSource_ptr &  idSource)
static

◆ LinearAnglesVariation()

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(), SMESH_Gen_i::GetSMESHGen(), SMESH_Mesh::GetSubMesh(), SMESH_subMesh::GetSubMeshDS(), and SMESHDS_SubMesh::NbElements().

◆ Make2DMeshFrom3D()

CORBA::Boolean SMESH_MeshEditor_i::Make2DMeshFrom3D ( )

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_MeshEditor::Make2DMeshFrom3D(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ MakeBoundaryElements()

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

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
toCreateAllElements- if true all the dim element are created from the 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(), getEditor(), SMESH_Mesh_i::GetImpl(), SMESH_Mesh::GetMeshDS(), SMESH_Gen_i::GetSMESHGen(), idSourceToSet(), initData(), SMESH_MeshEditor::MakeBoundaryMesh(), makeMesh(), SMDS_Mesh::Modified(), myMesh, myMesh_i, SMDSAbs_Face, SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ MakeBoundaryMesh()

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 
)

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::CreateGroup(), getEditor(), SMESH_Mesh_i::GetImpl(), SMESH_Mesh::GetMeshDS(), getMeshDS(), idSourceToSet(), initData(), SMESH_MeshEditor::MakeBoundaryMesh(), makeMesh(), SMDS_Mesh::Modified(), myMesh_i, SMDSAbs_Face, SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ MakeIDSource()

SMESH::SMESH_IDSource_ptr SMESH_MeshEditor_i::MakeIDSource ( const SMESH::smIdType_array IDsOfElements,
SMESH::ElementType  type 
)

◆ makeMesh()

◆ MakePolyLine()

void SMESH_MeshEditor_i::MakePolyLine ( SMESH::ListOfPolySegments theSegments,
const char *  theGroupName 
)

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

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

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

References MeshEditor_I::TPreviewMesh::Copy(), SMESH_Mesh_i::CreateGroup(), SMESH::EDGE, SMDS_Mesh::elementsIterator(), SMESH::FACE, SMDS_Mesh::FindNode(), getEditor(), SMESH_MeshAlgos::GetElementSearcher(), SMESH_MeshEditor::GetLastCreatedElems(), SMESH_MeshEditor::GetLastCreatedNodes(), SMESH_Mesh::GetMeshDS(), getMeshDS(), MeshEditor_I::getPartIOR(), getPreviewMesh(), initData(), SMESH_MeshAlgos::MakePolyLine(), SMDS_Mesh::Modified(), myIsPreviewMode, myMesh, myMesh_i, SMESH_MeshAlgos::PolySegment::myNode1, SMESH_MeshAlgos::PolySegment::myNode2, SMESH_MeshAlgos::PolySegment::myVector, SMESH_MeshAlgos::PolySegment::myXYZ, SMESH_Mesh::NbFaces(), SMESH::PolySegment::node1ID1, SMESH::PolySegment::node1ID2, SMESH::PolySegment::node2ID1, SMESH::PolySegment::node2ID2, SMESH::DirStruct::PS, MeshEditor_I::TSearchersDeleter::Set(), SMDSAbs_Edge, SMDSAbs_Face, SMESHDS_Group::SMDSGroup(), SMESH_CATCH, SMESH_TRY, MeshEditor_I::theElementSearcher, MeshEditor_I::theSearchersDeleter, SMESH::throwCorbaException(), SMESH::PolySegment::vector, SMESH::PointStruct::x, SMESH::PolySegment::xyz1, SMESH::PolySegment::xyz2, SMESH::PointStruct::y, and SMESH::PointStruct::z.

◆ MakeSlot()

SMESH::ListOfEdges * SMESH_MeshEditor_i::MakeSlot ( SMESH::SMESH_GroupBase_ptr  theSegments,
CORBA::Double  theWidth 
)

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

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

Returns
Edges located at the slot boundary

References SMESH::EDGE, SMESH_Mesh_i::GetElements(), SMESHDS_Mesh::GetGroups(), getMeshDS(), initData(), SMESH_MeshAlgos::MakeSlot(), SMDS_Mesh::Modified(), myMesh, SMESH_Mesh::NbFaces(), SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ MergeElements()

void SMESH_MeshEditor_i::MergeElements ( const SMESH::array_of_long_array GroupsOfElementsID,
const SMESH::ListOfIDSources ElementsToKeep 
)

◆ MergeEqualElements()

◆ MergeNodes()

◆ Mirror()

void SMESH_MeshEditor_i::Mirror ( const SMESH::smIdType_array IDsOfElements,
const SMESH::AxisStruct Axis,
SMESH::SMESH_MeshEditor::MirrorType  MirrorType,
CORBA::Boolean  Copy 
)

◆ mirror()

◆ MirrorMakeGroups()

SMESH::ListOfGroups * SMESH_MeshEditor_i::MirrorMakeGroups ( const SMESH::smIdType_array IDsOfElements,
const SMESH::AxisStruct Mirror,
SMESH::SMESH_MeshEditor::MirrorType  MirrorType 
)

◆ MirrorMakeMesh()

SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::MirrorMakeMesh ( const SMESH::smIdType_array IDsOfElements,
const SMESH::AxisStruct Mirror,
SMESH::SMESH_MeshEditor::MirrorType  MirrorType,
CORBA::Boolean  CopyGroups,
const char *  MeshName 
)

◆ MirrorObject()

void SMESH_MeshEditor_i::MirrorObject ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::AxisStruct Axis,
SMESH::SMESH_MeshEditor::MirrorType  MirrorType,
CORBA::Boolean  Copy 
)

◆ MirrorObjectMakeGroups()

SMESH::ListOfGroups * SMESH_MeshEditor_i::MirrorObjectMakeGroups ( SMESH::SMESH_IDSource_ptr  Object,
const SMESH::AxisStruct Mirror,
SMESH::SMESH_MeshEditor::MirrorType  MirrorType 
)

◆ MirrorObjectMakeMesh()

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 
)

◆ MoveClosestNodeToPoint()

SMESH::smIdType SMESH_MeshEditor_i::MoveClosestNodeToPoint ( CORBA::Double  x,
CORBA::Double  y,
CORBA::Double  z,
SMESH::smIdType  nodeID 
)

◆ MoveNode()

◆ Offset()

SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::Offset ( SMESH::SMESH_IDSource_ptr  theObject,
CORBA::Double  theValue,
CORBA::Boolean  theCopyGroups,
CORBA::Boolean  theCopyElements,
const char *  theMeshName,
SMESH::ListOfGroups_out  theGroups 
)

Make an offset mesh from a source 2D mesh.

Parameters
[in,out]theObject- source mesh. New elements are added to this mesh if theMeshName is empty.
[in]theValue- offset value
[in]theCopyGroups- to generate groups
[in]theMeshName- optional name of a new mesh
[out]theGroups- new groups
Returns
SMESH::SMESH_Mesh_ptr - the modified mesh

References MeshEditor_I::TPreviewMesh::Copy(), getEditor(), getGroups(), SMESH_Mesh_i::GetImpl(), SMESH_Mesh::GetMeshDS(), getMeshDS(), getPreviewMesh(), SMESH_Gen_i::GetSMESHGen(), SMESH_Gen_i::getStudyServant(), idSourceToSet(), initData(), makeMesh(), SMDS_Mesh::Modified(), myIsPreviewMode, myMesh_i, SMESH_Gen_i::ObjectToSObject(), SMESH_MeshEditor::Offset(), SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ prepareIdSource()

◆ ProjectPoint()

SMESH::smIdType SMESH_MeshEditor_i::ProjectPoint ( CORBA::Double  x,
CORBA::Double  y,
CORBA::Double  z,
SMESH::ElementType  type,
SMESH::SMESH_IDSource_ptr  meshObject,
SMESH::double_array_out  projecton 
)

◆ QuadTo4Tri()

void SMESH_MeshEditor_i::QuadTo4Tri ( SMESH::SMESH_IDSource_ptr  theObject)

Split each of quadrangles into 4 triangles.

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

References declareMeshModified(), getEditor(), getMeshDS(), idSourceToSet(), initData(), SMESH_MeshEditor::QuadTo4Tri(), SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ QuadToTri()

CORBA::Boolean SMESH_MeshEditor_i::QuadToTri ( const SMESH::smIdType_array IDsOfElements,
SMESH::NumericalFunctor_ptr  Criterion 
)

◆ QuadToTriObject()

CORBA::Boolean SMESH_MeshEditor_i::QuadToTriObject ( SMESH::SMESH_IDSource_ptr  theObject,
SMESH::NumericalFunctor_ptr  Criterion 
)

◆ RemoveElements()

CORBA::Boolean SMESH_MeshEditor_i::RemoveElements ( const SMESH::smIdType_array IDsOfElements)

◆ RemoveNodes()

CORBA::Boolean SMESH_MeshEditor_i::RemoveNodes ( const SMESH::smIdType_array IDsOfNodes)

◆ RemoveNodeWithReconnection()

◆ RemoveOrphanNodes()

◆ RenumberElements()

void SMESH_MeshEditor_i::RenumberElements ( )

◆ RenumberNodes()

void SMESH_MeshEditor_i::RenumberNodes ( )

◆ Reorient()

CORBA::Boolean SMESH_MeshEditor_i::Reorient ( const SMESH::smIdType_array IDsOfElements)

◆ Reorient2D()

CORBA::Long SMESH_MeshEditor_i::Reorient2D ( SMESH::SMESH_IDSource_ptr  the2Dgroup,
const SMESH::DirStruct theDirection,
CORBA::Long  theFace,
const SMESH::PointStruct thePoint 
)

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 declareMeshModified(), SMESH::FACE, SMESH_ElementSearcher::FindClosestTo(), SMDS_Mesh::FindElement(), getEditor(), SMESH_MeshAlgos::GetElementSearcher(), getMeshDS(), MeshEditor_I::getPartIOR(), SMDS_MeshElement::GetType(), IDSource_EMPTY, IDSource_INVALID, idSourceToSet(), initData(), myMesh, SMESH_Mesh::NbFaces(), SMESH::DirStruct::PS, SMESH_MeshEditor::Reorient2D(), 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.

◆ Reorient2DBy3D()

CORBA::Long SMESH_MeshEditor_i::Reorient2DBy3D ( const SMESH::ListOfIDSources faces,
SMESH::SMESH_IDSource_ptr  volumes,
CORBA::Boolean  outsideNormal 
)

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 declareMeshModified(), getEditor(), getMeshDS(), IDSource_EMPTY, IDSource_INVALID, IDSource_OK, idSourceToSet(), initData(), SMESH_MeshEditor::Reorient2DBy3D(), SMDSAbs_Face, SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ Reorient2DByNeighbours()

CORBA::Long SMESH_MeshEditor_i::Reorient2DByNeighbours ( const SMESH::ListOfIDSources objectFaces,
const SMESH::ListOfIDSources referenceFaces 
)

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

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

References declareMeshModified(), getEditor(), getMeshDS(), IDSource_INVALID, idSourceToSet(), initData(), SMESH_MeshEditor::Reorient2D(), SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ ReorientObject()

CORBA::Boolean SMESH_MeshEditor_i::ReorientObject ( SMESH::SMESH_IDSource_ptr  theObject)

◆ Rotate()

void SMESH_MeshEditor_i::Rotate ( const SMESH::smIdType_array IDsOfElements,
const SMESH::AxisStruct Axis,
CORBA::Double  Angle,
CORBA::Boolean  Copy 
)

◆ rotate()

◆ RotateMakeGroups()

SMESH::ListOfGroups * SMESH_MeshEditor_i::RotateMakeGroups ( const SMESH::smIdType_array IDsOfElements,
const SMESH::AxisStruct Axis,
CORBA::Double  AngleInRadians 
)

◆ RotateMakeMesh()

SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::RotateMakeMesh ( const SMESH::smIdType_array IDsOfElements,
const SMESH::AxisStruct Axis,
CORBA::Double  AngleInRadians,
CORBA::Boolean  CopyGroups,
const char *  MeshName 
)

◆ RotateObject()

void SMESH_MeshEditor_i::RotateObject ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::AxisStruct Axis,
CORBA::Double  Angle,
CORBA::Boolean  Copy 
)

◆ RotateObjectMakeGroups()

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

◆ RotateObjectMakeMesh()

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 
)

◆ RotationSweepObjects()

◆ Scale()

void SMESH_MeshEditor_i::Scale ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::PointStruct thePoint,
const SMESH::double_array theScaleFact,
CORBA::Boolean  theCopy 
)

References myIsPreviewMode, and scale().

◆ scale()

◆ ScaleMakeGroups()

SMESH::ListOfGroups * SMESH_MeshEditor_i::ScaleMakeGroups ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::PointStruct thePoint,
const SMESH::double_array theScaleFact 
)

◆ ScaleMakeMesh()

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 
)

◆ SetMeshElementOnShape()

void SMESH_MeshEditor_i::SetMeshElementOnShape ( SMESH::smIdType  ElementID,
CORBA::Long  ShapeID 
)

Bind an element to a shape.

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

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

◆ SetNodeInVolume()

void SMESH_MeshEditor_i::SetNodeInVolume ( SMESH::smIdType  NodeID,
CORBA::Long  SolidID 
)

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(), getMeshDS(), SMESHDS_Mesh::IndexToShape(), SMESHDS_Mesh::MaxShapeIndex(), SMESHDS_Mesh::SetNodeInVolume(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ SetNodeOnEdge()

void SMESH_MeshEditor_i::SetNodeOnEdge ( SMESH::smIdType  NodeID,
CORBA::Long  EdgeID,
CORBA::Double  paramOnEdge 
)

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(), getMeshDS(), SMESHDS_Mesh::IndexToShape(), SMESHDS_Mesh::MaxShapeIndex(), myMesh, SMESH_Mesh::SetIsModified(), SMESHDS_Mesh::SetNodeOnEdge(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ SetNodeOnFace()

void SMESH_MeshEditor_i::SetNodeOnFace ( SMESH::smIdType  NodeID,
CORBA::Long  FaceID,
CORBA::Double  u,
CORBA::Double  v 
)

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(), getMeshDS(), SMESHDS_Mesh::IndexToShape(), SMESHDS_Mesh::MaxShapeIndex(), myMesh, SMESH_Mesh::SetIsModified(), SMESHDS_Mesh::SetNodeOnFace(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ SetNodeOnVertex()

void SMESH_MeshEditor_i::SetNodeOnVertex ( SMESH::smIdType  NodeID,
CORBA::Long  VertexID 
)

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(), getMeshDS(), SMESHDS_Mesh::IndexToShape(), SMESHDS_Mesh::MaxShapeIndex(), myMesh, SMESH_Mesh::SetIsModified(), SMESHDS_Mesh::SetNodeOnVertex(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().

◆ SewBorderToSide()

SMESH::SMESH_MeshEditor::Sew_Error SMESH_MeshEditor_i::SewBorderToSide ( SMESH::smIdType  FirstNodeIDOnFreeBorder,
SMESH::smIdType  SecondNodeIDOnFreeBorder,
SMESH::smIdType  LastNodeIDOnFreeBorder,
SMESH::smIdType  FirstNodeIDOnSide,
SMESH::smIdType  LastNodeIDOnSide,
CORBA::Boolean  CreatePolygons,
CORBA::Boolean  CreatePolyedrs 
)

◆ SewCoincidentFreeBorders()

◆ SewConformFreeBorders()

SMESH::SMESH_MeshEditor::Sew_Error SMESH_MeshEditor_i::SewConformFreeBorders ( SMESH::smIdType  FirstNodeID1,
SMESH::smIdType  SecondNodeID1,
SMESH::smIdType  LastNodeID1,
SMESH::smIdType  FirstNodeID2,
SMESH::smIdType  SecondNodeID2 
)

◆ SewFreeBorders()

SMESH::SMESH_MeshEditor::Sew_Error SMESH_MeshEditor_i::SewFreeBorders ( SMESH::smIdType  FirstNodeID1,
SMESH::smIdType  SecondNodeID1,
SMESH::smIdType  LastNodeID1,
SMESH::smIdType  FirstNodeID2,
SMESH::smIdType  SecondNodeID2,
SMESH::smIdType  LastNodeID2,
CORBA::Boolean  CreatePolygons,
CORBA::Boolean  CreatePolyedrs 
)

◆ SewSideElements()

SMESH::SMESH_MeshEditor::Sew_Error SMESH_MeshEditor_i::SewSideElements ( const SMESH::smIdType_array IDsOfSide1Elements,
const SMESH::smIdType_array IDsOfSide2Elements,
SMESH::smIdType  NodeID1OfSide1ToMerge,
SMESH::smIdType  NodeID1OfSide2ToMerge,
SMESH::smIdType  NodeID2OfSide1ToMerge,
SMESH::smIdType  NodeID2OfSide2ToMerge 
)

◆ Smooth()

CORBA::Boolean SMESH_MeshEditor_i::Smooth ( const SMESH::smIdType_array IDsOfElements,
const SMESH::smIdType_array IDsOfFixedNodes,
CORBA::Short  MaxNbOfIterations,
CORBA::Double  MaxAspectRatio,
SMESH::SMESH_MeshEditor::Smooth_Method  Method 
)

References smooth().

◆ smooth()

◆ SmoothObject()

CORBA::Boolean SMESH_MeshEditor_i::SmoothObject ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::smIdType_array IDsOfFixedNodes,
CORBA::Short  MaxNbOfIterations,
CORBA::Double  MaxAspectRatio,
SMESH::SMESH_MeshEditor::Smooth_Method  Method 
)

References smoothObject().

◆ smoothObject()

CORBA::Boolean SMESH_MeshEditor_i::smoothObject ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::smIdType_array IDsOfFixedNodes,
CORBA::Short  MaxNbOfIterations,
CORBA::Double  MaxAspectRatio,
SMESH::SMESH_MeshEditor::Smooth_Method  Method,
bool  IsParametric 
)

◆ SmoothParametric()

CORBA::Boolean SMESH_MeshEditor_i::SmoothParametric ( const SMESH::smIdType_array IDsOfElements,
const SMESH::smIdType_array IDsOfFixedNodes,
CORBA::Short  MaxNbOfIterations,
CORBA::Double  MaxAspectRatio,
SMESH::SMESH_MeshEditor::Smooth_Method  Method 
)

References smooth().

◆ SmoothParametricObject()

CORBA::Boolean SMESH_MeshEditor_i::SmoothParametricObject ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::smIdType_array IDsOfFixedNodes,
CORBA::Short  MaxNbOfIterations,
CORBA::Double  MaxAspectRatio,
SMESH::SMESH_MeshEditor::Smooth_Method  Method 
)

References smoothObject().

◆ SplitBiQuadraticIntoLinear()

void SMESH_MeshEditor_i::SplitBiQuadraticIntoLinear ( const SMESH::ListOfIDSources theElems)

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 declareMeshModified(), getEditor(), SMESH_Mesh_i::GetId(), getMeshDS(), idSourceToSet(), initData(), myMesh_i, SMDSAbs_All, SMESH_CATCH, SMESH_TRY, SMESH_MeshEditor::SplitBiQuadraticIntoLinear(), and SMESH::throwCorbaException().

◆ SplitHexahedraIntoPrisms()

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

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(), declareMeshModified(), getEditor(), SMESH_MeshEditor::GetHexaFacetsToSplit(), getMeshDS(), SMESH_MeshEditor::HEXA_TO_2_PRISMS, SMESH_MeshEditor::HEXA_TO_4_PRISMS, initData(), prepareIdSource(), SMESH::DirStruct::PS, SMDSAbs_Volume, SMDSGeom_HEXA, SMESH_CATCH, SMESH_TRY, SMESH_MeshEditor::SplitVolumes(), SMESH::throwCorbaException(), SMESH::PointStruct::x, SMESH::PointStruct::y, and SMESH::PointStruct::z.

◆ SplitQuad()

CORBA::Boolean SMESH_MeshEditor_i::SplitQuad ( const SMESH::smIdType_array IDsOfElements,
CORBA::Boolean  Diag13 
)

◆ SplitQuadObject()

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

◆ SplitVolumesIntoTetra()

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

◆ SplitVolumesIntoTetraAvoidOverConstrainedVolumes()

void SMESH_MeshEditor_i::SplitVolumesIntoTetraAvoidOverConstrainedVolumes ( SMESH::SMESH_IDSource_ptr  elems,
CORBA::Short  methodFlags 
)

◆ Translate()

void SMESH_MeshEditor_i::Translate ( const SMESH::smIdType_array IDsOfElements,
const SMESH::DirStruct Vector,
CORBA::Boolean  Copy 
)

◆ translate()

◆ TranslateMakeGroups()

SMESH::ListOfGroups * SMESH_MeshEditor_i::TranslateMakeGroups ( const SMESH::smIdType_array IDsOfElements,
const SMESH::DirStruct Vector 
)

◆ TranslateMakeMesh()

SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::TranslateMakeMesh ( const SMESH::smIdType_array IDsOfElements,
const SMESH::DirStruct Vector,
CORBA::Boolean  CopyGroups,
const char *  MeshName 
)

◆ TranslateObject()

void SMESH_MeshEditor_i::TranslateObject ( SMESH::SMESH_IDSource_ptr  theObject,
const SMESH::DirStruct Vector,
CORBA::Boolean  Copy 
)

◆ TranslateObjectMakeGroups()

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

◆ TranslateObjectMakeMesh()

SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::TranslateObjectMakeMesh ( SMESH::SMESH_IDSource_ptr  Object,
const SMESH::DirStruct Vector,
CORBA::Boolean  CopyGroups,
const char *  MeshName 
)

◆ TriToQuad()

CORBA::Boolean SMESH_MeshEditor_i::TriToQuad ( const SMESH::smIdType_array IDsOfElements,
SMESH::NumericalFunctor_ptr  Criterion,
CORBA::Double  MaxAngle 
)

◆ TriToQuadObject()

CORBA::Boolean SMESH_MeshEditor_i::TriToQuadObject ( SMESH::SMESH_IDSource_ptr  theObject,
SMESH::NumericalFunctor_ptr  Criterion,
CORBA::Double  MaxAngle 
)

Fuse neighbour triangles into quadrangles.

References initData(), myIsPreviewMode, prepareIdSource(), SMESH_CATCH, SMESH_TRY, SMESH::throwCorbaException(), and TriToQuad().

Field Documentation

◆ myEditor

::SMESH_MeshEditor SMESH_MeshEditor_i::myEditor
private

Referenced by getEditor().

◆ myIsPreviewMode

◆ myMesh

◆ myMesh_i

◆ myPreviewData

SMESH::MeshPreviewStruct_var SMESH_MeshEditor_i::myPreviewData
private

Referenced by GetPreviewData().

◆ myPreviewEditor

::SMESH_MeshEditor* SMESH_MeshEditor_i::myPreviewEditor
private

◆ myPreviewMesh

MeshEditor_I::TPreviewMesh* SMESH_MeshEditor_i::myPreviewMesh
private