Medical Imaging Interaction Toolkit  2016.11.0
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
 
virtual vtkProp * GetVtkProp (mitk::BaseRenderer *renderer) override
 returns the a prop assembly More...
 
virtual void ApplyAllProperties (BaseRenderer *renderer)
 
virtual 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 *renderer)
 SHADERTODO. More...
 
virtual 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=NULL, bool overwrite=false)
 set the default properties for this mapper More...
 
- Static Public Member Functions inherited from mitk::VtkMapper
static const char * GetStaticNameOfClass ()
 
static void SetVtkMapperImmediateModeRendering (vtkMapper *mapper)
 Re-issues all drawing commands required to describe the entire scene each time a new frame is required, regardless of actual changes. More...
 
- 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...
 
- Public Attributes inherited from mitk::VtkMapper
mitk::LocalStorageHandler< VtkMapperLocalStoragem_VtkMapperLSH
 

Protected Types

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

Protected Member Functions

 PlaneGeometryDataMapper2D ()
 
virtual ~PlaneGeometryDataMapper2D ()
 
virtual 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 ()
 
virtual ~VtkMapper ()
 
- Protected Member Functions inherited from mitk::Mapper
 Mapper ()
 explicit constructor which disallows implicit conversions More...
 
virtual ~Mapper ()
 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...
 
virtual OverlayManagerGetOverlayManager () const
 

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 51 of file mitkPlaneGeometryDataMapper2D.h.

Member Typedef Documentation

Definition at line 131 of file mitkPlaneGeometryDataMapper2D.h.

Definition at line 128 of file mitkPlaneGeometryDataMapper2D.h.

Constructor & Destructor Documentation

mitk::PlaneGeometryDataMapper2D::PlaneGeometryDataMapper2D ( )
protected

Definition at line 160 of file mitkPlaneGeometryDataMapper2D.cpp.

References s_AllInstances.

mitk::PlaneGeometryDataMapper2D::~PlaneGeometryDataMapper2D ( )
protectedvirtual

Definition at line 166 of file mitkPlaneGeometryDataMapper2D.cpp.

Member Function Documentation

void mitk::PlaneGeometryDataMapper2D::ApplyColorAndOpacityProperties2D ( BaseRenderer renderer,
vtkActor2D *  actor 
)
protected
Pointer mitk::PlaneGeometryDataMapper2D::Clone ( ) const
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.

Definition at line 581 of file mitkPlaneGeometryDataMapper2D.cpp.

References mitk::DataNode::GetProperty(), mitk::GenericProperty< T >::GetValue(), and mitk::EnumerationProperty::GetValueAsId().

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

Definition at line 531 of file mitkPlaneGeometryDataMapper2D.cpp.

References mitk::New().

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

Definition at line 546 of file mitkPlaneGeometryDataMapper2D.cpp.

References mitk::New().

void mitk::PlaneGeometryDataMapper2D::GenerateDataForRenderer ( mitk::BaseRenderer )
overrideprotectedvirtual
virtual std::vector<std::string> mitk::PlaneGeometryDataMapper2D::GetClassHierarchy ( ) const
inlineoverridevirtual

Reimplemented from mitk::VtkMapper.

Definition at line 54 of file mitkPlaneGeometryDataMapper2D.h.

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

Reimplemented from mitk::VtkMapper.

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

Definition at line 155 of file mitkPlaneGeometryDataMapper2D.cpp.

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

Definition at line 54 of file mitkPlaneGeometryDataMapper2D.h.

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

returns the a prop assembly

Implements mitk::VtkMapper.

Definition at line 171 of file mitkPlaneGeometryDataMapper2D.cpp.

References mitk::PlaneGeometryDataMapper2D::LocalStorage::m_CrosshairAssembly.

void mitk::PlaneGeometryDataMapper2D::SetDefaultProperties ( mitk::DataNode node,
mitk::BaseRenderer renderer = NULL,
bool  overwrite = false 
)
static
bool mitk::PlaneGeometryDataMapper2D::TestPointInPlaneGeometry ( const PlaneGeometry planeGeometry,
const Point3D point 
)
staticprotected
bool mitk::PlaneGeometryDataMapper2D::TestPointInReferenceGeometry ( const BaseGeometry referenceGeometry,
const Point3D point 
)
staticprotected

Definition at line 440 of file mitkPlaneGeometryDataMapper2D.cpp.

References mitk::BaseGeometry::IsInside().

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.

Definition at line 671 of file mitkPlaneGeometryDataMapper2D.cpp.

Member Data Documentation

bool mitk::PlaneGeometryDataMapper2D::m_ArrowOrientationPositive
protected

Definition at line 135 of file mitkPlaneGeometryDataMapper2D.h.

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

Definition at line 136 of file mitkPlaneGeometryDataMapper2D.h.

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

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

Definition at line 92 of file mitkPlaneGeometryDataMapper2D.h.

NodesVectorType mitk::PlaneGeometryDataMapper2D::m_OtherPlaneGeometries
protected

Definition at line 129 of file mitkPlaneGeometryDataMapper2D.h.

bool mitk::PlaneGeometryDataMapper2D::m_RenderOrientationArrows
protected

Definition at line 134 of file mitkPlaneGeometryDataMapper2D.h.

mitk::PlaneGeometryDataMapper2D::AllInstancesContainer mitk::PlaneGeometryDataMapper2D::s_AllInstances
staticprotected

Definition at line 132 of file mitkPlaneGeometryDataMapper2D.h.

Referenced by PlaneGeometryDataMapper2D().


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