Salome HOME
Implementation a selection of a mesh entries from python.
[modules/smesh.git] / src / SMESH_SWIG_WITHIHM / libSMESH_Swig.i
index 73c08a5f1efc1faa930b6784887641c84a937496..339668801d7b8402ef44207d911f9e18c723c593 100644 (file)
@@ -55,9 +55,10 @@ namespace std {
 
 
 /* Selection mode enumeration (corresponds to constants from the SALOME_Selection.h) */
-enum
+enum SelectionMode
   {
-    Node,
+    Undefined = -1,
+    Node = 0,
     Cell,
     EdgeOfCell,
     Edge,
@@ -68,6 +69,37 @@ enum
     Ball
   };
 
+typedef struct
+{
+  double r, g, b;
+  int delta;
+} surfaceColorStruct;
+
+typedef struct
+{
+  double r, g, b;
+  int delta;
+} volumeColorStruct;
+
+typedef struct
+{
+  double r, g, b;
+} edgeColorStruct;
+
+typedef struct
+{
+  double r, g, b;
+} nodeColorStruct;
+
+struct actorAspect
+{
+  surfaceColorStruct surfaceColor;
+  volumeColorStruct volumeColor;
+  edgeColorStruct edgeColor;
+  nodeColorStruct nodeColor;
+  double opacity;
+};
+
 class SMESH_Swig
 {
  public:
@@ -97,8 +129,14 @@ class SMESH_Swig
   void CreateAndDisplayActor( const char* Mesh_Entry );
   void EraseActor( const char* Mesh_Entry, const bool allViewers = false );
 
+  actorAspect GetActorAspect(const char* Mesh_Entry, int viewId = 0 );
+  void SetActorAspect( const actorAspect& actorPres, const char* Mesh_Entry, int viewId = 0 );
+
+  void setSelectionMode( SelectionMode selectionMode);
+  std::vector<int> getSelected( const char* Mesh_Entry );
+
   // --------------------- for the test purposes -----------------------
-  int  getSelectionMode();
+  SelectionMode  getSelectionMode();
   void select( const char *id, std::vector<int> ids, bool append = false );
   void select( const char *id, int id1, bool append = false );