Salome HOME
Allow to create polyedres near sewed faces; improve nodes merging to save polyedres...
[modules/smesh.git] / src / SMESH_I / SMESH_MeshEditor_i.hxx
index 2923617bda2885a3ef90264a72282759544e23ee..38694d9fcb135e274f50d083475df1a7d45dfce3 100644 (file)
@@ -51,6 +51,11 @@ class SMESH_MeshEditor_i: public POA_SMESH::SMESH_MeshEditor
   CORBA::Boolean AddEdge(const SMESH::long_array & IDsOfNodes);
   CORBA::Boolean AddFace(const SMESH::long_array & IDsOfNodes);
   CORBA::Boolean AddVolume(const SMESH::long_array & IDsOfNodes);
+
+  CORBA::Boolean AddPolyhedralVolume(const SMESH::long_array & IDsOfNodes,
+                                     const SMESH::long_array & Quantities);
+  CORBA::Boolean AddPolyhedralVolumeByFaces(const SMESH::long_array & IdsOfFaces);
+
   CORBA::Boolean MoveNode(CORBA::Long NodeID,
                           CORBA::Double x, CORBA::Double y, CORBA::Double z);
 
@@ -105,6 +110,26 @@ class SMESH_MeshEditor_i: public POA_SMESH::SMESH_MeshEditor
                            const SMESH::DirStruct &  StepVector,
                            CORBA::Long               NbOfSteps);
   
+  SMESH::SMESH_MeshEditor::Extrusion_Error
+    ExtrusionAlongPath(const SMESH::long_array &   IDsOfElements,
+                       SMESH::SMESH_Mesh_ptr       PathMesh,
+                       GEOM::GEOM_Object_ptr       PathShape,
+                       CORBA::Long                 NodeStart,
+                       CORBA::Boolean              HasAngles,
+                       const SMESH::double_array & Angles,
+                       CORBA::Boolean              HasRefPoint,
+                       const SMESH::PointStruct &  RefPoint);
+  
+  SMESH::SMESH_MeshEditor::Extrusion_Error
+    ExtrusionAlongPathObject(SMESH::SMESH_IDSource_ptr   theObject,
+                             SMESH::SMESH_Mesh_ptr       PathMesh,
+                             GEOM::GEOM_Object_ptr       PathShape,
+                             CORBA::Long                 NodeStart,
+                             CORBA::Boolean              HasAngles,
+                             const SMESH::double_array & Angles,
+                             CORBA::Boolean              HasRefPoint,
+                             const SMESH::PointStruct &  RefPoint);
+
   void Mirror(const SMESH::long_array &           IDsOfElements,
               const SMESH::AxisStruct &           Axis,
               SMESH::SMESH_MeshEditor::MirrorType MirrorType,
@@ -139,7 +164,9 @@ class SMESH_MeshEditor_i: public POA_SMESH::SMESH_MeshEditor
                    CORBA::Long LastNodeID1,
                    CORBA::Long FirstNodeID2,
                    CORBA::Long SecondNodeID2,
-                   CORBA::Long LastNodeID2);
+                   CORBA::Long LastNodeID2,
+                   CORBA::Boolean CreatePolygons,
+                   CORBA::Boolean CreatePolyedrs);
   SMESH::SMESH_MeshEditor::Sew_Error
     SewConformFreeBorders(CORBA::Long FirstNodeID1,
                           CORBA::Long SecondNodeID1,
@@ -151,7 +178,9 @@ class SMESH_MeshEditor_i: public POA_SMESH::SMESH_MeshEditor
                     CORBA::Long SecondNodeIDOnFreeBorder,
                     CORBA::Long LastNodeIDOnFreeBorder,
                     CORBA::Long FirstNodeIDOnSide,
-                    CORBA::Long LastNodeIDOnSide);
+                    CORBA::Long LastNodeIDOnSide,
+                    CORBA::Boolean CreatePolygons,
+                    CORBA::Boolean CreatePolyedrs);
   SMESH::SMESH_MeshEditor::Sew_Error
     SewSideElements(const SMESH::long_array& IDsOfSide1Elements,
                     const SMESH::long_array& IDsOfSide2Elements,