Medical Imaging Interaction Toolkit  2026.06.00
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::PointSet * GetInput ()
 Get the PointSet input data. More...
 
vtkProp * GetVtkProp (mitk::BaseRenderer *renderer) override
 Get the VTK prop assembly containing all point actors. More...
 
void UpdateVtkTransform (mitk::BaseRenderer *renderer) override
 Update the VTK transform for the given renderer. More...
 
- Public Member Functions inherited from mitk::VtkMapper
 mitkClassMacro (VtkMapper, Mapper)
 
void MitkRender (mitk::BaseRenderer *renderer, mitk::VtkPropRenderer::RenderType type) override
 Determine the render pass type and call the appropriate render method. More...
 
virtual void MitkRenderOverlay (BaseRenderer *renderer)
 Check visibility and render the overlay pass. More...
 
virtual void MitkRenderOpaqueGeometry (BaseRenderer *renderer)
 Check visibility and render opaque (untransparent) geometry. More...
 
virtual void MitkRenderTranslucentGeometry (BaseRenderer *renderer)
 Check visibility and render translucent (transparent) geometry. More...
 
virtual void MitkRenderVolumetricGeometry (BaseRenderer *renderer)
 Check visibility and render volumetric geometry. More...
 
virtual bool HasVtkProp (const vtkProp *prop, BaseRenderer *renderer)
 Check whether this mapper owns the specified vtkProp for the given renderer. More...
 
virtual void ReleaseGraphicsResources (mitk::BaseRenderer *)
 Release VTK-based graphics resources consumed by this mapper. More...
 
- Public Member Functions inherited from mitk::Mapper
 mitkClassMacroItkParent (Mapper, itk::Object)
 
virtual void SetDataNode (DataNode *_arg)
 Set the DataNode containing the data to map. More...
 
virtual DataNode * GetDataNode () const
 Get the DataNode containing the data to map. More...
 
virtual void Update (BaseRenderer *renderer)
 Calculate the time step for the current renderer and generate rendering data. More...
 
TimeStepType GetTimestep () const
 Return the current time step as calculated from the renderer. More...
 
virtual bool IsLODEnabled (BaseRenderer *) const
 Return whether this Mapper currently allows for Level-of-Detail rendering. More...
 

Static Public Member Functions

static Pointer New ()
 
static void SetDefaultProperties (mitk::DataNode *node, mitk::BaseRenderer *renderer=nullptr, bool overwrite=false)
 Set default rendering properties for enhanced point set visualization. More...
 
- Static Public Member Functions inherited from mitk::Mapper
static void SetDefaultProperties (DataNode *node, BaseRenderer *renderer=nullptr, bool overwrite=false)
 Set default values of properties used by this mapper on the given node. More...
 

Public Attributes

LocalStorageHandler< BaseLocalStorage > m_LSH
 

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::PointSpecificationType > ActorAndPointType
 
typedef std::map< PointIdentifier, ActorAndPointType > ActorMap
 

Protected Member Functions

 EnhancedPointSetVtkMapper3D ()
 
 ~EnhancedPointSetVtkMapper3D () override
 
void RemoveEntryFromSourceMaps (mitk::PointSet::PointIdentifier pointID)
 
void DeleteVtkObject (vtkObject *o)
 
void UpdateVtkObjects ()
 
void GenerateDataForRenderer (mitk::BaseRenderer *renderer) override
 Generate the data needed for rendering into renderer. More...
 
void ApplyColorAndOpacityProperties (mitk::BaseRenderer *renderer, vtkActor *actor) override
 Apply color and opacity properties read from the PropertyList to the given vtkActor. More...
 
- Protected Member Functions inherited from mitk::VtkMapper
 VtkMapper ()
 
 ~VtkMapper () override
 
- Protected Member Functions inherited from mitk::Mapper
 Mapper ()
 explicit constructor which disallows implicit conversions More...
 
 ~Mapper () override
 virtual destructor in order to derive from this class 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...
 

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::DataNode * m_DataNode
 

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.

Warning
This mapper requires the PointData container to be the same size as the point container.
See also
PointSetVtkMapper3D

Definition at line 63 of file mitkEnhancedPointSetVtkMapper3D.h.

Member Typedef Documentation

◆ ActorAndPointType

◆ ActorMap

◆ ConeSourceMap

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

Definition at line 118 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ CubeSourceMap

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

Definition at line 117 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ CylinderSourceMap

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

Definition at line 119 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ PointIdentifier

◆ SphereSourceMap

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

Definition at line 116 of file mitkEnhancedPointSetVtkMapper3D.h.

Constructor & Destructor Documentation

◆ EnhancedPointSetVtkMapper3D()

mitk::EnhancedPointSetVtkMapper3D::EnhancedPointSetVtkMapper3D ( )
protected

◆ ~EnhancedPointSetVtkMapper3D()

mitk::EnhancedPointSetVtkMapper3D::~EnhancedPointSetVtkMapper3D ( )
overrideprotected

Member Function Documentation

◆ ApplyColorAndOpacityProperties()

void mitk::EnhancedPointSetVtkMapper3D::ApplyColorAndOpacityProperties ( mitk::BaseRenderer *  renderer,
vtkActor *  actor 
)
overrideprotectedvirtual

Apply color and opacity properties read from the PropertyList to the given vtkActor.

Reads the "color" and "opacity" properties from the DataNode and applies them to the actor's vtkProperty.

Parameters
[in]rendererThe renderer whose property list is queried.
[in]actorThe vtkActor to apply color and opacity to.

Reimplemented from mitk::VtkMapper.

◆ Clone()

Pointer mitk::EnhancedPointSetVtkMapper3D::Clone ( ) const

◆ DeleteVtkObject()

void mitk::EnhancedPointSetVtkMapper3D::DeleteVtkObject ( vtkObject *  o)
protected

◆ GenerateDataForRenderer()

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

Generate the data needed for rendering into renderer.

Reimplemented from mitk::Mapper.

◆ GetInput()

virtual const mitk::PointSet* mitk::EnhancedPointSetVtkMapper3D::GetInput ( )
virtual

Get the PointSet input data.

Returns
The PointSet associated with this mapper's data node.

◆ GetVtkProp()

vtkProp* mitk::EnhancedPointSetVtkMapper3D::GetVtkProp ( mitk::BaseRenderer *  renderer)
overridevirtual

Get the VTK prop assembly containing all point actors.

Parameters
[in]rendererThe renderer context.
Returns
The VTK prop assembly for this renderer.

Implements mitk::VtkMapper.

◆ mitkClassMacro()

mitk::EnhancedPointSetVtkMapper3D::mitkClassMacro ( EnhancedPointSetVtkMapper3D  ,
VtkMapper   
)

◆ New()

static Pointer mitk::EnhancedPointSetVtkMapper3D::New ( )
static

◆ RemoveEntryFromSourceMaps()

void mitk::EnhancedPointSetVtkMapper3D::RemoveEntryFromSourceMaps ( mitk::PointSet::PointIdentifier  pointID)
protected

◆ SetDefaultProperties()

static void mitk::EnhancedPointSetVtkMapper3D::SetDefaultProperties ( mitk::DataNode *  node,
mitk::BaseRenderer *  renderer = nullptr,
bool  overwrite = false 
)
static

Set default rendering properties for enhanced point set visualization.

Parameters
[in]nodeThe data node to configure.
[in]rendererThe renderer context, or nullptr for all renderers.
[in]overwriteIf true, overwrite existing properties.

◆ UpdateVtkObjects()

void mitk::EnhancedPointSetVtkMapper3D::UpdateVtkObjects ( )
protected

◆ UpdateVtkTransform()

void mitk::EnhancedPointSetVtkMapper3D::UpdateVtkTransform ( mitk::BaseRenderer *  renderer)
overridevirtual

Update the VTK transform for the given renderer.

Parameters
[in]rendererThe renderer to update the transform for.

Reimplemented from mitk::VtkMapper.

Member Data Documentation

◆ m_ConeSources

ConeSourceMap mitk::EnhancedPointSetVtkMapper3D::m_ConeSources
protected

Definition at line 126 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_Contour

vtkActor* mitk::EnhancedPointSetVtkMapper3D::m_Contour
protected

Definition at line 131 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_ContourSource

vtkTubeFilter* mitk::EnhancedPointSetVtkMapper3D::m_ContourSource
protected

Definition at line 132 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_CubeSources

CubeSourceMap mitk::EnhancedPointSetVtkMapper3D::m_CubeSources
protected

Definition at line 125 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_CylinderSources

CylinderSourceMap mitk::EnhancedPointSetVtkMapper3D::m_CylinderSources
protected

Definition at line 127 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_LSH

LocalStorageHandler<BaseLocalStorage> mitk::EnhancedPointSetVtkMapper3D::m_LSH

Definition at line 99 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_PointActors

ActorMap mitk::EnhancedPointSetVtkMapper3D::m_PointActors
protected

Definition at line 128 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_PropAssembly

vtkAssembly* mitk::EnhancedPointSetVtkMapper3D::m_PropAssembly
protected

Definition at line 134 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_SphereSources

SphereSourceMap mitk::EnhancedPointSetVtkMapper3D::m_SphereSources
protected

Definition at line 124 of file mitkEnhancedPointSetVtkMapper3D.h.


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