X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_Mesh.idl;h=53579df6a210624d812957228f2e035927f6df08;hp=77d9d186e0bd30374e2f5e7c3c958637e2db57b4;hb=4679b8437be95e08b09e23f9d9069f3d18f4a754;hpb=090aff07266d376ae028ae43434bdea7c0a0f9bb diff --git a/idl/SMESH_Mesh.idl b/idl/SMESH_Mesh.idl index 77d9d186e..53579df6a 100644 --- a/idl/SMESH_Mesh.idl +++ b/idl/SMESH_Mesh.idl @@ -58,14 +58,17 @@ module SMESH ADD_EDGE, ADD_TRIANGLE, ADD_QUADRANGLE, + ADD_POLYGON, ADD_TETRAHEDRON, ADD_PYRAMID, ADD_PRISM, ADD_HEXAHEDRON, + ADD_POLYHEDRON, REMOVE_NODE, REMOVE_ELEMENT, MOVE_NODE, CHANGE_ELEMENT_NODES, + CHANGE_POLYHEDRON_NODES, RENUMBER }; @@ -324,10 +327,20 @@ module SMESH raises (SALOME::SALOME_Exception); /*! - * Export Mesh to MED Formats + * Export Mesh to different MED Formats + * @params + * - auto_groups : boolean parameter for creating/not creating + * the groups Group_On_All_Nodes, Group_On_All_Faces, ... ; + * the typical use is auto_groups=false. + * - theVersion : define the version of format of MED file, that will be created */ void ExportToMED( in string file, in boolean auto_groups, in MED_VERSION theVersion ) raises (SALOME::SALOME_Exception); + /*! + * Export Mesh to MED_V2_1 MED format + * Works, just the same as ExportToMED, with MED_VERSION parameter equal to MED_V2_1. + * The method is kept in order to support old functionality + */ void ExportMED( in string file, in boolean auto_groups ) raises (SALOME::SALOME_Exception); @@ -365,6 +378,9 @@ module SMESH long NbQuadrangles() raises (SALOME::SALOME_Exception); + long NbPolygons() + raises (SALOME::SALOME_Exception); + long NbVolumes() raises (SALOME::SALOME_Exception); @@ -380,6 +396,9 @@ module SMESH long NbPrisms() raises (SALOME::SALOME_Exception); + long NbPolyhedrons() + raises (SALOME::SALOME_Exception); + long NbSubMesh() raises (SALOME::SALOME_Exception); @@ -451,7 +470,7 @@ module SMESH raises (SALOME::SALOME_Exception); }; - /* + /*! * This interface makes modifications on the Mesh - removing elements and nodes etc. */ interface NumericalFunctor; @@ -470,6 +489,25 @@ module SMESH boolean AddVolume(in long_array IDsOfNodes); + //boolean AddPolygonalFace (in long_array IdsOfNodes); + + /*! + * Create volume of many faces, giving nodes for each face. + * \param IdsOfNodes List of node IDs for volume creation face by face. + * \param Quantities List of integer values, Quantities[i] + * gives quantity of nodes in face number i. + */ + boolean AddPolyhedralVolume (in long_array IdsOfNodes, + in long_array Quantities); + + /*! + * Create volume of many faces, giving IDs of existing faces. + * \param IdsOfFaces List of face IDs for volume creation. + * \note The created volume will refer only to nodes + * of the given faces, not to the faces itself. + */ + boolean AddPolyhedralVolumeByFaces (in long_array IdsOfFaces); + boolean MoveNode(in long NodeID, in double x, in double y, in double z); boolean InverseDiag(in long NodeID1, in long NodeID2); @@ -511,6 +549,18 @@ module SMESH in double MaxAspectRatio, in Smooth_Method Method); + boolean SmoothParametric(in long_array IDsOfElements, + in long_array IDsOfFixedNodes, + in long MaxNbOfIterations, + in double MaxAspectRatio, + in Smooth_Method Method); + + boolean SmoothParametricObject(in SMESH_IDSource theObject, + in long_array IDsOfFixedNodes, + in long MaxNbOfIterations, + in double MaxAspectRatio, + in Smooth_Method Method); + void RenumberNodes(); void RenumberElements(); @@ -535,23 +585,41 @@ module SMESH in DirStruct StepVector, in long NbOfSteps); - void 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); - - void 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); + void ExtrusionSweepObject1D(in SMESH_IDSource theObject, + in DirStruct StepVector, + in long NbOfSteps); + + void ExtrusionSweepObject2D(in SMESH_IDSource theObject, + in DirStruct StepVector, + in long NbOfSteps); + + enum Extrusion_Error { + EXTR_OK, + EXTR_NO_ELEMENTS, + EXTR_PATH_NOT_EDGE, + EXTR_BAD_PATH_SHAPE, + EXTR_BAD_STARTING_NODE, + EXTR_BAD_ANGLES_NUMBER, + EXTR_CANT_GET_TANGENT + }; + + 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); + + 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); enum MirrorType { POINT, AXIS, PLANE }; @@ -609,7 +677,9 @@ module SMESH in long LastNodeID1, in long FirstNodeID2, in long SecondNodeID2, - in long LastNodeID2); + in long LastNodeID2, + in boolean CreatePolygons, + in boolean CreatePolyedrs); Sew_Error SewConformFreeBorders (in long FirstNodeID1, in long SecondNodeID1, @@ -621,7 +691,9 @@ module SMESH in long SecondNodeIDOnFreeBorder, in long LastNodeIDOnFreeBorder, in long FirstNodeIDOnSide, - in long LastNodeIDOnSide); + in long LastNodeIDOnSide, + in boolean CreatePolygons, + in boolean CreatePolyedrs); Sew_Error SewSideElements (in long_array IDsOfSide1Elements, in long_array IDsOfSide2Elements,