Medical Imaging Interaction Toolkit
2016.11.0
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, GLMapper) | |
Pointer | Clone () const |
virtual void | Paint (BaseRenderer *renderer) override |
Public Member Functions inherited from mitk::GLMapper | |
mitkClassMacro (GLMapper, Mapper) | |
virtual void | ApplyProperties (mitk::BaseRenderer *renderer) |
Apply color and opacity properties read from the PropertyList. More... | |
virtual void | ApplyColorAndOpacityProperties (mitk::BaseRenderer *renderer, vtkActor *actor=NULL) override |
Apply color and opacity properties read from the PropertyList. The actor is not used in the GLMappers. Called by mapper subclasses. More... | |
void | MitkRender (mitk::BaseRenderer *renderer, mitk::VtkPropRenderer::RenderType type) override |
Checks visibility and calls the paint method. More... | |
virtual bool | IsVtkBased () const override |
Returns whether this is a vtk-based mapper. More... | |
Public Member Functions inherited from mitk::Mapper | |
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 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=NULL, bool overwrite=false) |
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... | |
Protected Types | |
enum | PlanarFigureDisplayMode { PF_DEFAULT, PF_HOVER, PF_SELECTED, PF_COUNT } |
Protected Member Functions | |
PlanarFigureMapper2D () | |
virtual | ~PlanarFigureMapper2D () |
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... | |
Protected Member Functions inherited from mitk::GLMapper | |
GLMapper () | |
Returns whether this mapper allows picking in the renderwindow virtual bool IsPickable() const { return false; }. More... | |
virtual | ~GLMapper () |
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 | 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... | |
virtual OverlayManager * | GetOverlayManager () const |
Additional Inherited Members | |
Public Types inherited from mitk::Mapper | |
typedef Mapper | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Protected Attributes inherited from mitk::Mapper | |
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 109 of file mitkPlanarFigureMapper2D.h.
|
protected |
Definition at line 34 of file mitkPlanarFigureMapper2D.cpp.
References InitializeDefaultPlanarFigureProperties(), and mitk::TextOverlay2D::New().
|
protectedvirtual |
Definition at line 43 of file mitkPlanarFigureMapper2D.cpp.
Pointer mitk::PlanarFigureMapper2D::Clone | ( | ) | const |
|
protected |
Internally used by RenderLines() to draw the helperlines using PaintPolyLine().
Definition at line 230 of file mitkPlanarFigureMapper2D.cpp.
References mitk::PlanarFigure::GetHelperPolyLine(), mitk::PlanarFigure::GetHelperPolyLinesSize(), mitk::BaseRenderer::GetScaleFactorMMPerDisplayUnit(), mitk::BaseRenderer::GetViewportSize(), and mitk::PlanarFigure::IsHelperToBePainted().
|
protected |
Internally used by RenderLines() to draw the mainlines using PaintPolyLine().
Definition at line 214 of file mitkPlanarFigureMapper2D.cpp.
References mitk::PlanarFigure::GetPolyLine(), mitk::PlanarFigure::GetPolyLinesSize(), and mitk::PlanarFigure::IsClosed().
|
protected |
Definition at line 270 of file mitkPlanarFigureMapper2D.cpp.
References mitk::PlanarFigureControlPointStyleProperty::Circle, PLANAR_OFFSET, and mitk::PlanarFigureControlPointStyleProperty::Square.
|
protected |
Definition at line 353 of file mitkPlanarFigureMapper2D.cpp.
References mitk::PlanarFigureControlPointStyleProperty::Square.
Referenced by PlanarFigureMapper2D().
|
protected |
Definition at line 412 of file mitkPlanarFigureMapper2D.cpp.
References mitk::DataNode::GetBoolProperty(), mitk::DataNode::GetColor(), mitk::DataNode::GetFloatProperty(), mitk::DataNode::GetIntProperty(), mitk::DataNode::GetProperty(), mitk::DataNode::GetStringProperty(), mitk::New(), and OnNodeModified().
mitk::PlanarFigureMapper2D::mitkClassMacro | ( | PlanarFigureMapper2D | , |
GLMapper | |||
) |
|
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 556 of file mitkPlanarFigureMapper2D.cpp.
Referenced by InitializePlanarFigurePropertiesFromDataNode().
|
overridevirtual |
reimplemented from Baseclass
Implements mitk::GLMapper.
Definition at line 51 of file mitkPlanarFigureMapper2D.cpp.
References mitk::PlaneGeometry::DistanceFromPlane(), mitk::BaseRenderer::GetCurrentWorldPlaneGeometry(), mitk::BaseGeometry::GetExtentInMM(), mitk::DataNode::GetFloatProperty(), mitk::DataNode::GetName(), mitk::PlanarFigure::GetPlaneGeometry(), mitk::PlaneGeometry::IsParallel(), mitk::PlanarFigure::IsPlaced(), and MITK_ERROR.
|
protected |
Actually paints the polyline defined by the figure.
Definition at line 166 of file mitkPlanarFigureMapper2D.cpp.
References min(), and PLANAR_OFFSET.
|
protected |
Renders the text annotations.
Definition at line 698 of file mitkPlanarFigureMapper2D.cpp.
|
protected |
Renders the control-points.
Definition at line 619 of file mitkPlanarFigureMapper2D.cpp.
References mitk::PlanarFigure::GetControlPoint(), mitk::PlanarFigure::GetNumberOfControlPoints(), mitk::PlanarFigure::GetPreviewControlPoint(), mitk::PlanarFigure::GetSelectedControlPoint(), and mitk::PlanarFigure::IsPreviewControlPointVisible().
|
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 806 of file mitkPlanarFigureMapper2D.cpp.
|
protected |
Renders the quantities of the figure below the text annotations.
Definition at line 741 of file mitkPlanarFigureMapper2D.cpp.
References mitk::eps, mitk::PlanarFigure::GetFeatureUnit(), mitk::PlanarFigure::GetNumberOfFeatures(), mitk::PlanarFigure::GetQuantity(), mitk::PlanarFigure::IsFeatureActive(), mitk::PlanarFigure::IsFeatureVisible(), and offset.
|
inlineprotected |
Definition at line 235 of file mitkPlanarFigureMapper2D.h.
|
static |
Definition at line 561 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 242 of file mitkPlanarFigureMapper2D.h.
|
protected |
Definition at line 255 of file mitkPlanarFigureMapper2D.cpp.
References mitk::PlaneGeometry::Map(), and mitk::BaseRenderer::WorldToDisplay().