Salome HOME
PAL13460 (PAL EDF 301 force the mesh to go through a point)
authoreap <eap@opencascade.com>
Wed, 21 Feb 2007 17:15:57 +0000 (17:15 +0000)
committereap <eap@opencascade.com>
Wed, 21 Feb 2007 17:15:57 +0000 (17:15 +0000)
+  typedef sequence<PointStruct> nodes_array;
+  struct ElementSubType { ElementType SMDS_ElementType;
+                          boolean     isPoly;
+                          long        nbNodesInElement; };
+  typedef sequence<ElementSubType> types_array;
+  /*!
+   * Structure containing mesh edit preview data
+   */
+  struct MeshPreviewStruct { nodes_array nodesXYZ;
+                             long_array  elementConnectivities;
+                             types_array elementTypes; };
  inteface SMESH_Mesh {
+    /*!
+     * Return SMESH_MeshEditor that would not modify the mesh but
+     * fill MeshPreviewStruct
+     */
+    SMESH_MeshEditor GetMeshEditPreviewer()
+      raises (SALOME::SALOME_Exception);
+    /*!
+    * Return data of mesh edition preview which is computed provided
+    * that the editor was obtained trough SMESH_Mesh::GetMeshEditPreviewer()
+    */
+    MeshPreviewStruct GetPreviewData();

idl/SMESH_Mesh.idl

index 97ec326e317d150b0ed6c60e757772902104f2ea..9ca7a67d281063e5e642d4546dc0a7941514a0af 100644 (file)
@@ -38,9 +38,9 @@ module SMESH
   interface SMESH_GroupBase;
   typedef sequence<SMESH_GroupBase> ListOfGroups;
 
-  typedef sequence<double> double_array ;
-  typedef sequence<long> long_array ;
-  typedef sequence<string> string_array ;
+  typedef sequence<double    > double_array ;
+  typedef sequence<long      > long_array ;
+  typedef sequence<string    > string_array ;
   typedef sequence<long_array> array_of_long_array ;
 
   enum log_command
@@ -81,6 +81,9 @@ module SMESH
   struct PointStruct { double x;
                       double y;
                       double z; } ;
+
+  typedef sequence<PointStruct> nodes_array;
+
   struct DirStruct   { PointStruct PS ; } ;          // analog to Occ Direction
 
   struct AxisStruct  { double x;
@@ -103,6 +106,22 @@ module SMESH
     VOLUME
   };
   
+  /*!
+   * Structure used in mesh edit preview data
+   */
+  struct ElementSubType { ElementType SMDS_ElementType;
+                          boolean     isPoly;
+                          long        nbNodesInElement; };
+
+  typedef sequence<ElementSubType> types_array;
+
+  /*!
+   * Structure containing mesh edit preview data
+   */
+  struct MeshPreviewStruct { nodes_array nodesXYZ;
+                             long_array  elementConnectivities;
+                             types_array elementTypes; };
+
   /*!
    * ElementOrder points out entities of what order are requested
    */
@@ -348,6 +367,13 @@ module SMESH
     SMESH_MeshEditor GetMeshEditor()
       raises (SALOME::SALOME_Exception);
 
+    /*!
+     * Return SMESH_MeshEditor that would not modify the mesh but
+     * fill MeshPreviewStruct
+     */
+    SMESH_MeshEditor GetMeshEditPreviewer()
+      raises (SALOME::SALOME_Exception);
+
     /*! Check group names for duplications.
      *  Consider maximum group name length stored in MED file.
      */
@@ -692,7 +718,7 @@ module SMESH
      *         gives quantity of nodes in face number i.
      */
     long AddPolyhedralVolume (in long_array IdsOfNodes,
-                                in long_array Quantities);
+                              in long_array Quantities);
 
     /*!
      *  Create volume of many faces, giving IDs of existing faces.
@@ -980,6 +1006,12 @@ module SMESH
     */
     boolean ChangeElemNodes(in long ide, in long_array newIDs);
 
+   /*!
+    * Return data of mesh edition preview which is computed provided 
+    * that the editor was obtained trough SMESH_Mesh::GetMeshEditPreviewer()
+    */
+    MeshPreviewStruct GetPreviewData();
+
    /*!
     * If during last operation of MeshEditor some nodes were
     * created this method returns list of it's IDs, if new nodes