Medical Imaging Interaction Toolkit  2023.12.99-77685e7b
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 ()
 
vtkProp * GetVtkProp (mitk::BaseRenderer *renderer) override
 
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 visibility 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 *)
 
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=nullptr, bool overwrite=false)
 
- Static Public Member Functions inherited from mitk::VtkMapper
static const char * GetStaticNameOfClass ()
 
- 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< 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::PointSpecificationTypeActorAndPointType
 
typedef std::map< PointIdentifier, ActorAndPointTypeActorMap
 

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. Called by mapper subclasses. 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 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...
 

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.

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 99 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ CubeSourceMap

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

Definition at line 98 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ CylinderSourceMap

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

Definition at line 100 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ PointIdentifier

◆ SphereSourceMap

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

Definition at line 97 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. Called by mapper subclasses.

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

◆ GetVtkProp()

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

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

◆ UpdateVtkObjects()

void mitk::EnhancedPointSetVtkMapper3D::UpdateVtkObjects ( )
protected

◆ UpdateVtkTransform()

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.

Member Data Documentation

◆ m_ConeSources

ConeSourceMap mitk::EnhancedPointSetVtkMapper3D::m_ConeSources
protected

Definition at line 107 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_Contour

vtkActor* mitk::EnhancedPointSetVtkMapper3D::m_Contour
protected

Definition at line 112 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_ContourSource

vtkTubeFilter* mitk::EnhancedPointSetVtkMapper3D::m_ContourSource
protected

Definition at line 113 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_CubeSources

CubeSourceMap mitk::EnhancedPointSetVtkMapper3D::m_CubeSources
protected

Definition at line 106 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_CylinderSources

CylinderSourceMap mitk::EnhancedPointSetVtkMapper3D::m_CylinderSources
protected

Definition at line 108 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_LSH

LocalStorageHandler<BaseLocalStorage> mitk::EnhancedPointSetVtkMapper3D::m_LSH

Definition at line 80 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_PointActors

ActorMap mitk::EnhancedPointSetVtkMapper3D::m_PointActors
protected

Definition at line 109 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_PropAssembly

vtkAssembly* mitk::EnhancedPointSetVtkMapper3D::m_PropAssembly
protected

Definition at line 115 of file mitkEnhancedPointSetVtkMapper3D.h.

◆ m_SphereSources

SphereSourceMap mitk::EnhancedPointSetVtkMapper3D::m_SphereSources
protected

Definition at line 105 of file mitkEnhancedPointSetVtkMapper3D.h.


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