#include <mitkCameraRotationController.h>
Public Member Functions | |
mitkClassMacro (CameraRotationController, BaseController) | |
mitkNewMacro1Param (Self, const char *) | |
void | RotateCamera () |
void | AcquireCamera () |
void | SetRenderWindow (vtkRenderWindow *renWin) |
virtual bool | ExecuteAction (Action *action, mitk::StateEvent const *stateEvent) |
Method called in HandleEvent after Statechange. | |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
CameraRotationController (const char *type=NULL) | |
virtual | ~CameraRotationController () |
Definition at line 30 of file mitkCameraRotationController.h.
mitk::CameraRotationController::CameraRotationController | ( | const char * | type = NULL ) |
[protected] |
Definition at line 28 of file mitkCameraRotationController.cpp.
References mitk::BaseController::m_Slice, New(), and RotateCamera().
: BaseController(type), m_LastStepperValue(180), m_Camera(NULL), m_RenderWindow(NULL) { m_Slice->SetAutoRepeat(true); m_Slice->SetSteps(360); m_Slice->SetPos(180); itk::SimpleMemberCommand<CameraRotationController>::Pointer sliceStepperChangedCommand, timeStepperChangedCommand; sliceStepperChangedCommand = itk::SimpleMemberCommand<CameraRotationController>::New(); sliceStepperChangedCommand->SetCallbackFunction(this, &CameraRotationController::RotateCamera); m_Slice->AddObserver(itk::ModifiedEvent(), sliceStepperChangedCommand); }
mitk::CameraRotationController::~CameraRotationController | ( | ) | [protected, virtual] |
Definition at line 42 of file mitkCameraRotationController.cpp.
{ }
void mitk::CameraRotationController::AcquireCamera | ( | ) |
Definition at line 64 of file mitkCameraRotationController.cpp.
References mitk::BaseRenderer::GetInstance(), and mitk::BaseRenderer::GetVtkRenderer().
{ BaseRenderer* renderer = mitk::BaseRenderer::GetInstance(m_RenderWindow); const mitk::VtkPropRenderer *propRenderer = dynamic_cast<const mitk::VtkPropRenderer * >( renderer ); if (propRenderer) { // get vtk renderer vtkRenderer* vtkrenderer = propRenderer->GetVtkRenderer(); if (vtkrenderer) { // get vtk camera vtkCamera* vtkcam = vtkrenderer->GetActiveCamera(); if (vtkcam) { // vtk smart pointer handling if (!m_Camera) { m_Camera = vtkcam; m_Camera->Register( NULL ); } else { m_Camera->UnRegister( NULL ); m_Camera = vtkcam; m_Camera->Register( NULL ); } } } } }
bool mitk::CameraRotationController::ExecuteAction | ( | Action * | action, |
mitk::StateEvent const * | stateEvent | ||
) | [virtual] |
Method called in HandleEvent after Statechange.
look up which object method is associated to the given action and call the method
Each statechange has actions, which can be assigned by it's number. If you are developing a new statemachine, declare all your operations here and send them to Undo-Controller and to the Data. Object- and group-EventId can also be accessed through static methods from OperationEvent
Reimplemented from mitk::StateMachine.
Definition at line 96 of file mitkCameraRotationController.cpp.
{ return false; }
mitk::CameraRotationController::mitkClassMacro | ( | CameraRotationController | , |
BaseController | |||
) |
mitk::CameraRotationController::mitkNewMacro1Param | ( | Self | , |
const char * | |||
) |
Method for creation through New
Reimplemented from mitk::BaseController.
static Pointer mitk::CameraRotationController::New | ( | ) | [static] |
Reimplemented from mitk::BaseController.
Referenced by mitk::BaseRenderer::BaseRenderer(), and CameraRotationController().
void mitk::CameraRotationController::RotateCamera | ( | ) |
Definition at line 46 of file mitkCameraRotationController.cpp.
References mitk::RenderingManager::GetInstance(), and mitk::RenderingManager::RequestUpdate().
Referenced by CameraRotationController().
{ if (!m_Camera) { this->AcquireCamera(); } if (m_Camera) { int newStepperValue = m_Slice->GetPos(); m_Camera->Azimuth( m_LastStepperValue - newStepperValue ); m_LastStepperValue = newStepperValue; //const_cast< RenderWindow* >(m_RenderWindow)->RequestUpdate(); // TODO does not work with movie generator! mitk::RenderingManager::GetInstance()->RequestUpdate(m_RenderWindow); //m_MultiWidget->RequestUpdate(); } }
void mitk::CameraRotationController::SetRenderWindow | ( | vtkRenderWindow * | renWin ) | [inline] |
Definition at line 40 of file mitkCameraRotationController.h.
{ m_RenderWindow = renWin; }