25 #ifndef vtkMRMLSliceIntersectionWidget_h 26 #define vtkMRMLSliceIntersectionWidget_h 28 #include "vtkMRMLDisplayableManagerExport.h" 33 #include <vtkCallbackCommand.h> 34 #include <vtkCollection.h> 35 #include <vtkSmartPointer.h> 36 #include <vtkWeakPointer.h> 38 class vtkSliceIntersectionRepresentation2D;
56 void PrintSelf(ostream& os, vtkIndent indent)
override;
62 void CreateDefaultRepresentation();
126 ActionBrowseSlice = 64,
127 ActionShowSlice = 128,
128 ActionAdjustLightbox = 256,
129 ActionSelectVolume = 512,
130 ActionSetCursorPosition = 1024,
131 ActionSetCrosshairPosition = 2048,
132 ActionTranslateSliceIntersection = 4096,
133 ActionRotateSliceIntersection = 8192,
134 ActionAll = ActionTranslate | ActionZoom | ActionRotate | ActionBlend
135 | ActionBrowseSlice | ActionShowSlice | ActionAdjustLightbox | ActionSelectVolume
136 | ActionSetCursorPosition | ActionSetCrosshairPosition
137 | ActionTranslateSliceIntersection | ActionRotateSliceIntersection
141 void SetActionsEnabled(
int actions);
144 int GetActionsEnabled();
150 void SetActionEnabled(
int actionsMask,
bool enable =
true);
153 bool GetActionEnabled(
int actionsMask);
155 void UpdateInteractionEventMapping();
169 double GetSliceRotationAngleRad(
double eventPos[2]);
183 bool Rotate(
double sliceRotationAngleRad);
191 void SetLabelOpacity(
double opacity);
192 double GetLabelOpacity();
200 static void SliceLogicsModifiedCallback(vtkObject* caller,
unsigned long eid,
void* clientData,
void* callData);
207 double StartEventPosition[2];
209 int PreviousEventPosition[2];
210 double StartRotationCenter[2];
211 double StartRotationCenter_RAS[4];
213 double StartActionFOV[3];
214 double VolumeScalarRange[2];
232 double GetSliceSpacing();
234 void IncrementSlice();
235 void DecrementSlice();
236 void MoveSlice(
double delta);
243 void CycleVolumeLayer(
int layer,
int direction);
MRML node for storing a slice through RAS space.
MRML node for representing segmentation display attributes.