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 /// Add selection filter to the viewer
54 virtual void addSelectionFilter(const Handle(SelectMgr_Filter)& theFilter);
56 /// Remove selection filter from the viewer
57 virtual void removeSelectionFilter(const Handle(SelectMgr_Filter)& theFilter);
59 /// Remove all selection filters from the viewer
60 virtual void clearSelectionFilters();
62 NewGeom_OCCSelector* selector() const
68 void onMousePress(SUIT_ViewWindow*, QMouseEvent*);
69 void onMouseRelease(SUIT_ViewWindow*, QMouseEvent*);
70 void onMouseDoubleClick(SUIT_ViewWindow*, QMouseEvent*);
71 void onMouseMove(SUIT_ViewWindow*, QMouseEvent*);
72 void onKeyPress(SUIT_ViewWindow*, QKeyEvent*);
73 void onKeyRelease(SUIT_ViewWindow*, QKeyEvent*);
76 NewGeom_OCCSelector* mySelector;