-// 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
// 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