Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
OpenGL-based mapper to render display sub-class instances of mitk::PlanarFigure. More...
#include <mitkPlanarFigureMapper2D.h>
Public Member Functions | |
mitkClassMacro (PlanarFigureMapper2D, Mapper) | |
Pointer | Clone () const |
void | MitkRender (mitk::BaseRenderer *renderer, mitk::VtkPropRenderer::RenderType type) override |
void | ApplyColorAndOpacityProperties (mitk::BaseRenderer *renderer, vtkActor *actor=nullptr) override |
Apply color and opacity properties read from the PropertyList. The actor is not used in the GLMappers. Called by mapper subclasses. More... | |
![]() | |
virtual std::vector< std::string > | GetClassHierarchy () const |
virtual const char * | GetClassName () const |
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 bool | IsVtkBased () const |
Returns whether this is an vtk-based mapper. 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 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... | |
Protected Types | |
enum | PlanarFigureDisplayMode { PF_DEFAULT, PF_HOVER, PF_SELECTED, PF_COUNT } |
Protected Member Functions | |
PlanarFigureMapper2D () | |
~PlanarFigureMapper2D () override | |
void | RenderLines (const PlanarFigureDisplayMode lineDisplayMode, mitk::PlanarFigure *planarFigure, mitk::Point2D &anchorPoint, const mitk::PlaneGeometry *planarFigurePlaneGeometry, const mitk::PlaneGeometry *rendererPlaneGeometry, const mitk::BaseRenderer *renderer) |
Renders all the lines defined by the PlanarFigure. More... | |
void | RenderQuantities (const mitk::PlanarFigure *planarFigure, mitk::BaseRenderer *renderer, const mitk::Point2D anchorPoint, double &annotationOffset, float globalOpacity, const PlanarFigureDisplayMode lineDisplayMode) |
Renders the quantities of the figure below the text annotations. More... | |
void | RenderAnnotations (mitk::BaseRenderer *renderer, const std::string name, const mitk::Point2D anchorPoint, float globalOpacity, const PlanarFigureDisplayMode lineDisplayMode, double &annotationOffset) |
Renders the text annotations. More... | |
void | RenderControlPoints (const mitk::PlanarFigure *planarFigure, const PlanarFigureDisplayMode lineDisplayMode, const mitk::PlaneGeometry *planarFigurePlaneGeometry, const mitk::PlaneGeometry *rendererPlaneGeometry, mitk::BaseRenderer *renderer) |
Renders the control-points. More... | |
void | TransformObjectToDisplay (const mitk::Point2D &point2D, mitk::Point2D &displayPoint, const mitk::PlaneGeometry *objectGeometry, const mitk::PlaneGeometry *, const mitk::BaseRenderer *renderer) |
void | DrawMarker (const mitk::Point2D &point, float *lineColor, float lineOpacity, float *markerColor, float markerOpacity, float lineWidth, PlanarFigureControlPointStyleProperty::Shape shape, const mitk::PlaneGeometry *objectGeometry, const mitk::PlaneGeometry *rendererGeometry, const mitk::BaseRenderer *renderer) |
void | PaintPolyLine (const mitk::PlanarFigure::PolyLineType vertices, bool closed, Point2D &anchorPoint, const PlaneGeometry *planarFigurePlaneGeometry, const PlaneGeometry *rendererPlaneGeometry, const mitk::BaseRenderer *renderer) |
Actually paints the polyline defined by the figure. More... | |
void | DrawMainLines (mitk::PlanarFigure *figure, Point2D &anchorPoint, const PlaneGeometry *planarFigurePlaneGeometry, const PlaneGeometry *rendererPlaneGeometry, const mitk::BaseRenderer *renderer) |
Internally used by RenderLines() to draw the mainlines using PaintPolyLine(). More... | |
void | DrawHelperLines (mitk::PlanarFigure *figure, Point2D &anchorPoint, const PlaneGeometry *planarFigurePlaneGeometry, const PlaneGeometry *rendererPlaneGeometry, const mitk::BaseRenderer *renderer) |
Internally used by RenderLines() to draw the helperlines using PaintPolyLine(). More... | |
void | InitializeDefaultPlanarFigureProperties () |
void | InitializePlanarFigurePropertiesFromDataNode (const mitk::DataNode *node) |
void | SetColorProperty (float property[3][3], PlanarFigureDisplayMode mode, float red, float green, float blue) |
void | SetFloatProperty (float *property, PlanarFigureDisplayMode mode, float value) |
void | OnNodeModified () |
Callback that sets m_NodeModified to true. More... | |
void | Initialize (mitk::BaseRenderer *renderer) |
![]() | |
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 | GenerateDataForRenderer (BaseRenderer *) |
Generate the data needed for rendering into 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... | |
Additional Inherited Members | |
![]() | |
typedef Mapper | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
![]() | |
mitk::DataNode * | m_DataNode |
OpenGL-based mapper to render display sub-class instances of mitk::PlanarFigure.
The appearance of planar figures can be configured through properties. If no properties are specified, default values will be used. There are four elements a planar figure consists of:
In the following, all appearance-related planar figure properties are listed:
Definition at line 108 of file mitkPlanarFigureMapper2D.h.
|
protected |
Enumerator | |
---|---|
PF_DEFAULT | |
PF_HOVER | |
PF_SELECTED | |
PF_COUNT |
Definition at line 130 of file mitkPlanarFigureMapper2D.h.
|
protected |
Definition at line 30 of file mitkPlanarFigureMapper2D.cpp.
References InitializeDefaultPlanarFigureProperties().
|
overrideprotected |
Definition at line 37 of file mitkPlanarFigureMapper2D.cpp.
References mitk::Mapper::GetDataNode().
|
overridevirtual |
Apply color and opacity properties read from the PropertyList. The actor is not used in the GLMappers. Called by mapper subclasses.
Implements mitk::Mapper.
Definition at line 45 of file mitkPlanarFigureMapper2D.cpp.
References mitk::DataNode::GetColor(), mitk::Mapper::GetDataNode(), and mitk::DataNode::GetOpacity().
Referenced by MitkRender().
Pointer mitk::PlanarFigureMapper2D::Clone | ( | ) | const |
|
protected |
Internally used by RenderLines() to draw the helperlines using PaintPolyLine().
Definition at line 256 of file mitkPlanarFigureMapper2D.cpp.
References mitk::PlanarFigure::GetHelperPolyLine(), mitk::PlanarFigure::GetHelperPolyLinesSize(), mitk::BaseRenderer::GetScaleFactorMMPerDisplayUnit(), mitk::BaseRenderer::GetViewportSize(), mitk::PlanarFigure::IsHelperToBePainted(), and PaintPolyLine().
Referenced by RenderLines().
|
protected |
Internally used by RenderLines() to draw the mainlines using PaintPolyLine().
Definition at line 240 of file mitkPlanarFigureMapper2D.cpp.
References mitk::PlanarFigure::GetPolyLine(), mitk::PlanarFigure::GetPolyLinesSize(), mitk::PlanarFigure::IsClosed(), and PaintPolyLine().
Referenced by RenderLines().
|
protected |
Definition at line 296 of file mitkPlanarFigureMapper2D.cpp.
References mitk::PlanarFigureControlPointStyleProperty::Circle, mitk::Mapper::GetDataNode(), mitk::PlanarFigureControlPointStyleProperty::Square, and TransformObjectToDisplay().
Referenced by RenderControlPoints().
|
protected |
Definition at line 56 of file mitkPlanarFigureMapper2D.cpp.
Referenced by MitkRender().
|
protected |
Definition at line 387 of file mitkPlanarFigureMapper2D.cpp.
References PF_DEFAULT, PF_HOVER, PF_SELECTED, SetColorProperty(), SetFloatProperty(), and mitk::PlanarFigureControlPointStyleProperty::Square.
Referenced by PlanarFigureMapper2D().
|
protected |
Definition at line 446 of file mitkPlanarFigureMapper2D.cpp.
References mitk::DataNode::GetBoolProperty(), mitk::DataNode::GetColor(), mitk::DataNode::GetFloatProperty(), mitk::DataNode::GetIntProperty(), mitk::DataNode::GetProperty(), mitk::DataNode::GetStringProperty(), OnNodeModified(), PF_COUNT, PF_DEFAULT, PF_HOVER, and PF_SELECTED.
Referenced by MitkRender().
mitk::PlanarFigureMapper2D::mitkClassMacro | ( | PlanarFigureMapper2D | , |
Mapper | |||
) |
|
overridevirtual |
reimplemented from Baseclass
Implements mitk::Mapper.
Definition at line 73 of file mitkPlanarFigureMapper2D.cpp.
References ApplyColorAndOpacityProperties(), mitk::PlaneGeometry::DistanceFromPlane(), mitk::BaseRenderer::GetCurrentWorldPlaneGeometry(), mitk::DataNode::GetData(), mitk::Mapper::GetDataNode(), mitk::BaseGeometry::GetExtentInMM(), mitk::DataNode::GetFloatProperty(), mitk::DataNode::GetName(), mitk::DataNode::GetVisibility(), mitk::BaseRenderer::GetVtkRenderer(), Initialize(), InitializePlanarFigurePropertiesFromDataNode(), mitk::PlaneGeometry::IsParallel(), MITK_ERROR, mitk::VtkPropRenderer::Overlay, PF_DEFAULT, PF_HOVER, PF_SELECTED, RenderAnnotations(), RenderControlPoints(), RenderLines(), and RenderQuantities().
|
static |
Referenced by mitk::PlanarFigureObjectFactory::CreateMapper().
|
protected |
Callback that sets m_NodeModified to true.
This method set the bool flag m_NodeModified to true. It's a callback that is executed when a itk::ModifiedEvet is invoked on our DataNode.
Definition at line 590 of file mitkPlanarFigureMapper2D.cpp.
Referenced by InitializePlanarFigurePropertiesFromDataNode().
|
protected |
Actually paints the polyline defined by the figure.
Definition at line 187 of file mitkPlanarFigureMapper2D.cpp.
References min(), and TransformObjectToDisplay().
Referenced by DrawHelperLines(), and DrawMainLines().
|
protected |
Renders the text annotations.
Definition at line 732 of file mitkPlanarFigureMapper2D.cpp.
References mitk::eps, and offset.
Referenced by MitkRender().
|
protected |
Renders the control-points.
Definition at line 653 of file mitkPlanarFigureMapper2D.cpp.
References DrawMarker(), mitk::DataNode::GetBoolProperty(), mitk::PlanarFigure::GetControlPoint(), mitk::PlanarFigure::GetNumberOfControlPoints(), mitk::PlanarFigure::GetPreviewControlPoint(), mitk::PlanarFigure::GetSelectedControlPoint(), mitk::PlanarFigure::IsPreviewControlPointVisible(), mitk::Mapper::m_DataNode, PF_DEFAULT, PF_HOVER, and PF_SELECTED.
Referenced by MitkRender().
|
protected |
Renders all the lines defined by the PlanarFigure.
This method renders all the lines that are defined by the PlanarFigure. That includes the mainlines and helperlines as well as their shadows and the outlines.
This method already takes responsibility for the setting of the relevant openGL attributes to reduce unnecessary setting of these attributes. (e.g. no need to set color twice if it's the same)
Definition at line 849 of file mitkPlanarFigureMapper2D.cpp.
References DrawHelperLines(), and DrawMainLines().
Referenced by MitkRender().
|
protected |
Renders the quantities of the figure below the text annotations.
Definition at line 781 of file mitkPlanarFigureMapper2D.cpp.
References mitk::eps, mitk::PlanarFigure::GetFeatureUnit(), mitk::PlanarFigure::GetNumberOfFeatures(), mitk::PlanarFigure::GetQuantity(), mitk::PlanarFigure::IsFeatureActive(), mitk::PlanarFigure::IsFeatureVisible(), and offset.
Referenced by MitkRender().
|
inlineprotected |
Definition at line 241 of file mitkPlanarFigureMapper2D.h.
Referenced by InitializeDefaultPlanarFigureProperties().
|
static |
Definition at line 595 of file mitkPlanarFigureMapper2D.cpp.
References mitk::DataNode::AddProperty(), mitk::BoolProperty::New(), mitk::IntProperty::New(), mitk::FloatProperty::New(), mitk::StringProperty::New(), and mitk::ColorProperty::New().
Referenced by mitk::PlanarFigureObjectFactory::SetDefaultProperties().
|
inlineprotected |
Definition at line 248 of file mitkPlanarFigureMapper2D.h.
Referenced by InitializeDefaultPlanarFigureProperties().
|
protected |
Definition at line 281 of file mitkPlanarFigureMapper2D.cpp.
References mitk::PlaneGeometry::Map(), and mitk::BaseRenderer::WorldToView().
Referenced by DrawMarker(), and PaintPolyLine().