Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit

Vtk-based mapper for cutting 2D slices out of Surfaces. More...

#include <mitkSurfaceVtkMapper2D.h>

Inheritance diagram for mitk::SurfaceVtkMapper2D:
Collaboration diagram for mitk::SurfaceVtkMapper2D:

Classes

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

Public Types

typedef SurfaceVtkMapper2D Self
 
typedef VtkMapper Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
- 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
 

Public Member Functions

virtual std::vector< std::string > GetClassHierarchy () const override
 
virtual const char * GetClassName () const
 
Pointer Clone () const
 
virtual const mitk::SurfaceGetInput () const
 
vtkProp * GetVtkProp (mitk::BaseRenderer *renderer) override
 returns the prop assembly More...
 
void UpdateVtkTransform (mitk::BaseRenderer *) override
 UpdateVtkTransform Overwrite the method of the base class. More...
 
- Public Member Functions inherited from mitk::VtkMapper
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 *)
 
void ApplyColorAndOpacityProperties (mitk::BaseRenderer *renderer, vtkActor *actor) override
 Apply color and opacity properties read from the PropertyList. Called by mapper subclasses. 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...
 
int GetTimestep () const
 Returns the current time step as calculated from the renderer. More...
 
virtual bool IsLODEnabled (BaseRenderer *) const
 

Static Public Member Functions

static const char * GetStaticNameOfClass ()
 
static Pointer New ()
 
static void SetDefaultProperties (mitk::DataNode *node, mitk::BaseRenderer *renderer=nullptr, bool overwrite=false)
 set the default properties for this mapper More...
 
- 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

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

Protected Member Functions

 SurfaceVtkMapper2D ()
 SurfaceVtkMapper2D default constructor. More...
 
 ~SurfaceVtkMapper2D () override
 ~SurfaceVtkMapper2D default destructor. More...
 
void GenerateDataForRenderer (mitk::BaseRenderer *renderer) override
 GenerateDataForRenderer produces all the data. More...
 
void ResetMapper (BaseRenderer *renderer) override
 ResetMapper Called in mitk::Mapper::Update to hide objects. If TimeGeometry or time step is not valid, reset the mapper. so that nothing is displayed e.g. toggle visibility of the propassembly. More...
 
virtual void FixupLegacyProperties (PropertyList *properties)
 Updates legacy properties to current behavior/interpretation. More...
 
void ApplyAllProperties (BaseRenderer *renderer)
 ApplyAllProperties Pass all the properties to VTK. More...
 
void Update (BaseRenderer *renderer) override
 Update Check if data should be generated. 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...
 

Additional Inherited Members

- Protected Attributes inherited from mitk::Mapper
mitk::DataNodem_DataNode
 

Detailed Description

Vtk-based mapper for cutting 2D slices out of Surfaces.

The mapper uses a vtkCutter filter to cut out slices (contours) of the 3D volume and render these slices as vtkPolyData. The data is transformed according to its geometry before cutting, to support the geometry concept of MITK.

Properties: Surface.2D.Line Width: Thickness of the rendered lines in 2D. Surface.2D.Normals.Draw Normals: enables drawing of normals as 3D arrows in the 2D render window. The normals are created with a vtkGlyph3D from the vtkPolyData. Surface.2D.Normals.Draw Inverse Normals: same as normals, but in the other direction. The inverse normals are computed with a vtkReverseSense filter. Surface.2D.Normals.(Inverse) Normals Color: Color of the (inverse) normals. Surface.2D.Normals.(Inverse) Normals Scale Factor: Regulates the size of the normals.

Definition at line 56 of file mitkSurfaceVtkMapper2D.h.

Member Typedef Documentation

◆ ConstPointer

◆ Pointer

◆ Self

◆ Superclass

Constructor & Destructor Documentation

◆ SurfaceVtkMapper2D()

mitk::SurfaceVtkMapper2D::SurfaceVtkMapper2D ( )
protected

SurfaceVtkMapper2D default constructor.

◆ ~SurfaceVtkMapper2D()

mitk::SurfaceVtkMapper2D::~SurfaceVtkMapper2D ( )
overrideprotected

~SurfaceVtkMapper2D default destructor.

Member Function Documentation

◆ ApplyAllProperties()

void mitk::SurfaceVtkMapper2D::ApplyAllProperties ( BaseRenderer renderer)
protected

ApplyAllProperties Pass all the properties to VTK.

Parameters
rendererThe respective renderer of the mitkRenderWindow.

◆ Clone()

Pointer mitk::SurfaceVtkMapper2D::Clone ( ) const

◆ FixupLegacyProperties()

virtual void mitk::SurfaceVtkMapper2D::FixupLegacyProperties ( PropertyList properties)
protectedvirtual

Updates legacy properties to current behavior/interpretation.

Parameters
propertiesThe property list which should be adapted to new behaviour.

Whenever a mapper decides to change its property types or its interpretation of certain values, it should add something to this method and call it before methods like ApplyProperties();

This is particularly helpful when dealing with data from archive/scene files that were created before changes.

◆ GenerateDataForRenderer()

void mitk::SurfaceVtkMapper2D::GenerateDataForRenderer ( mitk::BaseRenderer renderer)
overrideprotectedvirtual

GenerateDataForRenderer produces all the data.

Parameters
rendererThe respective renderer of the mitkRenderWindow.

Reimplemented from mitk::Mapper.

◆ GetClassHierarchy()

virtual std::vector<std::string> mitk::SurfaceVtkMapper2D::GetClassHierarchy ( ) const
inlineoverridevirtual

Reimplemented from mitk::VtkMapper.

Definition at line 59 of file mitkSurfaceVtkMapper2D.h.

◆ GetClassName()

virtual const char* mitk::SurfaceVtkMapper2D::GetClassName ( ) const
virtual

Reimplemented from mitk::VtkMapper.

◆ GetInput()

virtual const mitk::Surface* mitk::SurfaceVtkMapper2D::GetInput ( ) const
virtual

◆ GetStaticNameOfClass()

static const char* mitk::SurfaceVtkMapper2D::GetStaticNameOfClass ( )
inlinestatic

Definition at line 59 of file mitkSurfaceVtkMapper2D.h.

◆ GetVtkProp()

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

returns the prop assembly

Implements mitk::VtkMapper.

◆ New()

static Pointer mitk::SurfaceVtkMapper2D::New ( )
static

◆ ResetMapper()

void mitk::SurfaceVtkMapper2D::ResetMapper ( BaseRenderer renderer)
overrideprotectedvirtual

ResetMapper Called in mitk::Mapper::Update to hide objects. If TimeGeometry or time step is not valid, reset the mapper. so that nothing is displayed e.g. toggle visibility of the propassembly.

Parameters
rendererThe respective renderer of the mitkRenderWindow.

Reimplemented from mitk::Mapper.

◆ SetDefaultProperties()

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

set the default properties for this mapper

◆ Update()

void mitk::SurfaceVtkMapper2D::Update ( BaseRenderer renderer)
overrideprotectedvirtual

Update Check if data should be generated.

Parameters
rendererThe respective renderer of the mitkRenderWindow.

Reimplemented from mitk::Mapper.

◆ UpdateVtkTransform()

void mitk::SurfaceVtkMapper2D::UpdateVtkTransform ( mitk::BaseRenderer )
inlineoverridevirtual

UpdateVtkTransform Overwrite the method of the base class.

The base class transforms the actor according to the respective geometry which is correct for most cases. This mapper, however, uses a vtkCutter to cut out a contour. To cut out the correct contour, the data has to be transformed beforehand. Else the current plane geometry will point the cutter to en empty location (if the surface does have a geometry, which is a rather rare case).

Reimplemented from mitk::VtkMapper.

Definition at line 162 of file mitkSurfaceVtkMapper2D.h.

Member Data Documentation

◆ m_LSH

mitk::LocalStorageHandler<LocalStorage> mitk::SurfaceVtkMapper2D::m_LSH

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

Definition at line 150 of file mitkSurfaceVtkMapper2D.h.


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