#include <SMESH_MeshEditor_i.hxx>
Data Structures | |
struct | _IDSource |
Public Member Functions | |
SMESH_MeshEditor_i (SMESH_Mesh_i *theMesh, bool isPreview) | |
virtual | ~ SMESH_MeshEditor_i () |
int | GetMeshId () const |
Return edited mesh ID. More... | |
SMESH::SMESH_Mesh_ptr | GetMesh () |
Returns the mesh. More... | |
SMESH::MeshPreviewStruct * | GetPreviewData () |
Return data of mesh edition preview. More... | |
SMESH::smIdType_array * | 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. More... | |
SMESH::smIdType_array * | 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. More... | |
void | ClearLastCreated () |
Clears sequences of last created elements and nodes. More... | |
SMESH::ComputeError * | GetLastError () |
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 | 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::ListOfGroups * | RotationSweepObjects (const SMESH::ListOfIDSources &Nodes, const SMESH::ListOfIDSources &Edges, const SMESH::ListOfIDSources &Faces, const SMESH::AxisStruct &Axis, CORBA::Double AngleInRadians, CORBA::Long NbOfSteps, CORBA::Double Tolerance, CORBA::Boolean ToMakeGroups) |
SMESH::ListOfGroups * | ExtrusionSweepObjects (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::ListOfGroups * | ExtrusionByNormal (const SMESH::ListOfIDSources &objects, CORBA::Double stepSize, CORBA::Long nbOfSteps, CORBA::Boolean byAverageNormal, CORBA::Boolean useInputElemsOnly, CORBA::Boolean makeGroups, CORBA::Short dim) |
SMESH::ListOfGroups * | AdvancedExtrusion (const SMESH::smIdType_array &theIDsOfElements, const SMESH::DirStruct &theStepVector, CORBA::Long theNbOfSteps, CORBA::Long theExtrFlags, CORBA::Double theSewTolerance, CORBA::Boolean theMakeGroups) |
SMESH::ListOfGroups * | 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) |
SMESH::double_array * | LinearAnglesVariation (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::ListOfGroups * | MirrorMakeGroups (const SMESH::smIdType_array &IDsOfElements, const SMESH::AxisStruct &Mirror, SMESH::SMESH_MeshEditor::MirrorType MirrorType) |
SMESH::ListOfGroups * | MirrorObjectMakeGroups (SMESH::SMESH_IDSource_ptr Object, const SMESH::AxisStruct &Mirror, SMESH::SMESH_MeshEditor::MirrorType MirrorType) |
SMESH::ListOfGroups * | TranslateMakeGroups (const SMESH::smIdType_array &IDsOfElements, const SMESH::DirStruct &Vector) |
SMESH::ListOfGroups * | TranslateObjectMakeGroups (SMESH::SMESH_IDSource_ptr Object, const SMESH::DirStruct &Vector) |
SMESH::ListOfGroups * | RotateMakeGroups (const SMESH::smIdType_array &IDsOfElements, const SMESH::AxisStruct &Axis, CORBA::Double AngleInRadians) |
SMESH::ListOfGroups * | RotateObjectMakeGroups (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::ListOfGroups * | ScaleMakeGroups (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_array * | FindElementsByPoint (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_array * | FindAmongElementsByPoint (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_array * | 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. More... | |
SMESH::ListOfEdges * | FindSharpEdges (CORBA::Double angle, CORBA::Boolean addExisting) |
Return sharp edges of faces and non-manifold ones. More... | |
SMESH::ListOfFreeBorders * | FindFreeBorders (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::CoincidentFreeBorders * | FindCoincidentFreeBorders (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::ListOfGroups * | 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. 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::ListOfGroups * | 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. 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::ListOfGroups * | 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. 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::ListOfEdges * | MakeSlot (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_MeshEditor & | getEditor () |
< private methods More... | |
SMESHDS_Mesh * | getMeshDS () |
MeshEditor_I::TPreviewMesh * | getPreviewMesh (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::ListOfGroups * | getGroups (const std::list< int > *groupIDs) |
Return groups by their IDs. More... | |
SMESH::ListOfGroups * | mirror (TIDSortedElemSet &IDsOfElements, const SMESH::AxisStruct &Axis, SMESH::SMESH_MeshEditor::MirrorType MirrorType, CORBA::Boolean Copy, bool MakeGroups, ::SMESH_Mesh *TargetMesh=0) |
SMESH::ListOfGroups * | translate (TIDSortedElemSet &IDsOfElements, const SMESH::DirStruct &Vector, CORBA::Boolean Copy, bool MakeGroups, ::SMESH_Mesh *TargetMesh=0) |
SMESH::ListOfGroups * | rotate (TIDSortedElemSet &IDsOfElements, const SMESH::AxisStruct &Axis, CORBA::Double Angle, CORBA::Boolean Copy, bool MakeGroups, ::SMESH_Mesh *TargetMesh=0) |
SMESH::ListOfGroups * | scale (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_i * | myMesh_i |
< fields More... | |
SMESH_Mesh * | myMesh |
::SMESH_MeshEditor | myEditor |
bool | myIsPreviewMode |
MeshEditor_I::TPreviewMesh * | myPreviewMesh |
::SMESH_MeshEditor * | myPreviewEditor |
SMESH::MeshPreviewStruct_var | myPreviewData |
|
private |
SMESH_MeshEditor_i::SMESH_MeshEditor_i | ( | SMESH_Mesh_i * | theMesh, |
bool | isPreview | ||
) |
|
virtual |
SMESH::smIdType SMESH_MeshEditor_i::Add0DElement | ( | SMESH::smIdType | IDOfNode, |
CORBA::Boolean | DuplicateElements | ||
) |
Create 0D element on the given node.
References SMESHDS_Mesh::Add0DElement(), declareMeshModified(), SMDS_Mesh::FindNode(), SMDS_MeshElement::GetID(), SMDS_MeshNode::GetInverseElementIterator(), getMeshDS(), initData(), SMDSAbs_0DElement, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
Referenced by SewCoincidentFreeBorders().
SMESH::smIdType SMESH_MeshEditor_i::AddBall | ( | SMESH::smIdType | IDOfNodem, |
CORBA::Double | diameter | ||
) |
Create a ball element on the given node.
References SMESHDS_Mesh::AddBall(), declareMeshModified(), SMDS_Mesh::FindNode(), SMDS_MeshElement::GetID(), getMeshDS(), initData(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
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().
SMESH::smIdType SMESH_MeshEditor_i::AddFace | ( | const SMESH::smIdType_array & | IDsOfNodes | ) |
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().
void SMESH_MeshEditor_i::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.
References MeshEditor_I::TPreviewMesh::Copy(), declareMeshModified(), SMDS_Mesh::FindElement(), getEditor(), getMeshDS(), getPreviewMesh(), SMDS_MeshElement::GetType(), initData(), myIsPreviewMode, SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, SMESH_MeshEditor::SplitFace(), and SMESH::throwCorbaException().
void SMESH_MeshEditor_i::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.
References MeshEditor_I::TPreviewMesh::Copy(), declareMeshModified(), SMESH_MeshAlgos::FindFaceInSet(), SMDS_Mesh::FindNode(), getEditor(), SMESH_Mesh::GetMeshDS(), getMeshDS(), getPreviewMesh(), SMESHDS_Mesh::IndexToShape(), initData(), myIsPreviewMode, SMESHDS_Mesh::SetMeshElementOnShape(), SMESH_Mesh::ShapeToMesh(), SMESH_CATCH, SMESH_TRY, SMESH_MeshEditor::SplitEdge(), and SMESH::throwCorbaException().
SMESH::smIdType SMESH_MeshEditor_i::AddPolygonalFace | ( | const SMESH::smIdType_array & | IDsOfNodes | ) |
AddPolygonalFace.
References SMESHDS_Mesh::AddPolygonalFace(), declareMeshModified(), DriverMED::FindNode(), SMDS_MeshElement::GetID(), getMeshDS(), initData(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
SMESH::smIdType SMESH_MeshEditor_i::AddPolyhedralVolume | ( | const SMESH::smIdType_array & | IDsOfNodes, |
const SMESH::long_array & | Quantities | ||
) |
AddPolyhedralVolume.
References SMESHDS_Mesh::AddPolyhedralVolume(), declareMeshModified(), SMDS_Mesh::FindNode(), SMDS_MeshElement::GetID(), getMeshDS(), initData(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
SMESH::smIdType SMESH_MeshEditor_i::AddPolyhedralVolumeByFaces | ( | const SMESH::smIdType_array & | IdsOfFaces | ) |
AddPolyhedralVolumeByFaces.
References SMESHDS_Mesh::AddPolyhedralVolume(), declareMeshModified(), SMDS_Mesh::FindElement(), SMDS_MeshElement::GetID(), getMeshDS(), initData(), SMDS_MeshElement::NbNodes(), SMDS_MeshElement::nodesIterator(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
SMESH::smIdType SMESH_MeshEditor_i::AddQuadPolygonalFace | ( | const SMESH::smIdType_array & | IDsOfNodes | ) |
AddQuadPolygonalFace.
References SMESHDS_Mesh::AddQuadPolygonalFace(), declareMeshModified(), SMDS_Mesh::FindNode(), SMDS_MeshElement::GetID(), getMeshDS(), initData(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
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().
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 | ||
) |
References MeshEditor_I::arrayToSet(), declareMeshModified(), dumpGroupsList(), SMESH_MeshEditor::ExtrusionSweep(), getEditor(), getGroups(), getMeshDS(), getPreviewMesh(), initData(), myIsPreviewMode, MeshEditor_I::TPreviewMesh::Remove(), SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
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.
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. |
This method is the first step of DoubleNodeElemGroupsInRegion.
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. |
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.
CORBA::Short SMESH_MeshEditor_i::BestSplit | ( | SMESH::smIdType | IDOfQuad, |
SMESH::NumericalFunctor_ptr | Criterion | ||
) |
Find better splitting of the given quadrangle.
IDOfQuad | ID of the quadrangle to be split. |
Criterion | A criterion to choose a diagonal for splitting. |
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().
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
ide | - element id |
newIDs | - new node ids |
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().
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().
CORBA::Boolean SMESH_MeshEditor_i::ConvertFromQuadratic | ( | ) |
References SMESH_MeshEditor::ConvertFromQuadratic(), declareMeshModified(), getEditor(), initData(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
Referenced by ConvertFromQuadraticObject().
void SMESH_MeshEditor_i::ConvertFromQuadraticObject | ( | SMESH::SMESH_IDSource_ptr | theObject | ) |
Makes a part of the mesh linear.
References SMESH_MeshEditor::ConvertFromQuadratic(), ConvertFromQuadratic(), declareMeshModified(), getEditor(), getMeshDS(), idSourceToSet(), initData(), SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
void SMESH_MeshEditor_i::ConvertToBiQuadratic | ( | CORBA::Boolean | theForce3d, |
SMESH::SMESH_IDSource_ptr | theObject | ||
) |
Makes a part of the mesh bi-quadratic.
References convertToQuadratic().
void SMESH_MeshEditor_i::ConvertToQuadratic | ( | CORBA::Boolean | Force3d | ) |
References convertToQuadratic().
|
private |
Makes a part of the mesh quadratic or bi-quadratic.
References SMESH_MeshEditor::ConvertToQuadratic(), declareMeshModified(), getEditor(), getMeshDS(), idSourceToSet(), initData(), SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
Referenced by ConvertToBiQuadratic(), ConvertToQuadratic(), and ConvertToQuadraticObject().
void SMESH_MeshEditor_i::ConvertToQuadraticObject | ( | CORBA::Boolean | theForce3d, |
SMESH::SMESH_IDSource_ptr | theObject | ||
) |
Makes a part of the mesh quadratic.
References convertToQuadratic().
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.
theObject | object on whose nodes 0D elements will be created. |
theGroupName | optional name of a group to add 0D elements created and/or found on nodes of theObject. |
theDuplicateElements | to add one more 0D element to a node or not |
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().
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.
theGroupsOfFaces | - list of groups of faces |
References MeshEditor_I::arrayToSet(), SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(), declareMeshModified(), getEditor(), getMeshDS(), initData(), SMESH::NODE, SMDSAbs_All, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
void SMESH_MeshEditor_i::CreateHoleSkin | ( | CORBA::Double | radius, |
GEOM::GEOM_Object_ptr | theShape, | ||
const char * | groupName, | ||
const SMESH::double_array & | theNodesCoords, | ||
SMESH::array_of_long_array_out | GroupsOfNodes | ||
) |
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().
|
private |
Increment mesh modif time and optionally record that the performed modification may influence further mesh re-compute.
[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(), translate(), and TriToQuad().
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().
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.
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. |
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().
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.
theNodeId | - identifier of node to be doubled. |
theModifiedElems | - identifiers of elements to be updated. |
References DoubleNodes(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
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.
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. |
References MeshEditor_I::arrayToSet(), declareMeshModified(), SMESH_MeshEditor::DoubleNodes(), getEditor(), getMeshDS(), initData(), SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
CORBA::Boolean SMESH_MeshEditor_i::DoubleNodeElemGroup | ( | SMESH::SMESH_GroupBase_ptr | theElems, |
SMESH::SMESH_GroupBase_ptr | theNodesNot, | ||
SMESH::SMESH_GroupBase_ptr | theAffectedElems | ||
) |
Creates a hole in a mesh by doubling the nodes of some particular elements.
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. |
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. |
References declareMeshModified(), SMESH_MeshEditor::DoubleNodes(), getEditor(), getMeshDS(), idSourceToSet(), initData(), SMESH::NODE, SMDSAbs_All, SMDSAbs_Node, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
SMESH::ListOfGroups * SMESH_MeshEditor_i::DoubleNodeElemGroup2New | ( | SMESH::SMESH_GroupBase_ptr | theElems, |
SMESH::SMESH_GroupBase_ptr | theNodesNot, | ||
SMESH::SMESH_GroupBase_ptr | theAffectedElems, | ||
CORBA::Boolean | theElemGroupNeeded, | ||
CORBA::Boolean | theNodeGroupNeeded | ||
) |
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.
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. |
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().
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.
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. |
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().
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.
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. |
References DoubleNodeElemGroup2New().
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.
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. |
This method provided for convenience works as DoubleNodes() described above.
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. |
References declareMeshModified(), SMESH_MeshEditor::DoubleNodes(), getEditor(), getMeshDS(), initData(), listOfGroupToSet(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
SMESH::ListOfGroups * SMESH_MeshEditor_i::DoubleNodeElemGroups2New | ( | const SMESH::ListOfGroups & | theElems, |
const SMESH::ListOfGroups & | theNodesNot, | ||
const SMESH::ListOfGroups & | theAffectedElems, | ||
CORBA::Boolean | theElemGroupNeeded, | ||
CORBA::Boolean | theNodeGroupNeeded | ||
) |
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.
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. |
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().
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.
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. |
References declareMeshModified(), SMESH_MeshEditor::DoubleNodesInRegion(), SMESH_Gen_i::GeomObjectToShape(), getEditor(), getMeshDS(), SMESH_Gen_i::GetSMESHGen(), initData(), listOfGroupToSet(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
SMESH::SMESH_Group_ptr SMESH_MeshEditor_i::DoubleNodeElemGroupsNew | ( | const SMESH::ListOfGroups & | theElems, |
const SMESH::ListOfGroups & | theNodesNot, | ||
const SMESH::ListOfGroups & | theAffectedElems | ||
) |
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.
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. |
References DoubleNodeElemGroups2New().
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.
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. |
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().
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.
theNodes | - group of nodes to be doubled. |
theModifiedElems | - group of elements to be updated. |
References DoubleNodes(), SMESH::NODE, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
SMESH::SMESH_Group_ptr SMESH_MeshEditor_i::DoubleNodeGroupNew | ( | SMESH::SMESH_GroupBase_ptr | theNodes, |
SMESH::SMESH_GroupBase_ptr | theModifiedElems | ||
) |
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.
theNodes | - group of nodes to be doubled. |
theModifiedElems | - group of elements to be updated. |
References SMESH_Mesh_i::CreateGroup(), DoubleNodes(), GenerateGroupName(), GetLastCreatedNodes(), myMesh_i, SMESH::NODE, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
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.
theNodes | - list of groups of nodes to be doubled |
theModifiedElems | - list of groups of elements to be updated. |
References declareMeshModified(), SMESH_MeshEditor::DoubleNodes(), getEditor(), initData(), SMESH::NODE, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
Referenced by 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.
theNodes | - group of nodes to be doubled. |
theModifiedElems | - group of elements to be updated. |
References SMESH_Mesh_i::CreateGroup(), DoubleNodeGroups(), GenerateGroupName(), GetLastCreatedNodes(), SMESH::GetName(), myMesh_i, and SMESH::NODE.
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.
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 |
References declareMeshModified(), SMESH_MeshEditor::DoubleNodes(), getEditor(), initData(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
Referenced by DoubleNode(), DoubleNodeGroup(), and DoubleNodeGroupNew().
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.
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 |
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".
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 |
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().
|
private |
SMESH::ListOfGroups * SMESH_MeshEditor_i::ExtrusionAlongPathObjects | ( | const SMESH::ListOfIDSources & | Nodes, |
const SMESH::ListOfIDSources & | Edges, | ||
const SMESH::ListOfIDSources & | Faces, | ||
SMESH::SMESH_IDSource_ptr | PathMesh, | ||
GEOM::GEOM_Object_ptr | PathShape, | ||
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 | ||
) |
References SMESHDS_Mesh::AddCompoundSubmesh(), MeshEditor_I::TPreviewMesh::Copy(), declareMeshModified(), SMESH::EDGE, SMESH::SMESH_MeshEditor::EXTR_BAD_PATH_SHAPE, SMESH::SMESH_MeshEditor::EXTR_BAD_STARTING_NODE, SMESH::SMESH_MeshEditor::EXTR_PATH_NOT_EDGE, SMESH_MeshEditor::ExtrusionAlongTrack(), SMDS_Mesh::FindNode(), SMESH_Gen_i::GeomObjectToShape(), getEditor(), SMESHDS_SubMesh::GetElements(), SMESH_Mesh_i::GetElements(), SMESH_Mesh::GetGroupIds(), getGroups(), SMESH_Mesh_i::GetImpl(), SMESH_Mesh::GetMeshDS(), getMeshDS(), getPreviewMesh(), SMESH_Gen_i::GetSMESHGen(), SMESH_Mesh::GetSubMesh(), SMESH_subMesh::GetSubMeshDS(), idSourceToSet(), initData(), myIsPreviewMode, myMesh, myMesh_i, SMESH_Mesh::NbGroup(), SMESH::NODE, prepareIdSource(), MeshEditor_I::TPreviewMesh::Remove(), SMDSAbs_All, SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, SMESH::throwCorbaException(), SMESH::PointStruct::x, SMESH::PointStruct::y, and SMESH::PointStruct::z.
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 | ||
) |
References MeshEditor_I::TPreviewMesh::Copy(), declareMeshModified(), dumpGroupsList(), SMESH::EDGE, SMESH_MeshEditor::ExtrusionSweep(), SMESH::FACE, getEditor(), getGroups(), getMeshDS(), getPreviewMesh(), idSourceToSet(), initData(), myIsPreviewMode, MeshEditor_I::TPreviewMesh::Remove(), MeshEditor_I::ExtrusionParams::SetNoGroups(), SMDSAbs_All, SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
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.
[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. |
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().
SMESH::SMESH_Group_ptr SMESH_MeshEditor_i::FillHole | ( | const SMESH::FreeBorder & | hole, |
const char * | groupName | ||
) |
Fill with 2D elements a hole defined by a FreeBorder.
Optionally add new faces to a given group, which is returned
References SMESHDS_Group::Add(), SMESH_Mesh::Clear(), SMESH_MeshEditor::ClearLastCreated(), MeshEditor_I::TPreviewMesh::Copy(), SMESH_Mesh_i::CreateGroup(), SMESH::FACE, SMESH_MeshAlgos::FillHole(), SMDS_Mesh::FindNode(), getEditor(), SMESH_GroupBase_i::GetGroupDS(), SMESH_Mesh_i::GetGroups(), SMESH_MeshEditor::GetLastCreatedElems(), SMESH_Mesh::GetMeshDS(), getMeshDS(), getPreviewMesh(), initData(), myIsPreviewMode, myMesh_i, SMESH::FreeBorder::nodeIDs, SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
SMESH::smIdType_array * SMESH_MeshEditor_i::FindAmongElementsByPoint | ( | 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.
'ALL' type means elements of any type excluding nodes
References SMESH::BALL, SMESH::ELEM0D, SMESH_ElementSearcher::FindElementsByPoint(), FindElementsByPoint(), SMESH_Mesh_i::GetElements(), SMESH_MeshAlgos::GetElementSearcher(), getMeshDS(), SMESH_Mesh_i::GetMeshEditor(), SMESH_Mesh_i::GetMeshEditPreviewer(), MeshEditor_I::getPartIOR(), myIsPreviewMode, myMesh, myMesh_i, SMESH::NODE, prepareIdSource(), MeshEditor_I::TSearchersDeleter::Set(), SMESH_CATCH, SMESH_TRY, MeshEditor_I::theElementSearcher, MeshEditor_I::theSearchersDeleter, and SMESH::throwCorbaException().
SMESH::CoincidentFreeBorders * SMESH_MeshEditor_i::FindCoincidentFreeBorders | ( | CORBA::Double | tolerance | ) |
Returns groups of FreeBorder's coincident within the given tolerance.
If the tolerance <= 0.0 then one tenth of an average size of elements adjacent to free borders being compared is used.
References SMESH_MeshAlgos::TFreeBorderPart::_border, SMESH_MeshAlgos::CoincidentFreeBorders::_borders, SMESH_MeshAlgos::CoincidentFreeBorders::_coincidentGroups, SMESH_MeshAlgos::TFreeBorderPart::_node1, SMESH_MeshAlgos::TFreeBorderPart::_node2, SMESH_MeshAlgos::TFreeBorderPart::_nodeLast, SMESH::FreeBorderPart::border, SMESH::doNothing(), SMESH_MeshAlgos::FindCoincidentFreeBorders(), getMeshDS(), SMESH::FreeBorderPart::node1, SMESH::FreeBorderPart::node2, SMESH::FreeBorder::nodeIDs, SMESH::FreeBorderPart::nodeLast, SMESH_CATCH, and SMESH_TRY.
void SMESH_MeshEditor_i::FindCoincidentNodes | ( | CORBA::Double | Tolerance, |
SMESH::array_of_long_array_out | GroupsOfNodes, | ||
CORBA::Boolean | SeparateCornersAndMedium | ||
) |
References findCoincidentNodes(), initData(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
|
private |
References SMESH_MeshEditor::FindCoincidentNodes(), and getEditor().
Referenced by FindCoincidentNodes(), FindCoincidentNodesOnPart(), and FindCoincidentNodesOnPartBut().
void SMESH_MeshEditor_i::FindCoincidentNodesOnPart | ( | SMESH::SMESH_IDSource_ptr | Object, |
CORBA::Double | Tolerance, | ||
SMESH::array_of_long_array_out | GroupsOfNodes, | ||
CORBA::Boolean | SeparateCornersAndMedium | ||
) |
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().
SMESH::smIdType_array * SMESH_MeshEditor_i::FindElementsByPoint | ( | 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.
'ALL' type means elements of any type excluding nodes
References SMESH_ElementSearcher::FindElementsByPoint(), SMESH_MeshAlgos::GetElementSearcher(), getMeshDS(), myMesh, MeshEditor_I::TSearchersDeleter::Set(), SMESH_CATCH, SMESH_TRY, MeshEditor_I::theElementSearcher, MeshEditor_I::theSearchersDeleter, and SMESH::throwCorbaException().
Referenced by FindAmongElementsByPoint().
void SMESH_MeshEditor_i::FindEqualElements | ( | const SMESH::ListOfIDSources & | Objects, |
const SMESH::ListOfIDSources & | ExceptSubMeshOrGroups, | ||
SMESH::array_of_long_array_out | GroupsOfElementsID | ||
) |
SMESH::ListOfFreeBorders * SMESH_MeshEditor_i::FindFreeBorders | ( | CORBA::Boolean | closedOnly | ) |
Returns all or only closed FreeBorder's.
References SMESH_MeshAlgos::FindFreeBorders(), getMeshDS(), SMESH::FreeBorder::nodeIDs, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
SMESH::smIdType SMESH_MeshEditor_i::FindNodeClosestTo | ( | CORBA::Double | x, |
CORBA::Double | y, | ||
CORBA::Double | z | ||
) |
Return ID of node closest to a given point.
References SMESH_NodeSearcher::FindClosestTo(), getMeshDS(), SMESH_MeshAlgos::GetNodeSearcher(), myMesh, MeshEditor_I::TSearchersDeleter::Set(), SMESH_CATCH, SMESH_TRY, MeshEditor_I::theNodeSearcher, MeshEditor_I::theSearchersDeleter, and SMESH::throwCorbaException().
SMESH::ListOfEdges * SMESH_MeshEditor_i::FindSharpEdges | ( | CORBA::Double | angle, |
CORBA::Boolean | addExisting | ||
) |
Return sharp edges of faces and non-manifold ones.
Optionally adds existing edges.
References SMESHDS_Mesh::AddEdge(), SMDS_Mesh::AddNode(), SMESH_MeshAlgos::FindSharpEdges(), SMDS_MeshElement::GetID(), SMESH_Mesh::GetMeshDS(), getMeshDS(), getPreviewMesh(), initData(), myIsPreviewMode, SMDSAbs_Edge, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
std::string SMESH_MeshEditor_i::GenerateGroupName | ( | const std::string & | thePrefix | ) |
Generates the unique group name.
thePrefix | name prefix |
References SMESH_Mesh_i::GetGroups(), and myMesh_i.
Referenced by AffectedElemGroupsInRegion(), DoubleNodeElemGroup2New(), DoubleNodeElemGroups2New(), DoubleNodeGroupNew(), DoubleNodeGroupsNew(), and SMESH_Mesh_i::FaceGroupsSeparatedByEdges().
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.
References SMESH::EDGE, DriverMED::FindNode(), SMESH_MeshAlgos::Get1DBranches(), SMESH_Mesh_i::GetElements(), getMeshDS(), prepareIdSource(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
|
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(), translate(), and TriToQuad().
|
private |
Return groups by their IDs.
References SMESH_Mesh_i::CreateGroupServants(), SMESH_Mesh_i::GetGroups(), myMesh_i, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
Referenced by AdvancedExtrusion(), ExtrusionAlongPathObjects(), ExtrusionByNormal(), ExtrusionSweepObjects(), mirror(), Offset(), rotate(), RotationSweepObjects(), scale(), and translate().
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.
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().
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.
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().
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().
SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::GetMesh | ( | ) |
|
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().
int SMESH_MeshEditor_i::GetMeshId | ( | ) | const |
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().
SMESH::MeshPreviewStruct * SMESH_MeshEditor_i::GetPreviewData | ( | ) |
Return data of mesh edition preview.
References SMDS_Mesh::elementsIterator(), getEditor(), SMDS_MeshElement::GetEntityType(), SMESH_MeshEditor::GetError(), SMDS_MeshElement::GetID(), GetMesh(), SMESH_MeshEditor::GetMeshDS(), SMDS_Mesh::GetMeshInfo(), SMDS_MeshElement::GetType(), SMDS_MeshElement::interlacedNodesIterator(), SMDS_MeshElement::IsPoly(), myIsPreviewMode, myPreviewData, SMDS_MeshInfo::NbElements(), SMDS_Mesh::NbNodes(), SMDS_MeshElement::NbNodes(), SMDS_MeshElement::nodeIterator(), SMDSAbs_All, SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_Node, SMDSAbs_Volume, SMDSEntity_Quad_Polygon, SMESH_CATCH, SMESH_TRY, SMESH::throwCorbaException(), SMDS_MeshNode::X(), SMDS_MeshNode::Y(), and SMDS_MeshNode::Z().
|
private |
Initialize and return myPreviewMesh.
previewElements | - type of elements to show in preview |
WARNING: call it once per method!
References SMESH_Mesh::Clear(), myPreviewEditor, myPreviewMesh, and MeshEditor_I::TPreviewMesh::myPreviewType.
Referenced by AddNodeOnFace(), AddNodeOnSegment(), AdvancedExtrusion(), ExtrusionAlongPathObjects(), ExtrusionByNormal(), ExtrusionSweepObjects(), FillHole(), FindSharpEdges(), getEditor(), MakePolyLine(), mirror(), MoveClosestNodeToPoint(), MoveNode(), Offset(), RemoveNodeWithReconnection(), rotate(), RotationSweepObjects(), scale(), translate(), and TriToQuad().
|
static |
Referenced by SMESH_Mesh_i::GetElements().
|
private |
Retrieve elements of given type from SMESH_IDSource.
References MeshEditor_I::arrayToSet(), getMeshDS(), SMDS_Mesh::GetMeshInfo(), IDSource_EMPTY, IDSource_INVALID, IDSource_OK, myMesh_i, SMDS_MeshInfo::NbElements(), SMESH::NODE, prepareIdSource(), SMDSAbs_All, and SMDSAbs_Node.
Referenced by ConvertFromQuadraticObject(), convertToQuadratic(), Create0DElementsOnAllNodes(), DoubleElements(), DoubleNodeElemGroup(), DoubleNodeElemGroup2New(), DoubleNodeElemGroupInRegion(), ExtrusionAlongPathObjects(), ExtrusionByNormal(), ExtrusionSweepObjects(), FindEqualElements(), MakeBoundaryElements(), MakeBoundaryMesh(), MirrorObject(), MirrorObjectMakeGroups(), MirrorObjectMakeMesh(), Offset(), QuadTo4Tri(), Reorient2D(), Reorient2DBy3D(), Reorient2DByNeighbours(), RotateObject(), RotateObjectMakeGroups(), RotateObjectMakeMesh(), RotationSweepObjects(), scale(), SplitBiQuadraticIntoLinear(), TranslateObject(), TranslateObjectMakeGroups(), and TranslateObjectMakeMesh().
|
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(), translate(), TriToQuad(), and TriToQuadObject().
CORBA::Boolean SMESH_MeshEditor_i::InverseDiag | ( | SMESH::smIdType | NodeID1, |
SMESH::smIdType | NodeID2 | ||
) |
Swap a diagonal of a quadrangle formed by two adjacent triangles.
References declareMeshModified(), SMDS_Mesh::FindNode(), getEditor(), getMeshDS(), initData(), SMESH_MeshEditor::InverseDiag(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
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().
CORBA::Boolean SMESH_MeshEditor_i::IsManifold | ( | ) |
Check if a 2D mesh is manifold.
References SMESH_MeshAlgos::FindFreeBorders(), getMeshDS(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
|
static |
Referenced by SMESH_Mesh_i::GetElements(), and SMESH::TPythonDump::operator<<().
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.
PathMesh | mesh containing a 1D sub-mesh on the edge, along which proceeds the extrusion |
PathShape | is 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().
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.
References declareMeshModified(), getEditor(), initData(), SMESH_MeshEditor::Make2DMeshFrom3D(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
CORBA::Long SMESH_MeshEditor_i::MakeBoundaryElements | ( | SMESH::Bnd_Dimension | dim, |
const char * | groupName, | ||
const char * | meshName, | ||
CORBA::Boolean | toCopyAll, | ||
CORBA::Boolean | toCreateAllElements, | ||
const SMESH::ListOfIDSources & | groups, | ||
SMESH::SMESH_Mesh_out | mesh, | ||
SMESH::SMESH_Group_out | group | ||
) |
Creates missing boundary elements.
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 |
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().
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.
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 |
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().
SMESH::SMESH_IDSource_ptr SMESH_MeshEditor_i::MakeIDSource | ( | const SMESH::smIdType_array & | IDsOfElements, |
SMESH::ElementType | type | ||
) |
Wrap a sequence of ids in a SMESH_IDSource.
References SMESH_MeshEditor_i::_IDSource::_ids, SMESH_MeshEditor_i::_IDSource::_mesh, SMESH_MeshEditor_i::_IDSource::_type, SMESH::ALL, SMESH_Mesh_i::GetElementType(), and myMesh_i.
Referenced by Create0DElementsOnAllNodes().
|
private |
References SMESH_Gen_i::CreateEmptyMesh(), SMESH_Gen_i::GetSMESHGen(), SMESH_Gen_i::ObjectToSObject(), SMESH_Gen_i::SetName(), and SMESH_Gen_i::SetPixMap().
Referenced by MakeBoundaryElements(), MakeBoundaryMesh(), MirrorMakeMesh(), MirrorObjectMakeMesh(), Offset(), RotateMakeMesh(), RotateObjectMakeMesh(), ScaleMakeMesh(), TranslateMakeMesh(), and TranslateObjectMakeMesh().
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.
[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.
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().
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().
void SMESH_MeshEditor_i::MergeElements | ( | const SMESH::array_of_long_array & | GroupsOfElementsID, |
const SMESH::ListOfIDSources & | ElementsToKeep | ||
) |
void SMESH_MeshEditor_i::MergeEqualElements | ( | ) |
void SMESH_MeshEditor_i::MergeNodes | ( | const SMESH::array_of_long_array & | GroupsOfNodes, |
const SMESH::ListOfIDSources & | NodesToKeep, | ||
CORBA::Boolean | AvoidMakingHoles | ||
) |
void SMESH_MeshEditor_i::Mirror | ( | const SMESH::smIdType_array & | IDsOfElements, |
const SMESH::AxisStruct & | Axis, | ||
SMESH::SMESH_MeshEditor::MirrorType | MirrorType, | ||
CORBA::Boolean | Copy | ||
) |
References MeshEditor_I::arrayToSet(), getMeshDS(), mirror(), MeshEditor_I::mirrorTypeName(), and myIsPreviewMode.
|
private |
References SMESH::SMESH_MeshEditor::AXIS, MeshEditor_I::TPreviewMesh::Copy(), declareMeshModified(), getEditor(), MeshEditor_I::getElementsAround(), getGroups(), SMESH_Mesh::GetMeshDS(), getMeshDS(), getPreviewMesh(), initData(), SMDS_Mesh::Modified(), myIsPreviewMode, SMESH::SMESH_MeshEditor::POINT, SMESH_CATCH, SMESH_TRY, SMESH::throwCorbaException(), SMESH_MeshEditor::Transform(), SMESH::AxisStruct::vx, SMESH::AxisStruct::vy, SMESH::AxisStruct::vz, SMESH::AxisStruct::x, SMESH::AxisStruct::y, and SMESH::AxisStruct::z.
Referenced by Mirror(), MirrorMakeGroups(), MirrorMakeMesh(), MirrorObject(), MirrorObjectMakeGroups(), and MirrorObjectMakeMesh().
SMESH::ListOfGroups * SMESH_MeshEditor_i::MirrorMakeGroups | ( | const SMESH::smIdType_array & | IDsOfElements, |
const SMESH::AxisStruct & | Mirror, | ||
SMESH::SMESH_MeshEditor::MirrorType | MirrorType | ||
) |
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 | ||
) |
void SMESH_MeshEditor_i::MirrorObject | ( | SMESH::SMESH_IDSource_ptr | theObject, |
const SMESH::AxisStruct & | Axis, | ||
SMESH::SMESH_MeshEditor::MirrorType | MirrorType, | ||
CORBA::Boolean | Copy | ||
) |
References getMeshDS(), idSourceToSet(), mirror(), MeshEditor_I::mirrorTypeName(), myIsPreviewMode, and SMDSAbs_All.
SMESH::ListOfGroups * SMESH_MeshEditor_i::MirrorObjectMakeGroups | ( | SMESH::SMESH_IDSource_ptr | Object, |
const SMESH::AxisStruct & | Mirror, | ||
SMESH::SMESH_MeshEditor::MirrorType | MirrorType | ||
) |
References dumpGroupsList(), getMeshDS(), idSourceToSet(), mirror(), MeshEditor_I::mirrorTypeName(), myIsPreviewMode, and SMDSAbs_All.
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 | ||
) |
SMESH::smIdType SMESH_MeshEditor_i::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.
References cast2Node, MeshEditor_I::TPreviewMesh::Copy(), declareMeshModified(), SMESH_NodeSearcher::FindClosestTo(), SMDS_Mesh::FindNode(), SMDS_MeshElement::GetID(), SMESH_MeshEditor::GetLinkedNodes(), SMESH_Mesh::GetMeshDS(), getMeshDS(), SMESH_MeshAlgos::GetNodeSearcher(), getPreviewMesh(), initData(), SMESHDS_Mesh::MoveNode(), SMESH_NodeSearcher::MoveNode(), myIsPreviewMode, myMesh, MeshEditor_I::TSearchersDeleter::Set(), SMESH_CATCH, SMESH_TRY, MeshEditor_I::theNodeSearcher, MeshEditor_I::theSearchersDeleter, and SMESH::throwCorbaException().
CORBA::Boolean SMESH_MeshEditor_i::MoveNode | ( | SMESH::smIdType | NodeID, |
CORBA::Double | x, | ||
CORBA::Double | y, | ||
CORBA::Double | z | ||
) |
Change node location.
Move the node to a given point.
References SMESHDS_Mesh::AddEdge(), cast2Node, MeshEditor_I::TPreviewMesh::Copy(), declareMeshModified(), SMDS_Mesh::FindNode(), SMESH_MeshEditor::GetLinkedNodes(), SMESH_Mesh::GetMeshDS(), getMeshDS(), getPreviewMesh(), initData(), SMESHDS_Mesh::MoveNode(), SMESH_NodeSearcher::MoveNode(), myIsPreviewMode, myMesh, MeshEditor_I::TSearchersDeleter::Set(), SMESH_CATCH, SMESH_TRY, MeshEditor_I::theNodeSearcher, MeshEditor_I::theSearchersDeleter, and SMESH::throwCorbaException().
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.
[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 |
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().
|
private |
Prepare SMESH_IDSource for work.
References myMesh_i.
Referenced by ExtrusionAlongPathObjects(), FindAmongElementsByPoint(), FindCoincidentNodesOnPart(), FindCoincidentNodesOnPartBut(), Get1DBranches(), idSourceToSet(), MergeNodes(), ProjectPoint(), QuadToTriObject(), ReorientObject(), smoothObject(), SplitHexahedraIntoPrisms(), SplitQuadObject(), SplitVolumesIntoTetra(), and TriToQuadObject().
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 | ||
) |
Project a point to a mesh object.
Return ID of an element of given type where the given point is projected and coordinates of the projection point. In the case if nothing found, return -1 and []
References SMESH_Mesh_i::GetElements(), SMESH_MeshAlgos::GetElementSearcher(), SMDS_MeshElement::GetID(), getMeshDS(), SMESH_Mesh_i::GetMeshEditor(), SMESH_Mesh_i::GetMeshEditPreviewer(), MeshEditor_I::getPartIOR(), SMDS_MeshElement::IsNull(), myIsPreviewMode, myMesh, myMesh_i, prepareIdSource(), SMESH_ElementSearcher::Project(), MeshEditor_I::TSearchersDeleter::Set(), SMESH_CATCH, SMESH_TRY, MeshEditor_I::theElementSearcher, MeshEditor_I::theSearchersDeleter, and SMESH::throwCorbaException().
void SMESH_MeshEditor_i::QuadTo4Tri | ( | SMESH::SMESH_IDSource_ptr | theObject | ) |
Split each of quadrangles into 4 triangles.
[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().
CORBA::Boolean SMESH_MeshEditor_i::QuadToTri | ( | const SMESH::smIdType_array & | IDsOfElements, |
SMESH::NumericalFunctor_ptr | Criterion | ||
) |
Split quadrangles into triangles.
References MeshEditor_I::arrayToSet(), declareMeshModified(), getEditor(), getMeshDS(), SMESH::NumericalFunctor_i::GetNumericalFunctor(), SMESH_Gen_i::GetServant(), initData(), SMESH_MeshEditor::QuadToTri(), SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
Referenced by QuadToTriObject().
CORBA::Boolean SMESH_MeshEditor_i::QuadToTriObject | ( | SMESH::SMESH_IDSource_ptr | theObject, |
SMESH::NumericalFunctor_ptr | Criterion | ||
) |
Split quadrangles into triangles.
References declareMeshModified(), initData(), prepareIdSource(), QuadToTri(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
CORBA::Boolean SMESH_MeshEditor_i::RemoveElements | ( | const SMESH::smIdType_array & | IDsOfElements | ) |
CORBA::Boolean SMESH_MeshEditor_i::RemoveNodes | ( | const SMESH::smIdType_array & | IDsOfNodes | ) |
void SMESH_MeshEditor_i::RemoveNodeWithReconnection | ( | SMESH::smIdType | nodeID | ) |
Remove a node and fill a hole appeared by changing surrounding faces.
References SMESHDS_Mesh::AddEdge(), cast2Node, MeshEditor_I::TPreviewMesh::Copy(), declareMeshModified(), SMDS_Mesh::FindNode(), getEditor(), SMDS_MeshNode::GetInverseElementIterator(), SMESH_MeshEditor::GetLinkedNodes(), SMESH_Mesh::GetMeshDS(), getMeshDS(), getPreviewMesh(), initData(), myIsPreviewMode, SMDS_MeshNode::NbInverseElements(), SMESH_MeshEditor::RemoveNodeWithReconnection(), SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
SMESH::smIdType SMESH_MeshEditor_i::RemoveOrphanNodes | ( | ) |
Remove orphan nodes.
References declareMeshModified(), getEditor(), SMESH::Controls::Filter::GetElementsId(), getMeshDS(), initData(), myMesh, SMESH_Mesh::NbNodes(), SMESH_MeshEditor::Remove(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
void SMESH_MeshEditor_i::RenumberElements | ( | ) |
References getMeshDS(), SMESHDS_Mesh::Renumber(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
void SMESH_MeshEditor_i::RenumberNodes | ( | ) |
References getMeshDS(), SMESHDS_Mesh::Renumber(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
CORBA::Boolean SMESH_MeshEditor_i::Reorient | ( | const SMESH::smIdType_array & | IDsOfElements | ) |
Change orientation of cells.
References declareMeshModified(), SMDS_Mesh::FindElement(), getEditor(), getMeshDS(), initData(), SMESH_MeshEditor::Reorient(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
Referenced by ReorientObject().
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.
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. |
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.
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.
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. |
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().
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.
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. |
References declareMeshModified(), getEditor(), getMeshDS(), IDSource_INVALID, idSourceToSet(), initData(), SMESH_MeshEditor::Reorient2D(), SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
CORBA::Boolean SMESH_MeshEditor_i::ReorientObject | ( | SMESH::SMESH_IDSource_ptr | theObject | ) |
Change orientation of cells.
References declareMeshModified(), initData(), prepareIdSource(), Reorient(), SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
void SMESH_MeshEditor_i::Rotate | ( | const SMESH::smIdType_array & | IDsOfElements, |
const SMESH::AxisStruct & | Axis, | ||
CORBA::Double | Angle, | ||
CORBA::Boolean | Copy | ||
) |
References MeshEditor_I::arrayToSet(), getMeshDS(), myIsPreviewMode, and rotate().
|
private |
References MeshEditor_I::TPreviewMesh::Copy(), declareMeshModified(), getEditor(), MeshEditor_I::getElementsAround(), getGroups(), SMESH_Mesh::GetMeshDS(), getMeshDS(), getPreviewMesh(), initData(), SMDS_Mesh::Modified(), myIsPreviewMode, SMESH_CATCH, SMESH_TRY, SMESH::throwCorbaException(), SMESH_MeshEditor::Transform(), SMESH::AxisStruct::vx, SMESH::AxisStruct::vy, SMESH::AxisStruct::vz, SMESH::AxisStruct::x, SMESH::AxisStruct::y, and SMESH::AxisStruct::z.
Referenced by Rotate(), RotateMakeGroups(), RotateMakeMesh(), RotateObject(), RotateObjectMakeGroups(), and RotateObjectMakeMesh().
SMESH::ListOfGroups * SMESH_MeshEditor_i::RotateMakeGroups | ( | const SMESH::smIdType_array & | IDsOfElements, |
const SMESH::AxisStruct & | Axis, | ||
CORBA::Double | AngleInRadians | ||
) |
References MeshEditor_I::arrayToSet(), dumpGroupsList(), getMeshDS(), myIsPreviewMode, and rotate().
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 | ||
) |
void SMESH_MeshEditor_i::RotateObject | ( | SMESH::SMESH_IDSource_ptr | theObject, |
const SMESH::AxisStruct & | Axis, | ||
CORBA::Double | Angle, | ||
CORBA::Boolean | Copy | ||
) |
References getMeshDS(), idSourceToSet(), myIsPreviewMode, rotate(), and SMDSAbs_All.
SMESH::ListOfGroups * SMESH_MeshEditor_i::RotateObjectMakeGroups | ( | SMESH::SMESH_IDSource_ptr | Object, |
const SMESH::AxisStruct & | Axis, | ||
CORBA::Double | AngleInRadians | ||
) |
References dumpGroupsList(), getMeshDS(), idSourceToSet(), myIsPreviewMode, rotate(), and SMDSAbs_All.
SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::RotateObjectMakeMesh | ( | SMESH::SMESH_IDSource_ptr | Object, |
const SMESH::AxisStruct & | Axis, | ||
CORBA::Double | AngleInRadians, | ||
CORBA::Boolean | CopyGroups, | ||
const char * | MeshName | ||
) |
SMESH::ListOfGroups * SMESH_MeshEditor_i::RotationSweepObjects | ( | const SMESH::ListOfIDSources & | Nodes, |
const SMESH::ListOfIDSources & | Edges, | ||
const SMESH::ListOfIDSources & | Faces, | ||
const SMESH::AxisStruct & | Axis, | ||
CORBA::Double | AngleInRadians, | ||
CORBA::Long | NbOfSteps, | ||
CORBA::Double | Tolerance, | ||
CORBA::Boolean | ToMakeGroups | ||
) |
References MeshEditor_I::TPreviewMesh::Copy(), declareMeshModified(), dumpGroupsList(), getEditor(), SMESH_Mesh_i::GetElements(), getGroups(), getMeshDS(), getPreviewMesh(), idSourceToSet(), initData(), myIsPreviewMode, myMesh_i, SMESH::NODE, MeshEditor_I::TPreviewMesh::Remove(), SMESH_MeshEditor::RotationSweep(), SMDSAbs_All, SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_Volume, SMESH_CATCH, SMESH_TRY, SMESH::throwCorbaException(), SMESH::AxisStruct::vx, SMESH::AxisStruct::vy, SMESH::AxisStruct::vz, SMESH::AxisStruct::x, SMESH::AxisStruct::y, and SMESH::AxisStruct::z.
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().
|
private |
References MeshEditor_I::TPreviewMesh::Copy(), declareMeshModified(), getEditor(), MeshEditor_I::getElementsAround(), getGroups(), SMESH_Mesh::GetMeshDS(), getMeshDS(), getPreviewMesh(), idSourceToSet(), initData(), SMDS_Mesh::Modified(), myIsPreviewMode, SMDSAbs_All, SMESH_CATCH, SMESH_TRY, SMESH::throwCorbaException(), SMESH_MeshEditor::Transform(), SMESH::PointStruct::x, SMESH::PointStruct::y, and SMESH::PointStruct::z.
Referenced by Scale(), ScaleMakeGroups(), and ScaleMakeMesh().
SMESH::ListOfGroups * SMESH_MeshEditor_i::ScaleMakeGroups | ( | SMESH::SMESH_IDSource_ptr | theObject, |
const SMESH::PointStruct & | thePoint, | ||
const SMESH::double_array & | theScaleFact | ||
) |
References dumpGroupsList(), myIsPreviewMode, and scale().
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 | ||
) |
void SMESH_MeshEditor_i::SetMeshElementOnShape | ( | SMESH::smIdType | ElementID, |
CORBA::Long | ShapeID | ||
) |
Bind an element to a shape.
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().
void SMESH_MeshEditor_i::SetNodeInVolume | ( | SMESH::smIdType | NodeID, |
CORBA::Long | SolidID | ||
) |
Bind a node to a solid.
NodeID | - node ID |
SolidID | - vertex ID available through GEOM_Object.GetSubShapeIndices()[0] |
NodeID | - node ID |
SolidID | - vertex ID available through GEOM_Object.GetSubShapeIndices()[0] |
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().
void SMESH_MeshEditor_i::SetNodeOnEdge | ( | SMESH::smIdType | NodeID, |
CORBA::Long | EdgeID, | ||
CORBA::Double | paramOnEdge | ||
) |
Store node position on an edge.
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 |
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().
void SMESH_MeshEditor_i::SetNodeOnFace | ( | SMESH::smIdType | NodeID, |
CORBA::Long | FaceID, | ||
CORBA::Double | u, | ||
CORBA::Double | v | ||
) |
Store node position on a face.
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 |
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().
void SMESH_MeshEditor_i::SetNodeOnVertex | ( | SMESH::smIdType | NodeID, |
CORBA::Long | VertexID | ||
) |
Bind a node to a vertex.
NodeID | - node ID |
VertexID | - vertex ID available through GEOM_Object.GetSubShapeIndices()[0] |
NodeID | - node ID |
VertexID | - vertex ID available through GEOM_Object.GetSubShapeIndices()[0] |
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().
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 | ||
) |
CORBA::Short SMESH_MeshEditor_i::SewCoincidentFreeBorders | ( | const SMESH::CoincidentFreeBorders & | freeBorders, |
CORBA::Boolean | createPolygons, | ||
CORBA::Boolean | createPolyedrs | ||
) |
Sew FreeBorder's of each group.
References Add0DElement(), SMESH::FreeBorderPart::border, SMESH::CoincidentFreeBorders::borders, SMESH::CoincidentFreeBorders::coincidentGroups, declareMeshModified(), SMESH::doNothing(), SMDS_Mesh::FindNode(), getEditor(), getMeshDS(), SMDS_MeshNode::GetNode(), SMESH::FreeBorderPart::node1, SMESH::FreeBorderPart::node2, SMESH::FreeBorder::nodeIDs, SMESH::FreeBorderPart::nodeLast, SMESHDS_Mesh::RemoveFreeElement(), SMESH_MeshEditor::SEW_OK, SMESH_MeshEditor::SewFreeBorder(), SMDSAbs_0DElement, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
SMESH::SMESH_MeshEditor::Sew_Error SMESH_MeshEditor_i::SewConformFreeBorders | ( | SMESH::smIdType | FirstNodeID1, |
SMESH::smIdType | SecondNodeID1, | ||
SMESH::smIdType | LastNodeID1, | ||
SMESH::smIdType | FirstNodeID2, | ||
SMESH::smIdType | SecondNodeID2 | ||
) |
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 | ||
) |
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 | ||
) |
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().
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, | ||
bool | IsParametric | ||
) |
References MeshEditor_I::arrayToSet(), SMESH_MeshEditor::CENTROIDAL, SMESH::SMESH_MeshEditor::CENTROIDAL_SMOOTH, declareMeshModified(), SMDS_Mesh::FindNode(), getEditor(), getMeshDS(), initData(), SMESH_MeshEditor::LAPLACIAN, SMESH::SMESH_MeshEditor::LAPLACIAN_SMOOTH, SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, SMESH_MeshEditor::Smooth(), and SMESH::throwCorbaException().
Referenced by Smooth(), smoothObject(), and SmoothParametric().
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().
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 | ||
) |
References SMESH::SMESH_MeshEditor::CENTROIDAL_SMOOTH, initData(), prepareIdSource(), SMESH_CATCH, SMESH_TRY, smooth(), and SMESH::throwCorbaException().
Referenced by SmoothObject(), and SmoothParametricObject().
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().
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().
void SMESH_MeshEditor_i::SplitBiQuadraticIntoLinear | ( | const SMESH::ListOfIDSources & | theElems | ) |
Split bi-quadratic elements into linear ones without creation of additional nodes:
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().
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.
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.
CORBA::Boolean SMESH_MeshEditor_i::SplitQuad | ( | const SMESH::smIdType_array & | IDsOfElements, |
CORBA::Boolean | Diag13 | ||
) |
Split quadrangles into triangles.
References MeshEditor_I::arrayToSet(), declareMeshModified(), getEditor(), getMeshDS(), initData(), SMESH_MeshEditor::QuadToTri(), SMDSAbs_Face, SMESH_CATCH, SMESH_TRY, and SMESH::throwCorbaException().
Referenced by SplitQuadObject().
CORBA::Boolean SMESH_MeshEditor_i::SplitQuadObject | ( | SMESH::SMESH_IDSource_ptr | theObject, |
CORBA::Boolean | Diag13 | ||
) |
Split quadrangles into triangles.
References declareMeshModified(), initData(), prepareIdSource(), SMESH_CATCH, SMESH_TRY, SplitQuad(), and SMESH::throwCorbaException().
void SMESH_MeshEditor_i::SplitVolumesIntoTetra | ( | SMESH::SMESH_IDSource_ptr | elems, |
CORBA::Short | methodFlags | ||
) |
Split volumic elements into tetrahedrons.
References declareMeshModified(), getEditor(), SMESH_Mesh_i::GetElements(), initData(), myMesh_i, prepareIdSource(), SMESH_CATCH, SMESH_TRY, SMESH_MeshEditor::SplitVolumes(), SMESH::throwCorbaException(), and SMESH::VOLUME.
void SMESH_MeshEditor_i::Translate | ( | const SMESH::smIdType_array & | IDsOfElements, |
const SMESH::DirStruct & | Vector, | ||
CORBA::Boolean | Copy | ||
) |
References MeshEditor_I::arrayToSet(), getMeshDS(), myIsPreviewMode, and translate().
|
private |
References MeshEditor_I::TPreviewMesh::Copy(), declareMeshModified(), getEditor(), MeshEditor_I::getElementsAround(), getGroups(), SMESH_Mesh::GetMeshDS(), getMeshDS(), getPreviewMesh(), initData(), SMDS_Mesh::Modified(), myIsPreviewMode, SMESH::DirStruct::PS, SMESH_CATCH, SMESH_TRY, SMESH::throwCorbaException(), SMESH_MeshEditor::Transform(), SMESH::PointStruct::x, SMESH::PointStruct::y, and SMESH::PointStruct::z.
Referenced by Translate(), TranslateMakeGroups(), TranslateMakeMesh(), TranslateObject(), TranslateObjectMakeGroups(), and TranslateObjectMakeMesh().
SMESH::ListOfGroups * SMESH_MeshEditor_i::TranslateMakeGroups | ( | const SMESH::smIdType_array & | IDsOfElements, |
const SMESH::DirStruct & | Vector | ||
) |
References MeshEditor_I::arrayToSet(), dumpGroupsList(), getMeshDS(), myIsPreviewMode, and translate().
SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::TranslateMakeMesh | ( | const SMESH::smIdType_array & | IDsOfElements, |
const SMESH::DirStruct & | Vector, | ||
CORBA::Boolean | CopyGroups, | ||
const char * | MeshName | ||
) |
void SMESH_MeshEditor_i::TranslateObject | ( | SMESH::SMESH_IDSource_ptr | theObject, |
const SMESH::DirStruct & | Vector, | ||
CORBA::Boolean | Copy | ||
) |
References getMeshDS(), idSourceToSet(), myIsPreviewMode, SMDSAbs_All, and translate().
SMESH::ListOfGroups * SMESH_MeshEditor_i::TranslateObjectMakeGroups | ( | SMESH::SMESH_IDSource_ptr | Object, |
const SMESH::DirStruct & | Vector | ||
) |
References dumpGroupsList(), getMeshDS(), idSourceToSet(), myIsPreviewMode, SMDSAbs_All, and translate().
SMESH::SMESH_Mesh_ptr SMESH_MeshEditor_i::TranslateObjectMakeMesh | ( | SMESH::SMESH_IDSource_ptr | Object, |
const SMESH::DirStruct & | Vector, | ||
CORBA::Boolean | CopyGroups, | ||
const char * | MeshName | ||
) |
CORBA::Boolean SMESH_MeshEditor_i::TriToQuad | ( | const SMESH::smIdType_array & | IDsOfElements, |
SMESH::NumericalFunctor_ptr | Criterion, | ||
CORBA::Double | MaxAngle | ||
) |
Fuse neighbour triangles into quadrangles.
References MeshEditor_I::arrayToSet(), MeshEditor_I::TPreviewMesh::Copy(), declareMeshModified(), getEditor(), getMeshDS(), SMESH::NumericalFunctor_i::GetNumericalFunctor(), getPreviewMesh(), SMESH_Gen_i::GetServant(), initData(), myIsPreviewMode, SMDSAbs_Face, SMDSGeom_TRIANGLE, SMESH_CATCH, SMESH_TRY, SMESH::throwCorbaException(), and SMESH_MeshEditor::TriToQuad().
Referenced by 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().
|
private |
Referenced by getEditor().
|
private |
Referenced by AddNodeOnFace(), AddNodeOnSegment(), AdvancedExtrusion(), ExtrusionAlongPathObjects(), ExtrusionByNormal(), ExtrusionSweepObjects(), FillHole(), FindAmongElementsByPoint(), FindSharpEdges(), getEditor(), GetPreviewData(), initData(), MakePolyLine(), Mirror(), mirror(), MirrorMakeGroups(), MirrorMakeMesh(), MirrorObject(), MirrorObjectMakeGroups(), MirrorObjectMakeMesh(), MoveClosestNodeToPoint(), MoveNode(), Offset(), ProjectPoint(), RemoveNodeWithReconnection(), Rotate(), rotate(), RotateMakeGroups(), RotateMakeMesh(), RotateObject(), RotateObjectMakeGroups(), RotateObjectMakeMesh(), RotationSweepObjects(), Scale(), scale(), ScaleMakeGroups(), ScaleMakeMesh(), Translate(), translate(), TranslateMakeGroups(), TranslateMakeMesh(), TranslateObject(), TranslateObjectMakeGroups(), TranslateObjectMakeMesh(), TriToQuad(), and TriToQuadObject().
|
private |
Referenced by AffectedElemGroupsInRegion(), CreateHoleSkin(), declareMeshModified(), ExtrusionAlongPathObjects(), FindAmongElementsByPoint(), FindElementsByPoint(), FindNodeClosestTo(), GetPointState(), MakeBoundaryElements(), MakePolyLine(), MakeSlot(), MoveClosestNodeToPoint(), MoveNode(), ProjectPoint(), RemoveOrphanNodes(), Reorient2D(), SetMeshElementOnShape(), SetNodeOnEdge(), SetNodeOnFace(), and SetNodeOnVertex().
|
private |
< fields
Referenced by AffectedElemGroupsInRegion(), Create0DElementsOnAllNodes(), DoubleElements(), DoubleNodeElemGroup2New(), DoubleNodeElemGroups2New(), DoubleNodeGroupNew(), DoubleNodeGroupsNew(), DoubleNodesOnGroupBoundaries(), ExtrusionAlongPathObjects(), ExtrusionSweepObjects(), FillHole(), FindAmongElementsByPoint(), FindCoincidentNodesOnPartBut(), FindEqualElements(), GenerateGroupName(), getGroups(), GetMesh(), idSourceToSet(), MakeBoundaryElements(), MakeBoundaryMesh(), MakeIDSource(), MakePolyLine(), MergeNodes(), Offset(), prepareIdSource(), ProjectPoint(), RotationSweepObjects(), SplitBiQuadraticIntoLinear(), and SplitVolumesIntoTetra().
|
private |
Referenced by GetPreviewData().
|
private |
Referenced by getEditor(), and getPreviewMesh().
|
private |
Referenced by getEditor(), getPreviewMesh(), and initData().