X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_MeshEditor.idl;h=5cb9c85cc791c1a9c4d5bc1df6e357a1a71823f1;hp=d0748bac7657f670f5d8838b01a0a2abb13d0d2f;hb=441a2df90cb97ea7d035771a49e28dc53469e3d6;hpb=88141f757b048eaa5aae0be49faaf274448bbcaf diff --git a/idl/SMESH_MeshEditor.idl b/idl/SMESH_MeshEditor.idl index d0748bac7..5cb9c85cc 100644 --- a/idl/SMESH_MeshEditor.idl +++ b/idl/SMESH_MeshEditor.idl @@ -60,17 +60,23 @@ module SMESH // structure used in MakePolyLine() to define a cutting plane struct PolySegment { - // point 1: if node1ID2 > 0, then the point is in the middle of a face edge defined - // by two nodes, else it is at node1ID1 + // a point is defined as follows: + // ( node*ID1 > 0 && node*ID2 > 0 ) ==> point is in the middle of an edge defined by two nodes + // ( node*ID1 > 0 && node*ID2 <=0 ) ==> point is at node*ID1 + // else ==> point is at xyz* + + // point 1 long node1ID1; long node1ID2; + PointStruct xyz1; - // point 2: if node2ID2 > 0, then the point is in the middle of a face edge defined - // by two nodes, else it is at node2ID1 + // point 2 long node2ID1; long node2ID2; + PointStruct xyz2; - DirStruct vector; // vector on the plane; to use a default plane set vector = (0,0,0) + // vector on the plane; to use a default plane set vector = (0,0,0) + DirStruct vector; }; typedef sequence ListOfPolySegments; @@ -480,7 +486,7 @@ module SMESH * \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 + * \return ListOfGroups - new groups created if \a ToMakeGroups is true */ ListOfGroups RotationSweepObjects(in ListOfIDSources Nodes, in ListOfIDSources Edges, @@ -501,7 +507,7 @@ module SMESH * \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 + * \return ListOfGroups - new groups created if \a toMakeGroups is true */ ListOfGroups ExtrusionSweepObjects(in ListOfIDSources nodes, in ListOfIDSources edges, @@ -533,7 +539,7 @@ module SMESH * 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 + * \return ListOfGroups - new groups created if \a ToMakeGroups is true */ ListOfGroups AdvancedExtrusion(in long_array IDsOfElements, in DirStruct StepVector, @@ -691,6 +697,7 @@ module SMESH SMESH_Mesh Offset(in SMESH_IDSource theObject, in double Value, in boolean CopyGroups, + in boolean CopyElements, in string MeshName, out ListOfGroups Groups) raises (SALOME::SALOME_Exception); @@ -772,6 +779,20 @@ module SMESH in ElementType type) raises (SALOME::SALOME_Exception); + /*! + * 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 [] + */ + long ProjectPoint(in double x, + in double y, + in double z, + in SMESH_IDSource meshObject, + in ElementType type, + out double_array projecton) + raises (SALOME::SALOME_Exception); + /*! * Return point state in a closed 2D mesh in terms of TopAbs_State enumeration. * TopAbs_UNKNOWN state means that either mesh is wrong or the analysis fails. @@ -799,8 +820,9 @@ module SMESH /*! * Fill with 2D elements a hole defined by a FreeBorder. + * Optionally add new faces to a given group, which is returned. */ - void FillHole(in FreeBorder hole) + SMESH_Group FillHole(in FreeBorder hole, in string groupName) raises (SALOME::SALOME_Exception); /*! @@ -1239,8 +1261,8 @@ module SMESH /*! * \brief 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. + * the initial triangle 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.