Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
Vtk-based 2D mapper for rendering a crosshair with the plane geometry. More...
#include <mitkPlaneGeometryDataMapper2D.h>
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< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Public Types inherited from mitk::VtkMapper | |
typedef VtkMapper | Self |
typedef Mapper | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Public Types inherited from mitk::Mapper | |
typedef Mapper | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Public Member Functions | |
virtual std::vector< std::string > | GetClassHierarchy () const override |
virtual const char * | GetClassName () const |
Pointer | Clone () const |
virtual const mitk::PlaneGeometryData * | GetInput () 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 DataNode * | GetDataNode () 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... | |
BaseData * | GetData () 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< LocalStorage > | m_LSH |
The LocalStorageHandler holds all (three) LocalStorages for the three 2D render windows. More... | |
Public Attributes inherited from mitk::VtkMapper | |
mitk::LocalStorageHandler< VtkMapperLocalStorage > | m_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 OverlayManager * | GetOverlayManager () 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::DataNode * | m_DataNode |
Static Protected Attributes | |
static AllInstancesContainer | s_AllInstances |
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.
|
protected |
Definition at line 131 of file mitkPlaneGeometryDataMapper2D.h.
typedef itk::SmartPointer<const Self> mitk::PlaneGeometryDataMapper2D::ConstPointer |
Definition at line 54 of file mitkPlaneGeometryDataMapper2D.h.
|
protected |
Definition at line 128 of file mitkPlaneGeometryDataMapper2D.h.
Definition at line 54 of file mitkPlaneGeometryDataMapper2D.h.
Definition at line 54 of file mitkPlaneGeometryDataMapper2D.h.
Definition at line 54 of file mitkPlaneGeometryDataMapper2D.h.
|
protected |
Definition at line 160 of file mitkPlaneGeometryDataMapper2D.cpp.
References s_AllInstances.
|
protectedvirtual |
Definition at line 166 of file mitkPlaneGeometryDataMapper2D.cpp.
|
virtual |
Applies properties specific to this mapper
Definition at line 605 of file mitkPlaneGeometryDataMapper2D.cpp.
References mitk::PlaneOrientationProperty::GetPlaneDecoration(), mitk::PlaneGeometryDataMapper2D::LocalStorage::m_ArrowActor, mitk::PlaneGeometryDataMapper2D::LocalStorage::m_CrosshairActor, mitk::PlaneGeometryDataMapper2D::LocalStorage::m_CrosshairHelperLineActor, mitk::PlaneOrientationProperty::PLANE_DECORATION_NEGATIVE_ORIENTATION, and mitk::PlaneOrientationProperty::PLANE_DECORATION_POSITIVE_ORIENTATION.
|
protected |
Definition at line 639 of file mitkPlaneGeometryDataMapper2D.cpp.
References mitk::DataNode::GetColor(), and mitk::DataNode::GetOpacity().
Pointer mitk::PlaneGeometryDataMapper2D::Clone | ( | ) | const |
|
protected |
Definition at line 230 of file mitkPlaneGeometryDataMapper2D.cpp.
References mitk::SlicedGeometry3D::CalculateSpacing(), mitk::BaseRenderer::GetCurrentWorldPlaneGeometryNode(), mitk::DataNode::GetData(), mitk::Line< TCoordRep, NPointDimension >::GetDirection(), mitk::PlaneGeometry::GetNormal(), mitk::PlaneGeometryData::GetPlaneGeometry(), mitk::Line< TCoordRep, NPointDimension >::GetPoint(), mitk::Line< TCoordRep, NPointDimension >::GetPoint1(), mitk::Line< TCoordRep, NPointDimension >::GetPoint2(), mitk::PlaneGeometry::GetReferenceGeometry(), mitk::BaseRenderer::GetScaleFactorMMPerDisplayUnit(), mitk::BaseGeometry::GetSpacing(), mitk::GenericProperty< T >::GetValue(), mitk::PlaneGeometry::HasReferenceGeometry(), mitk::PlaneGeometry::IntersectionLine(), mitk::PlaneGeometry::IntersectionPointParam(), mitk::PlaneGeometryDataMapper2D::LocalStorage::m_ArrowActor, mitk::PlaneGeometryDataMapper2D::LocalStorage::m_Arrowmapper, mitk::PlaneGeometryDataMapper2D::LocalStorage::m_CrosshairActor, mitk::PlaneGeometryDataMapper2D::LocalStorage::m_CrosshairHelperLineActor, mitk::PlaneGeometryDataMapper2D::LocalStorage::m_HelperLinesmapper, mitk::PlaneGeometryDataMapper2D::LocalStorage::m_Mapper, mitk::New(), and mitk::PlaneGeometry::Project().
|
staticprotected |
Definition at line 446 of file mitkPlaneGeometryDataMapper2D.cpp.
References mitk::BaseGeometry::GetBounds(), mitk::Line< TCoordRep, NPointDimension >::GetDirection(), mitk::Line< TCoordRep, NPointDimension >::GetPoint(), mitk::PlaneGeometry::IndexToWorld(), mitk::PlaneGeometry::Map(), mitk::Line< TCoordRep, NPointDimension >::RectangleLineIntersection(), mitk::Line< TCoordRep, NPointDimension >::SetPoints(), and mitk::PlaneGeometry::WorldToIndex().
|
staticprotected |
Definition at line 488 of file mitkPlaneGeometryDataMapper2D.cpp.
References mitk::Line< TCoordRep, NPointDimension >::BoxLineIntersection(), mitk::BaseGeometry::GetCornerPoint(), mitk::Line< TCoordRep, NPointDimension >::GetDirection(), mitk::Line< TCoordRep, NPointDimension >::GetPoint(), mitk::BaseGeometry::IndexToWorld(), mitk::Line< TCoordRep, NPointDimension >::SetPoints(), and mitk::BaseGeometry::WorldToIndex().
|
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().
|
protected |
Definition at line 531 of file mitkPlaneGeometryDataMapper2D.cpp.
References mitk::New().
|
protected |
Definition at line 546 of file mitkPlaneGeometryDataMapper2D.cpp.
References mitk::New().
|
overrideprotectedvirtual |
Generate the data needed for rendering into renderer.
Reimplemented from mitk::Mapper.
Definition at line 177 of file mitkPlaneGeometryDataMapper2D.cpp.
References mitk::DataNode::GetData(), mitk::Mapper::GetDataNode(), mitk::PlaneGeometryData::GetPlaneGeometry(), mitk::Mapper::BaseLocalStorage::IsGenerateDataRequired(), mitk::DataNode::IsVisible(), and mitk::Mapper::BaseLocalStorage::UpdateGenerateDataTime().
|
inlineoverridevirtual |
Reimplemented from mitk::VtkMapper.
Definition at line 54 of file mitkPlaneGeometryDataMapper2D.h.
|
virtual |
Reimplemented from mitk::VtkMapper.
|
virtual |
Definition at line 155 of file mitkPlaneGeometryDataMapper2D.cpp.
|
inlinestatic |
Definition at line 54 of file mitkPlaneGeometryDataMapper2D.h.
|
overridevirtual |
returns the a prop assembly
Implements mitk::VtkMapper.
Definition at line 171 of file mitkPlaneGeometryDataMapper2D.cpp.
References mitk::PlaneGeometryDataMapper2D::LocalStorage::m_CrosshairAssembly.
|
static |
|
static |
set the default properties for this mapper
Definition at line 654 of file mitkPlaneGeometryDataMapper2D.cpp.
References mitk::IPropertyAliases::AddAlias(), mitk::DataNode::AddProperty(), mitk::CoreServices::GetPropertyAliases(), mitk::IntProperty::New(), mitk::FloatProperty::New(), mitk::PlaneOrientationProperty::New(), and mitk::PlaneOrientationProperty::PLANE_DECORATION_NONE.
Referenced by mitk::CoreObjectFactory::SetDefaultProperties().
|
staticprotected |
Definition at line 430 of file mitkPlaneGeometryDataMapper2D.cpp.
References mitk::BaseGeometry::GetBounds(), mitk::PlaneGeometry::Map(), and mitk::PlaneGeometry::WorldToIndex().
|
staticprotected |
Definition at line 440 of file mitkPlaneGeometryDataMapper2D.cpp.
References mitk::BaseGeometry::IsInside().
|
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.
Reimplemented from mitk::VtkMapper.
Definition at line 671 of file mitkPlaneGeometryDataMapper2D.cpp.
|
protected |
Definition at line 135 of file mitkPlaneGeometryDataMapper2D.h.
|
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.
|
protected |
Definition at line 129 of file mitkPlaneGeometryDataMapper2D.h.
|
protected |
Definition at line 134 of file mitkPlaneGeometryDataMapper2D.h.
|
staticprotected |
Definition at line 132 of file mitkPlaneGeometryDataMapper2D.h.
Referenced by PlaneGeometryDataMapper2D().