Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit

Vtk-based 3D mapper for PointSet. More...

#include <mitkPointSetVtkMapper3D.h>

Inheritance diagram for mitk::PointSetVtkMapper3D:
Collaboration diagram for mitk::PointSetVtkMapper3D:

Public Member Functions

 mitkClassMacro (PointSetVtkMapper3D, VtkMapper)
 
Pointer Clone () const
 
virtual const mitk::PointSet * GetInput ()
 Returns the PointSet input data object of this mapper. More...
 
vtkProp * GetVtkProp (mitk::BaseRenderer *renderer) override
 Returns the vtkPropAssembly containing all VTK actors for the given renderer. More...
 
void UpdateVtkTransform (mitk::BaseRenderer *renderer) override
 Intentionally empty; transform is handled internally. More...
 
void ReleaseGraphicsResources (mitk::BaseRenderer *renderer) override
 Releases VTK graphics resources associated with 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...
 
void ApplyColorAndOpacityProperties (mitk::BaseRenderer *renderer, vtkActor *actor) override
 Apply color and opacity properties read from the PropertyList to the given vtkActor. 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)
 Sets default properties for point set visualization in 3D. 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 Member Functions

 PointSetVtkMapper3D ()
 Constructor. More...
 
 ~PointSetVtkMapper3D () override
 Destructor. More...
 
void GenerateDataForRenderer (mitk::BaseRenderer *renderer) override
 Generates the VTK rendering data for the given renderer. More...
 
void ResetMapper (BaseRenderer *renderer) override
 Resets the mapper by hiding the prop assembly. More...
 
virtual void ApplyAllProperties (mitk::BaseRenderer *renderer, vtkActor *actor)
 Applies color and opacity properties to the given actor. More...
 
virtual void CreateContour (vtkPoints *points, vtkCellArray *connections)
 Creates a tube-based contour connecting the given points. More...
 
virtual void CreateVTKRenderObjects ()
 Creates the VTK render objects (spheres, cubes, etc.) for each point. 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...
 

Protected Attributes

vtkSmartPointer< vtkPoints > m_WorldPositions
 All point positions, already in world coordinates. More...
 
vtkSmartPointer< vtkCellArray > m_PointConnections
 All connections between two points (used for contour drawing) More...
 
vtkSmartPointer< vtkAppendPolyData > m_vtkSelectedPointList
 
vtkSmartPointer< vtkAppendPolyData > m_vtkUnselectedPointList
 
vtkSmartPointer< vtkPoints > m_VtkPoints
 
vtkSmartPointer< vtkCellArray > m_VtkPointConnections
 
vtkSmartPointer< vtkTransformPolyDataFilter > m_VtkPointsTransformer
 
vtkSmartPointer< vtkPolyDataMapper > m_VtkSelectedPolyDataMapper
 
vtkSmartPointer< vtkPolyDataMapper > m_VtkUnselectedPolyDataMapper
 
vtkSmartPointer< vtkActor > m_SelectedActor
 
vtkSmartPointer< vtkActor > m_UnselectedActor
 
vtkSmartPointer< vtkActor > m_ContourActor
 
vtkSmartPointer< vtkPropAssembly > m_PointsAssembly
 
vtkSmartPointer< vtkAppendPolyData > m_vtkTextList
 
unsigned int m_NumberOfSelectedAdded
 
unsigned int m_NumberOfUnselectedAdded
 
ScalarType m_PointSize
 
ScalarType m_ContourRadius
 
- Protected Attributes inherited from mitk::Mapper
mitk::DataNode * m_DataNode
 

Detailed Description

Vtk-based 3D mapper for PointSet.

Due to the need of different colors for selected and unselected points and the facts, that we also have a contour and labels for the points, the vtk structure is build up the following way:

We have two AppendPolyData, one selected, and one unselected and one for a contour between the points. Each one is connected to an own PolyDataMapper and an Actor. The different color for the unselected and selected state and for the contour is read from properties.

"unselectedcolor", "selectedcolor" and "contourcolor" are the strings, that are looked for. Point labels are added besides the selected or the deselected points.

Then the three Actors are combined inside a vtkPropAssembly and this object is returned in GetProp() and so hooked up into the rendering pipeline.

Properties that can be set for point sets and influence the PointSetVTKMapper3D are:

  • "color": (ColorProperty*) Color of the point set
  • "Opacity": (FloatProperty) Opacity of the point set
  • "show contour": (BoolProperty) If the contour of the points are visible
  • "contourSizeProp": (FloatProperty) Contour size of the points

The default properties are:

  • "line width": (IntProperty 2)
  • "pointsize": (FloatProperty 1.0)
  • "selectedcolor": (ColorProperty (1.0f, 0.0f, 0.0f)) red
  • "color": (ColorProperty (1.0f, 1.0f, 0.0f)) yellow
  • "show contour": (BoolProperty false)
  • "contourcolor": (ColorProperty (1.0f, 0.0f, 0.0f))
  • "contoursize": (FloatProperty 0.5)
  • "close contour": (BoolProperty false)
  • "show points": (BoolProperty true)
  • "updateDataOnRender": (BoolProperty true)

Other properties looked for are:

  • "show contour": if set to on, lines between the points are shown
  • "close contour": if set to on, the open strip is closed (first point connected with last point)
  • "pointsize": size of the points mapped (diameter of a sphere, in world coordinates!)
  • "label": text of the Points to show besides points
  • "contoursize": size of the contour drawn between the points (if not set, the pointsize is taken)
See also
PointSetVtkMapper2D
PointSet

Definition at line 88 of file mitkPointSetVtkMapper3D.h.

Constructor & Destructor Documentation

◆ PointSetVtkMapper3D()

mitk::PointSetVtkMapper3D::PointSetVtkMapper3D ( )
protected

Constructor.

◆ ~PointSetVtkMapper3D()

mitk::PointSetVtkMapper3D::~PointSetVtkMapper3D ( )
overrideprotected

Destructor.

Member Function Documentation

◆ ApplyAllProperties()

virtual void mitk::PointSetVtkMapper3D::ApplyAllProperties ( mitk::BaseRenderer *  renderer,
vtkActor *  actor 
)
protectedvirtual

Applies color and opacity properties to the given actor.

Parameters
rendererthe renderer from which to read properties.
actorthe VTK actor to apply properties to.

Reimplemented in mitk::SplineVtkMapper3D.

◆ Clone()

Pointer mitk::PointSetVtkMapper3D::Clone ( ) const

◆ CreateContour()

virtual void mitk::PointSetVtkMapper3D::CreateContour ( vtkPoints *  points,
vtkCellArray *  connections 
)
protectedvirtual

Creates a tube-based contour connecting the given points.

Parameters
pointsthe VTK points to connect.
connectionsthe VTK cell array defining point connectivity.

◆ CreateVTKRenderObjects()

virtual void mitk::PointSetVtkMapper3D::CreateVTKRenderObjects ( )
protectedvirtual

Creates the VTK render objects (spheres, cubes, etc.) for each point.

◆ GenerateDataForRenderer()

void mitk::PointSetVtkMapper3D::GenerateDataForRenderer ( mitk::BaseRenderer *  renderer)
overrideprotectedvirtual

Generates the VTK rendering data for the given renderer.

Parameters
rendererthe renderer for which data is generated.

Reimplemented from mitk::Mapper.

Reimplemented in mitk::SplineVtkMapper3D.

◆ GetInput()

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

Returns the PointSet input data object of this mapper.

Returns
The associated PointSet, or nullptr if no data is set.

◆ GetVtkProp()

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

Returns the vtkPropAssembly containing all VTK actors for the given renderer.

Overwritten from VtkMapper to return a vtkPropAssembly which is much faster than a vtkAssembly.

Parameters
rendererthe renderer for which to retrieve the VTK prop.
Returns
The vtkPropAssembly that aggregates all rendering actors.

Implements mitk::VtkMapper.

Reimplemented in mitk::SplineVtkMapper3D.

◆ mitkClassMacro()

mitk::PointSetVtkMapper3D::mitkClassMacro ( PointSetVtkMapper3D  ,
VtkMapper   
)

◆ New()

static Pointer mitk::PointSetVtkMapper3D::New ( )
static

◆ ReleaseGraphicsResources()

void mitk::PointSetVtkMapper3D::ReleaseGraphicsResources ( mitk::BaseRenderer *  renderer)
overridevirtual

Releases VTK graphics resources associated with the given renderer.

Parameters
rendererthe renderer whose resources should be released.

Reimplemented from mitk::VtkMapper.

◆ ResetMapper()

void mitk::PointSetVtkMapper3D::ResetMapper ( BaseRenderer *  renderer)
overrideprotectedvirtual

Resets the mapper by hiding the prop assembly.

Parameters
rendererthe renderer for which the mapper is reset.

Reimplemented from mitk::Mapper.

◆ SetDefaultProperties()

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

Sets default properties for point set visualization in 3D.

Parameters
nodethe data node to configure.
rendererthe renderer for which properties should be set, or nullptr for global defaults.
overwriteif true, existing properties will be overwritten.

◆ UpdateVtkTransform()

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

Intentionally empty; transform is handled internally.

Parameters
rendererthe renderer whose transform would be updated.

Reimplemented from mitk::VtkMapper.

Reimplemented in mitk::SplineVtkMapper3D.

Member Data Documentation

◆ m_ContourActor

vtkSmartPointer<vtkActor> mitk::PointSetVtkMapper3D::m_ContourActor
protected

Definition at line 189 of file mitkPointSetVtkMapper3D.h.

◆ m_ContourRadius

ScalarType mitk::PointSetVtkMapper3D::m_ContourRadius
protected

Definition at line 202 of file mitkPointSetVtkMapper3D.h.

◆ m_LSH

LocalStorageHandler<BaseLocalStorage> mitk::PointSetVtkMapper3D::m_LSH

Definition at line 133 of file mitkPointSetVtkMapper3D.h.

◆ m_NumberOfSelectedAdded

unsigned int mitk::PointSetVtkMapper3D::m_NumberOfSelectedAdded
protected

Definition at line 197 of file mitkPointSetVtkMapper3D.h.

◆ m_NumberOfUnselectedAdded

unsigned int mitk::PointSetVtkMapper3D::m_NumberOfUnselectedAdded
protected

Definition at line 198 of file mitkPointSetVtkMapper3D.h.

◆ m_PointConnections

vtkSmartPointer<vtkCellArray> mitk::PointSetVtkMapper3D::m_PointConnections
protected

All connections between two points (used for contour drawing)

Definition at line 174 of file mitkPointSetVtkMapper3D.h.

◆ m_PointsAssembly

vtkSmartPointer<vtkPropAssembly> mitk::PointSetVtkMapper3D::m_PointsAssembly
protected

Definition at line 191 of file mitkPointSetVtkMapper3D.h.

◆ m_PointSize

ScalarType mitk::PointSetVtkMapper3D::m_PointSize
protected

Definition at line 201 of file mitkPointSetVtkMapper3D.h.

◆ m_SelectedActor

vtkSmartPointer<vtkActor> mitk::PointSetVtkMapper3D::m_SelectedActor
protected

Definition at line 187 of file mitkPointSetVtkMapper3D.h.

◆ m_UnselectedActor

vtkSmartPointer<vtkActor> mitk::PointSetVtkMapper3D::m_UnselectedActor
protected

Definition at line 188 of file mitkPointSetVtkMapper3D.h.

◆ m_VtkPointConnections

vtkSmartPointer<vtkCellArray> mitk::PointSetVtkMapper3D::m_VtkPointConnections
protected

Definition at line 180 of file mitkPointSetVtkMapper3D.h.

◆ m_VtkPoints

vtkSmartPointer<vtkPoints> mitk::PointSetVtkMapper3D::m_VtkPoints
protected

Definition at line 179 of file mitkPointSetVtkMapper3D.h.

◆ m_VtkPointsTransformer

vtkSmartPointer<vtkTransformPolyDataFilter> mitk::PointSetVtkMapper3D::m_VtkPointsTransformer
protected

Definition at line 182 of file mitkPointSetVtkMapper3D.h.

◆ m_vtkSelectedPointList

vtkSmartPointer<vtkAppendPolyData> mitk::PointSetVtkMapper3D::m_vtkSelectedPointList
protected

Definition at line 176 of file mitkPointSetVtkMapper3D.h.

◆ m_VtkSelectedPolyDataMapper

vtkSmartPointer<vtkPolyDataMapper> mitk::PointSetVtkMapper3D::m_VtkSelectedPolyDataMapper
protected

Definition at line 184 of file mitkPointSetVtkMapper3D.h.

◆ m_vtkTextList

vtkSmartPointer<vtkAppendPolyData> mitk::PointSetVtkMapper3D::m_vtkTextList
protected

Definition at line 194 of file mitkPointSetVtkMapper3D.h.

◆ m_vtkUnselectedPointList

vtkSmartPointer<vtkAppendPolyData> mitk::PointSetVtkMapper3D::m_vtkUnselectedPointList
protected

Definition at line 177 of file mitkPointSetVtkMapper3D.h.

◆ m_VtkUnselectedPolyDataMapper

vtkSmartPointer<vtkPolyDataMapper> mitk::PointSetVtkMapper3D::m_VtkUnselectedPolyDataMapper
protected

Definition at line 185 of file mitkPointSetVtkMapper3D.h.

◆ m_WorldPositions

vtkSmartPointer<vtkPoints> mitk::PointSetVtkMapper3D::m_WorldPositions
protected

All point positions, already in world coordinates.

Definition at line 172 of file mitkPointSetVtkMapper3D.h.


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