Composite pattern for combination of different mappers. More...
#include <mitkCompositeMapper.h>
Public Types | |
typedef CompositeMapper | Self |
typedef VtkMapper2D | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer < const Self > | ConstPointer |
Public Member Functions | |
virtual const char * | GetClassName () const |
virtual void | MitkRenderOverlay (BaseRenderer *renderer) |
virtual void | MitkRenderOpaqueGeometry (BaseRenderer *renderer) |
virtual void | MitkRenderTranslucentGeometry (BaseRenderer *renderer) |
void | SetDataNode (DataNode *node) |
Set the DataNode containing the data to map. | |
bool | IsVtkBased () const |
Returns whether this is an vtk-based mapper. | |
bool | HasVtkProp (const vtkProp *prop, BaseRenderer *renderer) |
Returns true if this mapper owns the specified vtkProp for the given BaseRenderer. | |
void | ReleaseGraphicsResources (vtkWindow *window) |
Release vtk-based graphics resources. Must be overwritten in subclasses if vtkProps are used. | |
bool | IsLODEnabled (BaseRenderer *renderer) const |
vtkProp * | GetProp (mitk::BaseRenderer *renderer) |
void | SetGeometry3D (const mitk::Geometry3D *aGeometry3D) |
Set Geometry3D containing the all possible Geometry2D that may be requested for mapping. | |
void | Enable2DOpenGL () |
void | Disable2DOpenGL () |
Static Public Member Functions | |
static Pointer | New () |
static void | SetDefaultProperties (DataNode *node, BaseRenderer *renderer=NULL, bool overwrite=false) |
Set default values of properties used by this mapper to node. | |
Protected Member Functions | |
virtual void | GenerateData () |
Generate the data needed for rendering (independent of a specific renderer) | |
virtual void | GenerateData (mitk::BaseRenderer *renderer) |
Generate the data needed for rendering into renderer. | |
CompositeMapper () | |
virtual | ~CompositeMapper () |
Composite pattern for combination of different mappers.
Definition at line 43 of file mitkCompositeMapper.h.
typedef itk::SmartPointer<const Self> mitk::CompositeMapper::ConstPointer |
Reimplemented from mitk::VtkMapper2D.
Definition at line 47 of file mitkCompositeMapper.h.
typedef itk::SmartPointer<Self> mitk::CompositeMapper::Pointer |
Reimplemented from mitk::VtkMapper2D.
Definition at line 47 of file mitkCompositeMapper.h.
Reimplemented from mitk::VtkMapper2D.
Definition at line 47 of file mitkCompositeMapper.h.
Reimplemented from mitk::VtkMapper2D.
Definition at line 47 of file mitkCompositeMapper.h.
mitk::CompositeMapper::CompositeMapper | ( | ) | [protected] |
Definition at line 23 of file mitkCompositeMapper.cpp.
References New().
{ m_OdfMapper = mitk::OdfVtkMapper2D<float,QBALL_ODFSIZE>::New(); m_ImgMapper = mitk::CopyImageMapper2D::New(); }
mitk::CompositeMapper::~CompositeMapper | ( | ) | [protected, virtual] |
Definition at line 29 of file mitkCompositeMapper.cpp.
{ }
void mitk::CompositeMapper::Disable2DOpenGL | ( | ) |
Definition at line 63 of file mitkCompositeMapper.cpp.
References GL_MODELVIEW, GL_PROJECTION, glMatrixMode(), glPopAttrib(), and glPopMatrix().
Referenced by MitkRenderOpaqueGeometry(), MitkRenderOverlay(), and MitkRenderTranslucentGeometry().
{ glPopAttrib(); glMatrixMode( GL_PROJECTION ); glPopMatrix(); glMatrixMode( GL_MODELVIEW ); glPopMatrix(); }
void mitk::CompositeMapper::Enable2DOpenGL | ( | ) |
Definition at line 33 of file mitkCompositeMapper.cpp.
References GL_DEPTH_BUFFER_BIT, GL_DEPTH_TEST, GL_LIGHTING, GL_LIGHTING_BIT, GL_MODELVIEW, GL_PROJECTION, GL_VIEWPORT, glDisable(), glGetIntegerv(), glLoadIdentity(), glMatrixMode(), glOrtho(), glPushAttrib(), and glPushMatrix().
Referenced by MitkRenderOpaqueGeometry(), MitkRenderOverlay(), and MitkRenderTranslucentGeometry().
{ GLint iViewport[4]; // Get a copy of the viewport glGetIntegerv( GL_VIEWPORT, iViewport ); // Save a copy of the projection matrix so that we can restore it // when it's time to do 3D rendering again. glMatrixMode( GL_PROJECTION ); glPushMatrix(); glLoadIdentity(); // Set up the orthographic projection glOrtho( iViewport[0], iViewport[0]+iViewport[2], iViewport[1], iViewport[1]+iViewport[3], -1.0, 1.0 ); glMatrixMode( GL_MODELVIEW ); glPushMatrix(); glLoadIdentity(); // Make sure depth testing and lighting are disabled for 2D rendering until // we are finished rendering in 2D glPushAttrib( GL_DEPTH_BUFFER_BIT | GL_LIGHTING_BIT ); glDisable( GL_DEPTH_TEST ); glDisable( GL_LIGHTING ); }
virtual void mitk::CompositeMapper::GenerateData | ( | ) | [inline, protected, virtual] |
Generate the data needed for rendering (independent of a specific renderer)
Reimplemented from mitk::Mapper.
Definition at line 144 of file mitkCompositeMapper.h.
References mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::GenerateData().
{ m_OdfMapper->GenerateData(); }
virtual void mitk::CompositeMapper::GenerateData | ( | mitk::BaseRenderer * | renderer ) | [inline, protected, virtual] |
Generate the data needed for rendering into renderer.
Reimplemented from mitk::Mapper.
Definition at line 149 of file mitkCompositeMapper.h.
References mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::GenerateData(), and mitk::RenderingManager::GetInstance().
{ m_ImgMapper->GenerateData(renderer); if( mitk::RenderingManager::GetInstance()->GetNextLOD( renderer ) > 0 ) { m_OdfMapper->GenerateData(renderer); } }
virtual const char* mitk::CompositeMapper::GetClassName | ( | ) | const [virtual] |
Reimplemented from mitk::VtkMapper2D.
vtkProp* mitk::CompositeMapper::GetProp | ( | mitk::BaseRenderer * | renderer ) | [inline, virtual] |
Implements mitk::VtkMapper2D.
Definition at line 128 of file mitkCompositeMapper.h.
References mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::GetProp().
{ return m_OdfMapper->GetProp(renderer); }
bool mitk::CompositeMapper::HasVtkProp | ( | const vtkProp * | , |
BaseRenderer * | |||
) | [inline, virtual] |
Returns true if this mapper owns the specified vtkProp for the given BaseRenderer.
Note: returns false by default; should be implemented for VTK-based Mapper subclasses.
Reimplemented from mitk::Mapper.
Definition at line 100 of file mitkCompositeMapper.h.
References mitk::Mapper::HasVtkProp().
{ return m_OdfMapper->HasVtkProp(prop, renderer); }
bool mitk::CompositeMapper::IsLODEnabled | ( | BaseRenderer * | ) | const [inline, virtual] |
Returns true if this Mapper currently allows for Level-of-Detail rendering. This reflects whether this Mapper currently invokes StartEvent, EndEvent, and ProgressEvent on BaseRenderer.
Reimplemented from mitk::Mapper.
Definition at line 123 of file mitkCompositeMapper.h.
References mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::IsLODEnabled().
{ return m_ImgMapper->IsLODEnabled(renderer) || m_OdfMapper->IsLODEnabled(renderer); }
bool mitk::CompositeMapper::IsVtkBased | ( | ) | const [inline] |
Returns whether this is an vtk-based mapper.
Reimplemented from mitk::Mapper.
Definition at line 95 of file mitkCompositeMapper.h.
References mitk::Mapper::IsVtkBased().
{ return m_OdfMapper->IsVtkBased(); }
virtual void mitk::CompositeMapper::MitkRenderOpaqueGeometry | ( | BaseRenderer * | renderer ) | [inline, virtual] |
Implements mitk::Mapper.
Definition at line 58 of file mitkCompositeMapper.h.
References Disable2DOpenGL(), Enable2DOpenGL(), mitk::RenderingManager::GetInstance(), and mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::MitkRenderOpaqueGeometry().
{ Enable2DOpenGL(); m_ImgMapper->MitkRenderOpaqueGeometry(renderer); Disable2DOpenGL(); m_OdfMapper->MitkRenderOpaqueGeometry(renderer); if( mitk::RenderingManager::GetInstance()->GetNextLOD( renderer ) == 0 ) { renderer->Modified(); } }
virtual void mitk::CompositeMapper::MitkRenderOverlay | ( | BaseRenderer * | renderer ) | [inline, virtual] |
Implements mitk::Mapper.
Definition at line 50 of file mitkCompositeMapper.h.
References Disable2DOpenGL(), Enable2DOpenGL(), and mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::MitkRenderOverlay().
{ Enable2DOpenGL(); m_ImgMapper->MitkRenderOverlay(renderer); Disable2DOpenGL(); m_OdfMapper->MitkRenderOverlay(renderer); }
virtual void mitk::CompositeMapper::MitkRenderTranslucentGeometry | ( | BaseRenderer * | renderer ) | [inline, virtual] |
Implements mitk::Mapper.
Definition at line 70 of file mitkCompositeMapper.h.
References Disable2DOpenGL(), Enable2DOpenGL(), and mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections >::MitkRenderTranslucentGeometry().
{ Enable2DOpenGL(); m_ImgMapper->MitkRenderTranslucentGeometry(renderer); Disable2DOpenGL(); m_OdfMapper->MitkRenderTranslucentGeometry(renderer); }
static Pointer mitk::CompositeMapper::New | ( | ) | [static] |
Referenced by CompositeMapper(), mitk::DiffusionImagingObjectFactory::CreateMapper(), and SetDefaultProperties().
void mitk::CompositeMapper::ReleaseGraphicsResources | ( | vtkWindow * | ) | [inline, virtual] |
Release vtk-based graphics resources. Must be overwritten in subclasses if vtkProps are used.
Reimplemented from mitk::Mapper.
Definition at line 105 of file mitkCompositeMapper.h.
References mitk::Mapper::ReleaseGraphicsResources().
{ m_ImgMapper->ReleaseGraphicsResources(window); m_OdfMapper->ReleaseGraphicsResources(window); }
void mitk::CompositeMapper::SetDataNode | ( | DataNode * | _arg ) | [inline, virtual] |
Set the DataNode containing the data to map.
Reimplemented from mitk::Mapper.
Definition at line 88 of file mitkCompositeMapper.h.
References mitk::Mapper::m_DataNode, and mitk::Mapper::SetDataNode().
{ m_DataNode = node; m_ImgMapper->SetDataNode(node); m_OdfMapper->SetDataNode(node); }
static void mitk::CompositeMapper::SetDefaultProperties | ( | DataNode * | node, |
BaseRenderer * | renderer = NULL , |
||
bool | overwrite = false |
||
) | [inline, static] |
Set default values of properties used by this mapper to node.
node | The node for which the properties are set |
overwrite | overwrite existing properties (default: false) |
renderer | defines which property list of node is used (default: NULL, i.e. default property list) |
Reimplemented from mitk::Mapper.
Definition at line 111 of file mitkCompositeMapper.h.
References mitk::DataNode::AddProperty(), New(), mitk::LevelWindow::SetRangeMinMax(), and mitk::LevelWindow::SetWindowBounds().
Referenced by mitk::DiffusionImagingObjectFactory::SetDefaultProperties().
{ mitk::OdfVtkMapper2D<float,QBALL_ODFSIZE>::SetDefaultProperties(node, renderer, overwrite); mitk::CopyImageMapper2D::SetDefaultProperties(node, renderer, overwrite); mitk::LevelWindow opaclevwin; opaclevwin.SetRangeMinMax(0,255); opaclevwin.SetWindowBounds(0,0); mitk::LevelWindowProperty::Pointer prop = mitk::LevelWindowProperty::New(opaclevwin); node->AddProperty( "opaclevelwindow", prop ); }
void mitk::CompositeMapper::SetGeometry3D | ( | const mitk::Geometry3D * | aGeometry3D ) | [inline, virtual] |
Set Geometry3D containing the all possible Geometry2D that may be requested for mapping.
Reimplemented from mitk::Mapper2D.
Definition at line 133 of file mitkCompositeMapper.h.
References mitk::Mapper2D::SetGeometry3D().
{ m_ImgMapper->SetGeometry3D(aGeometry3D); m_OdfMapper->SetGeometry3D(aGeometry3D); }