X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_MeshEditor.idl;h=0b432117241d1f531ca6e5e6ad6136fd51e98b7a;hp=578a61eaa0ca74393ae51e99b09f6319bdea7f98;hb=b22e182dd1a2c30be324b21074158390d00714b3;hpb=c94d606fe399faeb356151a1a9754e5f21754082 diff --git a/idl/SMESH_MeshEditor.idl b/idl/SMESH_MeshEditor.idl index 578a61eaa..0b4321172 100644 --- a/idl/SMESH_MeshEditor.idl +++ b/idl/SMESH_MeshEditor.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -6,7 +6,7 @@ // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -38,22 +38,27 @@ module SMESH interface SMESH_MeshEditor { + /*! + * Returns a mesh subject to edition + */ + SMESH_Mesh GetMesh(); + /*! * Return data of mesh edition preview which is computed provided - * that the editor was obtained trough SMESH_Mesh::GetMeshEditPreviewer() + * that the editor was obtained through SMESH_Mesh::GetMeshEditPreviewer() */ MeshPreviewStruct GetPreviewData() raises (SALOME::SALOME_Exception); /*! * If during last operation of MeshEditor some nodes were - * created this method returns list of their IDs, if new nodes + * created, this method returns list of their IDs, if new nodes * not created - returns empty list */ long_array GetLastCreatedNodes() raises (SALOME::SALOME_Exception); /*! * If during last operation of MeshEditor some elements were - * created this method returns list of their IDs, if new elements + * created, this method returns list of their IDs, if new elements * not created - returns empty list */ long_array GetLastCreatedElems() raises (SALOME::SALOME_Exception); @@ -138,6 +143,13 @@ module SMESH long AddPolygonalFace(in long_array IdsOfNodes) raises (SALOME::SALOME_Exception); + /*! + * Create a quadratic polygonal face + * \param IdsOfNodes - nodes of the polygon; corner nodes follow first + * \return long - ID of a new polygon + */ + long AddQuadPolygonalFace(in long_array IdsOfNodes) raises (SALOME::SALOME_Exception); + /*! * Create volume, either linear and quadratic (this is determed * by number of given nodes). @@ -238,12 +250,23 @@ module SMESH * \param theFace - ID of face whose orientation is checked. * It can be < 1 then \a thePoint is used to find a face. * \param thePoint - is used to find a face if \a theFace < 1. - * \return number of reoriented elements. + * \return number of reoriented faces. */ long Reorient2D(in SMESH_IDSource the2Dgroup, in DirStruct theDirection, in long theFace, in PointStruct thePoint) raises (SALOME::SALOME_Exception); + /*! + * \brief Reorient faces basing on orientation of adjacent volumes. + * \param faces - a list of objects containing face to reorient + * \param volumes - an object containing volumes. + * \param outsideNormal - to orient faces to have their normal + * pointing either \a outside or \a inside the adjacent volumes. + * \return number of reoriented faces. + */ + long Reorient2DBy3D(in ListOfIDSources faces, + in SMESH_IDSource volumes, + in boolean outsideNormal) raises (SALOME::SALOME_Exception); /*! * \brief Fuse neighbour triangles into quadrangles. @@ -382,7 +405,7 @@ module SMESH void ConvertFromQuadraticObject(in SMESH_IDSource theObject) raises (SALOME::SALOME_Exception); - void ConvertToBiQuadratic(in boolean theForce3d, + void ConvertToBiQuadratic(in boolean theForce3d, in SMESH_IDSource theObject) raises (SALOME::SALOME_Exception); @@ -391,190 +414,73 @@ module SMESH void RenumberElements() raises (SALOME::SALOME_Exception); /*! - * \brief Genarate dim+1 elements by rotation of given elements around axis - * \param IDsOfElements - elements to ratate - * \param Axix - rotation axis - * \param AngleInRadians - rotation angle - * \param NbOfSteps - number of elements to generate from one element - */ - void RotationSweep(in long_array IDsOfElements, - in AxisStruct Axix, - in double AngleInRadians, - in long NbOfSteps, - in double Tolerance) - raises (SALOME::SALOME_Exception); - /*! - * \brief Same as previous but additionally create groups of elements - * generated from elements belonging to preexisting groups - */ - ListOfGroups RotationSweepMakeGroups(in long_array IDsOfElements, - in AxisStruct Axix, - in double AngleInRadians, - in long NbOfSteps, - in double Tolerance) - raises (SALOME::SALOME_Exception); - /*! - * \brief Genarate dim+1 elements by rotation of the object around axis - * \param theObject - object containing elements to ratate - * \param Axix - rotation axis - * \param AngleInRadians - rotation angle - * \param NbOfSteps - number of elements to generate from one element - */ - void RotationSweepObject(in SMESH_IDSource theObject, - in AxisStruct Axix, - in double AngleInRadians, - in long NbOfSteps, - in double Tolerance) - raises (SALOME::SALOME_Exception); - /*! - * \brief Same as previous but additionally create groups of elements - * generated from elements belonging to preexisting groups - */ - ListOfGroups RotationSweepObjectMakeGroups(in SMESH_IDSource theObject, - in AxisStruct Axix, - in double AngleInRadians, - in long NbOfSteps, - in double Tolerance) - raises (SALOME::SALOME_Exception); - /*! - * \brief Genarate dim+1 elements by rotation of the object around axis - * \param theObject - object containing elements to ratate - * \param Axix - rotation axis - * \param AngleInRadians - rotation angle - * \param NbOfSteps - number of elements to generate from one element - */ - void RotationSweepObject1D(in SMESH_IDSource theObject, - in AxisStruct Axix, - in double AngleInRadians, - in long NbOfSteps, - in double Tolerance) - raises (SALOME::SALOME_Exception); - /*! - * \brief Same as previous but additionally create groups of elements - * generated from elements belonging to preexisting groups - */ - ListOfGroups RotationSweepObject1DMakeGroups(in SMESH_IDSource theObject, - in AxisStruct Axix, - in double AngleInRadians, - in long NbOfSteps, - in double Tolerance) - raises (SALOME::SALOME_Exception); - /*! - * \brief Genarate dim+1 elements by rotation of the object around axis - * \param theObject - object containing elements to ratate - * \param Axix - rotation axis - * \param AngleInRadians - rotation angle - * \param NbOfSteps - number of elements to generate from one element - */ - void RotationSweepObject2D(in SMESH_IDSource theObject, - in AxisStruct Axix, - in double AngleInRadians, - in long NbOfSteps, - in double Tolerance) - raises (SALOME::SALOME_Exception); - /*! - * \brief Same as previous but additionally create groups of elements - * generated from elements belonging to preexisting groups - */ - ListOfGroups RotationSweepObject2DMakeGroups(in SMESH_IDSource theObject, - in AxisStruct Axix, - in double AngleInRadians, - in long NbOfSteps, - in double Tolerance) - raises (SALOME::SALOME_Exception); - /*! - * \brief Genarate dim+1 elements by extrusion of elements along vector - * \param IDsOfElements - elements to sweep - * \param StepVector - vector giving direction and distance of an extrusion step - * \param NbOfSteps - number of elements to generate from one element - */ - void ExtrusionSweep(in long_array IDsOfElements, - in DirStruct StepVector, - in long NbOfSteps) - raises (SALOME::SALOME_Exception); - /*! - * \brief Genarate dim+1 elements by extrusion of elements along vector - * \param IDsOfElements - elements to sweep - * \param StepVector - vector giving direction and distance of an extrusion step - * \param NbOfSteps - number of elements to generate from one element - */ - void ExtrusionSweep0D(in long_array IDsOfElements, - in DirStruct StepVector, - in long NbOfSteps) - raises (SALOME::SALOME_Exception); - /*! - * \brief Same as previous but additionally create groups of elements - * generated from elements belonging to preexisting groups - */ - ListOfGroups ExtrusionSweepMakeGroups(in long_array IDsOfElements, - in DirStruct StepVector, - in long NbOfSteps) - raises (SALOME::SALOME_Exception); - /*! - * \brief Same as previous but elements are nodes - */ - ListOfGroups ExtrusionSweepMakeGroups0D(in long_array IDsOfElements, - in DirStruct StepVector, - in long NbOfSteps) - raises (SALOME::SALOME_Exception); - /*! - * Generate new elements by extrusion of theElements - * by StepVector by NbOfSteps - * param ExtrFlags set flags for performing extrusion - * param SewTolerance - uses for comparing locations of nodes if flag - * EXTRUSION_FLAG_SEW is set - */ - void AdvancedExtrusion(in long_array IDsOfElements, - in DirStruct StepVector, - in long NbOfSteps, - in long ExtrFlags, - in double SewTolerance) - raises (SALOME::SALOME_Exception); - /*! - * \brief Same as previous but additionally create groups of elements - * generated from elements belonging to preexisting groups - */ - ListOfGroups AdvancedExtrusionMakeGroups(in long_array IDsOfElements, - in DirStruct StepVector, - in long NbOfSteps, - in long ExtrFlags, - in double SewTolerance) - raises (SALOME::SALOME_Exception); - - void ExtrusionSweepObject(in SMESH_IDSource theObject, - in DirStruct StepVector, - in long NbOfSteps) - raises (SALOME::SALOME_Exception); - ListOfGroups ExtrusionSweepObjectMakeGroups(in SMESH_IDSource theObject, - in DirStruct StepVector, - in long NbOfSteps) - raises (SALOME::SALOME_Exception); - - void ExtrusionSweepObject0D(in SMESH_IDSource theObject, - in DirStruct StepVector, - in long NbOfSteps) - raises (SALOME::SALOME_Exception); - ListOfGroups ExtrusionSweepObject0DMakeGroups(in SMESH_IDSource theObject, - in DirStruct StepVector, - in long NbOfSteps) - raises (SALOME::SALOME_Exception); - - void ExtrusionSweepObject1D(in SMESH_IDSource theObject, - in DirStruct StepVector, - in long NbOfSteps) - raises (SALOME::SALOME_Exception); - ListOfGroups ExtrusionSweepObject1DMakeGroups(in SMESH_IDSource theObject, - in DirStruct StepVector, - in long NbOfSteps) - raises (SALOME::SALOME_Exception); - - void ExtrusionSweepObject2D(in SMESH_IDSource theObject, - in DirStruct StepVector, - in long NbOfSteps) - raises (SALOME::SALOME_Exception); - ListOfGroups ExtrusionSweepObject2DMakeGroups(in SMESH_IDSource theObject, - in DirStruct StepVector, - in long NbOfSteps) + * \brief Generate dim+1 elements by rotation of the object around axis + * \param Nodes - nodes to revolve: a list including groups, sub-meshes or a mesh + * \param Edges - edges to revolve: a list including groups, sub-meshes or a mesh + * \param Faces - faces to revolve: a list including groups, sub-meshes or a mesh + * \param Axis - rotation axis + * \param AngleInRadians - rotation angle + * \param NbOfSteps - number of elements to generate from one element + * \param ToMakeGroups - if true, new elements will be included into new groups + * corresponding to groups the input elements included in. + * \return ListOfGroups - new groups craeted if \a ToMakeGroups is true + */ + ListOfGroups RotationSweepObjects(in ListOfIDSources Nodes, + in ListOfIDSources Edges, + in ListOfIDSources Faces, + in AxisStruct Axis, + in double AngleInRadians, + in long NbOfSteps, + in double Tolerance, + in boolean ToMakeGroups) + raises (SALOME::SALOME_Exception); + + /*! + * \brief Generate dim+1 elements by extrusion of elements along vector + * \param nodes - nodes to extrude: a list including groups, sub-meshes or a mesh + * \param edges - edges to extrude: a list including groups, sub-meshes or a mesh + * \param faces - faces to extrude: a list including groups, sub-meshes or a mesh + * \param stepVector - vector giving direction and distance of an extrusion step + * \param nbOfSteps - number of elements to generate from one element + * \param toMakeGroups - if true, new elements will be included into new groups + * corresponding to groups the input elements included in. + * \return ListOfGroups - new groups craeted if \a toMakeGroups is true + */ + ListOfGroups ExtrusionSweepObjects(in ListOfIDSources nodes, + in ListOfIDSources edges, + in ListOfIDSources faces, + in DirStruct stepVector, + in long nbOfSteps, + in boolean toMakeGroups) + raises (SALOME::SALOME_Exception); + + /*! Generates new elements by extrusion along the normal to a discretized surface or wire + */ + ListOfGroups ExtrusionByNormal(in ListOfIDSources theObjects, + in double stepSize, + in long nbOfSteps, + in boolean byAverageNormal, + in boolean useInputElemsOnly, + in boolean makeGroups, + in short dim) + raises (SALOME::SALOME_Exception); + + /*! + * Generate new elements by extrusion of theElements + * by StepVector by NbOfSteps + * \param ExtrFlags set flags for performing extrusion + * \param SewTolerance - uses for comparing locations of nodes if flag + * EXTRUSION_FLAG_SEW is set + * \param ToMakeGroups - if true, new elements will be included into new groups + * corresponding to groups the input elements included in. + * \return ListOfGroups - new groups craeted if \a ToMakeGroups is true + */ + ListOfGroups AdvancedExtrusion(in long_array IDsOfElements, + in DirStruct StepVector, + in long NbOfSteps, + in long ExtrFlags, + in double SewTolerance, + in boolean ToMakeGroups) raises (SALOME::SALOME_Exception); enum Extrusion_Error { @@ -585,112 +491,21 @@ module SMESH EXTR_BAD_STARTING_NODE, EXTR_BAD_ANGLES_NUMBER, EXTR_CANT_GET_TANGENT - }; - - ListOfGroups ExtrusionAlongPathX(in long_array IDsOfElements, - in SMESH_IDSource Path, - in long NodeStart, - in boolean HasAngles, - in double_array Angles, - in boolean LinearVariation, - in boolean HasRefPoint, - in PointStruct RefPoint, - in boolean MakeGroups, - in ElementType ElemType, - out Extrusion_Error Error) - raises (SALOME::SALOME_Exception); - - ListOfGroups ExtrusionAlongPathObjX(in SMESH_IDSource theObject, - in SMESH_IDSource Path, - in long NodeStart, - in boolean HasAngles, - in double_array Angles, - in boolean LinearVariation, - in boolean HasRefPoint, - in PointStruct RefPoint, - in boolean MakeGroups, - in ElementType ElemType, - out Extrusion_Error Error) - raises (SALOME::SALOME_Exception); - - Extrusion_Error ExtrusionAlongPath(in long_array IDsOfElements, - in SMESH_Mesh PathMesh, - in GEOM::GEOM_Object PathShape, - in long NodeStart, - in boolean HasAngles, - in double_array Angles, - in boolean HasRefPoint, - in PointStruct RefPoint) - raises (SALOME::SALOME_Exception); - ListOfGroups ExtrusionAlongPathMakeGroups(in long_array IDsOfElements, - in SMESH_Mesh PathMesh, - in GEOM::GEOM_Object PathShape, - in long NodeStart, - in boolean HasAngles, - in double_array Angles, - in boolean HasRefPoint, - in PointStruct RefPoint, - out Extrusion_Error Error) - raises (SALOME::SALOME_Exception); - - Extrusion_Error ExtrusionAlongPathObject(in SMESH_IDSource theObject, - in SMESH_Mesh PathMesh, - in GEOM::GEOM_Object PathShape, - in long NodeStart, - in boolean HasAngles, - in double_array Angles, - in boolean HasRefPoint, - in PointStruct RefPoint) - raises (SALOME::SALOME_Exception); - ListOfGroups ExtrusionAlongPathObjectMakeGroups(in SMESH_IDSource theObject, - in SMESH_Mesh PathMesh, - in GEOM::GEOM_Object PathShape, - in long NodeStart, - in boolean HasAngles, - in double_array Angles, - in boolean HasRefPoint, - in PointStruct RefPoint, - out Extrusion_Error Error) - raises (SALOME::SALOME_Exception); - - Extrusion_Error ExtrusionAlongPathObject1D(in SMESH_IDSource theObject, - in SMESH_Mesh PathMesh, - in GEOM::GEOM_Object PathShape, - in long NodeStart, - in boolean HasAngles, - in double_array Angles, - in boolean HasRefPoint, - in PointStruct RefPoint) - raises (SALOME::SALOME_Exception); - ListOfGroups ExtrusionAlongPathObject1DMakeGroups(in SMESH_IDSource theObject, - in SMESH_Mesh PathMesh, - in GEOM::GEOM_Object PathShape, - in long NodeStart, - in boolean HasAngles, - in double_array Angles, - in boolean HasRefPoint, - in PointStruct RefPoint, - out Extrusion_Error Error) - raises (SALOME::SALOME_Exception); - - Extrusion_Error ExtrusionAlongPathObject2D(in SMESH_IDSource theObject, - in SMESH_Mesh PathMesh, - in GEOM::GEOM_Object PathShape, - in long NodeStart, - in boolean HasAngles, - in double_array Angles, - in boolean HasRefPoint, - in PointStruct RefPoint) - raises (SALOME::SALOME_Exception); - ListOfGroups ExtrusionAlongPathObject2DMakeGroups(in SMESH_IDSource theObject, - in SMESH_Mesh PathMesh, - in GEOM::GEOM_Object PathShape, - in long NodeStart, - in boolean HasAngles, - in double_array Angles, - in boolean HasRefPoint, - in PointStruct RefPoint, - out Extrusion_Error Error) + }; + + ListOfGroups ExtrusionAlongPathObjects(in ListOfIDSources Nodes, + in ListOfIDSources Edges, + in ListOfIDSources Faces, + in SMESH_IDSource Path, + in GEOM::GEOM_Object PathShape, + in long NodeStart, + in boolean HasAngles, + in double_array Angles, + in boolean LinearVariation, + in boolean HasRefPoint, + in PointStruct RefPoint, + in boolean MakeGroups, + out Extrusion_Error Error) raises (SALOME::SALOME_Exception); /*! @@ -794,41 +609,44 @@ module SMESH in AxisStruct Axis, in double AngleInRadians, in boolean CopyGroups, - in string MeshName) + in string MeshName) raises (SALOME::SALOME_Exception); void RotateObject (in SMESH_IDSource theObject, in AxisStruct Axis, in double AngleInRadians, - in boolean Copy) + in boolean Copy) raises (SALOME::SALOME_Exception); ListOfGroups RotateObjectMakeGroups (in SMESH_IDSource theObject, in AxisStruct Axis, - in double AngleInRadians) + in double AngleInRadians) raises (SALOME::SALOME_Exception); SMESH_Mesh RotateObjectMakeMesh (in SMESH_IDSource theObject, in AxisStruct Axis, in double AngleInRadians, in boolean CopyGroups, - in string MeshName) + in string MeshName) raises (SALOME::SALOME_Exception); void FindCoincidentNodes (in double Tolerance, - out array_of_long_array GroupsOfNodes) + out array_of_long_array GroupsOfNodes, + in boolean SeparateCornersAndMedium) raises (SALOME::SALOME_Exception); void FindCoincidentNodesOnPart (in SMESH_IDSource SubMeshOrGroup, in double Tolerance, - out array_of_long_array GroupsOfNodes) + out array_of_long_array GroupsOfNodes, + in boolean SeparateCornersAndMedium) raises (SALOME::SALOME_Exception); void FindCoincidentNodesOnPartBut (in SMESH_IDSource SubMeshOrGroup, in double Tolerance, out array_of_long_array GroupsOfNodes, - in ListOfIDSources ExceptSubMeshOrGroups) + in ListOfIDSources ExceptSubMeshOrGroups, + in boolean SeparateCornersAndMedium) raises (SALOME::SALOME_Exception); - void MergeNodes (in array_of_long_array GroupsOfNodes) + void MergeNodes (in array_of_long_array GroupsOfNodes) raises (SALOME::SALOME_Exception); /*! @@ -1275,10 +1093,13 @@ module SMESH * Triangles are transformed in prisms, and quadrangles in hexahedrons. * \param theDomains - list of groups of volumes * \param createJointElems - if TRUE, create the elements + * \param onAllBoundaries - if TRUE, the nodes and elements are also created on + * the boundary between \a theDomains and the rest mesh * \return TRUE if operation has been completed successfully, FALSE otherwise */ boolean DoubleNodesOnGroupBoundaries( in ListOfGroups theDomains, - in boolean createJointElems ) + in boolean createJointElems, + in boolean onAllBoundaries) raises (SALOME::SALOME_Exception); /*!