Organizes the rendering process. More...
#include <mitkBaseRenderer.h>
Public Types | |
enum | StandardMapperSlot { Standard2D = 1, Standard3D = 2 } |
typedef std::map < vtkRenderWindow *, BaseRenderer * > | BaseRendererMapType |
typedef BaseRenderer | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer < const Self > | ConstPointer |
typedef int | MapperSlotId |
MapperSlotId defines which kind of mapper (e.g., 2D or 3D) shoud be used. | |
Public Member Functions | |
itkEventMacro (RendererResetEvent, itk::AnyEvent) | |
virtual const char * | GetClassName () const |
BaseRenderer (const char *name=NULL, vtkRenderWindow *renWin=NULL, mitk::RenderingManager *rm=NULL) | |
virtual void | SetDataStorage (DataStorage *storage) |
set the datastorage that will be used for rendering | |
virtual DataStorage::Pointer | GetDataStorage () const |
vtkRenderWindow * | GetRenderWindow () const |
Access the RenderWindow into which this renderer renders. | |
vtkRenderer * | GetVtkRenderer () const |
virtual void | Paint () |
Do the rendering and flush the result. | |
virtual void | Initialize () |
Initialize the RenderWindow. Should only be called from RenderWindow. | |
virtual void | Resize (int w, int h) |
Called to inform the renderer that the RenderWindow has been resized. | |
virtual void | InitRenderer (vtkRenderWindow *renderwindow) |
Initialize the renderer with a RenderWindow (renderwindow). | |
virtual void | InitSize (int w, int h) |
Set the initial size. Called by RenderWindow after it has become visible for the first time. | |
virtual void | DrawOverlayMouse (Point2D &p2d) |
Draws a point on the widget. Should be used during conferences to show the position of the remote mouse. | |
virtual void | SetWorldGeometry (Geometry3D *geometry) |
Set/Get the WorldGeometry (m_WorldGeometry) for 3D and 2D rendering, that describing the (maximal) area to be rendered. | |
virtual const Geometry3D * | GetWorldGeometry () |
virtual const Geometry3D * | GetCurrentWorldGeometry () |
Get the current 3D-worldgeometry (m_CurrentWorldGeometry) used for 3D-rendering. | |
virtual const Geometry2D * | GetCurrentWorldGeometry2D () |
Get the current 2D-worldgeometry (m_CurrentWorldGeometry2D) used for 2D-rendering. | |
virtual bool | SetWorldGeometryToDataStorageBounds () |
virtual void | SetDisplayGeometry (DisplayGeometry *geometry2d) |
Set/Get the DisplayGeometry (for 2D rendering) | |
virtual const DisplayGeometry * | GetDisplayGeometry () |
virtual DisplayGeometry * | GetDisplayGeometry () |
virtual void | SetSlice (unsigned int slice) |
Set/Get m_Slice which defines together with m_TimeStep the 2D geometry stored in m_TimeSlicedWorldGeometry used as m_CurrentWorldGeometry2D. | |
virtual unsigned int | GetSlice () const |
virtual void | SetTimeStep (unsigned int timeStep) |
Set/Get m_TimeStep which defines together with m_Slice the 2D geometry stored in m_TimeSlicedWorldGeometry used as m_CurrentWorldGeometry2D. | |
virtual unsigned int | GetTimeStep () const |
int | GetTimeStep (const BaseData *data) const |
Get the time-step of a BaseData object which exists at the time of the currently displayed content. | |
ScalarType | GetTime () const |
Get the time in ms of the currently displayed content. | |
virtual void | SetGeometry (const itk::EventObject &geometrySliceEvent) |
SetWorldGeometry is called according to the geometrySliceEvent, which is supposed to be a SliceNavigationController::GeometrySendEvent. | |
virtual void | UpdateGeometry (const itk::EventObject &geometrySliceEvent) |
UpdateWorldGeometry is called to re-read the 2D geometry from the slice navigation controller. | |
virtual void | SetGeometrySlice (const itk::EventObject &geometrySliceEvent) |
SetSlice is called according to the geometrySliceEvent, which is supposed to be a SliceNavigationController::GeometrySliceEvent. | |
virtual void | SetGeometryTime (const itk::EventObject &geometryTimeEvent) |
SetTimeStep is called according to the geometrySliceEvent, which is supposed to be a SliceNavigationController::GeometryTimeEvent. | |
virtual Geometry2DData * | GetDisplayGeometryData () |
Get a data object containing the DisplayGeometry (for 2D rendering) | |
virtual Geometry2DData * | GetWorldGeometryData () |
Get a data object containing the WorldGeometry (for 2D rendering) | |
virtual DataNode * | GetWorldGeometryNode () |
Get a DataNode pointing to a data object containing the WorldGeometry (3D and 2D rendering) | |
virtual DataNode * | GetDisplayGeometryNode () |
Get a DataNode pointing to a data object containing the DisplayGeometry (for 2D rendering) | |
virtual DataNode * | GetCurrentWorldGeometry2DNode () |
Get a DataNode pointing to a data object containing the current 2D-worldgeometry m_CurrentWorldGeometry2D (for 2D rendering) | |
void | SendUpdateSlice () |
Sets timestamp of CurrentWorldGeometry2D and DisplayGeometry and forces so reslicing in that renderwindow. | |
unsigned long | GetCurrentWorldGeometry2DUpdateTime () |
Get timestamp of last call of SetCurrentWorldGeometry2D. | |
unsigned long | GetDisplayGeometryUpdateTime () |
Get timestamp of last call of SetDisplayGeometry. | |
unsigned long | GetTimeStepUpdateTime () |
Get timestamp of last change of current TimeStep. | |
virtual void | PickWorldPoint (const Point2D &diplayPosition, Point3D &worldPosition) const |
Perform a picking: find the x,y,z world coordinate of a display x,y coordinate. | |
virtual DataNode * | PickObject (const Point2D &, Point3D &) const |
Determines the object (mitk::DataNode) closest to the current position by means of picking. | |
virtual MapperSlotId | GetMapperID () |
Get the MapperSlotId to use. | |
virtual void | SetMapperID (MapperSlotId _arg) |
Set the MapperSlotId to use. | |
virtual bool | GetFocused () |
Has the renderer the focus? | |
virtual void | SetFocused (bool _arg) |
Tell the renderer that it is focused. The caller is responsible for focus management, not the renderer itself. | |
void | SetDepthPeelingEnabled (bool enabled) |
Sets whether depth peeling is enabled or not. | |
void | SetMaxNumberOfPeels (int maxNumber) |
virtual int * | GetSize () |
void | SetSliceNavigationController (SliceNavigationController *SlicenavigationController) |
void | SetCameraController (CameraController *cameraController) |
virtual CameraController * | GetCameraController () |
virtual SliceNavigationController * | GetSliceNavigationController () |
virtual CameraRotationController * | GetCameraRotationController () |
virtual bool | GetEmptyWorldGeometry () |
virtual void | MousePressEvent (MouseEvent *) |
Mouse event dispatchers. | |
virtual void | MouseReleaseEvent (MouseEvent *) |
Mouse event dispatchers. | |
virtual void | MouseMoveEvent (MouseEvent *) |
Mouse event dispatchers. | |
virtual void | WheelEvent (mitk::WheelEvent *we) |
Wheel event dispatcher. | |
virtual void | KeyPressEvent (KeyEvent *) |
Key event dispatcher. | |
const char * | GetName () const |
get the name of the Renderer | |
int | GetSizeX () const |
get the x_size of the RendererWindow | |
int | GetSizeY () const |
get the y_size of the RendererWindow | |
const double * | GetBounds () const |
void | RequestUpdate () |
void | ForceImmediateUpdate () |
unsigned int | GetNumberOfVisibleLODEnabledMappers () const |
virtual mitk::RenderingManager * | GetRenderingManager () const |
Setter for the RenderingManager that handles this instance of BaseRenderer. | |
void | RemoveAllLocalStorages () |
void | RegisterLocalStorageHandler (mitk::BaseLocalStorageHandler *lsh) |
void | UnregisterLocalStorageHandler (mitk::BaseLocalStorageHandler *lsh) |
Static Public Member Functions | |
static BaseRenderer * | GetInstance (vtkRenderWindow *renWin) |
static void | AddInstance (vtkRenderWindow *renWin, BaseRenderer *baseRenderer) |
static void | RemoveInstance (vtkRenderWindow *renWin) |
static BaseRenderer * | GetByName (const std::string &name) |
static vtkRenderWindow * | GetRenderWindowByName (const std::string &name) |
Static Public Attributes | |
static BaseRendererMapType | baseRendererMap |
static const MapperSlotId | defaultMapper = 1 |
Default mapper id to use. | |
Protected Types | |
typedef std::set< Mapper * > | LODEnabledMappersType |
Protected Member Functions | |
virtual | ~BaseRenderer () |
virtual void | Update ()=0 |
Call update of all mappers. To be implemented in subclasses. | |
virtual void | SetCurrentWorldGeometry2D (Geometry2D *geometry2d) |
Sets m_CurrentWorldGeometry2D. | |
virtual void | SetCurrentWorldGeometry (Geometry3D *geometry) |
Sets m_CurrentWorldGeometry. | |
virtual void | PrintSelf (std::ostream &os, itk::Indent indent) const |
Protected Attributes | |
vtkRenderWindow * | m_RenderWindow |
vtkRenderer * | m_VtkRenderer |
MapperSlotId | m_MapperID |
MapperSlotId to use. Defines which kind of mapper (e.g., 2D or 3D) shoud be used. | |
DataStorage::Pointer | m_DataStorage |
The DataStorage that is used for rendering. | |
RenderingManager::Pointer | m_RenderingManager |
The RenderingManager that manages this instance. | |
unsigned long | m_LastUpdateTime |
Timestamp of last call of Update(). | |
CameraController::Pointer | m_CameraController |
CameraController for 3D rendering. | |
SliceNavigationController::Pointer | m_SliceNavigationController |
CameraRotationController::Pointer | m_CameraRotationController |
int | m_Size [2] |
Size of the RenderWindow. | |
bool | m_Focused |
Contains whether the renderer that it is focused. The caller of SetFocused is responsible for focus management, not the renderer itself. is doubled because of mitk::FocusManager in GlobalInteraction!!! (ingmar) | |
Geometry2DData::Pointer | m_WorldGeometryData |
Geometry2DData::Pointer | m_DisplayGeometryData |
Geometry2DData::Pointer | m_CurrentWorldGeometry2DData |
DataNode::Pointer | m_WorldGeometryNode |
DataNode::Pointer | m_DisplayGeometryNode |
DataNode::Pointer | m_CurrentWorldGeometry2DNode |
unsigned long | m_DisplayGeometryTransformTime |
test only | |
unsigned long | m_CurrentWorldGeometry2DTransformTime |
test only | |
std::string | m_Name |
double | m_Bounds [6] |
bool | m_EmptyWorldGeometry |
bool | m_DepthPeelingEnabled |
int | m_MaxNumberOfPeels |
unsigned int | m_NumberOfVisibleLODEnabledMappers |
std::list < mitk::BaseLocalStorageHandler * > | m_RegisteredLocalStorageHandlers |
Organizes the rendering process.
Organizes the rendering process. A Renderer contains a reference to a DataStorage and asks the mappers of the data objects to render the data into the renderwindow it is associated to.
#Render() checks if rendering is currently allowed by calling RenderWindow::PrepareRendering(). Initialization of a rendering context can also be performed in this method.
The actual rendering code has been moved to #Repaint() Both #Repaint() and #Update() are declared protected now.
Note: Separation of the Repaint and Update processes (rendering vs creating a vtk prop tree) still needs to be worked on. The whole rendering process also should be reworked to use VTK based classes for both 2D and 3D rendering.
Definition at line 73 of file mitkBaseRenderer.h.
typedef std::map<vtkRenderWindow*,BaseRenderer*> mitk::BaseRenderer::BaseRendererMapType |
Definition at line 76 of file mitkBaseRenderer.h.
typedef itk::SmartPointer<const Self> mitk::BaseRenderer::ConstPointer |
Reimplemented in mitk::VtkPropRenderer.
Definition at line 89 of file mitkBaseRenderer.h.
typedef std::set< Mapper * > mitk::BaseRenderer::LODEnabledMappersType [protected] |
Definition at line 561 of file mitkBaseRenderer.h.
typedef int mitk::BaseRenderer::MapperSlotId |
MapperSlotId defines which kind of mapper (e.g., 2D or 3D) shoud be used.
Definition at line 95 of file mitkBaseRenderer.h.
typedef itk::SmartPointer<Self> mitk::BaseRenderer::Pointer |
Reimplemented in mitk::VtkPropRenderer.
Definition at line 89 of file mitkBaseRenderer.h.
typedef BaseRenderer mitk::BaseRenderer::Self |
Standard class typedefs.
Reimplemented in mitk::VtkPropRenderer.
Definition at line 89 of file mitkBaseRenderer.h.
typedef itk::Object mitk::BaseRenderer::Superclass |
Reimplemented in mitk::VtkPropRenderer.
Definition at line 89 of file mitkBaseRenderer.h.
Definition at line 97 of file mitkBaseRenderer.h.
{Standard2D=1, Standard3D=2};
mitk::BaseRenderer::BaseRenderer | ( | const char * | name = NULL , |
vtkRenderWindow * | renWin = NULL , |
||
mitk::RenderingManager * | rm = NULL |
||
) |
Definition at line 123 of file mitkBaseRenderer.cpp.
References AddInstance(), GetInstance(), mitk::VtkLayerController::GetInstance(), m_Bounds, m_CameraController, m_CameraRotationController, m_CurrentWorldGeometry2DData, m_CurrentWorldGeometry2DNode, m_CurrentWorldGeometry2DTransformTime, m_DisplayGeometryData, m_DisplayGeometryNode, m_DisplayGeometryTransformTime, m_Name, m_RenderingManager, m_RenderWindow, m_Size, m_SliceNavigationController, m_VtkRenderer, mitk::BaseController::New(), mitk::TDMouseVtkCameraController::New(), mitk::CameraRotationController::New(), mitk::SliceNavigationController::New(), mitk::DisplayGeometry::New(), mitk::ResliceMethodProperty::New(), mitk::IntProperty::New(), mitk::DataNode::New(), mitk::Geometry2DData::New(), mitk::PlaneGeometry::New(), and mitk::WeakPointerProperty::New().
: m_RenderWindow(NULL), m_VtkRenderer(NULL), m_MapperID(defaultMapper), m_DataStorage(NULL), m_RenderingManager(rm), m_LastUpdateTime(0), m_CameraController(NULL), m_SliceNavigationController(NULL), m_CameraRotationController(NULL), /*m_Size(),*/ m_Focused(false), m_WorldGeometry(NULL), m_TimeSlicedWorldGeometry(NULL), m_CurrentWorldGeometry(NULL), m_CurrentWorldGeometry2D(NULL), m_DisplayGeometry(NULL), m_Slice(0), m_TimeStep(), m_CurrentWorldGeometry2DUpdateTime(), m_DisplayGeometryUpdateTime(), m_TimeStepUpdateTime(), m_WorldGeometryData(NULL), m_DisplayGeometryData(NULL), m_CurrentWorldGeometry2DData(NULL), m_WorldGeometryNode(NULL), m_DisplayGeometryNode(NULL), m_CurrentWorldGeometry2DNode(NULL), m_DisplayGeometryTransformTime(0), m_CurrentWorldGeometry2DTransformTime(0), m_Name(name), /*m_Bounds(),*/ m_EmptyWorldGeometry(true), m_DepthPeelingEnabled(true), m_MaxNumberOfPeels(100), m_NumberOfVisibleLODEnabledMappers(0) { m_Bounds[0] = 0; m_Bounds[1] = 0; m_Bounds[2] = 0; m_Bounds[3] = 0; m_Bounds[4] = 0; m_Bounds[5] = 0; if (name != NULL) { m_Name = name; } else { m_Name = "unnamed renderer"; itkWarningMacro(<< "Created unnamed renderer. Bad for serialization. Please choose a name."); } if(renWin != NULL) { m_RenderWindow = renWin; m_RenderWindow->Register(NULL); } else { itkWarningMacro(<< "Created mitkBaseRenderer without vtkRenderWindow present."); } m_Size[0] = 0; m_Size[1] = 0; //instances.insert( this ); //adding this BaseRenderer to the List of all BaseRenderer m_RenderingManager->GetGlobalInteraction()->AddFocusElement(this); WeakPointerProperty::Pointer rendererProp = WeakPointerProperty::New((itk::Object*)this); m_CurrentWorldGeometry2D = mitk::PlaneGeometry::New(); m_CurrentWorldGeometry2DData = mitk::Geometry2DData::New(); m_CurrentWorldGeometry2DData->SetGeometry2D(m_CurrentWorldGeometry2D); m_CurrentWorldGeometry2DNode = mitk::DataNode::New(); m_CurrentWorldGeometry2DNode->SetData(m_CurrentWorldGeometry2DData); m_CurrentWorldGeometry2DNode->GetPropertyList()->SetProperty("renderer", rendererProp); m_CurrentWorldGeometry2DNode->GetPropertyList()->SetProperty("layer", IntProperty::New(1000)); m_CurrentWorldGeometry2DNode->SetProperty( "reslice.thickslices", mitk::ResliceMethodProperty::New( ) ); m_CurrentWorldGeometry2DNode->SetProperty( "reslice.thickslices.num", mitk::IntProperty::New( 1 ) ); m_CurrentWorldGeometry2DTransformTime = m_CurrentWorldGeometry2DNode->GetVtkTransform()->GetMTime(); m_DisplayGeometry = mitk::DisplayGeometry::New(); m_DisplayGeometry->SetWorldGeometry(m_CurrentWorldGeometry2D); m_DisplayGeometryData = mitk::Geometry2DData::New(); m_DisplayGeometryData->SetGeometry2D(m_DisplayGeometry); m_DisplayGeometryNode = mitk::DataNode::New(); m_DisplayGeometryNode->SetData(m_DisplayGeometryData); m_DisplayGeometryNode->GetPropertyList()->SetProperty("renderer", rendererProp); m_DisplayGeometryTransformTime = m_DisplayGeometryNode->GetVtkTransform()->GetMTime(); mitk::SliceNavigationController::Pointer sliceNavigationController = mitk::SliceNavigationController::New( "navigation" ); sliceNavigationController->SetRenderer( this ); sliceNavigationController->ConnectGeometrySliceEvent( this ); sliceNavigationController->ConnectGeometryUpdateEvent( this ); sliceNavigationController->ConnectGeometryTimeEvent( this, false ); m_SliceNavigationController = sliceNavigationController; m_CameraRotationController = mitk::CameraRotationController::New(); m_CameraRotationController->SetRenderWindow( m_RenderWindow ); m_CameraRotationController->AcquireCamera(); //if TD Mouse Interaction is activated, then call TDMouseVtkCameraController instead of VtkInteractorCameraController #ifdef MITK_USE_TD_MOUSE m_CameraController = mitk::TDMouseVtkCameraController::New(); #else m_CameraController = mitk::CameraController::New(NULL); #endif m_VtkRenderer = vtkRenderer::New(); if (mitk::VtkLayerController::GetInstance(m_RenderWindow) == NULL) { mitk::VtkLayerController::AddInstance(m_RenderWindow,m_VtkRenderer); mitk::VtkLayerController::GetInstance(m_RenderWindow)->InsertSceneRenderer(m_VtkRenderer); } else mitk::VtkLayerController::GetInstance(m_RenderWindow)->InsertSceneRenderer(m_VtkRenderer); }
mitk::BaseRenderer::~BaseRenderer | ( | ) | [protected, virtual] |
Definition at line 224 of file mitkBaseRenderer.cpp.
References mitk::VtkLayerController::RemoveInstance().
{ if(m_VtkRenderer!=NULL) { m_VtkRenderer->Delete(); m_VtkRenderer = NULL; } if(m_CameraController.IsNotNull()) m_CameraController->SetRenderer(NULL); m_RenderingManager->GetGlobalInteraction()->RemoveFocusElement(this); mitk::VtkLayerController::RemoveInstance(m_RenderWindow); RemoveAllLocalStorages(); m_DataStorage = NULL; if(m_RenderWindow!=NULL) { m_RenderWindow->Delete(); m_RenderWindow = NULL; } }
void mitk::BaseRenderer::AddInstance | ( | vtkRenderWindow * | renWin, |
BaseRenderer * | baseRenderer | ||
) | [static] |
Definition at line 79 of file mitkBaseRenderer.cpp.
References RemoveInstance().
Referenced by BaseRenderer(), mitk::RenderWindowBase::Initialize(), and mitkRenderingManagerTest().
{ if(renWin == NULL || baseRenderer == NULL) return; // ensure that no BaseRenderer is managed twice mitk::BaseRenderer::RemoveInstance(renWin); baseRendererMap.insert(BaseRendererMapType::value_type(renWin,baseRenderer)); }
virtual void mitk::BaseRenderer::DrawOverlayMouse | ( | Point2D & | p2d ) | [virtual] |
Draws a point on the widget. Should be used during conferences to show the position of the remote mouse.
Referenced by mitk::ConferenceEventMapper::MapEvent().
void mitk::BaseRenderer::ForceImmediateUpdate | ( | ) |
Definition at line 725 of file mitkBaseRenderer.cpp.
{ m_RenderingManager->ForceImmediateUpdate(this->m_RenderWindow); }
const double * mitk::BaseRenderer::GetBounds | ( | ) | const |
Definition at line 567 of file mitkBaseRenderer.cpp.
{ return m_Bounds; }
mitk::BaseRenderer * mitk::BaseRenderer::GetByName | ( | const std::string & | name ) | [static] |
Definition at line 99 of file mitkBaseRenderer.cpp.
Referenced by mitk::SceneReaderV1::DecorateNodeWithProperties(), and mitk::ConferenceEventMapper::MapEvent().
{ for(BaseRendererMapType::iterator mapit = baseRendererMap.begin(); mapit != baseRendererMap.end(); mapit++) { if( (*mapit).second->m_Name == name) return (*mapit).second; } return NULL; }
virtual CameraController* mitk::BaseRenderer::GetCameraController | ( | ) | [virtual] |
Referenced by mitk::ConferenceEventMapper::MapEvent().
virtual CameraRotationController* mitk::BaseRenderer::GetCameraRotationController | ( | ) | [virtual] |
Referenced by mitk::RenderWindowBase::GetCameraRotationController().
virtual const char* mitk::BaseRenderer::GetClassName | ( | ) | const [virtual] |
Reimplemented in mitk::VtkPropRenderer.
virtual const Geometry3D* mitk::BaseRenderer::GetCurrentWorldGeometry | ( | ) | [virtual] |
Get the current 3D-worldgeometry (m_CurrentWorldGeometry) used for 3D-rendering.
Referenced by mitk::VolumeDataVtkMapper3D::GenerateData().
virtual const Geometry2D* mitk::BaseRenderer::GetCurrentWorldGeometry2D | ( | ) | [virtual] |
Get the current 2D-worldgeometry (m_CurrentWorldGeometry2D) used for 2D-rendering.
Referenced by mitk::PlanarFigureInteractor::ExecuteAction(), mitk::ExtrudedContourInteractor::ExecuteAction(), mitk::CoordinateSupplier::ExecuteAction(), mitk::ImageMapperGL2D::GenerateData(), mitk::SegTool2D::GetAffectedImageSliceAs2DImage(), mitk::VectorImageMapper2D::GetCurrentTimeStep(), QmitkSegmentationView::IsRenderWindowAligned(), mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::MeasureDisplayedGeometry(), mitk::SetRegionTool::OnMouseReleased(), mitk::RegionGrowingTool::OnMouseReleased(), mitk::CorrectorTool2D::OnMouseReleased(), mitk::ContourTool::OnMouseReleased(), mitk::VectorImageMapper2D::Paint(), mitk::UnstructuredGridMapper2D::Paint(), mitk::SurfaceGLMapper2D::Paint(), mitk::SplineMapper2D::Paint(), mitk::PolyDataGLMapper2D::Paint(), mitk::PointSetGLMapper2D::Paint(), mitk::PlanarFigureMapper2D::Paint(), mitk::MeshMapper2D::Paint(), mitk::ImageMapperGL2D::Paint(), mitk::Geometry2DDataMapper2D::Paint(), and mitk::ImageMapperGL2D::Update().
virtual DataNode* mitk::BaseRenderer::GetCurrentWorldGeometry2DNode | ( | ) | [virtual] |
Get a DataNode pointing to a data object containing the current 2D-worldgeometry m_CurrentWorldGeometry2D (for 2D rendering)
Referenced by mitk::ImageMapperGL2D::GenerateData(), main(), Step6::SetupWidgets(), and QmitkSlicesInterpolator::UpdateVisibleSuggestion().
unsigned long mitk::BaseRenderer::GetCurrentWorldGeometry2DUpdateTime | ( | ) | [inline] |
Get timestamp of last call of SetCurrentWorldGeometry2D.
Definition at line 283 of file mitkBaseRenderer.h.
Referenced by mitk::ImageMapperGL2D::Update().
{ return m_CurrentWorldGeometry2DUpdateTime; };
virtual DataStorage::Pointer mitk::BaseRenderer::GetDataStorage | ( | ) | const [inline, virtual] |
return the DataStorage that is used for rendering
Definition at line 104 of file mitkBaseRenderer.h.
Referenced by mitk::SurfaceInteractor::CanHandleEvent(), mitk::PositionTracker::ExecuteAction(), and mitk::UnstructuredGridVtkMapper3D::GenerateData().
{ return m_DataStorage.GetPointer(); };
virtual const DisplayGeometry* mitk::BaseRenderer::GetDisplayGeometry | ( | ) | [virtual] |
Referenced by mitk::SlicesRotator::ExecuteAction(), mitk::PlanarFigureInteractor::ExecuteAction(), mitk::DisplayVectorInteractor::ExecuteAction(), mitk::DisplayInteractor::ExecuteOperation(), QmitkSliceWidget::InitWidget(), mitk::ConferenceEventMapper::MapEvent(), mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::MeasureDisplayedGeometry(), mitk::RegionGrowingTool::OnMousePressedOutside(), mitk::VectorImageMapper2D::Paint(), mitk::UnstructuredGridMapper2D::Paint(), mitk::SurfaceGLMapper2D::Paint(), mitk::SplineMapper2D::Paint(), mitk::PolyDataGLMapper2D::Paint(), mitk::PointSetGLMapper2D::Paint(), mitk::PlanarFigureMapper2D::Paint(), mitk::MeshMapper2D::Paint(), mitk::LineMapper2D::Paint(), mitk::ImageMapperGL2D::Paint(), mitk::Geometry2DDataMapper2D::Paint(), mitk::ContourSetMapper2D::Paint(), mitk::ContourMapper2D::Paint(), mitk::SlicesRotator::RotateToPoint(), and QmitkSliceWidget::UpdateGL().
virtual DisplayGeometry* mitk::BaseRenderer::GetDisplayGeometry | ( | ) | [virtual] |
virtual Geometry2DData* mitk::BaseRenderer::GetDisplayGeometryData | ( | ) | [virtual] |
Get a data object containing the DisplayGeometry (for 2D rendering)
virtual DataNode* mitk::BaseRenderer::GetDisplayGeometryNode | ( | ) | [virtual] |
Get a DataNode pointing to a data object containing the DisplayGeometry (for 2D rendering)
unsigned long mitk::BaseRenderer::GetDisplayGeometryUpdateTime | ( | ) | [inline] |
Get timestamp of last call of SetDisplayGeometry.
Definition at line 286 of file mitkBaseRenderer.h.
Referenced by mitk::ContourSetVtkMapper3D::GenerateData(), and mitk::ImageMapperGL2D::Update().
{ return m_CurrentWorldGeometry2DUpdateTime; };
virtual bool mitk::BaseRenderer::GetEmptyWorldGeometry | ( | ) | [virtual] |
virtual bool mitk::BaseRenderer::GetFocused | ( | ) | [virtual] |
Has the renderer the focus?
Referenced by mitk::GlobalInteraction::GetFocus().
mitk::BaseRenderer * mitk::BaseRenderer::GetInstance | ( | vtkRenderWindow * | renWin ) | [static] |
Definition at line 67 of file mitkBaseRenderer.cpp.
References baseRendererMap.
Referenced by mitk::CameraRotationController::AcquireCamera(), QmitkToolPairNavigationView::Activated(), QmitkStdMultiWidget::AddDisplayPlaneSubTree(), BaseRenderer(), QmitkBoundingObjectWidget::CreateBoundingObject(), QmitkToolPairNavigationView::CreateConeAsInstrumentVisualization(), QmitkMovieMaker::CreateQtPartControl(), QmitkToolPairNavigationView::Deactivated(), QmitkStdMultiWidget::EnableStandardLevelWindow(), mitk::FeedbackContourTool::FeedbackContourTool(), QmitkStdMultiWidget::Fit(), QmitkMovieMaker::FocusChange(), QmitkSimpleExampleView::generateMovie(), mitk::RenderWindowBase::GetCameraRotationController(), mitk::RenderWindowBase::GetController(), mitk::RenderingManager::GetNextLOD(), mitk::RenderWindowBase::GetSliceNavigationController(), mitk::RenderingManager::InitializeViews(), QmitkStdMultiWidget::InitializeWidget(), QmitkStdMultiWidget::MoveCrossToPosition(), QmitkViewInitializationView::OnApply(), QmitkPointListWidget::OnBtnAddPoint(), QmitkSlicesInterpolator::OnFrontalSliceChanged(), QmitkIGTExampleView::OnMeasure(), QmitkIGTExampleView::OnPlaying(), QmitkSlicesInterpolator::OnSagittalSliceChanged(), QmitkSlicesInterpolator::OnTransversalSliceChanged(), mitk::RenderingManager::RenderingEndCallback(), mitk::SceneIO::SaveScene(), QmitkStandardViews::SetCameraControllerFromRenderWindow(), QmitkStdMultiWidget::SetDataStorage(), mitk::RenderingManager::SetMaximumLOD(), QmitkMovieMaker::SetRecordingWindow(), QmitkMovieMaker::SetStepperWindow(), QmitkToolPairNavigationView::SetupIGTPipeline(), and QmitkSimpleExampleView::stereoSelectionChanged().
{ for(BaseRendererMapType::iterator mapit = baseRendererMap.begin(); mapit != baseRendererMap.end(); mapit++) { if( (*mapit).first == renWin) return (*mapit).second; } return NULL; }
virtual MapperSlotId mitk::BaseRenderer::GetMapperID | ( | ) | [virtual] |
Get the MapperSlotId to use.
Referenced by mitk::SurfaceInteractor::CanHandleEvent(), mitk::AffineInteractor::CanHandleEvent(), mitk::PositionTracker::ExecuteAction(), mitk::FeedbackContourTool::FeedbackContourTool(), mitk::RenderWindowBase::GetController(), QmitkSlicesInterpolator::GetSliceForWindowsID(), mitk::RenderingManager::InitializeView(), mitk::RenderingManager::InitializeViews(), mitk::ConferenceEventMapper::MapEvent(), mitk::SegTool2D::OnMousePressed(), and QmitkSlicesInterpolator::UpdateVisibleSuggestion().
const char* mitk::BaseRenderer::GetName | ( | ) | const [inline] |
get the name of the Renderer
Definition at line 362 of file mitkBaseRenderer.h.
Referenced by mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::GetIndex().
{ return m_Name.c_str(); }
unsigned int mitk::BaseRenderer::GetNumberOfVisibleLODEnabledMappers | ( | ) | const |
Returns number of mappers which are visible and have level-of-detail rendering enabled
Definition at line 731 of file mitkBaseRenderer.cpp.
Referenced by mitk::RenderingManager::RenderingEndCallback().
{ return m_NumberOfVisibleLODEnabledMappers; }
mitk::RenderingManager * mitk::BaseRenderer::GetRenderingManager | ( | ) | const [virtual] |
Setter for the RenderingManager that handles this instance of BaseRenderer.
Getter for the RenderingManager that handles this instance of BaseRenderer
Definition at line 737 of file mitkBaseRenderer.cpp.
Referenced by QmitkOverlayController::AddOverlay(), mitk::PlanarFigureInteractor::ExecuteAction(), and mitk::DisplayInteractor::ExecuteOperation().
{ return m_RenderingManager.GetPointer(); }
vtkRenderWindow* mitk::BaseRenderer::GetRenderWindow | ( | ) | const [inline] |
Access the RenderWindow into which this renderer renders.
Definition at line 111 of file mitkBaseRenderer.h.
Referenced by mitk::SurfaceDeformationInteractor3D::ExecuteAction(), mitk::DisplayInteractor::ExecuteOperation(), mitk::VolumeDataVtkMapper3D::GenerateData(), mitk::SetRegionTool::OnInvertLogic(), mitk::RegionGrowingTool::OnMouseMoved(), mitk::CorrectorTool2D::OnMouseMoved(), mitk::ContourTool::OnMouseMoved(), mitk::SetRegionTool::OnMousePressed(), mitk::ContourTool::OnMousePressed(), mitk::RegionGrowingTool::OnMousePressedInside(), mitk::RegionGrowingTool::OnMousePressedOutside(), mitk::SetRegionTool::OnMouseReleased(), mitk::RegionGrowingTool::OnMouseReleased(), mitk::CorrectorTool2D::OnMouseReleased(), mitk::ContourTool::OnMouseReleased(), and mitk::ImageMapperGL2D::Paint().
{ return m_RenderWindow; }
vtkRenderWindow * mitk::BaseRenderer::GetRenderWindowByName | ( | const std::string & | name ) | [static] |
Definition at line 111 of file mitkBaseRenderer.cpp.
{ for(BaseRendererMapType::iterator mapit = baseRendererMap.begin(); mapit != baseRendererMap.end(); mapit++) { if( (*mapit).second->m_Name == name) return (*mapit).first; } return NULL; }
virtual int* mitk::BaseRenderer::GetSize | ( | ) | [virtual] |
int mitk::BaseRenderer::GetSizeX | ( | ) | const [inline] |
get the x_size of the RendererWindow
Definition at line 370 of file mitkBaseRenderer.h.
Referenced by mitk::ConferenceEventMapper::MapEvent().
{ return m_Size[0]; }
int mitk::BaseRenderer::GetSizeY | ( | ) | const [inline] |
get the y_size of the RendererWindow
Definition at line 378 of file mitkBaseRenderer.h.
Referenced by mitk::ConferenceEventMapper::MapEvent().
{ return m_Size[1]; }
virtual unsigned int mitk::BaseRenderer::GetSlice | ( | ) | const [virtual] |
virtual SliceNavigationController* mitk::BaseRenderer::GetSliceNavigationController | ( | ) | [virtual] |
mitk::ScalarType mitk::BaseRenderer::GetTime | ( | ) | const |
Get the time in ms of the currently displayed content.
Definition at line 392 of file mitkBaseRenderer.cpp.
Referenced by mitk::SurfaceDeformationInteractor3D::ExecuteAction(), mitk::PointSetInteractor::ExecuteAction(), and mitk::PlanarFigureInteractor::ExecuteAction().
{ if(m_TimeSlicedWorldGeometry.IsNull()) { return 0; } else { ScalarType timeInMS = m_TimeSlicedWorldGeometry->TimeStepToMS(GetTimeStep()); if(timeInMS == ScalarTypeNumericTraits::NonpositiveMin()) return 0; else return timeInMS; } }
virtual unsigned int mitk::BaseRenderer::GetTimeStep | ( | ) | const [virtual] |
Referenced by mitk::Mapper::CalculateTimeStep(), mitk::PointSetInteractor::CanHandleEvent(), mitk::MouseMovePointSetInteractor::CanHandleEvent(), mitk::SurfaceDeformationInteractor3D::ExecuteAction(), mitk::PlanarFigureInteractor::ExecuteAction(), mitk::SegTool2D::GetAffectedImageSliceAs2DImage(), mitk::Interactor::HandleEvent(), mitk::SetRegionTool::OnMouseReleased(), mitk::RegionGrowingTool::OnMouseReleased(), mitk::CorrectorTool2D::OnMouseReleased(), mitk::ContourTool::OnMouseReleased(), and mitk::ImageMapperGL2D::Paint().
int mitk::BaseRenderer::GetTimeStep | ( | const BaseData * | data ) | const |
Get the time-step of a BaseData object which exists at the time of the currently displayed content.
Returns -1 or mitk::BaseData::m_TimeSteps if there is no data at the current time.
Definition at line 383 of file mitkBaseRenderer.cpp.
References mitk::BaseData::GetTimeSlicedGeometry(), mitk::BaseData::IsInitialized(), and mitk::TimeSlicedGeometry::MSToTimeStep().
{ if( (data==NULL) || (data->IsInitialized()==false) ) { return -1; } return data->GetTimeSlicedGeometry()->MSToTimeStep(GetTime()); }
unsigned long mitk::BaseRenderer::GetTimeStepUpdateTime | ( | ) | [inline] |
Get timestamp of last change of current TimeStep.
Definition at line 289 of file mitkBaseRenderer.h.
{ return m_TimeStepUpdateTime; };
vtkRenderer* mitk::BaseRenderer::GetVtkRenderer | ( | ) | const [inline] |
Definition at line 115 of file mitkBaseRenderer.h.
Referenced by mitk::CameraRotationController::AcquireCamera(), mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::AdaptCameraPosition(), mitk::AffineInteractor::ConvertDisplayEventToWorldPosition(), mitk::ExtrudedContourInteractor::ExecuteAction(), mitk::ContourInteractor::ExecuteAction(), QmitkMovieMaker::GenerateHR3DScreenshot(), mitk::GPUVolumeMapper3D::InitGPU(), mitk::VtkMapper3D::MitkRenderOpaqueGeometry(), mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::MitkRenderOpaqueGeometry(), mitk::VtkMapper3D::MitkRenderOverlay(), mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::MitkRenderOverlay(), mitk::VtkMapper3D::MitkRenderTranslucentGeometry(), mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::MitkRenderTranslucentGeometry(), mitk::SpaceNavigatorVtkCameraController::OnSpaceNavigatorKeyDown(), QmitkSimpleExampleView::OnTakeHighResolutionScreenshot(), QmitkSimpleExampleView::OnTakeScreenshot(), mitk::TDMouseVtkCameraController::OnTDMouseKeyDown(), mitk::VtkInteractorCameraController::SetRenderer(), mitk::CameraVisualization::SetRenderer(), mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::SetRendererLightSources(), and mitk::CameraController::SetStandardView().
{ return m_VtkRenderer; }
virtual const Geometry3D* mitk::BaseRenderer::GetWorldGeometry | ( | ) | [virtual] |
virtual Geometry2DData* mitk::BaseRenderer::GetWorldGeometryData | ( | ) | [virtual] |
Get a data object containing the WorldGeometry (for 2D rendering)
virtual DataNode* mitk::BaseRenderer::GetWorldGeometryNode | ( | ) | [virtual] |
Get a DataNode pointing to a data object containing the WorldGeometry (3D and 2D rendering)
void mitk::BaseRenderer::Initialize | ( | ) | [virtual] |
Initialize the RenderWindow. Should only be called from RenderWindow.
Definition at line 288 of file mitkBaseRenderer.cpp.
{ }
void mitk::BaseRenderer::InitRenderer | ( | vtkRenderWindow * | renderwindow ) | [virtual] |
Initialize the renderer with a RenderWindow (renderwindow).
Reimplemented in mitk::VtkPropRenderer.
Definition at line 303 of file mitkBaseRenderer.cpp.
Referenced by mitk::VtkPropRenderer::InitRenderer().
{ if(m_RenderWindow != NULL) { m_RenderWindow->Delete(); } m_RenderWindow = renderwindow; if(m_RenderWindow != NULL) { m_RenderWindow->Register(NULL); } RemoveAllLocalStorages(); if(m_CameraController.IsNotNull()) { m_CameraController->SetRenderer(this); } //BUG (#1551) added settings for depth peeling #if ( ( VTK_MAJOR_VERSION >= 5 ) && ( VTK_MINOR_VERSION>=2) ) m_RenderWindow->SetAlphaBitPlanes(1); m_VtkRenderer->SetUseDepthPeeling(m_DepthPeelingEnabled); m_VtkRenderer->SetMaximumNumberOfPeels(m_MaxNumberOfPeels); m_VtkRenderer->SetOcclusionRatio(0.1); #endif }
void mitk::BaseRenderer::InitSize | ( | int | w, |
int | h | ||
) | [virtual] |
Set the initial size. Called by RenderWindow after it has become visible for the first time.
Reimplemented in mitk::VtkPropRenderer.
Definition at line 331 of file mitkBaseRenderer.cpp.
{ m_Size[0] = w; m_Size[1] = h; GetDisplayGeometry()->SetSizeInDisplayUnits(w, h, false); GetDisplayGeometry()->Fit(); }
mitk::BaseRenderer::itkEventMacro | ( | RendererResetEvent | , |
itk::AnyEvent | |||
) |
void mitk::BaseRenderer::KeyPressEvent | ( | mitk::KeyEvent * | ke ) | [virtual] |
Key event dispatcher.
Definition at line 693 of file mitkBaseRenderer.cpp.
References mitk::Event::GetButton(), mitk::Event::GetButtonState(), mitk::KeyEvent::GetDisplayPosition(), mitk::KeyEvent::GetKey(), mitk::KeyEvent::GetText(), mitk::KeyEvent::GetType(), mitk::EventMapper::MapEvent(), and mitk::KeyEvent::SetDisplayPosition().
{ if(m_MapperID==1) { Point2D p(ke->GetDisplayPosition()); Point2D p_mm; Point3D position; GetDisplayGeometry()->ULDisplayToDisplay(p,p); GetDisplayGeometry()->DisplayToWorld(p, p_mm); GetDisplayGeometry()->Map(p_mm, position); mitk::KeyEvent event(this, ke->GetType(), ke->GetButton(), ke->GetButtonState(), ke->GetKey(), ke->GetText(), p); mitk::EventMapper::MapEvent( &event, m_RenderingManager->GetGlobalInteraction() ); } else if(m_MapperID==2) { Point2D p(ke->GetDisplayPosition()); GetDisplayGeometry()->ULDisplayToDisplay(p,p); ke->SetDisplayPosition(p); mitk::EventMapper::MapEvent( ke, m_RenderingManager->GetGlobalInteraction() ); } }
void mitk::BaseRenderer::MouseMoveEvent | ( | mitk::MouseEvent * | me ) | [virtual] |
Mouse event dispatchers.
Definition at line 637 of file mitkBaseRenderer.cpp.
References mitk::Event::GetButton(), mitk::Event::GetButtonState(), mitk::DisplayPositionEvent::GetDisplayPosition(), mitk::Event::GetType(), mitk::Key_unknown, mitk::EventMapper::MapEvent(), and mitk::DisplayPositionEvent::SetDisplayPosition().
{ //if (m_CameraController) //{ // if((me->GetButtonState()<=512) || (me->GetButtonState()>=516))// provisorisch: Ctrl nicht durchlassen. Bald wird aus m_CameraController eine StateMachine // m_CameraController->MouseMoveEvent(me); //} if(m_MapperID==1) { Point2D p(me->GetDisplayPosition()); Point2D p_mm; Point3D position; GetDisplayGeometry()->ULDisplayToDisplay(p,p); GetDisplayGeometry()->DisplayToWorld(p, p_mm); GetDisplayGeometry()->Map(p_mm, position); mitk::PositionEvent event(this, me->GetType(), me->GetButton(), me->GetButtonState(), mitk::Key_unknown, p, position); mitk::EventMapper::MapEvent( &event, m_RenderingManager->GetGlobalInteraction() ); } else if(m_MapperID==2) { Point2D p(me->GetDisplayPosition()); GetDisplayGeometry()->ULDisplayToDisplay(p,p); me->SetDisplayPosition(p); mitk::EventMapper::MapEvent( me, m_RenderingManager->GetGlobalInteraction() ); } }
void mitk::BaseRenderer::MousePressEvent | ( | mitk::MouseEvent * | me ) | [virtual] |
Mouse event dispatchers.
Definition at line 573 of file mitkBaseRenderer.cpp.
References mitk::Event::GetButton(), mitk::Event::GetButtonState(), mitk::DisplayPositionEvent::GetDisplayPosition(), mitk::Event::GetType(), mitk::Key_unknown, mitk::EventMapper::MapEvent(), and mitk::DisplayPositionEvent::SetDisplayPosition().
{ //set the Focus on the renderer /*bool success =*/ m_RenderingManager->GetGlobalInteraction()->SetFocus(this); /* if (! success) mitk::StatusBar::GetInstance()->DisplayText("Warning! from mitkBaseRenderer.cpp: Couldn't focus this BaseRenderer!"); */ //if (m_CameraController) //{ // if(me->GetButtonState()!=512) // provisorisch: Ctrl nicht durchlassen. Bald wird aus m_CameraController eine StateMachine // m_CameraController->MousePressEvent(me); //} if(m_MapperID==1) { Point2D p(me->GetDisplayPosition()); Point2D p_mm; Point3D position; GetDisplayGeometry()->ULDisplayToDisplay(p,p); GetDisplayGeometry()->DisplayToWorld(p, p_mm); GetDisplayGeometry()->Map(p_mm, position); mitk::PositionEvent event(this, me->GetType(), me->GetButton(), me->GetButtonState(), mitk::Key_unknown, p, position); mitk::EventMapper::MapEvent( &event, m_RenderingManager->GetGlobalInteraction() ); } else if(m_MapperID>1)//==2 for 3D and ==5 for stencil { Point2D p(me->GetDisplayPosition()); GetDisplayGeometry()->ULDisplayToDisplay(p,p); me->SetDisplayPosition(p); mitk::EventMapper::MapEvent( me, m_RenderingManager->GetGlobalInteraction() ); } }
void mitk::BaseRenderer::MouseReleaseEvent | ( | mitk::MouseEvent * | me ) | [virtual] |
Mouse event dispatchers.
Definition at line 608 of file mitkBaseRenderer.cpp.
References mitk::Event::GetButton(), mitk::Event::GetButtonState(), mitk::DisplayPositionEvent::GetDisplayPosition(), mitk::Event::GetType(), mitk::Key_unknown, mitk::EventMapper::MapEvent(), and mitk::DisplayPositionEvent::SetDisplayPosition().
{ //if (m_CameraController) //{ // if(me->GetButtonState()!=512) // provisorisch: Ctrl nicht durchlassen. Bald wird aus m_CameraController eine StateMachine // m_CameraController->MouseReleaseEvent(me); //} if(m_MapperID==1) { Point2D p(me->GetDisplayPosition()); Point2D p_mm; Point3D position; GetDisplayGeometry()->ULDisplayToDisplay(p,p); GetDisplayGeometry()->DisplayToWorld(p, p_mm); GetDisplayGeometry()->Map(p_mm, position); mitk::PositionEvent event(this, me->GetType(), me->GetButton(), me->GetButtonState(), mitk::Key_unknown, p, position); mitk::EventMapper::MapEvent( &event, m_RenderingManager->GetGlobalInteraction() ); } else if(m_MapperID==2) { Point2D p(me->GetDisplayPosition()); GetDisplayGeometry()->ULDisplayToDisplay(p,p); me->SetDisplayPosition(p); mitk::EventMapper::MapEvent( me, m_RenderingManager->GetGlobalInteraction() ); } }
void mitk::BaseRenderer::Paint | ( | ) | [virtual] |
virtual DataNode* mitk::BaseRenderer::PickObject | ( | const Point2D & | , |
Point3D & | |||
) | const [inline, virtual] |
Determines the object (mitk::DataNode) closest to the current position by means of picking.
Reimplemented in mitk::VtkPropRenderer.
Definition at line 305 of file mitkBaseRenderer.h.
{ return NULL; };
virtual void mitk::BaseRenderer::PickWorldPoint | ( | const Point2D & | diplayPosition, |
Point3D & | worldPosition | ||
) | const [virtual] |
Perform a picking: find the x,y,z world coordinate of a display x,y coordinate.
Implemented here only for 2D-rendering by using m_DisplayGeometry
Reimplemented in mitk::VtkPropRenderer.
Referenced by mitk::KeyEvent::GetWorldPosition().
void mitk::BaseRenderer::PrintSelf | ( | std::ostream & | os, |
itk::Indent | indent | ||
) | const [protected, virtual] |
Definition at line 788 of file mitkBaseRenderer.cpp.
{ os << indent << " MapperID: " << m_MapperID << std::endl; os << indent << " Slice: " << m_Slice << std::endl; os << indent << " TimeStep: " << m_TimeStep << std::endl; os << indent << " WorldGeometry: "; if(m_WorldGeometry.IsNull()) os << "NULL" << std::endl; else m_WorldGeometry->Print(os, indent); os << indent << " CurrentWorldGeometry2D: "; if(m_CurrentWorldGeometry2D.IsNull()) os << "NULL" << std::endl; else m_CurrentWorldGeometry2D->Print(os, indent); os << indent << " CurrentWorldGeometry2DUpdateTime: " << m_CurrentWorldGeometry2DUpdateTime << std::endl; os << indent << " CurrentWorldGeometry2DTransformTime: " << m_CurrentWorldGeometry2DTransformTime << std::endl; os << indent << " DisplayGeometry: "; if(m_DisplayGeometry.IsNull()) os << "NULL" << std::endl; else m_DisplayGeometry->Print(os, indent); os << indent << " DisplayGeometryTransformTime: " << m_DisplayGeometryTransformTime << std::endl; Superclass::PrintSelf(os,indent); }
void mitk::BaseRenderer::RegisterLocalStorageHandler | ( | mitk::BaseLocalStorageHandler * | lsh ) |
Definition at line 261 of file mitkBaseRenderer.cpp.
Referenced by mitk::Mapper::LocalStorageHandler< LocalStorage >::GetLocalStorage().
{ m_RegisteredLocalStorageHandlers.push_back(lsh); }
void mitk::BaseRenderer::RemoveAllLocalStorages | ( | ) |
Definition at line 251 of file mitkBaseRenderer.cpp.
{ this->InvokeEvent(mitk::BaseRenderer::RendererResetEvent()); std::list<mitk::BaseLocalStorageHandler*>::iterator it; for ( it=m_RegisteredLocalStorageHandlers.begin() ; it != m_RegisteredLocalStorageHandlers.end(); it++ ) (*it)->ClearLocalStorage(this,false); m_RegisteredLocalStorageHandlers.clear(); }
void mitk::BaseRenderer::RemoveInstance | ( | vtkRenderWindow * | renWin ) | [static] |
Definition at line 91 of file mitkBaseRenderer.cpp.
Referenced by AddInstance(), and mitk::RenderWindowBase::Destroy().
{ BaseRendererMapType::iterator mapit = baseRendererMap.find(renWin); if(mapit != baseRendererMap.end()) baseRendererMap.erase(mapit); }
void mitk::BaseRenderer::RequestUpdate | ( | ) |
Definition at line 720 of file mitkBaseRenderer.cpp.
{ m_RenderingManager->RequestUpdate(this->m_RenderWindow); }
void mitk::BaseRenderer::Resize | ( | int | w, |
int | h | ||
) | [virtual] |
Called to inform the renderer that the RenderWindow has been resized.
Reimplemented in mitk::VtkPropRenderer.
Definition at line 292 of file mitkBaseRenderer.cpp.
Referenced by mitk::VtkPropRenderer::Resize().
{ m_Size[0] = w; m_Size[1] = h; if(m_CameraController) m_CameraController->Resize(w, h); //(formerly problematic on windows: vtkSizeBug) GetDisplayGeometry()->SetSizeInDisplayUnits(w, h); }
void mitk::BaseRenderer::SendUpdateSlice | ( | ) |
Sets timestamp of CurrentWorldGeometry2D and DisplayGeometry and forces so reslicing in that renderwindow.
Definition at line 486 of file mitkBaseRenderer.cpp.
{ m_DisplayGeometryUpdateTime.Modified(); m_CurrentWorldGeometry2DUpdateTime.Modified(); }
void mitk::BaseRenderer::SetCameraController | ( | CameraController * | cameraController ) |
Sets the new camera controller and deletes the vtkRenderWindowInteractor in case of the VTKInteractorCameraController
Definition at line 777 of file mitkBaseRenderer.cpp.
References MITK_INFO, and mitk::CameraController::SetRenderer().
{ mitk::VtkInteractorCameraController::Pointer vtkInteractorCameraController = dynamic_cast<mitk::VtkInteractorCameraController*>(cameraController); if (vtkInteractorCameraController.IsNotNull()) MITK_INFO<<"!!!WARNING!!!: RenderWindow interaction events are no longer handled via CameraController (See Bug #954)."<<std::endl; m_CameraController->SetRenderer(NULL); m_CameraController = NULL; m_CameraController = cameraController; m_CameraController->SetRenderer(this); }
void mitk::BaseRenderer::SetCurrentWorldGeometry | ( | mitk::Geometry3D * | geometry ) | [protected, virtual] |
Sets m_CurrentWorldGeometry.
Definition at line 492 of file mitkBaseRenderer.cpp.
References mitk::Geometry3D::CalculateBoundingBoxRelativeToTransform().
{ m_CurrentWorldGeometry = geometry; if(geometry == NULL) { m_Bounds[0] = 0; m_Bounds[1] = 0; m_Bounds[2] = 0; m_Bounds[3] = 0; m_Bounds[4] = 0; m_Bounds[5] = 0; m_EmptyWorldGeometry = true; return; } BoundingBox::Pointer boundingBox = m_CurrentWorldGeometry->CalculateBoundingBoxRelativeToTransform(NULL); const BoundingBox::BoundsArrayType& worldBounds = boundingBox->GetBounds(); m_Bounds[0] = worldBounds[0]; m_Bounds[1] = worldBounds[1]; m_Bounds[2] = worldBounds[2]; m_Bounds[3] = worldBounds[3]; m_Bounds[4] = worldBounds[4]; m_Bounds[5] = worldBounds[5]; if(boundingBox->GetDiagonalLength2()<=mitk::eps) m_EmptyWorldGeometry = true; else m_EmptyWorldGeometry = false; }
void mitk::BaseRenderer::SetCurrentWorldGeometry2D | ( | mitk::Geometry2D * | geometry2d ) | [protected, virtual] |
Sets m_CurrentWorldGeometry2D.
Definition at line 474 of file mitkBaseRenderer.cpp.
{ if (m_CurrentWorldGeometry2D != geometry2d) { m_CurrentWorldGeometry2D = geometry2d; m_CurrentWorldGeometry2DData->SetGeometry2D(m_CurrentWorldGeometry2D); m_DisplayGeometry->SetWorldGeometry(m_CurrentWorldGeometry2D); m_CurrentWorldGeometry2DUpdateTime.Modified(); Modified(); } }
void mitk::BaseRenderer::SetDataStorage | ( | DataStorage * | storage ) | [virtual] |
set the datastorage that will be used for rendering
Reimplemented in mitk::VtkPropRenderer.
Definition at line 273 of file mitkBaseRenderer.cpp.
Referenced by mitk::VtkPropRenderer::SetDataStorage().
{ if ( storage != NULL ) { m_DataStorage = storage; this->Modified(); } }
void mitk::BaseRenderer::SetDepthPeelingEnabled | ( | bool | enabled ) |
Sets whether depth peeling is enabled or not.
Definition at line 819 of file mitkBaseRenderer.cpp.
{ m_DepthPeelingEnabled = enabled; #if ( ( VTK_MAJOR_VERSION >= 5 ) && ( VTK_MINOR_VERSION>=2) ) m_VtkRenderer->SetUseDepthPeeling(enabled); #endif }
void mitk::BaseRenderer::SetDisplayGeometry | ( | mitk::DisplayGeometry * | geometry2d ) | [virtual] |
Set/Get the DisplayGeometry (for 2D rendering)
The DisplayGeometry describes which part of the Geometry2D m_CurrentWorldGeometry2D is displayed.
Definition at line 462 of file mitkBaseRenderer.cpp.
{ itkDebugMacro("setting DisplayGeometry to " << geometry2d); if (m_DisplayGeometry != geometry2d) { m_DisplayGeometry = geometry2d; m_DisplayGeometryData->SetGeometry2D(m_DisplayGeometry); m_DisplayGeometryUpdateTime.Modified(); Modified(); } }
virtual void mitk::BaseRenderer::SetFocused | ( | bool | _arg ) | [virtual] |
Tell the renderer that it is focused. The caller is responsible for focus management, not the renderer itself.
void mitk::BaseRenderer::SetGeometry | ( | const itk::EventObject & | geometrySliceEvent ) | [virtual] |
SetWorldGeometry is called according to the geometrySliceEvent, which is supposed to be a SliceNavigationController::GeometrySendEvent.
Definition at line 521 of file mitkBaseRenderer.cpp.
{ const SliceNavigationController::GeometrySendEvent* sendEvent = dynamic_cast<const SliceNavigationController::GeometrySendEvent *>(&geometrySendEvent); assert(sendEvent!=NULL); SetWorldGeometry(sendEvent ->GetTimeSlicedGeometry()); }
void mitk::BaseRenderer::SetGeometrySlice | ( | const itk::EventObject & | geometrySliceEvent ) | [virtual] |
SetSlice is called according to the geometrySliceEvent, which is supposed to be a SliceNavigationController::GeometrySliceEvent.
Definition at line 549 of file mitkBaseRenderer.cpp.
References mitk::SliceNavigationController::TimeSlicedGeometryEvent::GetPos().
{ const SliceNavigationController::GeometrySliceEvent* sliceEvent = dynamic_cast<const SliceNavigationController::GeometrySliceEvent *>(&geometrySliceEvent); assert(sliceEvent!=NULL); SetSlice(sliceEvent->GetPos()); }
void mitk::BaseRenderer::SetGeometryTime | ( | const itk::EventObject & | geometryTimeEvent ) | [virtual] |
SetTimeStep is called according to the geometrySliceEvent, which is supposed to be a SliceNavigationController::GeometryTimeEvent.
Definition at line 558 of file mitkBaseRenderer.cpp.
References mitk::SliceNavigationController::TimeSlicedGeometryEvent::GetPos().
{ const SliceNavigationController::GeometryTimeEvent * timeEvent = dynamic_cast<const SliceNavigationController::GeometryTimeEvent *>(&geometryTimeEvent); assert(timeEvent!=NULL); SetTimeStep(timeEvent->GetPos()); }
virtual void mitk::BaseRenderer::SetMapperID | ( | MapperSlotId | _arg ) | [virtual] |
Set the MapperSlotId to use.
Reimplemented in mitk::VtkPropRenderer.
void mitk::BaseRenderer::SetMaxNumberOfPeels | ( | int | maxNumber ) |
Definition at line 827 of file mitkBaseRenderer.cpp.
{ m_MaxNumberOfPeels = maxNumber; #if ( ( VTK_MAJOR_VERSION >= 5 ) && ( VTK_MINOR_VERSION>=2) ) m_VtkRenderer->SetMaximumNumberOfPeels(maxNumber); #endif }
void mitk::BaseRenderer::SetSlice | ( | unsigned int | slice ) | [virtual] |
Set/Get m_Slice which defines together with m_TimeStep the 2D geometry stored in m_TimeSlicedWorldGeometry used as m_CurrentWorldGeometry2D.
Definition at line 339 of file mitkBaseRenderer.cpp.
References mitk::SlicedGeometry3D::GetGeometry2D(), and mitk::SlicedGeometry3D::GetSlices().
{ if(m_Slice!=slice) { m_Slice = slice; if(m_TimeSlicedWorldGeometry.IsNotNull()) { SlicedGeometry3D* slicedWorldGeometry=dynamic_cast<SlicedGeometry3D*>(m_TimeSlicedWorldGeometry->GetGeometry3D(m_TimeStep)); if(slicedWorldGeometry!=NULL) { if(m_Slice >= slicedWorldGeometry->GetSlices()) m_Slice = slicedWorldGeometry->GetSlices()-1; SetCurrentWorldGeometry2D(slicedWorldGeometry->GetGeometry2D(m_Slice)); SetCurrentWorldGeometry(slicedWorldGeometry); } } else Modified(); } }
void mitk::BaseRenderer::SetSliceNavigationController | ( | mitk::SliceNavigationController * | SlicenavigationController ) |
Sets the new Navigation controller
Definition at line 746 of file mitkBaseRenderer.cpp.
References mitk::SliceNavigationController::GetCreatedWorldGeometry(), mitk::SliceNavigationController::SetInputWorldGeometry(), mitk::SliceNavigationController::SetRenderer(), and mitk::SliceNavigationController::Update().
{ if (SlicenavigationController == NULL) return; //disconnect old from globalinteraction m_RenderingManager->GetGlobalInteraction()->RemoveListener(SlicenavigationController); //copy worldgeometry SlicenavigationController->SetInputWorldGeometry( SlicenavigationController->GetCreatedWorldGeometry() ); SlicenavigationController->Update(); //set new m_SliceNavigationController = SlicenavigationController; m_SliceNavigationController->SetRenderer( this ); if (m_SliceNavigationController.IsNotNull()) { m_SliceNavigationController->ConnectGeometrySliceEvent( this ); m_SliceNavigationController->ConnectGeometryUpdateEvent( this ); m_SliceNavigationController->ConnectGeometryTimeEvent( this, false ); } }
void mitk::BaseRenderer::SetTimeStep | ( | unsigned int | timeStep ) | [virtual] |
Set/Get m_TimeStep which defines together with m_Slice the 2D geometry stored in m_TimeSlicedWorldGeometry used as m_CurrentWorldGeometry2D.
Definition at line 360 of file mitkBaseRenderer.cpp.
References mitk::SlicedGeometry3D::GetGeometry2D().
{ if(m_TimeStep!=timeStep) { m_TimeStep = timeStep; m_TimeStepUpdateTime.Modified(); if(m_TimeSlicedWorldGeometry.IsNotNull()) { if(m_TimeStep >= m_TimeSlicedWorldGeometry->GetTimeSteps()) m_TimeStep = m_TimeSlicedWorldGeometry->GetTimeSteps()-1; SlicedGeometry3D* slicedWorldGeometry=dynamic_cast<SlicedGeometry3D*>(m_TimeSlicedWorldGeometry->GetGeometry3D(m_TimeStep)); if(slicedWorldGeometry!=NULL) { SetCurrentWorldGeometry2D(slicedWorldGeometry->GetGeometry2D(m_Slice)); SetCurrentWorldGeometry(slicedWorldGeometry); } } else Modified(); } }
void mitk::BaseRenderer::SetWorldGeometry | ( | mitk::Geometry3D * | geometry ) | [virtual] |
Set/Get the WorldGeometry (m_WorldGeometry) for 3D and 2D rendering, that describing the (maximal) area to be rendered.
Depending of the type of the passed Geometry3D more or less information can be extracted:
Definition at line 408 of file mitkBaseRenderer.cpp.
References mitk::Geometry3D::GetBoundingBox(), mitk::SlicedGeometry3D::GetGeometry2D(), mitk::SlicedGeometry3D::GetSlices(), and mitk::PlaneGeometry::New().
{ itkDebugMacro("setting WorldGeometry to " << geometry); if(m_WorldGeometry != geometry) { if(geometry->GetBoundingBox()->GetDiagonalLength2() == 0) return; m_WorldGeometry = geometry; m_TimeSlicedWorldGeometry=dynamic_cast<TimeSlicedGeometry*>(geometry); SlicedGeometry3D* slicedWorldGeometry; if(m_TimeSlicedWorldGeometry.IsNotNull()) { itkDebugMacro("setting TimeSlicedWorldGeometry to " << m_TimeSlicedWorldGeometry); if(m_TimeStep >= m_TimeSlicedWorldGeometry->GetTimeSteps()) m_TimeStep = m_TimeSlicedWorldGeometry->GetTimeSteps()-1; slicedWorldGeometry=dynamic_cast<SlicedGeometry3D*>(m_TimeSlicedWorldGeometry->GetGeometry3D(m_TimeStep)); } else { slicedWorldGeometry=dynamic_cast<SlicedGeometry3D*>(geometry); } Geometry2D::Pointer geometry2d; if(slicedWorldGeometry!=NULL) { if(m_Slice >= slicedWorldGeometry->GetSlices() && (m_Slice != 0)) m_Slice = slicedWorldGeometry->GetSlices()-1; geometry2d = slicedWorldGeometry->GetGeometry2D(m_Slice); if(geometry2d.IsNull()) { PlaneGeometry::Pointer plane = mitk::PlaneGeometry::New(); plane->InitializeStandardPlane(slicedWorldGeometry); geometry2d = plane; } SetCurrentWorldGeometry(slicedWorldGeometry); } else { geometry2d=dynamic_cast<Geometry2D*>(geometry); if(geometry2d.IsNull()) { PlaneGeometry::Pointer plane = PlaneGeometry::New(); plane->InitializeStandardPlane(geometry); geometry2d = plane; } SetCurrentWorldGeometry(geometry); } SetCurrentWorldGeometry2D(geometry2d); // calls Modified() } if(m_CurrentWorldGeometry2D.IsNull()) itkWarningMacro("m_CurrentWorldGeometry2D is NULL"); }
virtual bool mitk::BaseRenderer::SetWorldGeometryToDataStorageBounds | ( | ) | [inline, virtual] |
Calculates the bounds of the DataStorage (if it contains any valid data), creates a geometry from these bounds and sets it as world geometry of the renderer.
Call this method to re-initialize the renderer to the current DataStorage (e.g. after loading an additional dataset), to ensure that the view is aligned correctly. This is not implemented yet.
Reimplemented in mitk::VtkPropRenderer.
Definition at line 191 of file mitkBaseRenderer.h.
{ return false; }
void mitk::BaseRenderer::UnregisterLocalStorageHandler | ( | mitk::BaseLocalStorageHandler * | lsh ) |
Definition at line 267 of file mitkBaseRenderer.cpp.
Referenced by mitk::Mapper::LocalStorageHandler< LocalStorage >::ClearLocalStorage().
{ m_RegisteredLocalStorageHandlers.remove(lsh); }
virtual void mitk::BaseRenderer::Update | ( | ) | [protected, pure virtual] |
Call update of all mappers. To be implemented in subclasses.
Implemented in mitk::VtkPropRenderer.
void mitk::BaseRenderer::UpdateGeometry | ( | const itk::EventObject & | geometrySliceEvent ) | [virtual] |
UpdateWorldGeometry is called to re-read the 2D geometry from the slice navigation controller.
Definition at line 530 of file mitkBaseRenderer.cpp.
References mitk::SlicedGeometry3D::GetGeometry2D().
{ const SliceNavigationController::GeometryUpdateEvent* updateEvent = dynamic_cast<const SliceNavigationController::GeometryUpdateEvent*>(&geometryUpdateEvent); if (updateEvent==NULL) return; if (m_CurrentWorldGeometry.IsNotNull()) { SlicedGeometry3D* slicedWorldGeometry=dynamic_cast<SlicedGeometry3D*>(m_CurrentWorldGeometry.GetPointer()); if (slicedWorldGeometry) { Geometry2D* geometry2D = slicedWorldGeometry->GetGeometry2D(m_Slice); SetCurrentWorldGeometry2D(geometry2D); // calls Modified() } } }
void mitk::BaseRenderer::WheelEvent | ( | mitk::WheelEvent * | we ) | [virtual] |
Wheel event dispatcher.
Definition at line 671 of file mitkBaseRenderer.cpp.
References mitk::Event::GetButton(), mitk::Event::GetButtonState(), mitk::DisplayPositionEvent::GetDisplayPosition(), mitk::Event::GetType(), mitk::Key_unknown, mitk::EventMapper::MapEvent(), and mitk::DisplayPositionEvent::SetDisplayPosition().
{ if(m_MapperID==1) { Point2D p(we->GetDisplayPosition()); Point2D p_mm; Point3D position; GetDisplayGeometry()->ULDisplayToDisplay(p,p); GetDisplayGeometry()->DisplayToWorld(p, p_mm); GetDisplayGeometry()->Map(p_mm, position); mitk::PositionEvent event(this, we->GetType(), we->GetButton(), we->GetButtonState(), mitk::Key_unknown, p, position); mitk::EventMapper::MapEvent( &event, m_RenderingManager->GetGlobalInteraction() ); } else if(m_MapperID==2) { Point2D p(we->GetDisplayPosition()); GetDisplayGeometry()->ULDisplayToDisplay(p,p); we->SetDisplayPosition(p); mitk::EventMapper::MapEvent( we, m_RenderingManager->GetGlobalInteraction() ); } }
Definition at line 77 of file mitkBaseRenderer.h.
Referenced by GetInstance(), QmitkViewInitializationView::GetSelectedRenderWindow(), and QmitkViewInitializationView::UpdateRendererList().
const mitk::BaseRenderer::MapperSlotId mitk::BaseRenderer::defaultMapper = 1 [static] |
Default mapper id to use.
Definition at line 124 of file mitkBaseRenderer.h.
double mitk::BaseRenderer::m_Bounds[6] [protected] |
Definition at line 553 of file mitkBaseRenderer.h.
Referenced by BaseRenderer().
CameraController for 3D rendering.
Definition at line 434 of file mitkBaseRenderer.h.
Referenced by BaseRenderer().
Definition at line 436 of file mitkBaseRenderer.h.
Referenced by BaseRenderer().
Data object containing the m_CurrentWorldGeometry2D defined above.
Definition at line 532 of file mitkBaseRenderer.h.
Referenced by BaseRenderer().
DataNode objects containing the m_CurrentWorldGeometry2DData defined above.
Definition at line 542 of file mitkBaseRenderer.h.
Referenced by BaseRenderer(), and mitk::VtkPropRenderer::VtkPropRenderer().
unsigned long mitk::BaseRenderer::m_CurrentWorldGeometry2DTransformTime [protected] |
The DataStorage that is used for rendering.
Definition at line 421 of file mitkBaseRenderer.h.
bool mitk::BaseRenderer::m_DepthPeelingEnabled [protected] |
Definition at line 557 of file mitkBaseRenderer.h.
Data object containing the m_DisplayGeometry defined above.
Definition at line 529 of file mitkBaseRenderer.h.
Referenced by BaseRenderer().
DataNode objects containing the m_DisplayGeometryData defined above.
Definition at line 539 of file mitkBaseRenderer.h.
Referenced by BaseRenderer().
unsigned long mitk::BaseRenderer::m_DisplayGeometryTransformTime [protected] |
bool mitk::BaseRenderer::m_EmptyWorldGeometry [protected] |
Definition at line 555 of file mitkBaseRenderer.h.
bool mitk::BaseRenderer::m_Focused [protected] |
Contains whether the renderer that it is focused. The caller of SetFocused is responsible for focus management, not the renderer itself. is doubled because of mitk::FocusManager in GlobalInteraction!!! (ingmar)
Definition at line 447 of file mitkBaseRenderer.h.
unsigned long mitk::BaseRenderer::m_LastUpdateTime [protected] |
Timestamp of last call of Update().
Definition at line 429 of file mitkBaseRenderer.h.
MapperSlotId mitk::BaseRenderer::m_MapperID [protected] |
MapperSlotId to use. Defines which kind of mapper (e.g., 2D or 3D) shoud be used.
Definition at line 417 of file mitkBaseRenderer.h.
int mitk::BaseRenderer::m_MaxNumberOfPeels [protected] |
Definition at line 559 of file mitkBaseRenderer.h.
std::string mitk::BaseRenderer::m_Name [protected] |
Definition at line 551 of file mitkBaseRenderer.h.
Referenced by BaseRenderer().
unsigned int mitk::BaseRenderer::m_NumberOfVisibleLODEnabledMappers [protected] |
Number of mappers which are visible and have level-of-detail rendering enabled
Definition at line 565 of file mitkBaseRenderer.h.
std::list<mitk::BaseLocalStorageHandler*> mitk::BaseRenderer::m_RegisteredLocalStorageHandlers [protected] |
Definition at line 571 of file mitkBaseRenderer.h.
RenderingManager::Pointer mitk::BaseRenderer::m_RenderingManager [protected] |
The RenderingManager that manages this instance.
Definition at line 425 of file mitkBaseRenderer.h.
Referenced by BaseRenderer().
vtkRenderWindow* mitk::BaseRenderer::m_RenderWindow [protected] |
Definition at line 412 of file mitkBaseRenderer.h.
Referenced by BaseRenderer().
int mitk::BaseRenderer::m_Size[2] [protected] |
Size of the RenderWindow.
Definition at line 441 of file mitkBaseRenderer.h.
Referenced by BaseRenderer().
Definition at line 435 of file mitkBaseRenderer.h.
Referenced by BaseRenderer().
vtkRenderer* mitk::BaseRenderer::m_VtkRenderer [protected] |
Definition at line 413 of file mitkBaseRenderer.h.
Referenced by BaseRenderer(), and mitk::VtkPropRenderer::VtkPropRenderer().
Data object containing the m_WorldGeometry defined above.
Definition at line 526 of file mitkBaseRenderer.h.
DataNode objects containing the m_WorldGeometryData defined above.
Definition at line 536 of file mitkBaseRenderer.h.