X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_MeshEditor.idl;h=b28fb1432a386c4ad5f2fba7e6bdde23cc96fb3e;hp=57f50fb509d5aaa2787476473a2c956d21a9baba;hb=59627b07d70f4caa4c768be6805334d2610fa54c;hpb=de00066f64e01e9028cc5bfc0390911a590a9428 diff --git a/idl/SMESH_MeshEditor.idl b/idl/SMESH_MeshEditor.idl index 57f50fb50..b28fb1432 100644 --- a/idl/SMESH_MeshEditor.idl +++ b/idl/SMESH_MeshEditor.idl @@ -29,13 +29,37 @@ module SMESH { + interface NumericalFunctor; + enum Bnd_Dimension { BND_2DFROM3D, BND_1DFROM3D, BND_1DFROM2D }; + + struct FreeBorder + { + SMESH::long_array nodeIDs; // all nodes defining a free border + // 1st and last node is same in a closed border + }; + struct FreeBorderPart + { + short border; // border index within a sequence + long node1; // node index within the border-th FreeBorder + long node2; + long nodeLast; + }; + typedef sequence ListOfFreeBorders; + typedef sequence FreeBordersGroup; + typedef sequence ListOfFreeBorderGroups; + + struct CoincidentFreeBorders + { + ListOfFreeBorders borders; // nodes of all free borders + ListOfFreeBorderGroups coincidentGroups; // groups of coincident parts of borders + }; + + /*! * This interface makes modifications on the Mesh - removing elements and nodes etc. */ - interface NumericalFunctor; - interface SMESH_MeshEditor { /*! @@ -723,6 +747,21 @@ module SMESH short GetPointState(in double x, in double y, in double z) raises (SALOME::SALOME_Exception); + /*! + * 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. + */ + CoincidentFreeBorders FindCoincidentFreeBorders(in double tolerance); + + /*! + * Sew FreeBorder's of each group + */ + short SewCoincidentFreeBorders (in CoincidentFreeBorders freeBorders, + in boolean createPolygons, + in boolean createPolyedrs) + raises (SALOME::SALOME_Exception); + enum Sew_Error { SEW_OK, SEW_BORDER1_NOT_FOUND, @@ -734,8 +773,9 @@ module SMESH SEW_DIFF_NB_OF_ELEMENTS, SEW_TOPO_DIFF_SETS_OF_ELEMENTS, SEW_BAD_SIDE1_NODES, - SEW_BAD_SIDE2_NODES - }; + SEW_BAD_SIDE2_NODES, + SEW_INTERNAL_ERROR + }; Sew_Error SewFreeBorders (in long FirstNodeID1, in long SecondNodeID1,