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
vtkMRMLSliceIntersectionInteractionRepresentation Class Reference

represent intersections of other slice views in the current slice view More...

#include <Libs/MRML/DisplayableManager/vtkMRMLSliceIntersectionInteractionRepresentation.h>

Inheritance diagram for vtkMRMLSliceIntersectionInteractionRepresentation:
Collaboration diagram for vtkMRMLSliceIntersectionInteractionRepresentation:

Classes

class  HandleInfo
 

Public Types

typedef std::vector< HandleInfoHandleInfoList
 Get the list of info for all interaction handles.
 
typedef vtkMRMLAbstractWidgetRepresentation Superclass
 
- Public Types inherited from vtkMRMLAbstractWidgetRepresentation
typedef vtkProp Superclass
 Standard methods for instances of this class.
 

Public Member Functions

void AddIntersectingSliceLogic (vtkMRMLSliceLogic *sliceLogic)
 
virtual std::string CanInteract (vtkMRMLInteractionEventData *interactionEventData, int &foundComponentType, int &foundComponentIndex, double &closestDistance2, double &handleOpacity)
 
void ComputeSliceIntersectionPoint ()
 Compute slice intersection point between red, green and yellow slice nodes.
 
bool DistanceFromSliceIntersectionToPoint (vtkMRMLSliceNode *intersectingSlice, double point_RAS[3], double &distance)
 Compute distance between a point and a slice intersection.
 
void GetActors2D (vtkPropCollection *) override
 
virtual const char * GetClassName ()
 
virtual HandleInfoList GetHandleInfoList (SliceIntersectionInteractionDisplayPipeline *pipeline)
 
virtual double GetMaximumHandlePickingDistance2 ()
 
virtual vtkMRMLApplicationLogicGetMRMLApplicationLogic ()
 
vtkMRMLSliceDisplayNodeGetSliceDisplayNode ()
 
double * GetSliceIntersectionPoint () VTK_SIZEHINT(3)
 Get slice intersection point between red, green and yellow slice nodes.
 
vtkMRMLSliceNodeGetSliceNode ()
 
virtual int GetTranslateArrowCursor (const std::string &intersectingSliceNodeID)
 
virtual int IsA (const char *type)
 
bool IsDisplayable ()
 
bool IsMouseCursorInSliceView (double cursorPosition[2])
 Check whether the mouse cursor is within the slice view or not.
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
void ReleaseGraphicsResources (vtkWindow *) override
 
void RemoveAllIntersectingSliceNodes ()
 
void RemoveIntersectingSliceNode (vtkMRMLSliceNode *sliceNode)
 
int RenderOverlay (vtkViewport *viewport) override
 
void SetMRMLApplicationLogic (vtkMRMLApplicationLogic *)
 
void SetPipelinesHandlesOpacity (double opacity)
 
void SetPipelinesHandlesVisibility (bool visible)
 
void SetSliceNode (vtkMRMLSliceNode *sliceNode)
 
void TransformIntersectingSlices (vtkMatrix4x4 *rotatedSliceToSliceTransformMatrix)
 
void UpdateFromMRML (vtkMRMLNode *caller, unsigned long event, void *callData=nullptr) override
 
void UpdateIntersectingSliceNodes ()
 
- 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 vtkMRMLSliceIntersectionInteractionRepresentationNew ()
 
static vtkMRMLSliceIntersectionInteractionRepresentationSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLAbstractWidgetRepresentation
static int IsTypeOf (const char *type)
 
static vtkMRMLAbstractWidgetRepresentationSafeDownCast (vtkObject *o)
 

Protected Member Functions

SliceIntersectionInteractionDisplayPipeline * GetDisplayPipelineFromSliceLogic (vtkMRMLSliceLogic *sliceLogic)
 
double GetLineThicknessFromMode (int lineThicknessMode)
 
vtkMRMLSliceDisplayNodeGetSliceDisplayNode (vtkMRMLSliceNode *sliceNode)
 
double GetSliceRotationAngleRad (int eventPos[2])
 
void SetSliceDisplayNode (vtkMRMLSliceDisplayNode *sliceDisplayNode)
 
void SliceModelDisplayNodeModified (vtkMRMLModelDisplayNode *sliceNode)
 
void SliceNodeModified (vtkMRMLSliceNode *sliceNode)
 
void UpdateSliceIntersectionDisplay (SliceIntersectionInteractionDisplayPipeline *pipeline)
 
 vtkMRMLSliceIntersectionInteractionRepresentation ()
 
 ~vtkMRMLSliceIntersectionInteractionRepresentation () 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 void SliceNodeModifiedCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData)
 

Protected Attributes

vtkSmartPointer< vtkMRMLSliceIntersectionInteractionRepresentationHelperHelper
 
double InteractionSize { 3.0 }
 
vtkInternal * Internal
 
double LastEventPosition [2]
 Support picking.
 
vtkMRMLApplicationLogicMRMLApplicationLogic
 
double SliceIntersectionPoint [4]
 Slice intersection point in XY.
 
bool SliceIntersectionPointFound
 Indicate whether a valid slice intersection point was found or not.
 
- 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

represent intersections of other slice views in the current slice view

See also
vtkSliceIntersectionWidget vtkWidgetRepresentation vtkAbstractWidget

Definition at line 55 of file vtkMRMLSliceIntersectionInteractionRepresentation.h.

Member Typedef Documentation

◆ HandleInfoList

Get the list of info for all interaction handles.

Definition at line 148 of file vtkMRMLSliceIntersectionInteractionRepresentation.h.

◆ Superclass

Constructor & Destructor Documentation

◆ vtkMRMLSliceIntersectionInteractionRepresentation()

vtkMRMLSliceIntersectionInteractionRepresentation::vtkMRMLSliceIntersectionInteractionRepresentation ( )
protected

◆ ~vtkMRMLSliceIntersectionInteractionRepresentation()

vtkMRMLSliceIntersectionInteractionRepresentation::~vtkMRMLSliceIntersectionInteractionRepresentation ( )
overrideprotected

Member Function Documentation

◆ AddIntersectingSliceLogic()

void vtkMRMLSliceIntersectionInteractionRepresentation::AddIntersectingSliceLogic ( vtkMRMLSliceLogic * sliceLogic)

◆ CanInteract()

virtual std::string vtkMRMLSliceIntersectionInteractionRepresentation::CanInteract ( vtkMRMLInteractionEventData * interactionEventData,
int & foundComponentType,
int & foundComponentIndex,
double & closestDistance2,
double & handleOpacity )
virtual

Return found component type (as vtkMRMLInteractionDisplayNode::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).

◆ ComputeSliceIntersectionPoint()

void vtkMRMLSliceIntersectionInteractionRepresentation::ComputeSliceIntersectionPoint ( )

Compute slice intersection point between red, green and yellow slice nodes.

◆ DistanceFromSliceIntersectionToPoint()

bool vtkMRMLSliceIntersectionInteractionRepresentation::DistanceFromSliceIntersectionToPoint ( vtkMRMLSliceNode * intersectingSlice,
double point_RAS[3],
double & distance )

Compute distance between a point and a slice intersection.

◆ GetActors2D()

void vtkMRMLSliceIntersectionInteractionRepresentation::GetActors2D ( vtkPropCollection * )
override

Methods to make this class behave as a vtkProp.

◆ GetClassName()

virtual const char * vtkMRMLSliceIntersectionInteractionRepresentation::GetClassName ( )
virtual

◆ GetDisplayPipelineFromSliceLogic()

SliceIntersectionInteractionDisplayPipeline * vtkMRMLSliceIntersectionInteractionRepresentation::GetDisplayPipelineFromSliceLogic ( vtkMRMLSliceLogic * sliceLogic)
protected

◆ GetHandleInfoList()

virtual HandleInfoList vtkMRMLSliceIntersectionInteractionRepresentation::GetHandleInfoList ( SliceIntersectionInteractionDisplayPipeline * pipeline)
virtual

◆ GetLineThicknessFromMode()

double vtkMRMLSliceIntersectionInteractionRepresentation::GetLineThicknessFromMode ( int lineThicknessMode)
protected

◆ GetMaximumHandlePickingDistance2()

virtual double vtkMRMLSliceIntersectionInteractionRepresentation::GetMaximumHandlePickingDistance2 ( )
virtual

◆ GetMRMLApplicationLogic()

virtual vtkMRMLApplicationLogic * vtkMRMLSliceIntersectionInteractionRepresentation::GetMRMLApplicationLogic ( )
virtual

◆ GetSliceDisplayNode() [1/2]

vtkMRMLSliceDisplayNode * vtkMRMLSliceIntersectionInteractionRepresentation::GetSliceDisplayNode ( )

◆ GetSliceDisplayNode() [2/2]

vtkMRMLSliceDisplayNode * vtkMRMLSliceIntersectionInteractionRepresentation::GetSliceDisplayNode ( vtkMRMLSliceNode * sliceNode)
protected

◆ GetSliceIntersectionPoint()

double * vtkMRMLSliceIntersectionInteractionRepresentation::GetSliceIntersectionPoint ( )

Get slice intersection point between red, green and yellow slice nodes.

◆ GetSliceNode()

vtkMRMLSliceNode * vtkMRMLSliceIntersectionInteractionRepresentation::GetSliceNode ( )

◆ GetSliceRotationAngleRad()

double vtkMRMLSliceIntersectionInteractionRepresentation::GetSliceRotationAngleRad ( int eventPos[2])
protected

◆ GetTranslateArrowCursor()

virtual int vtkMRMLSliceIntersectionInteractionRepresentation::GetTranslateArrowCursor ( const std::string & intersectingSliceNodeID)
virtual

◆ IsA()

virtual int vtkMRMLSliceIntersectionInteractionRepresentation::IsA ( const char * type)
virtual

◆ IsDisplayable()

bool vtkMRMLSliceIntersectionInteractionRepresentation::IsDisplayable ( )

◆ IsMouseCursorInSliceView()

bool vtkMRMLSliceIntersectionInteractionRepresentation::IsMouseCursorInSliceView ( double cursorPosition[2])

Check whether the mouse cursor is within the slice view or not.

◆ IsTypeOf()

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

◆ New()

static vtkMRMLSliceIntersectionInteractionRepresentation * vtkMRMLSliceIntersectionInteractionRepresentation::New ( )
static

Instantiate this class.

◆ PrintSelf()

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

◆ ReleaseGraphicsResources()

void vtkMRMLSliceIntersectionInteractionRepresentation::ReleaseGraphicsResources ( vtkWindow * )
override

◆ RemoveAllIntersectingSliceNodes()

void vtkMRMLSliceIntersectionInteractionRepresentation::RemoveAllIntersectingSliceNodes ( )

◆ RemoveIntersectingSliceNode()

void vtkMRMLSliceIntersectionInteractionRepresentation::RemoveIntersectingSliceNode ( vtkMRMLSliceNode * sliceNode)

◆ RenderOverlay()

int vtkMRMLSliceIntersectionInteractionRepresentation::RenderOverlay ( vtkViewport * viewport)
override

◆ SafeDownCast()

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

◆ SetMRMLApplicationLogic()

void vtkMRMLSliceIntersectionInteractionRepresentation::SetMRMLApplicationLogic ( vtkMRMLApplicationLogic * )

◆ SetPipelinesHandlesOpacity()

void vtkMRMLSliceIntersectionInteractionRepresentation::SetPipelinesHandlesOpacity ( double opacity)

◆ SetPipelinesHandlesVisibility()

void vtkMRMLSliceIntersectionInteractionRepresentation::SetPipelinesHandlesVisibility ( bool visible)

◆ SetSliceDisplayNode()

void vtkMRMLSliceIntersectionInteractionRepresentation::SetSliceDisplayNode ( vtkMRMLSliceDisplayNode * sliceDisplayNode)
protected

◆ SetSliceNode()

void vtkMRMLSliceIntersectionInteractionRepresentation::SetSliceNode ( vtkMRMLSliceNode * sliceNode)

◆ SliceModelDisplayNodeModified()

void vtkMRMLSliceIntersectionInteractionRepresentation::SliceModelDisplayNodeModified ( vtkMRMLModelDisplayNode * sliceNode)
protected

◆ SliceNodeModified()

void vtkMRMLSliceIntersectionInteractionRepresentation::SliceNodeModified ( vtkMRMLSliceNode * sliceNode)
protected

◆ SliceNodeModifiedCallback()

static void vtkMRMLSliceIntersectionInteractionRepresentation::SliceNodeModifiedCallback ( vtkObject * caller,
unsigned long eid,
void * clientData,
void * callData )
staticprotected

◆ TransformIntersectingSlices()

void vtkMRMLSliceIntersectionInteractionRepresentation::TransformIntersectingSlices ( vtkMatrix4x4 * rotatedSliceToSliceTransformMatrix)

◆ UpdateFromMRML()

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

UpdateFromMRML() - update the widget from its state stored in MRML. if event is non-zero then a specific update (faster, smaller scope) is performed instead of a full update.

Reimplemented from vtkMRMLAbstractWidgetRepresentation.

◆ UpdateIntersectingSliceNodes()

void vtkMRMLSliceIntersectionInteractionRepresentation::UpdateIntersectingSliceNodes ( )

◆ UpdateSliceIntersectionDisplay()

void vtkMRMLSliceIntersectionInteractionRepresentation::UpdateSliceIntersectionDisplay ( SliceIntersectionInteractionDisplayPipeline * pipeline)
protected

Member Data Documentation

◆ Helper

vtkSmartPointer<vtkMRMLSliceIntersectionInteractionRepresentationHelper> vtkMRMLSliceIntersectionInteractionRepresentation::Helper
protected

◆ InteractionSize

double vtkMRMLSliceIntersectionInteractionRepresentation::InteractionSize { 3.0 }
protected

Handle size, specified in renderer world coordinate system. For slice views, renderer world coordinate system is the display coordinate system, so it is measured in pixels. For 3D views, renderer world coordinate system is the Slicer world coordinate system, so it is measured in the scene length unit (typically millimeters).

Definition at line 186 of file vtkMRMLSliceIntersectionInteractionRepresentation.h.

◆ Internal

vtkInternal* vtkMRMLSliceIntersectionInteractionRepresentation::Internal
protected

◆ LastEventPosition

double vtkMRMLSliceIntersectionInteractionRepresentation::LastEventPosition[2]
protected

Support picking.

Definition at line 174 of file vtkMRMLSliceIntersectionInteractionRepresentation.h.

◆ MRMLApplicationLogic

vtkMRMLApplicationLogic* vtkMRMLSliceIntersectionInteractionRepresentation::MRMLApplicationLogic
protected

◆ SliceIntersectionPoint

double vtkMRMLSliceIntersectionInteractionRepresentation::SliceIntersectionPoint[4]
protected

Slice intersection point in XY.

Definition at line 177 of file vtkMRMLSliceIntersectionInteractionRepresentation.h.

◆ SliceIntersectionPointFound

bool vtkMRMLSliceIntersectionInteractionRepresentation::SliceIntersectionPointFound
protected

Indicate whether a valid slice intersection point was found or not.

Definition at line 180 of file vtkMRMLSliceIntersectionInteractionRepresentation.h.


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