24#ifndef vtkMRMLSliceIntersectionRepresentation2D_h
25#define vtkMRMLSliceIntersectionRepresentation2D_h
27#include "vtkMRMLDisplayableManagerExport.h"
38class vtkPolyDataMapper2D;
43class vtkLeaderActor2D;
48class SliceIntersectionDisplayPipeline;
64 void PrintSelf(ostream& os, vtkIndent indent)
override;
89 void TransformIntersectingSlices(vtkMatrix4x4* rotatedSliceToSliceTransformMatrix);
95 SliceIntersectionDisplayPipeline* GetDisplayPipelineFromSliceLogic(
vtkMRMLSliceLogic* sliceLogic);
97 static
void SliceNodeModifiedCallback(vtkObject* caller,
unsigned long eid,
void* clientData,
void* callData);
101 void UpdateSliceIntersectionDisplay(SliceIntersectionDisplayPipeline *pipeline);
103 double GetSliceRotationAngleRad(
int eventPos[2]);
106 vtkTransform *CurrentTransform;
107 vtkTransform *TotalTransform;
109 double DisplayOrigin[3];
110 double CurrentTranslation[3];
111 double StartWorldPosition[4];
114 double LastEventPosition[2];
117 double SliceIntersectionPoint[4];
122 vtkInternal * Internal;
MRML node to represent a display property of 3D surface model.
represent intersections of other slice views in the current slice view
void UpdateIntersectingSliceNodes()
double * GetSliceIntersectionPoint() VTK_SIZEHINT(3)
static vtkMRMLSliceIntersectionRepresentation2D * New()
void SetSliceNode(vtkMRMLSliceNode *sliceNode)
void AddIntersectingSliceLogic(vtkMRMLSliceLogic *sliceLogic)
void GetActors2D(vtkPropCollection *) override
void ReleaseGraphicsResources(vtkWindow *) override
void RemoveIntersectingSliceNode(vtkMRMLSliceNode *sliceNode)
int RenderOverlay(vtkViewport *viewport) override
void PrintSelf(ostream &os, vtkIndent indent) override
void RemoveAllIntersectingSliceNodes()
void SetMRMLApplicationLogic(vtkMRMLApplicationLogic *)
vtkMRMLSliceNode * GetSliceNode()
Slicer logic class for slice manipulation.
MRML node for storing a slice through RAS space.