2 #ifndef NewGeom_SalomeViewer_H
3 #define NewGeom_SalomeViewer_H
7 #include <ModuleBase_IViewer.h>
13 class NewGeom_OCCSelector;
15 class NewGeom_SalomeViewer : public ModuleBase_IViewer
19 NewGeom_SalomeViewer(QObject* theParent);
21 //! Returns AIS_InteractiveContext from current OCCViewer
22 virtual Handle(AIS_InteractiveContext) AISContext() const;
24 //! Retrurns V3d_Vioewer from current viewer
25 virtual Handle(V3d_Viewer) v3dViewer() const;
27 //! Returns Vsd_View object from currently active view window
28 virtual Handle(V3d_View) activeView() const;
30 //! Enable or disable selection in the viewer
31 virtual void enableSelection(bool isEnabled);
33 //! Returns true if selection is enabled
34 virtual bool isSelectionEnabled() const;
36 //! Enable or disable multiselection in the viewer
37 virtual void enableMultiselection(bool isEnable);
39 //! Returns true if multiselection is enabled
40 virtual bool isMultiSelectionEnabled() const;
42 //! Perfroms the fit all for the active view
43 virtual void fitAll();
45 //! Sets the view projection
46 /// \param theX the X projection value
47 /// \param theY the Y projection value
48 /// \param theZ the Z projection value
49 virtual void setViewProjection(double theX, double theY, double theZ);
51 void setSelector(NewGeom_OCCSelector* theSel);
53 NewGeom_OCCSelector* selector() const
59 void onMousePress(SUIT_ViewWindow*, QMouseEvent*);
60 void onMouseRelease(SUIT_ViewWindow*, QMouseEvent*);
61 void onMouseDoubleClick(SUIT_ViewWindow*, QMouseEvent*);
62 void onMouseMove(SUIT_ViewWindow*, QMouseEvent*);
63 void onKeyPress(SUIT_ViewWindow*, QKeyEvent*);
64 void onKeyRelease(SUIT_ViewWindow*, QKeyEvent*);
67 NewGeom_OCCSelector* mySelector;