Salome HOME
Merge from V5_1_5_BR branch 12/11/2010
[plugins/blsurfplugin.git] / idl / BLSURFPlugin_Algorithm.idl
index 470dffc043133e0823040c996b9048207280a42a..64b34bc408512e9fc3cbfeb951b908208d06549b 100644 (file)
@@ -1,4 +1,4 @@
-//  Copyright (C) 2007-2008  CEA/DEN, EDF R&D
+//  Copyright (C) 2007-2010  CEA/DEN, EDF R&D
 //
 //  This library is free software; you can redistribute it and/or
 //  modify it under the terms of the GNU Lesser General Public
@@ -16,6 +16,7 @@
 //
 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
+
 // ---
 // File    : BLSURFPlugin_Algorithm.idl
 // Authors : Francis KLOSS (OCC) & Patrick LAUG (INRIA) & Lioka RAZAFINDRAZAKA (CEA)
@@ -36,6 +37,36 @@ module BLSURFPlugin
 {
   typedef sequence<string> string_array;
 
+  // Entry
+  typedef string TEnfEntry;
+  // Enforced vertex = 3 coordinates
+  typedef sequence<double,3> TEnfVertex;
+  // List of enforced vertices
+  typedef sequence<TEnfVertex> TEnfVertexList;
+  // Map Entry / List of enforced vertices
+  struct TEntryEnfVertexListMapElement {
+    TEnfEntry entry;
+    TEnfVertexList vertexList;
+  };
+  typedef sequence<TEntryEnfVertexListMapElement> TEntryEnfVertexListMap;
+  /* TODO GROUPS
+  // Group name
+  typedef string TEnfGroupName;
+  // Map Group Name / List of enforced vertices
+  struct TGroupNameEnfVertexListMapElement {
+    TEnfGroupName groupName;
+    TEnfVertexList vertexList;
+  };
+  typedef sequence<TGroupNameEnfVertexListMapElement> TGroupNameEnfVertexListMap;
+  // Map Enforced vertex / Group Name
+  struct TEnfVertexGroupNameMapElement {
+    TEnfVertex vertex;
+    TEnfGroupName groupName;
+  };
+  typedef sequence<TEnfVertexGroupNameMapElement> TEnfVertexGroupNameMap;
+  */
+
+  
   /*!
    * BLSURFPlugin_BLSURF: interface of BLSURF algorithm
    */
@@ -172,7 +203,7 @@ module BLSURFPlugin
     void UnsetEntry(in string entry);
 
     /*!
-     * Set a SizeMap on geom object
+     * Set/unset a SizeMap on geom object
      */
     void         SetSizeMap(in GEOM::GEOM_Object GeomObj, in string sizeMap);
     void         UnsetSizeMap(in GEOM::GEOM_Object GeomObj);
@@ -185,7 +216,7 @@ module BLSURFPlugin
     string_array GetSizeMapEntries();
 
     /*!
-     * Set an attractor on geom object
+     * Set/unset an attractor on geom object
      */
     void         SetAttractor(in GEOM::GEOM_Object GeomObj, in string attractor);
     void         UnsetAttractor(in GEOM::GEOM_Object GeomObj);
@@ -204,6 +235,55 @@ module BLSURFPlugin
     void         UnsetCustomSizeMap(in GEOM::GEOM_Object GeomObj);
     string_array GetCustomSizeMapEntries();
 */
+    ///////////////////////
+    // ENFORCED VERTEXES //
+    ///////////////////////
+    
+    TEntryEnfVertexListMap GetAllEnforcedVertices();
+    void                   ClearAllEnforcedVertices();
+    
+   /*!
+    * Set/get/unset an enforced vertex on geom object
+    */
+    void SetEnforcedVertex(in GEOM::GEOM_Object GeomObj, in double x, in double y, in double z) raises (SALOME::SALOME_Exception);
+    /* TODO GROUPS
+    void SetEnforcedVertexWithGroup(in GEOM::GEOM_Object GeomObj, in double x, in double y, in double z, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
+    */
+//     void SetEnforcedVertexList(in GEOM::GEOM_Object GeomObj, in TEnfVertexList vertexList) raises (SALOME::SALOME_Exception);
+    
+    TEnfVertexList GetEnforcedVertices(in GEOM::GEOM_Object GeomObj) raises (SALOME::SALOME_Exception);
+    
+    void UnsetEnforcedVertex(in GEOM::GEOM_Object GeomObj, in double x, in double y, in double z) raises (SALOME::SALOME_Exception);
+//     void UnsetEnforcedVertexList(in GEOM::GEOM_Object GeomObj, in TEnfVertexList vertexList) raises (SALOME::SALOME_Exception);
+    void UnsetEnforcedVertices(in GEOM::GEOM_Object GeomObj) raises (SALOME::SALOME_Exception);
+    
+   /*!
+    * Set/get/unset an enforced vertex on geom object given by entry
+    */
+    void SetEnforcedVertexEntry(in TEnfEntry entry, in double x, in double y, in double z) raises (SALOME::SALOME_Exception);
+    /* TODO GROUPS
+    void SetEnforcedVertexEntryWithGroup(in TEnfEntry entry, in double x, in double y, in double z, in TEnfGroupName groupName)
+        raises (SALOME::SALOME_Exception);
+    */
+//     void SetEnforcedVertexListEntry(in TEnfEntry entry, in TEnfVertexList vertexList) raises (SALOME::SALOME_Exception);
+//     
+    TEnfVertexList GetEnforcedVerticesEntry(in TEnfEntry entry) raises (SALOME::SALOME_Exception);
+//     
+    void UnsetEnforcedVertexEntry(in TEnfEntry entry, in double x, in double y, in double z) raises (SALOME::SALOME_Exception);
+//     void UnsetEnforcedVertexListEntry(in TEnfEntry entry, in TEnfVertexList vertexList) raises (SALOME::SALOME_Exception);
+    void UnsetEnforcedVerticesEntry(in TEnfEntry entry) raises (SALOME::SALOME_Exception);
+
+   /*!
+     * Set/get an enforced vertex on geom object and add it to a group
+    */
+    /* TODO GROUPS
+    void SetEnforcedVertexGroupName(in double x, in double y, in double z, in TEnfGroupName groupName)
+        raises (SALOME::SALOME_Exception);
+    string GetEnforcedVertexGroupName(in double x, in double y, in double z)
+        raises (SALOME::SALOME_Exception);
+    */
+    ///////////////////////
+
   };
 };