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.
1.7.2