X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_MeshEditor.idl;h=694db68034f938d91196cc02ca0188c5a44177ec;hp=85ba8b73ea59558b9a18ba746b96dfe5998b4945;hb=d85d605175efca167efafe15543f2212e9702b1b;hpb=05bdaa6d2e34f8faf44db72a387557bfdfc52486 diff --git a/idl/SMESH_MeshEditor.idl b/idl/SMESH_MeshEditor.idl index 85ba8b73e..694db6803 100644 --- a/idl/SMESH_MeshEditor.idl +++ b/idl/SMESH_MeshEditor.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2019 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 @@ -510,13 +510,21 @@ module SMESH /*! * \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 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. + * \param scaleFactors - optional scale factors to apply during extrusion; it's + * usage depends on \a scalesVariation parameter. + * \param scalesVariation - if \c True, \a scaleFactors are spread over all \a NbOfSteps, + otherwise \a scaleFactors[i] is applied to nodes at the i-th extrusion step. + * \param angles - optional rotation angles to apply during extrusion; it's + * usage depends on \a anglesVariation parameter. + * \param anglesVariation - if \c True, \a angles are spread over all \a NbOfSteps, + otherwise \a angle[i] is applied to nodes at the i-th extrusion step. * \return ListOfGroups - new groups created if \a toMakeGroups is true */ ListOfGroups ExtrusionSweepObjects(in ListOfIDSources nodes, @@ -524,10 +532,12 @@ module SMESH in ListOfIDSources faces, in DirStruct stepVector, in long nbOfSteps, + in boolean toMakeGroups, in double_array scaleFactors, - in boolean linearVariation, + in boolean scaleVariation, in double_array basePoint, - in boolean toMakeGroups) + in double_array angles, + in boolean angleVariation) raises (SALOME::SALOME_Exception); /*! Generates new elements by extrusion along the normal to a discretized surface or wire @@ -569,18 +579,20 @@ module SMESH EXTR_CANT_GET_TANGENT }; - ListOfGroups ExtrusionAlongPathObjects(in ListOfIDSources Nodes, - in ListOfIDSources Edges, - in ListOfIDSources Faces, + 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 AnglesVariation, in boolean HasRefPoint, in PointStruct RefPoint, in boolean MakeGroups, + in double_array ScaleFactors, + in boolean ScaleVariation, out Extrusion_Error Error) raises (SALOME::SALOME_Exception); @@ -723,7 +735,7 @@ module SMESH in boolean SeparateCornersAndMedium) raises (SALOME::SALOME_Exception); - void FindCoincidentNodesOnPartBut (in SMESH_IDSource SubMeshOrGroup, + void FindCoincidentNodesOnPartBut (in ListOfIDSources SubMeshOrGroup, in double Tolerance, out array_of_long_array GroupsOfNodes, in ListOfIDSources ExceptSubMeshOrGroups, @@ -740,7 +752,8 @@ module SMESH * \param MeshOrSubMeshOrGroup Mesh or SubMesh, or Group of elements for searching. * \return List of groups of equal elements. */ - void FindEqualElements (in SMESH_IDSource MeshOrSubMeshOrGroup, + void FindEqualElements (in ListOfIDSources MeshOrSubMeshOrGroup, + in ListOfIDSources ExceptSubMeshOrGroups, out array_of_long_array GroupsOfElementsID) raises (SALOME::SALOME_Exception); @@ -748,7 +761,8 @@ module SMESH * \brief Merge elements in each given group. * \param GroupsOfElementsID Groups of elements for merging. */ - void MergeElements(in array_of_long_array GroupsOfElementsID) + void MergeElements(in array_of_long_array GroupsOfElementsID, + in SMESH::ListOfIDSources ElementsToKeep) raises (SALOME::SALOME_Exception); /*! @@ -798,8 +812,8 @@ module SMESH long ProjectPoint(in double x, in double y, in double z, - in SMESH_IDSource meshObject, in ElementType type, + in SMESH_IDSource meshObject, out double_array projecton) raises (SALOME::SALOME_Exception); @@ -822,6 +836,18 @@ module SMESH boolean IsCoherentOrientation2D() raises (SALOME::SALOME_Exception); + /*! + * 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. + * \return a list of edge groups and a list of corresponding node groups. + * If a group is closed, the first and last nodes of the group are same. + */ + array_of_long_array Get1DBranches( in SMESH_IDSource edges, + in long startNode, + out array_of_long_array nodeGroups) + raises (SALOME::SALOME_Exception); + /*! * Return sharp edges of faces and non-manifold ones. * Optionally add existing edges. Angle is in degrees. @@ -1295,6 +1321,17 @@ module SMESH void MakePolyLine(inout ListOfPolySegments segments, in string groupName) raises (SALOME::SALOME_Exception); + + /*! + * \brief 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(). + * \return Edges located at the slot boundary + */ + ListOfEdges MakeSlot( in SMESH_GroupBase segments, + in double width ) + raises (SALOME::SALOME_Exception); + }; };