36 #include "sscConfig.h"
37 #include <boost/shared_ptr.hpp>
38 #include <boost/weak_ptr.hpp>
48 class DoubleBoundingBox3D;
49 typedef boost::shared_ptr<class Rep>
RepPtr;
68 class View :
public QObject
81 virtual QString
getUid() = 0;
87 virtual std::vector<RepPtr>
getReps() = 0;
94 virtual QSize
size()
const = 0;
103 void mouseMove(
int x,
int y, Qt::MouseButtons buttons);
104 void mousePress(
int x,
int y, Qt::MouseButtons buttons);
105 void mouseRelease(
int x,
int y, Qt::MouseButtons buttons);
106 void mouseWheel(
int x,
int y,
int delta,
int orientation, Qt::MouseButtons buttons);
108 void focusChange(
bool gotFocus, Qt::FocusReason reason);
111 typedef boost::shared_ptr<View>
ViewPtr;
virtual vtkRendererPtr getRenderer() const =0
Get the renderer used by this View.
virtual DoubleBoundingBox3D getViewport() const =0
virtual QString getTypeString() const =0
virtual void setZoomFactor(double factor)=0
virtual bool hasRep(const RepPtr &rep) const =0
Checks if the view already have the rep.
virtual double getZoomFactor() const =0
void customContextMenuRequested(const QPoint &)
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
void focusChange(bool gotFocus, Qt::FocusReason reason)
void mouseWheel(int x, int y, int delta, int orientation, Qt::MouseButtons buttons)
virtual vtkRenderWindowPtr getRenderWindow() const =0
vtkSmartPointer< class vtkRenderWindow > vtkRenderWindowPtr
virtual void setBackgroundColor(QColor color)=0
virtual void removeRep(const RepPtr &rep)=0
Removes and disconnects the rep from the view.
virtual std::vector< RepPtr > getReps()=0
Returns all reps in the view.
boost::shared_ptr< class View > ViewPtr
void mouseRelease(int x, int y, Qt::MouseButtons buttons)
void mousePress(int x, int y, Qt::MouseButtons buttons)
vtkSmartPointer< class vtkRenderer > vtkRendererPtr
virtual void setModified()=0
virtual void addRep(const RepPtr &rep)=0
Adds and connects a rep to the view.
virtual QString getName()=0
Get a views name.
Representation of a floating-point bounding box in 3D. The data are stored as {xmin,xmax,ymin,ymax,zmin,zmax}, in order to simplify communication with vtk.
virtual DoubleBoundingBox3D getViewport_s() const =0
virtual QString getUid()=0
Get a views unique id.
virtual QSize size() const =0
void mouseMove(int x, int y, Qt::MouseButtons buttons)
virtual Transform3D get_vpMs() const =0
virtual void removeReps()=0
Removes all reps in the view.
boost::shared_ptr< class Rep > RepPtr
virtual Type getType() const =0