Salome HOME
- Bathymethries are colored now by all colors (including red etc.)
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Module.h
index d2825208639d1e205a76060269f2fa6489a5767f..808958f64ee96844d5074ec9f93c2bc05be68000 100644 (file)
 class QGraphicsSceneMouseEvent;
 
 class GraphicsView_Viewer;
+class OCCViewer_Viewer;
+class SVTK_Viewer;
 
 class SUIT_ViewWindow;
+class SUIT_ViewManager;
 
 class HYDROGUI_DataModel;
 class HYDROGUI_Displayer;
 class HYDROGUI_OCCDisplayer;
+class HYDROGUI_VTKPrsDisplayer;
+class HYDROGUI_AbstractDisplayer;
 class HYDROGUI_Shape;
-
-class OCCViewer_Viewer;
+class HYDROGUI_VTKPrs;
 
 /**\class HYDROGUI_Module
  *\brief The class representing the HYDROGUI module
@@ -81,6 +85,9 @@ public:
   typedef QList<HYDROGUI_Shape*> ListOfShapes;
   typedef QMap<int,ListOfShapes> ViewId2ListOfShapes;
 
+  typedef QList<HYDROGUI_VTKPrs*> ListOfVTKPrs;
+  typedef QMap<int,ListOfVTKPrs> ViewId2ListOfVTKPrs;
+
 public:
   HYDROGUI_Module();
   virtual ~HYDROGUI_Module();
@@ -98,12 +105,15 @@ public:
 
   virtual void                    selectionChanged();
 
+  SUIT_ViewManager*               getViewManager( const int theId ) const;
   HYDROGUI_DataModel*             getDataModel() const;
   HYDROGUI_Displayer*             getDisplayer() const;
   HYDROGUI_OCCDisplayer*          getOCCDisplayer() const;
+  HYDROGUI_VTKPrsDisplayer*       getVTKDisplayer() const;
 
   GraphicsView_Viewer*            getViewer( const int theId ) const;
   OCCViewer_Viewer*               getOCCViewer( const int theId ) const;
+  SVTK_Viewer*                    getVTKViewer( const int theId ) const;
 
   int                             getViewManagerId( SUIT_ViewManager* theViewManager );
   ViewManagerRole                 getViewManagerRole( SUIT_ViewManager* theViewManager );
@@ -121,10 +131,23 @@ public:
   void                            setObjectShape( const int                       theViewId,
                                                   const Handle(HYDROData_Entity)& theObject,
                                                   HYDROGUI_Shape*                 theShape );
-  void                            removeViewShapes( const int                       theViewId );
+  void                            removeViewShapes( const int                     theViewId );
   void                            removeObjectShape( const int                       theViewId,
                                                      const Handle(HYDROData_Entity)& theObject );
 
+  HYDROGUI_VTKPrs*                getObjectVTKPrs( const int                       theViewId,
+                                                   const Handle(HYDROData_Entity)& theObject ) const;
+  void                            setObjectVTKPrs( const int                       theViewId,
+                                                   const Handle(HYDROData_Entity)& theObject,
+                                                   HYDROGUI_VTKPrs*                theShape );
+  void                            removeViewVTKPrs( const int                      theViewId );
+  void                            removeObjectVTKPrs( const int                      theViewId,
+                                                     const Handle(HYDROData_Entity)& theObject );
+  /**
+   * Update global imposed range of Z values for VTK viewer
+   */
+  void                            updateVTKZRange( double theRange[] );
+
   QStringList                     GetGeomObjectsToImport();
 
 protected:
@@ -143,6 +166,8 @@ protected:
 
 protected slots:
   void                            onOperation();
+  void                            onDelete();
+
 
   bool                            onUndo( int theNumActions );
   bool                            onRedo( int theNumActions );
@@ -157,13 +182,10 @@ protected slots:
                                                                const QStringList& );
 
 private:
-  void                            updateGV( const bool theIsInit = false, 
-                                            const bool theIsForced = false,
-                                            const bool theDoFitAll = false );
-
-  void                            updateOCCViewer( const bool theIsInit = false, 
-                                                   const bool theIsForced = false,
-                                                   const bool theDoFitAll = false );
+  void                            updateViewer( HYDROGUI_AbstractDisplayer* theDisplayer, 
+                                                const bool theIsInit = false, 
+                                                const bool theIsForced = false, 
+                                                const bool theDoFitAll = false );
 
   void                            createSelector( SUIT_ViewManager* viewMgr );
 
@@ -191,11 +213,13 @@ private:
 private:
   HYDROGUI_Displayer*             myDisplayer;
   HYDROGUI_OCCDisplayer*          myOCCDisplayer;
+  HYDROGUI_VTKPrsDisplayer*       myVTKDisplayer;
 
   ViewManagerMap                  myViewManagerMap;
   ViewId2Name2ObjectStateMap      myObjectStateMap;
 
   ViewId2ListOfShapes             myShapesMap;
+  ViewId2ListOfVTKPrs             myVTKPrsMap;
 
   bool                            myIsUpdateEnabled;