Medical Imaging Interaction Toolkit  2018.4.99-65942676
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 Types

typedef PlaneGeometryDataMapper2D 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::PlaneGeometryDataGetInput () const
 
vtkProp * GetVtkProp (mitk::BaseRenderer *renderer) override
 returns the a prop assembly More...
 
virtual void ApplyAllProperties (BaseRenderer *renderer)
 
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 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 visiblity 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...
 
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 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 Types

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

Protected Member Functions

 PlaneGeometryDataMapper2D ()
 
 ~PlaneGeometryDataMapper2D () override
 
void GenerateDataForRenderer (mitk::BaseRenderer *renderer) override
 Generate the data needed for rendering into renderer. More...
 
void CreateVtkCrosshair (BaseRenderer *renderer)
 
int DetermineThickSliceMode (DataNode *dn, int &thickSlicesNum)
 Returns the thick slice mode for the given datanode. More...
 
void DrawLine (Point3D p0, Point3D p1, vtkCellArray *lines, vtkPoints *points)
 
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 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...
 

Static Protected Member Functions

static bool TestPointInPlaneGeometry (const PlaneGeometry *planeGeometry, const Point3D &point)
 
static bool TestPointInReferenceGeometry (const BaseGeometry *referenceGeometry, const Point3D &point)
 
static bool CutCrossLineWithPlaneGeometry (const PlaneGeometry *planeGeometry, Line3D &crossLine)
 
static bool CutCrossLineWithReferenceGeometry (const BaseGeometry *referenceGeometry, Line3D &crossLine)
 

Protected Attributes

NodesVectorType m_OtherPlaneGeometries
 
bool m_RenderOrientationArrows
 
bool m_ArrowOrientationPositive
 
mitk::ScalarType m_DepthValue
 
- Protected Attributes inherited from mitk::Mapper
mitk::DataNodem_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.

Definition at line 46 of file mitkPlaneGeometryDataMapper2D.h.

Member Typedef Documentation

◆ AllInstancesContainer

Definition at line 128 of file mitkPlaneGeometryDataMapper2D.h.

◆ ConstPointer

◆ NodesVectorType

Definition at line 125 of file mitkPlaneGeometryDataMapper2D.h.

◆ Pointer

◆ Self

◆ Superclass

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

Applies properties specific to this mapper

◆ ApplyColorAndOpacityProperties2D()

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

◆ Clone()

Pointer mitk::PlaneGeometryDataMapper2D::Clone ( ) const

◆ CreateVtkCrosshair()

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

◆ CutCrossLineWithPlaneGeometry()

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

◆ CutCrossLineWithReferenceGeometry()

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

◆ DetermineThickSliceMode()

int mitk::PlaneGeometryDataMapper2D::DetermineThickSliceMode ( DataNode dn,
int &  thickSlicesNum 
)
protected

Returns the thick slice mode for the given datanode.

This method returns the value of the 'reslice.thickslices' property for the given datanode. '0': thick slice mode disabled '1': thick slice mode enabled

The variable 'thickSlicesNum' contains the value of the 'reslice.thickslices.num' property that defines how many slices are shown at once.

◆ DrawLine()

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

◆ 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 )
overrideprotectedvirtual

Generate the data needed for rendering into renderer.

Reimplemented from mitk::Mapper.

◆ GetClassHierarchy()

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

Reimplemented from mitk::VtkMapper.

Definition at line 49 of file mitkPlaneGeometryDataMapper2D.h.

◆ GetClassName()

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

Reimplemented from mitk::VtkMapper.

◆ GetInput()

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

◆ GetStaticNameOfClass()

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

Definition at line 49 of file mitkPlaneGeometryDataMapper2D.h.

◆ GetVtkProp()

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

returns the a prop assembly

Implements mitk::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

◆ TestPointInPlaneGeometry()

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

◆ TestPointInReferenceGeometry()

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

◆ UpdateVtkTransform()

void mitk::PlaneGeometryDataMapper2D::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_ArrowOrientationPositive

bool mitk::PlaneGeometryDataMapper2D::m_ArrowOrientationPositive
protected

Definition at line 132 of file mitkPlaneGeometryDataMapper2D.h.

◆ m_DepthValue

mitk::ScalarType mitk::PlaneGeometryDataMapper2D::m_DepthValue
protected

Definition at line 133 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 89 of file mitkPlaneGeometryDataMapper2D.h.

◆ m_OtherPlaneGeometries

NodesVectorType mitk::PlaneGeometryDataMapper2D::m_OtherPlaneGeometries
protected

Definition at line 126 of file mitkPlaneGeometryDataMapper2D.h.

◆ m_RenderOrientationArrows

bool mitk::PlaneGeometryDataMapper2D::m_RenderOrientationArrows
protected

Definition at line 131 of file mitkPlaneGeometryDataMapper2D.h.

◆ s_AllInstances

AllInstancesContainer mitk::PlaneGeometryDataMapper2D::s_AllInstances
staticprotected

Definition at line 129 of file mitkPlaneGeometryDataMapper2D.h.


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