33 #include "vtkRenderer.h" 35 #include "vtkCamera.h" 36 #include "vtkCommand.h" 48 virtual void Execute(vtkObject* caller,
unsigned long,
void*)
74 mObserver = ViewportObserverPrivatePtr::New();
75 mObserver->SetBase(
this);
92 mObserver->SetBase(NULL);
93 this->removeObservers();
134 Vector3D p_f(camera->GetFocalPoint());
135 return this->getVpnZoom(p_f);
162 mRenderer->WorldToView(p_f[0],p_f[1],p_f[2]);
163 mRenderer->WorldToView(p_fup[0],p_fup[1],p_fup[2]);
166 double size = (p_f - p_fup).
length()/2.0;
176 mRenderer->GetActiveCamera()->AddObserver(vtkCommand::ModifiedEvent, mObserver);
177 mRenderer->AddObserver(vtkCommand::ModifiedEvent, mObserver);
178 mRenderer->AddObserver(vtkCommand::ActiveCameraEvent, mObserver);
179 mRenderer->AddObserver(vtkCommand::ResetCameraEvent, mObserver);
183 mRenderer->GetActiveCamera()->RemoveObserver(mObserver);
184 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.