Salome HOME
Copyright update 2021
[modules/geom.git] / src / GEOM_SWIG_WITHIHM / libGEOM_Swig.h
index 5f85b568b71b820294c4d8c92c11f538063c8338..56fa81e2142fa1ed2aeb5bef86de92fd66b02f23 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -6,7 +6,7 @@
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 //
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-
-// GEOM GEOMGUI : GUI for Geometry component
 // File   : libGEOM_Swig.h
 // Author : Nicolas REJNERI, Paul RASCLE
-//
 
-#ifndef GEOMETRYGUI_SWIG_HXX
-#define GEOMETRYGUI_SWIG_HXX
+#ifndef LIBGEOM_SWIG_H
+#define LIBGEOM_SWIG_H
 
 #include "GEOM_GEOMGUI.hxx"
+#include <vector>
 
-// IDL Headers
-#include <SALOMEconfig.h>
-#include CORBA_SERVER_HEADER(GEOM_Gen)
-#include CORBA_SERVER_HEADER(SALOMEDS)
-#include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
+class GEOM_Swig_LocalSelector;
+class GEOMGUI_OCCSelector;
 
-class GEOMGUI_EXPORT GEOM_Swig
+class GEOM_Swig
 {
 public:
-  GEOM_Swig();
-  ~GEOM_Swig();
-
-  void createAndDisplayGO(const char* Entry, bool isUpdated = true);
-  void eraseGO(const char* Entry, bool allWindows);
-  void createAndDisplayFitAllGO(const char* Entry);
-  void UpdateViewer();
-  void setDisplayMode(const char* Entry, int mode, bool isUpdated = true);
-  void setVectorsMode(const char* Entry, bool isSet, bool isUpdated = true);
-  void setColor(const char* Entry, int red, int green, int blue, bool isUpdated = true);
-  void setTransparency(const char* Entry, float transp, bool isUpdated = true);
-  void setIsos(const char* Entry, int nbU, int nbV, bool isUpdated =true);
-  void setDeflection(const char* Entry, float deflect);
-
-  int  getIndexTopology(const char *SubEntry, const char *Entry);
-  const char* getShapeTypeString(const char *Entry);
-  const char* getShapeTypeIcon(const char *Ior);
-
-  bool initGeomGen();
+  GEOMGUI_EXPORT GEOM_Swig( bool updateOB = true );
+  GEOMGUI_EXPORT ~GEOM_Swig();
+
+  GEOMGUI_EXPORT void createAndDisplayGO( const char* theEntry, bool theUpdateViewer = true );
+  GEOMGUI_EXPORT void createAndDisplayFitAllGO( const char* theEntry );
+  GEOMGUI_EXPORT void eraseGO( const char* theEntry, bool theUpdateViewer = true );
+
+  GEOMGUI_EXPORT void UpdateViewer();
+
+  GEOMGUI_EXPORT void setDisplayMode( const char* theEntry, int theMode, bool theUpdateViewer = true );
+  GEOMGUI_EXPORT void setVectorsMode( const char* theEntry, bool theOn, bool theUpdateViewer = true );
+  GEOMGUI_EXPORT void setVerticesMode( const char* theEntry, bool theOn, bool theUpdateViewer = true );
+  GEOMGUI_EXPORT void setNameMode( const char* theEntry, bool theOn, bool theUpdateViewer = true );
+  GEOMGUI_EXPORT void setColor( const char* theEntry, int theRed, int theGreen, int theBlue, bool theUpdateViewer = true );
+  GEOMGUI_EXPORT void setTransparency( const char* theEntry, float theTransparency, bool theUpdateViewer = true );
+  GEOMGUI_EXPORT void setIsos( const char* theEntry, int theNbU, int theNbV, bool theUpdateViewer = true );
+  GEOMGUI_EXPORT void setDeflection( const char* theEntry, float theDeflection, bool theUpdateViewer = true );
+  GEOMGUI_EXPORT void setMaterial( const char* theEntry, const char* theMaterial, bool theUpdateViewer = true );
+  GEOMGUI_EXPORT void setMaterialProperty( const char* theEntry, const char* theMaterial, bool theUpdateViewer = true );
+
+  GEOMGUI_EXPORT void initLocalSelection( const char* theEntry, int theMode);
+  GEOMGUI_EXPORT std::vector<int> getLocalSelection();
+  GEOMGUI_EXPORT void closeLocalSelection();
+
+  GEOMGUI_EXPORT int         getIndexTopology( const char* theSubIOR, const char* theMainIOR );
+  GEOMGUI_EXPORT const char* getShapeTypeString( const char* theIOR );
+  GEOMGUI_EXPORT const char* getShapeTypeIcon( const char* theIOR );
+
+  GEOMGUI_EXPORT bool initGeomGen();
+
+  static GEOM_Swig_LocalSelector* myLocalSelector;
+  static GEOMGUI_OCCSelector* myOCCSelector;
+
+private:
+  void init( bool updateOB );
 };
 
-#endif // GEOMETRYGUI_SWIG_HXX
+#endif // LIBGEOM_SWIG_H