Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::PlaneGeometryDataMapper2D Class Reference

VTK-based 2D mapper for rendering a crosshair with the plane geometry. More...

#include <mitkPlaneGeometryDataMapper2D.h>

Inheritance diagram for mitk::PlaneGeometryDataMapper2D:
Collaboration diagram for mitk::PlaneGeometryDataMapper2D:

Classes

class  LocalStorage
 Internal class holding the mapper, actor, etc. for each of the 3 2D render windows. More...
 

Public Member Functions

 mitkClassMacro (PlaneGeometryDataMapper2D, VtkMapper)
 
Pointer Clone () const
 
virtual const mitk::PlaneGeometryData * GetInput () const
 Get the PlaneGeometryData input of this mapper. More...
 
vtkProp * GetVtkProp (mitk::BaseRenderer *renderer) override
 Get the VTK prop assembly for the given renderer. More...
 
virtual void ApplyAllProperties (BaseRenderer *renderer)
 Apply all visual properties specific to this mapper. 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 UpdateVtkTransform (mitk::BaseRenderer *renderer)
 Set the vtkTransform of the m_Prop3D for the current time step of renderer. More...
 
void ApplyColorAndOpacityProperties (mitk::BaseRenderer *renderer, vtkActor *actor) override
 Apply color and opacity properties read from the PropertyList to the given vtkActor. 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 the default properties for this mapper on the given node. 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

mitk::LocalStorageHandler< LocalStorage > m_LSH
 The LocalStorageHandler holds all (three) LocalStorages for the three 2D render windows. More...
 

Protected Types

typedef std::vector< DataNode * > NodesVectorType
 
typedef std::set< Self * > AllInstancesContainer
 

Protected Member Functions

 PlaneGeometryDataMapper2D ()
 
 ~PlaneGeometryDataMapper2D () override
 
void GenerateDataForRenderer (mitk::BaseRenderer *renderer) override
 Apply color and opacity properties, then create VTK render objects. More...
 
void CreateVtkCrosshair (BaseRenderer *renderer)
 Create the VTK crosshair representation for the given renderer. More...
 
void DrawLine (Point3D p0, Point3D p1, vtkCellArray *lines, vtkPoints *points)
 Add a line segment between two 3D points to VTK data structures. More...
 
void ApplyColorAndOpacityProperties2D (BaseRenderer *renderer, vtkActor2D *actor)
 
void DrawOrientationArrow (vtkSmartPointer< vtkCellArray > triangles, vtkSmartPointer< vtkPoints > triPoints, double triangleSizeMM, Vector3D &orthogonalVector, Point3D &point1, Point3D &point2)
 
- 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...
 

Static Protected Member Functions

static bool TestPointInPlaneGeometry (const PlaneGeometry *planeGeometry, const Point3D &point)
 Test if a point lies within the given PlaneGeometry bounds. More...
 
static bool TestPointInReferenceGeometry (const BaseGeometry *referenceGeometry, const Point3D &point)
 Test if a point lies within the given reference geometry bounds. More...
 
static bool CutCrossLineWithPlaneGeometry (const PlaneGeometry *planeGeometry, Line3D &crossLine)
 Clip a crosshair line segment to the bounds of the given PlaneGeometry. More...
 
static bool CutCrossLineWithReferenceGeometry (const BaseGeometry *referenceGeometry, Line3D &crossLine)
 Clip a crosshair line segment to the bounds of the given reference geometry. More...
 

Protected Attributes

NodesVectorType m_OtherPlaneGeometries
 
bool m_RenderOrientationArrows
 
bool m_ArrowOrientationPositive
 
- Protected Attributes inherited from mitk::Mapper
mitk::DataNode * m_DataNode
 

Static Protected Attributes

static AllInstancesContainer s_AllInstances
 

Detailed Description

VTK-based 2D mapper for rendering a crosshair with the plane geometry.

This mapper uses the mitkPlaneGeometryData from the three helper objects in the StdMultiWidget to render a crosshair in all 2D render windows. The crosshair is assembled as lines and rendered with a vtkPolyDataMapper. The mapper requires multiple plane geometry to compute the correct crosshair position. The plane bounds are computed using either ReferenceGeometry if it is present or the plane geometry itself otherwise. The mapper offers the following properties: Crosshair.Line width: The thickness of the crosshair. Crosshair.Gap Size: The gap between the lines in pixels. Crosshair.Orientation Decoration: Adds a PlaneOrientationProperty, which indicates the direction of the plane normal. See mitkPlaneOrientationProperty.

See also
PlaneGeometryData
PlaneOrientationProperty

Definition at line 47 of file mitkPlaneGeometryDataMapper2D.h.

Member Typedef Documentation

◆ AllInstancesContainer

typedef std::set<Self *> mitk::PlaneGeometryDataMapper2D::AllInstancesContainer
protected

Definition at line 135 of file mitkPlaneGeometryDataMapper2D.h.

◆ NodesVectorType

Definition at line 132 of file mitkPlaneGeometryDataMapper2D.h.

Constructor & Destructor Documentation

◆ PlaneGeometryDataMapper2D()

mitk::PlaneGeometryDataMapper2D::PlaneGeometryDataMapper2D ( )
protected

◆ ~PlaneGeometryDataMapper2D()

mitk::PlaneGeometryDataMapper2D::~PlaneGeometryDataMapper2D ( )
overrideprotected

Member Function Documentation

◆ ApplyAllProperties()

virtual void mitk::PlaneGeometryDataMapper2D::ApplyAllProperties ( BaseRenderer *  renderer)
virtual

Apply all visual properties specific to this mapper.

Parameters
rendererThe renderer whose properties to apply.

◆ ApplyColorAndOpacityProperties2D()

void mitk::PlaneGeometryDataMapper2D::ApplyColorAndOpacityProperties2D ( BaseRenderer *  renderer,
vtkActor2D *  actor 
)
protected

◆ Clone()

Pointer mitk::PlaneGeometryDataMapper2D::Clone ( ) const

◆ CreateVtkCrosshair()

void mitk::PlaneGeometryDataMapper2D::CreateVtkCrosshair ( BaseRenderer *  renderer)
protected

Create the VTK crosshair representation for the given renderer.

◆ CutCrossLineWithPlaneGeometry()

static bool mitk::PlaneGeometryDataMapper2D::CutCrossLineWithPlaneGeometry ( const PlaneGeometry *  planeGeometry,
Line3D &  crossLine 
)
staticprotected

Clip a crosshair line segment to the bounds of the given PlaneGeometry.

◆ CutCrossLineWithReferenceGeometry()

static bool mitk::PlaneGeometryDataMapper2D::CutCrossLineWithReferenceGeometry ( const BaseGeometry *  referenceGeometry,
Line3D &  crossLine 
)
staticprotected

Clip a crosshair line segment to the bounds of the given reference geometry.

◆ DrawLine()

void mitk::PlaneGeometryDataMapper2D::DrawLine ( Point3D  p0,
Point3D  p1,
vtkCellArray *  lines,
vtkPoints *  points 
)
protected

Add a line segment between two 3D points to VTK data structures.

◆ DrawOrientationArrow()

void mitk::PlaneGeometryDataMapper2D::DrawOrientationArrow ( vtkSmartPointer< vtkCellArray >  triangles,
vtkSmartPointer< vtkPoints >  triPoints,
double  triangleSizeMM,
Vector3D &  orthogonalVector,
Point3D &  point1,
Point3D &  point2 
)
protected

◆ GenerateDataForRenderer()

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

Apply color and opacity properties, then create VTK render objects.

Reimplemented from mitk::Mapper.

◆ GetInput()

virtual const mitk::PlaneGeometryData* mitk::PlaneGeometryDataMapper2D::GetInput ( ) const
virtual

Get the PlaneGeometryData input of this mapper.

◆ GetVtkProp()

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

Get the VTK prop assembly for the given renderer.

Parameters
rendererThe renderer for which to return the VTK prop.
Returns
The assembled vtkProp containing the crosshair visualization.

Implements mitk::VtkMapper.

◆ mitkClassMacro()

mitk::PlaneGeometryDataMapper2D::mitkClassMacro ( PlaneGeometryDataMapper2D  ,
VtkMapper   
)

◆ New()

static Pointer mitk::PlaneGeometryDataMapper2D::New ( )
static

◆ SetDefaultProperties()

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

Set the default properties for this mapper on the given node.

Parameters
nodeThe data node on which to set default properties.
rendererThe renderer context. If nullptr, properties apply to all renderers.
overwriteIf true, existing properties are overwritten.

◆ TestPointInPlaneGeometry()

static bool mitk::PlaneGeometryDataMapper2D::TestPointInPlaneGeometry ( const PlaneGeometry *  planeGeometry,
const Point3D &  point 
)
staticprotected

Test if a point lies within the given PlaneGeometry bounds.

◆ TestPointInReferenceGeometry()

static bool mitk::PlaneGeometryDataMapper2D::TestPointInReferenceGeometry ( const BaseGeometry *  referenceGeometry,
const Point3D &  point 
)
staticprotected

Test if a point lies within the given reference geometry bounds.

Member Data Documentation

◆ m_ArrowOrientationPositive

bool mitk::PlaneGeometryDataMapper2D::m_ArrowOrientationPositive
protected

Definition at line 139 of file mitkPlaneGeometryDataMapper2D.h.

◆ m_LSH

mitk::LocalStorageHandler<LocalStorage> mitk::PlaneGeometryDataMapper2D::m_LSH

The LocalStorageHandler holds all (three) LocalStorages for the three 2D render windows.

Definition at line 101 of file mitkPlaneGeometryDataMapper2D.h.

◆ m_OtherPlaneGeometries

NodesVectorType mitk::PlaneGeometryDataMapper2D::m_OtherPlaneGeometries
protected

Definition at line 133 of file mitkPlaneGeometryDataMapper2D.h.

◆ m_RenderOrientationArrows

bool mitk::PlaneGeometryDataMapper2D::m_RenderOrientationArrows
protected

Definition at line 138 of file mitkPlaneGeometryDataMapper2D.h.

◆ s_AllInstances

AllInstancesContainer mitk::PlaneGeometryDataMapper2D::s_AllInstances
staticprotected

Definition at line 136 of file mitkPlaneGeometryDataMapper2D.h.


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