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)
 SHADERTODO. More...
 
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
mitk::DataNodem_DataNode
 

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
PointSetVtkMapper3D

Definition at line 67 of file mitkEnhancedPointSetVtkMapper3D.h.

Member Typedef Documentation

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

Definition at line 101 of file mitkEnhancedPointSetVtkMapper3D.h.

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

Definition at line 100 of file mitkEnhancedPointSetVtkMapper3D.h.

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

Definition at line 102 of file mitkEnhancedPointSetVtkMapper3D.h.

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

Definition at line 99 of file mitkEnhancedPointSetVtkMapper3D.h.

Constructor & Destructor Documentation

mitk::EnhancedPointSetVtkMapper3D::EnhancedPointSetVtkMapper3D ( )
protected

Definition at line 52 of file mitkEnhancedPointSetVtkMapper3D.cpp.

References mitk::New().

mitk::EnhancedPointSetVtkMapper3D::~EnhancedPointSetVtkMapper3D ( )
protectedvirtual

Definition at line 64 of file mitkEnhancedPointSetVtkMapper3D.cpp.

Member Function Documentation

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

Definition at line 399 of file mitkEnhancedPointSetVtkMapper3D.cpp.

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

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  )
virtual
vtkProp * mitk::EnhancedPointSetVtkMapper3D::GetVtkProp ( mitk::BaseRenderer renderer)
overridevirtual

Implements mitk::VtkMapper.

Definition at line 59 of file mitkEnhancedPointSetVtkMapper3D.cpp.

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

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.

Warning
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
protected

Definition at line 109 of file mitkEnhancedPointSetVtkMapper3D.h.

vtkActor* mitk::EnhancedPointSetVtkMapper3D::m_Contour
protected

Definition at line 114 of file mitkEnhancedPointSetVtkMapper3D.h.

vtkTubeFilter* mitk::EnhancedPointSetVtkMapper3D::m_ContourSource
protected

Definition at line 115 of file mitkEnhancedPointSetVtkMapper3D.h.

CubeSourceMap mitk::EnhancedPointSetVtkMapper3D::m_CubeSources
protected

Definition at line 108 of file mitkEnhancedPointSetVtkMapper3D.h.

CylinderSourceMap mitk::EnhancedPointSetVtkMapper3D::m_CylinderSources
protected

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
protected

Definition at line 111 of file mitkEnhancedPointSetVtkMapper3D.h.

vtkAssembly* mitk::EnhancedPointSetVtkMapper3D::m_PropAssembly
protected

Definition at line 117 of file mitkEnhancedPointSetVtkMapper3D.h.

SphereSourceMap mitk::EnhancedPointSetVtkMapper3D::m_SphereSources
protected

Definition at line 107 of file mitkEnhancedPointSetVtkMapper3D.h.


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