controls the camera used by the associated BaseRenderer More...
#include <mitkCameraController.h>
Public Types | |
enum | StandardView { ANTERIOR, POSTERIOR, SINISTER, DEXTER, CRANIAL, CAUDAL } |
Public Member Functions | |
mitkClassMacro (CameraController, BaseController) | |
mitkNewMacro1Param (Self, const char *) | |
virtual void | SetRenderer (BaseRenderer *_arg) |
virtual void | SetZoomFactor (double _arg) |
virtual const BaseRenderer * | GetRenderer () const |
virtual double | GetZoomFactor () const |
virtual void | Resize (int w, int h) |
Implemented in sub-classes. | |
virtual void | MousePressEvent (mitk::MouseEvent *) |
Implemented in sub-classes. | |
virtual void | MouseReleaseEvent (mitk::MouseEvent *) |
Implemented in sub-classes. | |
virtual void | MouseMoveEvent (mitk::MouseEvent *) |
Implemented in sub-classes. | |
virtual void | KeyPressEvent (mitk::KeyEvent *) |
Implemented in sub-classes. | |
virtual void | SetViewToAnterior () |
virtual void | SetViewToPosterior () |
virtual void | SetViewToSinister () |
virtual void | SetViewToDexter () |
virtual void | SetViewToCranial () |
virtual void | SetViewToCaudal () |
virtual void | SetStandardView (StandardView view) |
Protected Member Functions | |
CameraController (const char *type=NULL) | |
Default Constructor. | |
virtual | ~CameraController () |
Default Destructor. | |
Protected Attributes | |
const BaseRenderer * | m_Renderer |
double | m_ZoomFactor |
zoom factor used for the standard view camera |
controls the camera used by the associated BaseRenderer
Subclass of BaseController. Controls the camera used by the associated BaseRenderer.
Definition at line 36 of file mitkCameraController.h.
mitk::CameraController::CameraController | ( | const char * | type = NULL ) |
[protected] |
Default Constructor.
Definition at line 28 of file mitkCameraController.cpp.
: BaseController(type), m_Renderer(NULL), m_ZoomFactor(1.0) {}
mitk::CameraController::~CameraController | ( | ) | [protected, virtual] |
virtual const BaseRenderer* mitk::CameraController::GetRenderer | ( | ) | const [virtual] |
virtual double mitk::CameraController::GetZoomFactor | ( | ) | const [virtual] |
void mitk::CameraController::KeyPressEvent | ( | mitk::KeyEvent * | ) | [virtual] |
Implemented in sub-classes.
Reimplemented in mitk::VtkInteractorCameraController.
Definition at line 52 of file mitkCameraController.cpp.
{}
mitk::CameraController::mitkClassMacro | ( | CameraController | , |
BaseController | |||
) |
mitk::CameraController::mitkNewMacro1Param | ( | Self | , |
const char * | |||
) |
Method for creation through New
Reimplemented from mitk::BaseController.
void mitk::CameraController::MouseMoveEvent | ( | mitk::MouseEvent * | ) | [virtual] |
Implemented in sub-classes.
Reimplemented in mitk::VtkInteractorCameraController.
Definition at line 48 of file mitkCameraController.cpp.
Referenced by mitk::ConferenceEventMapper::MapEvent().
{}
void mitk::CameraController::MousePressEvent | ( | mitk::MouseEvent * | ) | [virtual] |
Implemented in sub-classes.
Reimplemented in mitk::VtkInteractorCameraController.
Definition at line 40 of file mitkCameraController.cpp.
Referenced by mitk::ConferenceEventMapper::MapEvent().
{}
void mitk::CameraController::MouseReleaseEvent | ( | mitk::MouseEvent * | ) | [virtual] |
Implemented in sub-classes.
Reimplemented in mitk::VtkInteractorCameraController.
Definition at line 44 of file mitkCameraController.cpp.
Referenced by mitk::ConferenceEventMapper::MapEvent().
{}
void mitk::CameraController::Resize | ( | int | w, |
int | h | ||
) | [virtual] |
Implemented in sub-classes.
Reimplemented in mitk::VtkInteractorCameraController.
Definition at line 36 of file mitkCameraController.cpp.
{}
virtual void mitk::CameraController::SetRenderer | ( | BaseRenderer * | _arg ) | [virtual] |
Referenced by mitk::BaseRenderer::SetCameraController().
void mitk::CameraController::SetStandardView | ( | StandardView | view ) | [virtual] |
Definition at line 92 of file mitkCameraController.cpp.
References mitk::DataStorage::ComputeBoundingBox(), mitk::BaseRenderer::GetVtkRenderer(), and mitk::RenderingManager::RequestUpdateAll().
{ const mitk::VtkPropRenderer* glRenderer = dynamic_cast<const mitk::VtkPropRenderer*>(m_Renderer); if (glRenderer == NULL) return; vtkRenderer* vtkRenderer = glRenderer->GetVtkRenderer(); assert (vtkRenderer); mitk::BoundingBox::Pointer bb; mitk::DataStorage* ds = m_Renderer->GetDataStorage(); if (ds != NULL) bb = ds->ComputeBoundingBox(); else return; mitk::Point3D middle = bb->GetCenter(); vtkRenderer->GetActiveCamera()->SetFocalPoint(middle[0], middle[1], middle[2]); switch(view) { case ANTERIOR: case POSTERIOR: case SINISTER: case DEXTER: vtkRenderer->GetActiveCamera()->SetViewUp(0,0,1); break; case CRANIAL: case CAUDAL: vtkRenderer->GetActiveCamera()->SetViewUp(0,-1,0); } switch(view) { case ANTERIOR: vtkRenderer->GetActiveCamera()->SetPosition(middle[0],-100000,middle[2]); break; case POSTERIOR: vtkRenderer->GetActiveCamera()->SetPosition(middle[0],+100000,middle[2]); break; case SINISTER: vtkRenderer->GetActiveCamera()->SetPosition(+100000,middle[1],middle[2]); break; case DEXTER: vtkRenderer->GetActiveCamera()->SetPosition(-100000,middle[1],middle[2]); break; case CRANIAL: vtkRenderer->GetActiveCamera()->SetPosition(middle[0],middle[1],100000); break; case CAUDAL: vtkRenderer->GetActiveCamera()->SetPosition(middle[0],middle[1],-100000); break; } vtkRenderer->ResetCamera(); double *cameraPosition = vtkRenderer->GetActiveCamera()->GetPosition(); switch(view) { case ANTERIOR: case POSTERIOR: vtkRenderer->GetActiveCamera()->SetPosition(cameraPosition[0],cameraPosition[1] / m_ZoomFactor,cameraPosition[2]); break; case SINISTER: case DEXTER: vtkRenderer->GetActiveCamera()->SetPosition(cameraPosition[0] / m_ZoomFactor,cameraPosition[1],cameraPosition[2]); break; case CRANIAL: case CAUDAL: vtkRenderer->GetActiveCamera()->SetPosition(cameraPosition[0],cameraPosition[1],cameraPosition[2] / m_ZoomFactor); break; } vtkRenderer->ResetCameraClippingRange(); mitk::RenderingManager* rm = m_Renderer->GetRenderingManager(); rm->RequestUpdateAll(); }
void mitk::CameraController::SetViewToAnterior | ( | ) | [virtual] |
Definition at line 56 of file mitkCameraController.cpp.
{ this->SetStandardView(ANTERIOR); }
void mitk::CameraController::SetViewToCaudal | ( | ) | [virtual] |
Definition at line 86 of file mitkCameraController.cpp.
{ this->SetStandardView(CAUDAL); }
void mitk::CameraController::SetViewToCranial | ( | ) | [virtual] |
Definition at line 80 of file mitkCameraController.cpp.
{ this->SetStandardView(CRANIAL); }
void mitk::CameraController::SetViewToDexter | ( | ) | [virtual] |
Definition at line 74 of file mitkCameraController.cpp.
{ this->SetStandardView(DEXTER); }
void mitk::CameraController::SetViewToPosterior | ( | ) | [virtual] |
Definition at line 62 of file mitkCameraController.cpp.
{ this->SetStandardView(POSTERIOR); }
void mitk::CameraController::SetViewToSinister | ( | ) | [virtual] |
Definition at line 68 of file mitkCameraController.cpp.
{ this->SetStandardView(SINISTER); }
virtual void mitk::CameraController::SetZoomFactor | ( | double | _arg ) | [virtual] |
const BaseRenderer* mitk::CameraController::m_Renderer [protected] |
Definition at line 84 of file mitkCameraController.h.
double mitk::CameraController::m_ZoomFactor [protected] |
zoom factor used for the standard view camera
Definition at line 86 of file mitkCameraController.h.