Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitk::EnhancedPointSetVtkMapper3D Class Reference

Alternative Vtk-based 3D mapper for mitk::PointSet. More...

#include <mitkEnhancedPointSetVtkMapper3D.h>

Inheritance diagram for mitk::EnhancedPointSetVtkMapper3D:
Collaboration diagram for mitk::EnhancedPointSetVtkMapper3D:

Public Member Functions

 mitkClassMacro (EnhancedPointSetVtkMapper3D, VtkMapper)
Pointer Clone () const
virtual const mitk::PointSetGetInput ()
virtual vtkProp * GetVtkProp (mitk::BaseRenderer *renderer) override
virtual void UpdateVtkTransform (mitk::BaseRenderer *renderer) override
 Set the vtkTransform of the m_Prop3D for the current time step of renderer. More...
- Public Member Functions inherited from mitk::VtkMapper
virtual std::vector< std::string > GetClassHierarchy () const override
virtual const char * GetClassName () const
virtual bool IsVtkBased () const override
 Returns whether this is an vtk-based mapper. More...
void MitkRender (mitk::BaseRenderer *renderer, mitk::VtkPropRenderer::RenderType type) override
 Determines which geometry should be rendered (opaque, translucent, volumetric, overlay) and calls the appropriate function. More...
virtual void MitkRenderOverlay (BaseRenderer *renderer)
 Checks visibility and renders the overlay. More...
virtual void MitkRenderOpaqueGeometry (BaseRenderer *renderer)
 Checks visibility and renders untransparent geometry. More...
virtual void MitkRenderTranslucentGeometry (BaseRenderer *renderer)
 Checks visiblity and renders transparent geometry. More...
virtual void MitkRenderVolumetricGeometry (BaseRenderer *renderer)
 Checks visibility and renders volumes. More...
virtual bool HasVtkProp (const vtkProp *prop, BaseRenderer *renderer)
 Returns true if this mapper owns the specified vtkProp for the given BaseRenderer. More...
virtual void ApplyProperties (vtkActor *actor, mitk::BaseRenderer *renderer)
 Apply color and opacity properties read from the PropertyList. More...
void ApplyShaderProperties (mitk::BaseRenderer *renderer)
virtual void ReleaseGraphicsResources (mitk::BaseRenderer *)
 Release vtk-based graphics resources that are being consumed by this mapper. More...
- Public Member Functions inherited from mitk::Mapper
virtual void SetDataNode (DataNode *_arg)
 Set the DataNode containing the data to map. More...
virtual DataNodeGetDataNode () const
 Get the DataNode containing the data to map. Method only returns valid DataNode Pointer if the mapper belongs to a data node. Otherwise, the returned DataNode Pointer might be invalid. More...
BaseDataGetData () const
 Get the data to map. More...
virtual bool GetColor (float rgb[3], BaseRenderer *renderer, const char *name="color") const
 Convenience access method for color properties (instances of ColorProperty) More...
virtual bool GetVisibility (bool &visible, BaseRenderer *renderer, const char *name="visible") const
 Convenience access method for visibility properties (instances of BoolProperty) More...
virtual bool GetOpacity (float &opacity, BaseRenderer *renderer, const char *name="opacity") const
 Convenience access method for opacity properties (instances of FloatProperty) More...
virtual bool GetLevelWindow (LevelWindow &levelWindow, BaseRenderer *renderer, const char *name="levelwindow") const
 Convenience access method for color properties (instances of LevelWindoProperty) More...
virtual bool IsVisible (BaseRenderer *renderer, const char *name="visible") const
 Convenience access method for visibility properties (instances of BoolProperty). Return value is the visibility. Default is visible==true, i.e., true is returned even if the property (propertyKey) is not found. More...
virtual void Update (BaseRenderer *renderer)
 Calls the time step of the input data for the specified renderer and checks whether the time step is valid and calls method GenerateDataForRenderer() More...
int GetTimestep () const
 Returns the current time step as calculated from the renderer. More...
virtual bool IsLODEnabled (BaseRenderer *) const

Static Public Member Functions

static Pointer New ()
static void SetDefaultProperties (mitk::DataNode *node, mitk::BaseRenderer *renderer=NULL, bool overwrite=false)
- Static Public Member Functions inherited from mitk::VtkMapper
static const char * GetStaticNameOfClass ()
static void SetVtkMapperImmediateModeRendering (vtkMapper *mapper)
 Re-issues all drawing commands required to describe the entire scene each time a new frame is required, regardless of actual changes. More...
- Static Public Member Functions inherited from mitk::Mapper
static const char * GetStaticNameOfClass ()
static void SetDefaultProperties (DataNode *node, BaseRenderer *renderer=nullptr, bool overwrite=false)
 Set default values of properties used by this mapper to node. More...

Public Attributes

LocalStorageHandler< BaseLocalStoragem_LSH
- Public Attributes inherited from mitk::VtkMapper
mitk::LocalStorageHandler< VtkMapperLocalStoragem_VtkMapperLSH

Protected Types

typedef mitk::PointSet::PointIdentifier PointIdentifier
typedef std::map< PointIdentifier, vtkSphereSource * > SphereSourceMap
typedef std::map< PointIdentifier, vtkCubeSource * > CubeSourceMap
typedef std::map< PointIdentifier, vtkConeSource * > ConeSourceMap
typedef std::map< PointIdentifier, vtkCylinderSource * > CylinderSourceMap
typedef std::pair< vtkActor *, mitk::PointSpecificationTypeActorAndPointType
typedef std::map< PointIdentifier, ActorAndPointTypeActorMap

Protected Member Functions

 EnhancedPointSetVtkMapper3D ()
virtual ~EnhancedPointSetVtkMapper3D ()
void RemoveEntryFromSourceMaps (mitk::PointSet::PointIdentifier pointID)
void DeleteVtkObject (vtkObject *o)
void UpdateVtkObjects ()
virtual void GenerateDataForRenderer (mitk::BaseRenderer *renderer) override
 Generate the data needed for rendering into renderer. More...
virtual void ApplyColorAndOpacityProperties (mitk::BaseRenderer *renderer, vtkActor *actor) override
 Apply color and opacity properties read from the PropertyList. Called by mapper subclasses. More...
- Protected Member Functions inherited from mitk::VtkMapper
 VtkMapper ()
virtual ~VtkMapper ()
- Protected Member Functions inherited from mitk::Mapper
 Mapper ()
 explicit constructor which disallows implicit conversions More...
virtual ~Mapper ()
 virtual destructor in order to derive from this class More...
virtual void GenerateData ()
 Generate the data needed for rendering (independent of a specific renderer) More...
virtual void CalculateTimeStep (BaseRenderer *renderer)
 Updates the time step, which is sometimes needed in subclasses. More...
virtual void ResetMapper (BaseRenderer *)
 Reset the mapper (i.e., make sure that nothing is displayed) if no valid data is present. In most cases the reimplemented function disables the according actors (toggling visibility off) More...
virtual OverlayManagerGetOverlayManager () const

Protected Attributes

SphereSourceMap m_SphereSources
CubeSourceMap m_CubeSources
ConeSourceMap m_ConeSources
CylinderSourceMap m_CylinderSources
ActorMap m_PointActors
vtkActor * m_Contour
vtkTubeFilter * m_ContourSource
vtkAssembly * m_PropAssembly
- Protected Attributes inherited from mitk::Mapper

Additional Inherited Members

- Public Types inherited from mitk::VtkMapper
typedef VtkMapper Self
typedef Mapper Superclass
typedef itk::SmartPointer< SelfPointer
typedef itk::SmartPointer< const SelfConstPointer
- Public Types inherited from mitk::Mapper
typedef Mapper Self
typedef itk::Object Superclass
typedef itk::SmartPointer< SelfPointer
typedef itk::SmartPointer< const SelfConstPointer

Detailed Description

Alternative Vtk-based 3D mapper for mitk::PointSet.

This class renders mitk::PointSet objects in 3D views. It resembles the standard mitk::PointSetVtkMapper3D, but is designed to enable single points to be rendered with individual appearances.

Instead of assembling one vtkPolyData object containing all points, a list of VTK source objects (spheres, cubes, cones, ...) is maintained. Therefore, the application can change the appearance and/or type of a specific point at runtime, without having to rebuild the

You should use this class instead of the standard mapper if you

  • change the PointSet very often (by adding or removing points)
  • need different representations for points (+++)
  • want to change the point representation frequently (+++)

Note: the class is still in experimental stage, and the points above marked with (+++) are not yet working correctly. Also, drawing lines between points (contour mode) is not yet supported. The class will be extended so that point representations are stored in a lookup table, which is indexed by point data from the rendered PointSet.

This mapper requires the PointData container to be the same size as the point container.

See also

Definition at line 67 of file mitkEnhancedPointSetVtkMapper3D.h.

Member Typedef Documentation

typedef std::map<PointIdentifier, vtkConeSource *> mitk::EnhancedPointSetVtkMapper3D::ConeSourceMap

Definition at line 101 of file mitkEnhancedPointSetVtkMapper3D.h.

typedef std::map<PointIdentifier, vtkCubeSource *> mitk::EnhancedPointSetVtkMapper3D::CubeSourceMap

Definition at line 100 of file mitkEnhancedPointSetVtkMapper3D.h.

typedef std::map<PointIdentifier, vtkCylinderSource *> mitk::EnhancedPointSetVtkMapper3D::CylinderSourceMap

Definition at line 102 of file mitkEnhancedPointSetVtkMapper3D.h.

typedef std::map<PointIdentifier, vtkSphereSource *> mitk::EnhancedPointSetVtkMapper3D::SphereSourceMap

Definition at line 99 of file mitkEnhancedPointSetVtkMapper3D.h.

Constructor & Destructor Documentation

mitk::EnhancedPointSetVtkMapper3D::EnhancedPointSetVtkMapper3D ( )

Definition at line 52 of file mitkEnhancedPointSetVtkMapper3D.cpp.

References mitk::New().

mitk::EnhancedPointSetVtkMapper3D::~EnhancedPointSetVtkMapper3D ( )

Definition at line 64 of file mitkEnhancedPointSetVtkMapper3D.cpp.

Member Function Documentation

void mitk::EnhancedPointSetVtkMapper3D::ApplyColorAndOpacityProperties ( mitk::BaseRenderer renderer,
vtkActor *  actor 
Pointer mitk::EnhancedPointSetVtkMapper3D::Clone ( ) const
void mitk::EnhancedPointSetVtkMapper3D::DeleteVtkObject ( vtkObject *  o)

Definition at line 399 of file mitkEnhancedPointSetVtkMapper3D.cpp.

void mitk::EnhancedPointSetVtkMapper3D::GenerateDataForRenderer ( mitk::BaseRenderer )

Generate the data needed for rendering into renderer.

Reimplemented from mitk::Mapper.

Definition at line 352 of file mitkEnhancedPointSetVtkMapper3D.cpp.

const mitk::PointSet * mitk::EnhancedPointSetVtkMapper3D::GetInput ( void  )
vtkProp * mitk::EnhancedPointSetVtkMapper3D::GetVtkProp ( mitk::BaseRenderer renderer)

Implements mitk::VtkMapper.

Definition at line 59 of file mitkEnhancedPointSetVtkMapper3D.cpp.

mitk::EnhancedPointSetVtkMapper3D::mitkClassMacro ( EnhancedPointSetVtkMapper3D  ,
static Pointer mitk::EnhancedPointSetVtkMapper3D::New ( )
void mitk::EnhancedPointSetVtkMapper3D::RemoveEntryFromSourceMaps ( mitk::PointSet::PointIdentifier  pointID)
void mitk::EnhancedPointSetVtkMapper3D::SetDefaultProperties ( mitk::DataNode node,
mitk::BaseRenderer renderer = NULL,
bool  overwrite = false 
void mitk::EnhancedPointSetVtkMapper3D::UpdateVtkObjects ( )
void mitk::EnhancedPointSetVtkMapper3D::UpdateVtkTransform ( mitk::BaseRenderer renderer)

Set the vtkTransform of the m_Prop3D for the current time step of renderer.

Called by mitk::VtkPropRenderer::Update before rendering. This method will transform all actors (e.g. of an vtkAssembly) according the geometry.

This method transforms only props which derive from vtkProp3D. Make sure to use vtkAssembly, if you have multiple props. vtkPropAssembly does not work, since it derives from vtkProp.

Reimplemented from mitk::VtkMapper.

Definition at line 366 of file mitkEnhancedPointSetVtkMapper3D.cpp.

Member Data Documentation

ConeSourceMap mitk::EnhancedPointSetVtkMapper3D::m_ConeSources

Definition at line 109 of file mitkEnhancedPointSetVtkMapper3D.h.

vtkActor* mitk::EnhancedPointSetVtkMapper3D::m_Contour

Definition at line 114 of file mitkEnhancedPointSetVtkMapper3D.h.

vtkTubeFilter* mitk::EnhancedPointSetVtkMapper3D::m_ContourSource

Definition at line 115 of file mitkEnhancedPointSetVtkMapper3D.h.

CubeSourceMap mitk::EnhancedPointSetVtkMapper3D::m_CubeSources

Definition at line 108 of file mitkEnhancedPointSetVtkMapper3D.h.

CylinderSourceMap mitk::EnhancedPointSetVtkMapper3D::m_CylinderSources

Definition at line 110 of file mitkEnhancedPointSetVtkMapper3D.h.

LocalStorageHandler<BaseLocalStorage> mitk::EnhancedPointSetVtkMapper3D::m_LSH

Definition at line 82 of file mitkEnhancedPointSetVtkMapper3D.h.

ActorMap mitk::EnhancedPointSetVtkMapper3D::m_PointActors

Definition at line 111 of file mitkEnhancedPointSetVtkMapper3D.h.

vtkAssembly* mitk::EnhancedPointSetVtkMapper3D::m_PropAssembly

Definition at line 117 of file mitkEnhancedPointSetVtkMapper3D.h.

SphereSourceMap mitk::EnhancedPointSetVtkMapper3D::m_SphereSources

Definition at line 107 of file mitkEnhancedPointSetVtkMapper3D.h.

The documentation for this class was generated from the following files: