Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkSlicerMarkupsWidgetRepresentation Class Referenceabstract

Class for rendering a markups node. More...

#include <Modules/Loadable/Markups/VTKWidgets/vtkSlicerMarkupsWidgetRepresentation.h>

Inheritance diagram for vtkSlicerMarkupsWidgetRepresentation:
Collaboration diagram for vtkSlicerMarkupsWidgetRepresentation:

Classes

class  ControlPointsPipeline
 

Public Types

enum  {
  Unselected , Selected , Active , Project ,
  ProjectBack , NumberOfControlPointTypes
}
 
typedef vtkMRMLAbstractWidgetRepresentation Superclass
 Standard methods for instances of this class.
 
- Public Types inherited from vtkMRMLAbstractWidgetRepresentation
typedef vtkProp Superclass
 Standard methods for instances of this class.
 

Public Member Functions

virtual void CanInteract (vtkMRMLInteractionEventData *interactionEventData, int &foundComponentType, int &foundComponentIndex, double &closestDistance2)
 
virtual int FindClosestPointOnWidget (const int displayPos[2], double worldPos[3], int *idx)
 
void GetActors (vtkPropCollection *) override
 Methods to make this class behave as a vtkProp.
 
virtual const char * GetClassName ()
 
virtual vtkPolyData * GetControlPointsPolyData (int controlPointType)
 
virtual vtkPolyData * GetLabelControlPointsPolyData (int pipeline)
 
virtual vtkStringArray * GetLabels (int pipeline)
 
virtual vtkMRMLMarkupsDisplayNodeGetMarkupsDisplayNode ()
 
virtual vtkMRMLMarkupsNodeGetMarkupsNode ()
 
virtual vtkMRMLMarkupsNode::ControlPointGetNthControlPoint (int n)
 Get the nth control point.
 
virtual int GetNthControlPointDisplayPosition (int n, double pos[2])
 
virtual int GetNumberOfControlPoints ()
 Get number of control points.
 
virtual vtkPointPlacer * GetPointPlacer ()
 
virtual bool GetTransformationReferencePoint (double referencePointWorld[3])
 Translation, rotation, scaling will happen around this position.
 
vtkTypeBool HasTranslucentPolygonalGeometry () override
 
virtual int IsA (const char *type)
 
bool IsDisplayable ()
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
void ReleaseGraphicsResources (vtkWindow *) override
 
int RenderOpaqueGeometry (vtkViewport *viewport) override
 
int RenderOverlay (vtkViewport *viewport) override
 
int RenderTranslucentPolygonalGeometry (vtkViewport *viewport) override
 
virtual void SetMarkupsDisplayNode (vtkMRMLMarkupsDisplayNode *markupsDisplayNode)
 Set/Get the vtkMRMLMarkupsNode connected with this representation.
 
virtual void UpdateCenterOfRotation ()
 Compute the center of rotation and update it in the Markups node.
 
void UpdateFromMRML (vtkMRMLNode *caller, unsigned long event, void *callData=nullptr) override
 Update the representation from markups node.
 
virtual void UpdateFromMRMLInternal (vtkMRMLNode *caller, unsigned long event, void *callData=nullptr)
 
- Public Member Functions inherited from vtkMRMLAbstractWidgetRepresentation
virtual void AlwaysOnTopOff ()
 
virtual void AlwaysOnTopOn ()
 
void GetActors (vtkPropCollection *) override
 
void GetActors2D (vtkPropCollection *) override
 
virtual bool GetAlwaysOnTop ()
 
virtual double GetAlwaysOnTopRelativeOffsetFactor ()
 
virtual double GetAlwaysOnTopRelativeOffsetUnits ()
 
virtual vtkMRMLApplicationLogicGetApplicationLogic ()
 
double * GetBounds () VTK_SIZEHINT(6) override
 
virtual bool GetNeedToRender ()
 
virtual double GetPickingTolerance ()
 
virtual vtkRenderer * GetRenderer ()
 
double GetScreenScaleFactor ()
 Convenience method for getting screen scale factor from the associated view node.
 
virtual vtkMRMLAbstractViewNodeGetViewNode ()
 
void GetVolumes (vtkPropCollection *) override
 
vtkTypeBool HasTranslucentPolygonalGeometry () override
 
virtual void NeedToRenderOff ()
 
virtual void NeedToRenderOn ()
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
void ReleaseGraphicsResources (vtkWindow *) override
 
int RenderOpaqueGeometry (vtkViewport *vtkNotUsed(viewport)) override
 
int RenderOverlay (vtkViewport *vtkNotUsed(viewport)) override
 
int RenderTranslucentPolygonalGeometry (vtkViewport *vtkNotUsed(viewport)) override
 
int RenderVolumetricGeometry (vtkViewport *vtkNotUsed(viewport)) override
 
virtual void SetAlwaysOnTop (bool)
 
virtual void SetAlwaysOnTopRelativeOffsetFactor (double)
 
virtual void SetAlwaysOnTopRelativeOffsetUnits (double)
 
virtual void SetApplicationLogic (vtkMRMLApplicationLogic *appLogic)
 
virtual void SetNeedToRender (bool)
 
virtual void SetPickingTolerance (double)
 
virtual void SetRenderer (vtkRenderer *ren)
 
virtual void SetViewNode (vtkMRMLAbstractViewNode *viewNode)
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkSlicerMarkupsWidgetRepresentationSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLAbstractWidgetRepresentation
static int IsTypeOf (const char *type)
 
static vtkMRMLAbstractWidgetRepresentationSafeDownCast (vtkObject *o)
 

Protected Member Functions

void BuildLine (vtkPolyData *linePolyData, bool displayPosition)
 
bool GetAllControlPointsSelected ()
 Convenience method.
 
virtual bool GetAllControlPointsVisible ()
 Convenience method.
 
double * GetWidgetColor (int controlPointType) VTK_SIZEHINT(3)
 
virtual void SetMarkupsNode (vtkMRMLMarkupsNode *markupsNode)
 
virtual void UpdateControlPointSize ()=0
 
virtual void UpdateViewScaleFactor ()=0
 
 vtkSlicerMarkupsWidgetRepresentation ()
 
 ~vtkSlicerMarkupsWidgetRepresentation () override
 
- Protected Member Functions inherited from vtkMRMLAbstractWidgetRepresentation
void AddActorsBounds (vtkBoundingBox &bounds, const std::vector< vtkProp * > &actors, double *additionalBounds=nullptr)
 
void GetRendererComputedDisplayPositionFromWorldPosition (const double worldPos[3], double displayPos[2])
 
virtual void UpdateRelativeCoincidentTopologyOffsets (vtkMapper *mapper)
 
 vtkMRMLAbstractWidgetRepresentation ()
 
 ~vtkMRMLAbstractWidgetRepresentation () override
 

Static Protected Member Functions

static int GetGlyphTypeSourceFromDisplay (int glyphTypeDisplay)
 

Protected Attributes

ControlPointsPipelineControlPoints [NumberOfControlPointTypes]
 
double ControlPointSize
 
vtkTypeBool CurveClosed
 
vtkWeakPointer< vtkMRMLMarkupsDisplayNodeMarkupsDisplayNode
 
vtkWeakPointer< vtkMRMLMarkupsNodeMarkupsNode
 
vtkTimeStamp MarkupsTransformModifiedTime
 
vtkSmartPointer< vtkPointPlacer > PointPlacer
 
double ScreenSizePixel
 
vtkSmartPointer< vtkTextActor > TextActor
 
double ViewScaleFactorMmPerPixel
 
- Protected Attributes inherited from vtkMRMLAbstractWidgetRepresentation
bool AlwaysOnTop
 
double AlwaysOnTopRelativeOffsetFactor { 0.0 }
 Relative offset used for rendering occluded actors.
 
double AlwaysOnTopRelativeOffsetUnits { -66000.0 }
 
vtkWeakPointer< vtkMRMLApplicationLogicApplicationLogic
 
double Bounds [6]
 Temporary variable to store GetBounds() result.
 
bool NeedToRender
 
double PickingTolerance
 
vtkWeakPointer< vtkRenderer > Renderer
 The renderer in which this widget is placed.
 
vtkWeakPointer< vtkMRMLAbstractViewNodeViewNode
 

Detailed Description

Class for rendering a markups node.

This class can display a markups node in the scene. It plays a similar role to vtkWidgetRepresentation, but it is simplified and specialized for optimal use in Slicer. It state is stored in the associated MRML display node to avoid extra synchronization mechanisms. The representation only observes MRML node changes, it does not directly process any interaction events directly (interaction events are processed by vtkMRMLAbstractWidget, which then modifies MRML nodes).

This class (and subclasses) are a type of vtkProp; meaning that they can be associated with a vtkRenderer end embedded in a scene like any other vtkActor.

See also
vtkSlicerMarkupsWidgetRepresentation vtkMRMLAbstractWidget vtkPointPlacer

Definition at line 72 of file vtkSlicerMarkupsWidgetRepresentation.h.

Member Typedef Documentation

◆ Superclass

Standard methods for instances of this class.

Definition at line 86 of file vtkSlicerMarkupsWidgetRepresentation.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Unselected 
Selected 
Active 
Project 
ProjectBack 
NumberOfControlPointTypes 

Definition at line 75 of file vtkSlicerMarkupsWidgetRepresentation.h.

Constructor & Destructor Documentation

◆ vtkSlicerMarkupsWidgetRepresentation()

vtkSlicerMarkupsWidgetRepresentation::vtkSlicerMarkupsWidgetRepresentation ( )
protected

◆ ~vtkSlicerMarkupsWidgetRepresentation()

vtkSlicerMarkupsWidgetRepresentation::~vtkSlicerMarkupsWidgetRepresentation ( )
overrideprotected

Member Function Documentation

◆ BuildLine()

void vtkSlicerMarkupsWidgetRepresentation::BuildLine ( vtkPolyData * linePolyData,
bool displayPosition )
protected

◆ CanInteract()

virtual void vtkSlicerMarkupsWidgetRepresentation::CanInteract ( vtkMRMLInteractionEventData * interactionEventData,
int & foundComponentType,
int & foundComponentIndex,
double & closestDistance2 )
virtual

Return found component type (as vtkMRMLMarkupsDisplayNode::ComponentType). closestDistance2 is the squared distance in display coordinates from the closest position where interaction is possible. componentIndex returns index of the found component (e.g., if control point is found then control point index is returned).

Reimplemented in vtkSlicerAngleRepresentation2D, vtkSlicerAngleRepresentation3D, vtkSlicerCurveRepresentation2D, vtkSlicerCurveRepresentation3D, vtkSlicerLineRepresentation2D, vtkSlicerLineRepresentation3D, vtkSlicerMarkupsWidgetRepresentation2D, vtkSlicerMarkupsWidgetRepresentation3D, vtkSlicerPlaneRepresentation2D, vtkSlicerPlaneRepresentation3D, vtkSlicerROIRepresentation2D, and vtkSlicerROIRepresentation3D.

◆ FindClosestPointOnWidget()

virtual int vtkSlicerMarkupsWidgetRepresentation::FindClosestPointOnWidget ( const int displayPos[2],
double worldPos[3],
int * idx )
virtual

◆ GetActors()

void vtkSlicerMarkupsWidgetRepresentation::GetActors ( vtkPropCollection * )
override

Methods to make this class behave as a vtkProp.

◆ GetAllControlPointsSelected()

bool vtkSlicerMarkupsWidgetRepresentation::GetAllControlPointsSelected ( )
protected

Convenience method.

◆ GetAllControlPointsVisible()

virtual bool vtkSlicerMarkupsWidgetRepresentation::GetAllControlPointsVisible ( )
protectedvirtual

Convenience method.

Reimplemented in vtkSlicerMarkupsWidgetRepresentation2D.

◆ GetClassName()

◆ GetControlPointsPolyData()

virtual vtkPolyData * vtkSlicerMarkupsWidgetRepresentation::GetControlPointsPolyData ( int controlPointType)
virtual

Get internal control points polydata - for testing purposes. controlPointType can be Unselected, Selected, Active, Project, ProjectBack.

◆ GetGlyphTypeSourceFromDisplay()

static int vtkSlicerMarkupsWidgetRepresentation::GetGlyphTypeSourceFromDisplay ( int glyphTypeDisplay)
staticprotected

◆ GetLabelControlPointsPolyData()

virtual vtkPolyData * vtkSlicerMarkupsWidgetRepresentation::GetLabelControlPointsPolyData ( int pipeline)
virtual

Get internal label control points polydata - for testing purposes. controlPointType can be Unselected, Selected, Active, Project, ProjectBack.

◆ GetLabels()

virtual vtkStringArray * vtkSlicerMarkupsWidgetRepresentation::GetLabels ( int pipeline)
virtual

Get internal labels list - for testing purposes. controlPointType can be Unselected, Selected, Active, Project, ProjectBack.

◆ GetMarkupsDisplayNode()

virtual vtkMRMLMarkupsDisplayNode * vtkSlicerMarkupsWidgetRepresentation::GetMarkupsDisplayNode ( )
virtual

◆ GetMarkupsNode()

virtual vtkMRMLMarkupsNode * vtkSlicerMarkupsWidgetRepresentation::GetMarkupsNode ( )
virtual

◆ GetNthControlPoint()

virtual vtkMRMLMarkupsNode::ControlPoint * vtkSlicerMarkupsWidgetRepresentation::GetNthControlPoint ( int n)
virtual

Get the nth control point.

◆ GetNthControlPointDisplayPosition()

virtual int vtkSlicerMarkupsWidgetRepresentation::GetNthControlPointDisplayPosition ( int n,
double pos[2] )
virtual

Get the nth node's display position. Will return 1 on success, or 0 if there are not at least (n+1) nodes (0 based counting).

Reimplemented in vtkSlicerMarkupsWidgetRepresentation2D.

◆ GetNumberOfControlPoints()

virtual int vtkSlicerMarkupsWidgetRepresentation::GetNumberOfControlPoints ( )
virtual

Get number of control points.

◆ GetPointPlacer()

virtual vtkPointPlacer * vtkSlicerMarkupsWidgetRepresentation::GetPointPlacer ( )
virtual

◆ GetTransformationReferencePoint()

virtual bool vtkSlicerMarkupsWidgetRepresentation::GetTransformationReferencePoint ( double referencePointWorld[3])
virtual

Translation, rotation, scaling will happen around this position.

Reimplemented in vtkSlicerAngleRepresentation2D, vtkSlicerAngleRepresentation3D, vtkSlicerPlaneRepresentation2D, and vtkSlicerPlaneRepresentation3D.

◆ GetWidgetColor()

double * vtkSlicerMarkupsWidgetRepresentation::GetWidgetColor ( int controlPointType)
protected

◆ HasTranslucentPolygonalGeometry()

vtkTypeBool vtkSlicerMarkupsWidgetRepresentation::HasTranslucentPolygonalGeometry ( )
override

◆ IsA()

◆ IsDisplayable()

bool vtkSlicerMarkupsWidgetRepresentation::IsDisplayable ( )

Returns true if the representation is displayable in the current view. It takes into account current view node's display node and parent folder's visibility.

◆ IsTypeOf()

static int vtkSlicerMarkupsWidgetRepresentation::IsTypeOf ( const char * type)
static

◆ PrintSelf()

void vtkSlicerMarkupsWidgetRepresentation::PrintSelf ( ostream & os,
vtkIndent indent )
override

◆ ReleaseGraphicsResources()

void vtkSlicerMarkupsWidgetRepresentation::ReleaseGraphicsResources ( vtkWindow * )
override

◆ RenderOpaqueGeometry()

int vtkSlicerMarkupsWidgetRepresentation::RenderOpaqueGeometry ( vtkViewport * viewport)
override

◆ RenderOverlay()

int vtkSlicerMarkupsWidgetRepresentation::RenderOverlay ( vtkViewport * viewport)
override

◆ RenderTranslucentPolygonalGeometry()

int vtkSlicerMarkupsWidgetRepresentation::RenderTranslucentPolygonalGeometry ( vtkViewport * viewport)
override

◆ SafeDownCast()

static vtkSlicerMarkupsWidgetRepresentation * vtkSlicerMarkupsWidgetRepresentation::SafeDownCast ( vtkObject * o)
static

◆ SetMarkupsDisplayNode()

virtual void vtkSlicerMarkupsWidgetRepresentation::SetMarkupsDisplayNode ( vtkMRMLMarkupsDisplayNode * markupsDisplayNode)
virtual

Set/Get the vtkMRMLMarkupsNode connected with this representation.

◆ SetMarkupsNode()

virtual void vtkSlicerMarkupsWidgetRepresentation::SetMarkupsNode ( vtkMRMLMarkupsNode * markupsNode)
protectedvirtual

◆ UpdateCenterOfRotation()

virtual void vtkSlicerMarkupsWidgetRepresentation::UpdateCenterOfRotation ( )
virtual

Compute the center of rotation and update it in the Markups node.

◆ UpdateControlPointSize()

virtual void vtkSlicerMarkupsWidgetRepresentation::UpdateControlPointSize ( )
protectedpure virtual

◆ UpdateFromMRML()

void vtkSlicerMarkupsWidgetRepresentation::UpdateFromMRML ( vtkMRMLNode * caller,
unsigned long event,
void * callData = nullptr )
overridevirtual

Update the representation from markups node.

Reimplemented from vtkMRMLAbstractWidgetRepresentation.

◆ UpdateFromMRMLInternal()

◆ UpdateViewScaleFactor()

virtual void vtkSlicerMarkupsWidgetRepresentation::UpdateViewScaleFactor ( )
protectedpure virtual

Member Data Documentation

◆ ControlPoints

ControlPointsPipeline* vtkSlicerMarkupsWidgetRepresentation::ControlPoints[NumberOfControlPointTypes]
protected

Definition at line 223 of file vtkSlicerMarkupsWidgetRepresentation.h.

◆ ControlPointSize

double vtkSlicerMarkupsWidgetRepresentation::ControlPointSize
protected

Definition at line 194 of file vtkSlicerMarkupsWidgetRepresentation.h.

◆ CurveClosed

vtkTypeBool vtkSlicerMarkupsWidgetRepresentation::CurveClosed
protected

Definition at line 205 of file vtkSlicerMarkupsWidgetRepresentation.h.

◆ MarkupsDisplayNode

vtkWeakPointer<vtkMRMLMarkupsDisplayNode> vtkSlicerMarkupsWidgetRepresentation::MarkupsDisplayNode
protected

Definition at line 198 of file vtkSlicerMarkupsWidgetRepresentation.h.

◆ MarkupsNode

vtkWeakPointer<vtkMRMLMarkupsNode> vtkSlicerMarkupsWidgetRepresentation::MarkupsNode
protected

Definition at line 199 of file vtkSlicerMarkupsWidgetRepresentation.h.

◆ MarkupsTransformModifiedTime

vtkTimeStamp vtkSlicerMarkupsWidgetRepresentation::MarkupsTransformModifiedTime
protected

Definition at line 219 of file vtkSlicerMarkupsWidgetRepresentation.h.

◆ PointPlacer

vtkSmartPointer<vtkPointPlacer> vtkSlicerMarkupsWidgetRepresentation::PointPlacer
protected

Definition at line 201 of file vtkSlicerMarkupsWidgetRepresentation.h.

◆ ScreenSizePixel

double vtkSlicerMarkupsWidgetRepresentation::ScreenSizePixel
protected

Definition at line 188 of file vtkSlicerMarkupsWidgetRepresentation.h.

◆ TextActor

vtkSmartPointer<vtkTextActor> vtkSlicerMarkupsWidgetRepresentation::TextActor
protected

Definition at line 203 of file vtkSlicerMarkupsWidgetRepresentation.h.

◆ ViewScaleFactorMmPerPixel

double vtkSlicerMarkupsWidgetRepresentation::ViewScaleFactorMmPerPixel
protected

Definition at line 187 of file vtkSlicerMarkupsWidgetRepresentation.h.


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