#ifndef HYDROGUI_MODULE_H
#define HYDROGUI_MODULE_H
-#include <HYDROData_Object.h>
+#include <HYDROData_Entity.h>
#include <LightApp_Module.h>
class HYDROGUI_DataModel;
class HYDROGUI_Displayer;
+class HYDROGUI_OCCDisplayer;
+class HYDROGUI_Shape;
+
+class OCCViewer_Viewer;
/**\class HYDROGUI_Module
*\brief The class representing the HYDROGUI module
public:
- enum ViewManagerRole { VMR_Unknown = 0, VMR_General,
- VMR_TransformImage, VMR_ObserveImage,
- VMR_PreviewZone, VMR_PreviewCaseZones };
+ enum ViewManagerRole
+ {
+ VMR_Unknown = 0,
+ VMR_General,
+ VMR_TransformImage,
+ VMR_ReferenceImage,
+ VMR_ObserveImage,
+ //VMR_PreviewZone, // totally unused, to delete
+ VMR_PreviewCaseZones // actually unused, to review
+ };
typedef QPair< SUIT_ViewManager*, ViewManagerRole > ViewManagerInfo;
typedef QMap < int, ViewManagerInfo > ViewManagerMap;
typedef QMap< QString, ObjectState > Name2ObjectStateMap;
typedef QMap< int, Name2ObjectStateMap > ViewId2Name2ObjectStateMap;
+ typedef QList<HYDROGUI_Shape*> ListOfShapes;
+ typedef QMap<int,ListOfShapes> ViewId2ListOfShapes;
+
public:
HYDROGUI_Module();
virtual ~HYDROGUI_Module();
HYDROGUI_DataModel* getDataModel() const;
HYDROGUI_Displayer* getDisplayer() const;
+ HYDROGUI_OCCDisplayer* getOCCDisplayer() const;
GraphicsView_Viewer* getViewer( const int theId ) const;
+ OCCViewer_Viewer* getOCCViewer( const int theId ) const;
int getViewManagerId( SUIT_ViewManager* theViewManager );
ViewManagerRole getViewManagerRole( SUIT_ViewManager* theViewManager );
const ViewManagerRole theRole );
bool isObjectVisible( const int theViewId,
- const Handle(HYDROData_Object)& theObject );
+ const Handle(HYDROData_Entity)& theObject ) const;
void setObjectVisible( const int theViewId,
- const Handle(HYDROData_Object)& theObject,
+ const Handle(HYDROData_Entity)& theObject,
const bool theState );
+ HYDROGUI_Shape* getObjectShape( const int theViewId,
+ const Handle(HYDROData_Entity)& theObject ) const;
+ void setObjectShape( const int theViewId,
+ const Handle(HYDROData_Entity)& theObject,
+ HYDROGUI_Shape* theShape );
+ void removeViewShapes( const int theViewId );
+ void removeObjectShape( const int theViewId,
+ const Handle(HYDROData_Entity)& theObject );
+
protected:
CAM_DataModel* createDataModel();
void onViewPortMouseEvent( QGraphicsSceneMouseEvent* );
- void onTestSplit(); // ouv: tmp, to delete
-
private:
void updateGV( const bool theIsInit = false,
const bool theIsForced = false );
+ void updateOCCViewer( const bool theIsInit = false,
+ const bool theIsForced = false );
+
void createSelector( SUIT_ViewManager* viewMgr );
bool setUpdateEnabled( const bool theState );
private:
HYDROGUI_Displayer* myDisplayer;
+ HYDROGUI_OCCDisplayer* myOCCDisplayer;
ViewManagerMap myViewManagerMap;
ViewId2Name2ObjectStateMap myObjectStateMap;
+ ViewId2ListOfShapes myShapesMap;
+
bool myIsUpdateEnabled;
};