12 #include "vtkRenderer.h" 14 #include "vtkCamera.h" 15 #include "vtkCommand.h" 27 virtual void Execute(vtkObject* caller,
unsigned long,
void*)
53 mObserver = ViewportObserverPrivatePtr::New();
54 mObserver->SetBase(
this);
71 mObserver->SetBase(NULL);
72 this->removeObservers();
113 Vector3D p_f(camera->GetFocalPoint());
114 return this->getVpnZoom(p_f);
141 mRenderer->WorldToView(p_f[0],p_f[1],p_f[2]);
142 mRenderer->WorldToView(p_fup[0],p_fup[1],p_fup[2]);
145 double size = (p_f - p_fup).
length()/2.0;
155 mRenderer->GetActiveCamera()->AddObserver(vtkCommand::ModifiedEvent, mObserver);
156 mRenderer->AddObserver(vtkCommand::ModifiedEvent, mObserver);
157 mRenderer->AddObserver(vtkCommand::ActiveCameraEvent, mObserver);
158 mRenderer->AddObserver(vtkCommand::ResetCameraEvent, mObserver);
162 mRenderer->GetActiveCamera()->RemoveObserver(mObserver);
163 mRenderer->RemoveObserver(mObserver);
ViewportListenerBase * mBase
void reportError(QString msg)
virtual void removeObservers()
ViewportObserverPrivatePtr mObserver
virtual ~ViewportPreRenderListener()
virtual void Execute(vtkObject *caller, unsigned long, void *)
ViewportPreRenderListener()
void setCallback(boost::function< void()> func)
virtual ~ViewportListenerBase()
vtkSmartPointer< class vtkRenderer > vtkRendererPtr
Base class for listening to a vtkRenderer.
virtual void addObservers()
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
virtual void removeObservers()
RealScalar length() const
virtual void addObservers()
virtual ~ViewportListener()
static ViewportObserverPrivate * New()
void SetBase(ViewportListenerBase *base)
void startListen(vtkRendererPtr renderer)
ViewportObserverPrivate()
vtkSmartPointer< class vtkCamera > vtkCameraPtr
Namespace for all CustusX production code.