#include <ModuleBase_IViewer.h>
#include <ModuleBase_IViewWindow.h>
+#include <OCCViewer_ViewWindow.h>
+
#include <V3d_View.hxx>
class SUIT_ViewWindow;
class SUIT_ViewManager;
/**
+* \ingroup Salome
* A class for providing access of NewGeom functionality to
* SALOME view window functionality
*/
public:
/// Constructor
/// \param theViewer a reference to a viewer
- NewGeom_SalomeView(OCCViewer_Viewer* theViewer) { myViewer = theViewer; }
+ NewGeom_SalomeView(OCCViewer_Viewer* theViewer);
virtual Handle(V3d_View) v3dView() const;
+ /// Returns the view window view port
+ virtual QWidget* viewPort() const;
+
+ /// Set the current viewer
+ /// \param theViewer a viewer instance
void setViewer(OCCViewer_Viewer* theViewer) { myViewer = theViewer; }
+
+ /// Returns current viewer
OCCViewer_Viewer* viewer() const { return myViewer; }
+ /// Sets the current view
+ void setCurrentView(SUIT_ViewWindow* theView) { myCurrentView = theView; }
+
private:
/// A reference to a viewer
OCCViewer_Viewer* myViewer;
+ SUIT_ViewWindow* myCurrentView;
};
/**
+* \ingroup Salome
* A class for providing access of NewGeom functionality to
* SALOME viewer functionality
*/
/// \param theZ the Z projection value
virtual void setViewProjection(double theX, double theY, double theZ);
+ /// Set selector
+ /// \param theSel a selector instance
void setSelector(NewGeom_OCCSelector* theSel);
/// Add selection filter to the viewer
/// Remove all selection filters from the viewer
virtual void clearSelectionFilters();
+ /// Returns current selector
NewGeom_OCCSelector* selector() const
{
return mySelector;
/// Update current viewer
virtual void update();
+ /// Method returns True if the viewer can process editing objects
+ /// by mouse drugging. If this is impossible thet it has to return False.
+ virtual bool canDragByMouse() const;
+
+ /// Activate or deactivate viewer
+ /// \param toActivate - activation flag
+ void activateViewer(bool toActivate);
+
+ // Fit all along Z (perpendicular to display)
+ virtual void Zfitall();
private slots:
void onMousePress(SUIT_ViewWindow*, QMouseEvent*);
void onActivated(SUIT_ViewWindow*);
void onSelectionChanged();
+ void onViewTransformed(OCCViewer_ViewWindow::OperationType);
private:
NewGeom_OCCSelector* mySelector;