Base class of all vtk-based 3D-Mappers. More...
#include <mitkVtkMapper3D.h>
Public Types | |
typedef VtkMapper3D | Self |
typedef Mapper3D | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer < const Self > | ConstPointer |
Public Member Functions | |
virtual const char * | GetClassName () const |
virtual vtkProp * | GetVtkProp (mitk::BaseRenderer *renderer)=0 |
virtual void | MitkRenderOpaqueGeometry (mitk::BaseRenderer *renderer) |
virtual void | MitkRenderTranslucentGeometry (mitk::BaseRenderer *renderer) |
virtual void | MitkRenderOverlay (mitk::BaseRenderer *renderer) |
virtual void | UpdateVtkTransform (mitk::BaseRenderer *renderer) |
Set the vtkTransform of the m_Prop3D for the current time step of renderer. | |
virtual void | ApplyProperties (vtkActor *actor, mitk::BaseRenderer *renderer) |
Apply color and opacity read from the PropertyList. | |
virtual void | ReleaseGraphicsResources (vtkWindow *renWin) |
Release vtk-based graphics resources. Must be overwritten in subclasses if vtkProps additional to m_Prop3D are used. | |
virtual bool | HasVtkProp (const vtkProp *prop, BaseRenderer *renderer) |
Returns true if this mapper owns the specified vtkProp for the given BaseRenderer. | |
virtual Geometry3D * | GetGeometry () |
virtual void | SetGeometry (Geometry3D *_arg) |
Static Public Member Functions | |
static void | SetVtkMapperImmediateModeRendering (vtkMapper *mapper) |
Protected Member Functions | |
VtkMapper3D () | |
virtual | ~VtkMapper3D () |
Protected Attributes | |
Geometry3D::Pointer | m_Geometry |
LevelWindow | m_LevelWindow |
Base class of all vtk-based 3D-Mappers.
GetProp() returns m_Prop3D, which should be initialized by sub-classes (e.g., by setting it to an vtkActor).
Definition at line 42 of file mitkVtkMapper3D.h.
typedef itk::SmartPointer<const Self> mitk::VtkMapper3D::ConstPointer |
Reimplemented from mitk::Mapper3D.
Reimplemented in mitk::Geometry2DDataVtkMapper3D, mitk::PointSetVtkMapper3D, mitk::SurfaceVtkMapper3D, mitk::VolumeDataVtkMapper3D, mitk::VectorImageVtkGlyphMapper3D, mitk::ContourSetVtkMapper3D, mitk::ContourVtkMapper3D, mitk::EnhancedPointSetVtkMapper3D, mitk::GPUVolumeMapper3D, mitk::LineVtkMapper3D, mitk::MeshVtkMapper3D, mitk::PointDataVtkMapper3D, mitk::SplineVtkMapper3D, and mitk::UnstructuredGridVtkMapper3D.
Definition at line 45 of file mitkVtkMapper3D.h.
typedef itk::SmartPointer<Self> mitk::VtkMapper3D::Pointer |
Reimplemented from mitk::Mapper3D.
Reimplemented in mitk::Geometry2DDataVtkMapper3D, mitk::PointSetVtkMapper3D, mitk::SurfaceVtkMapper3D, mitk::VolumeDataVtkMapper3D, mitk::VectorImageVtkGlyphMapper3D, mitk::ContourSetVtkMapper3D, mitk::ContourVtkMapper3D, mitk::EnhancedPointSetVtkMapper3D, mitk::GPUVolumeMapper3D, mitk::LineVtkMapper3D, mitk::MeshVtkMapper3D, mitk::PointDataVtkMapper3D, mitk::SplineVtkMapper3D, and mitk::UnstructuredGridVtkMapper3D.
Definition at line 45 of file mitkVtkMapper3D.h.
typedef VtkMapper3D mitk::VtkMapper3D::Self |
Reimplemented from mitk::Mapper3D.
Reimplemented in mitk::Geometry2DDataVtkMapper3D, mitk::PointSetVtkMapper3D, mitk::SurfaceVtkMapper3D, mitk::VolumeDataVtkMapper3D, mitk::VectorImageVtkGlyphMapper3D, mitk::ContourSetVtkMapper3D, mitk::ContourVtkMapper3D, mitk::EnhancedPointSetVtkMapper3D, mitk::GPUVolumeMapper3D, mitk::LineVtkMapper3D, mitk::MeshVtkMapper3D, mitk::PointDataVtkMapper3D, mitk::SplineVtkMapper3D, and mitk::UnstructuredGridVtkMapper3D.
Definition at line 45 of file mitkVtkMapper3D.h.
Reimplemented from mitk::Mapper3D.
Reimplemented in mitk::Geometry2DDataVtkMapper3D, mitk::PointSetVtkMapper3D, mitk::SurfaceVtkMapper3D, mitk::VolumeDataVtkMapper3D, mitk::VectorImageVtkGlyphMapper3D, mitk::ContourSetVtkMapper3D, mitk::ContourVtkMapper3D, mitk::EnhancedPointSetVtkMapper3D, mitk::GPUVolumeMapper3D, mitk::LineVtkMapper3D, mitk::MeshVtkMapper3D, mitk::PointDataVtkMapper3D, mitk::SplineVtkMapper3D, and mitk::UnstructuredGridVtkMapper3D.
Definition at line 45 of file mitkVtkMapper3D.h.
mitk::VtkMapper3D::VtkMapper3D | ( | ) | [protected] |
Definition at line 41 of file mitkVtkMapper3D.cpp.
{ }
mitk::VtkMapper3D::~VtkMapper3D | ( | ) | [protected, virtual] |
Definition at line 46 of file mitkVtkMapper3D.cpp.
{ }
void mitk::VtkMapper3D::ApplyProperties | ( | vtkActor * | actor, |
mitk::BaseRenderer * | renderer | ||
) | [virtual] |
Apply color and opacity read from the PropertyList.
Reimplemented in mitk::SurfaceVtkMapper3D, mitk::VolumeDataVtkMapper3D, mitk::GPUVolumeMapper3D, and mitk::UnstructuredGridVtkMapper3D.
Definition at line 148 of file mitkVtkMapper3D.cpp.
References mitk::Mapper::GetColor(), and mitk::Mapper::GetOpacity().
{ float rgba[4]={1.0f,1.0f,1.0f,1.0f}; // check for color prop and use it for rendering if it exists this->GetColor(rgba, renderer); // check for opacity prop and use it for rendering if it exists this->GetOpacity(rgba[3], renderer); #if ((VTK_MAJOR_VERSION > 4) || ((VTK_MAJOR_VERSION==4) && (VTK_MINOR_VERSION>=4) )) double drgba[4]={rgba[0],rgba[1],rgba[2],rgba[3]}; actor->GetProperty()->SetColor(drgba); actor->GetProperty()->SetOpacity(drgba[3]); #else actor->GetProperty()->SetColor(rgba); actor->GetProperty()->SetOpacity(rgba[3]); #endif // Add annotations to assembly, if any (camera (renderer) must be present) if ( renderer != NULL ) { // Check whether one or more AnnotationProperty objects have been defined for // this node. Check both renderer specific and global property lists, since // properties in both should be considered. //const PropertyList::PropertyMap *rendererProperties = this->GetDataNode()->GetPropertyList( renderer )->GetMap(); //const PropertyList::PropertyMap *globalProperties = this->GetDataNode()->GetPropertyList( NULL )->GetMap(); // Add clipping planes (if any) /* m_LabelActorCollection->RemoveAllItems(); PropertyList::PropertyMap::const_iterator it; for ( it = rendererProperties->begin(); it != rendererProperties->end(); ++it ) { this->CheckForAnnotationProperty( (*it).second.first.GetPointer(), renderer ); } for ( it = globalProperties->begin(); it != globalProperties->end(); ++it ) { this->CheckForAnnotationProperty( (*it).second.first.GetPointer(), renderer ); } */ } }
virtual const char* mitk::VtkMapper3D::GetClassName | ( | ) | const [virtual] |
Reimplemented from mitk::Mapper3D.
Reimplemented in mitk::Geometry2DDataVtkMapper3D, mitk::PointSetVtkMapper3D, mitk::SurfaceVtkMapper3D, mitk::VolumeDataVtkMapper3D, mitk::VectorImageVtkGlyphMapper3D, mitk::ContourSetVtkMapper3D, mitk::ContourVtkMapper3D, mitk::EnhancedPointSetVtkMapper3D, mitk::GPUVolumeMapper3D, mitk::LineVtkMapper3D, mitk::MeshVtkMapper3D, mitk::PointDataVtkMapper3D, mitk::SplineVtkMapper3D, and mitk::UnstructuredGridVtkMapper3D.
virtual Geometry3D* mitk::VtkMapper3D::GetGeometry | ( | ) | [virtual] |
Checks whether the specified property is a AnnotationProperty and if yes, adds it to m_LabelActorCollection (internal method).
virtual vtkProp* mitk::VtkMapper3D::GetVtkProp | ( | mitk::BaseRenderer * | renderer ) | [pure virtual] |
Implemented in mitk::Geometry2DDataVtkMapper3D, mitk::PointSetVtkMapper3D, mitk::SurfaceVtkMapper3D, mitk::VolumeDataVtkMapper3D, mitk::VectorImageVtkGlyphMapper3D, mitk::ContourSetVtkMapper3D, mitk::ContourVtkMapper3D, mitk::EnhancedPointSetVtkMapper3D, mitk::GPUVolumeMapper3D, mitk::MeshVtkMapper3D, mitk::PointDataVtkMapper3D, mitk::SplineVtkMapper3D, and mitk::UnstructuredGridVtkMapper3D.
Referenced by mitk::VtkPropRenderer::GetNextPath(), HasVtkProp(), MitkRenderOpaqueGeometry(), MitkRenderOverlay(), MitkRenderTranslucentGeometry(), mitk::VtkPropRenderer::PickObject(), mitk::VtkPropRenderer::Render(), and UpdateVtkTransform().
bool mitk::VtkMapper3D::HasVtkProp | ( | const vtkProp * | prop, |
BaseRenderer * | renderer | ||
) | [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 240 of file mitkVtkMapper3D.cpp.
References GetVtkProp().
{ vtkProp *myProp = this->GetVtkProp( renderer ); // TODO: check if myProp is a vtkAssembly and if so, check if prop is contained in its leafs return ( prop == myProp ); }
void mitk::VtkMapper3D::MitkRenderOpaqueGeometry | ( | mitk::BaseRenderer * | renderer ) | [virtual] |
Implements mitk::Mapper.
Definition at line 67 of file mitkVtkMapper3D.cpp.
References mitk::Mapper::GetVisibility(), GetVtkProp(), mitk::BaseRenderer::GetVtkRenderer(), and mitk::Mapper::IsVisible().
{ if ( this->IsVisible( renderer )==false ) return; if ( this->GetVtkProp(renderer)->GetVisibility() ) { this->GetVtkProp(renderer)->RenderOpaqueGeometry( renderer->GetVtkRenderer() ); } }
void mitk::VtkMapper3D::MitkRenderOverlay | ( | mitk::BaseRenderer * | renderer ) | [virtual] |
Implements mitk::Mapper.
Definition at line 124 of file mitkVtkMapper3D.cpp.
References mitk::Mapper::GetVisibility(), GetVtkProp(), mitk::BaseRenderer::GetVtkRenderer(), and mitk::Mapper::IsVisible().
{ if ( this->IsVisible(renderer)==false ) return; if ( this->GetVtkProp(renderer)->GetVisibility() ) { this->GetVtkProp(renderer)->RenderOverlay(renderer->GetVtkRenderer()); } // Render annotations as overlay /* m_LabelActorCollection->InitTraversal(); vtkProp3D *labelActor; for ( m_LabelActorCollection->InitTraversal(); (labelActor = m_LabelActorCollection->GetNextProp3D()); ) { if ( labelActor->GetVisibility() ) labelActor->RenderOpaqueGeometry( renderer->GetVtkRenderer() ); } */ }
void mitk::VtkMapper3D::MitkRenderTranslucentGeometry | ( | mitk::BaseRenderer * | renderer ) | [virtual] |
Implements mitk::Mapper.
Definition at line 78 of file mitkVtkMapper3D.cpp.
References mitk::Mapper::GetVisibility(), GetVtkProp(), mitk::BaseRenderer::GetVtkRenderer(), and mitk::Mapper::IsVisible().
{ if ( this->IsVisible(renderer)==false ) return; /* if(dynamic_cast<vtkLODProp3D*>(m_Prop3D) != NULL) { if( dynamic_cast<BoolProperty*>(GetDataNode()-> GetProperty("volumerendering",renderer).GetPointer())==NULL || dynamic_cast<BoolProperty*>(GetDataNode()-> GetProperty("volumerendering",renderer).GetPointer())->GetValue() == false) return; }*/ if ( this->GetVtkProp(renderer)->GetVisibility() ) //BUG (#1551) changed VTK_MINOR_VERSION FROM 3 to 2 cause RenderTranslucentGeometry was changed in minor version 2 #if ( ( VTK_MAJOR_VERSION >= 5 ) && ( VTK_MINOR_VERSION>=2) ) this->GetVtkProp(renderer)->RenderTranslucentPolygonalGeometry(renderer->GetVtkRenderer()); #else this->GetVtkProp(renderer)->RenderTranslucentGeometry(renderer->GetVtkRenderer()); #endif }
void mitk::VtkMapper3D::ReleaseGraphicsResources | ( | vtkWindow * | renWin ) | [virtual] |
Release vtk-based graphics resources. Must be overwritten in subclasses if vtkProps additional to m_Prop3D are used.
Reimplemented from mitk::Mapper.
Reimplemented in mitk::PointSetVtkMapper3D, and mitk::EnhancedPointSetVtkMapper3D.
Definition at line 231 of file mitkVtkMapper3D.cpp.
{ /* if(m_Prop3D) m_Prop3D->ReleaseGraphicsResources(renWin); */ }
virtual void mitk::VtkMapper3D::SetGeometry | ( | Geometry3D * | _arg ) | [virtual] |
void mitk::VtkMapper3D::SetVtkMapperImmediateModeRendering | ( | vtkMapper * | mapper ) | [static] |
Definition at line 50 of file mitkVtkMapper3D.cpp.
References mitk::VtkPropRenderer::useImmediateModeRendering().
{ if(mapper) mapper->SetImmediateModeRendering(mitk::VtkPropRenderer::useImmediateModeRendering()); }
void mitk::VtkMapper3D::UpdateVtkTransform | ( | mitk::BaseRenderer * | renderer ) | [virtual] |
Set the vtkTransform of the m_Prop3D for the current time step of renderer.
Called by mitk::VtkPropRenderer::Update before rendering
Reimplemented in mitk::Geometry2DDataVtkMapper3D, mitk::PointSetVtkMapper3D, mitk::EnhancedPointSetVtkMapper3D, mitk::MeshVtkMapper3D, and mitk::SplineVtkMapper3D.
Definition at line 57 of file mitkVtkMapper3D.cpp.
References mitk::Mapper::GetDataNode(), mitk::Mapper::GetTimestep(), GetVtkProp(), and mitk::DataNode::GetVtkTransform().
Referenced by mitk::VtkPropRenderer::Update().
{ vtkLinearTransform * vtktransform = GetDataNode()->GetVtkTransform(this->GetTimestep()); vtkProp3D *prop = dynamic_cast<vtkProp3D*>( GetVtkProp(renderer) ); if(prop) prop->SetUserTransform(vtktransform); }
Geometry3D::Pointer mitk::VtkMapper3D::m_Geometry [protected] |
Definition at line 97 of file mitkVtkMapper3D.h.
LevelWindow mitk::VtkMapper3D::m_LevelWindow [protected] |
Definition at line 101 of file mitkVtkMapper3D.h.