18 #ifndef vtkResliceCursorRepresentation_h
19 #define vtkResliceCursorRepresentation_h
21 #include "vtkInteractionWidgetsModule.h"
25 VTK_ABI_NAMESPACE_BEGIN
45 #define VTK_RESLICE_CURSOR_REPRESENTATION_MAX_TEXTBUFF 128
65 vtkSetClampMacro(Tolerance,
int, 1, 100);
66 vtkGetMacro(Tolerance,
int);
85 vtkBooleanMacro(RestrictPlaneToVolume,
vtkTypeBool);
94 void SetThicknessLabelFormat(
const char* format);
95 vtkGetStringMacro(ThicknessLabelFormat);
122 virtual char* GetThicknessLabelText();
128 virtual double* GetThicknessLabelPosition();
129 virtual void GetThicknessLabelPosition(
double pos[3]);
130 virtual void GetWorldThicknessLabelPosition(
double pos[3]);
175 virtual
void SetColorMap(vtkImageMapToColors*);
185 void SetWindowLevel(
double window,
double level,
int copy = 0);
186 void GetWindowLevel(
double wl[2]);
187 double GetWindow() {
return this->CurrentWindow; }
200 vtkGetMacro(DisplayText, vtkTypeBool);
201 vtkBooleanMacro(DisplayText, vtkTypeBool);
217 vtkSetMacro(UseImageActor, vtkTypeBool);
218 vtkGetMacro(UseImageActor, vtkTypeBool);
219 vtkBooleanMacro(UseImageActor, vtkTypeBool);
227 vtkSetMacro(IndependentThickness,
bool);
228 vtkGetMacro(IndependentThickness,
bool);
229 vtkBooleanMacro(IndependentThickness,
bool);
237 void SetManipulationMode(
int m);
238 vtkGetMacro(ManipulationMode,
int);
247 void ActivateText(
int);
248 void ManageTextDisplay();
256 virtual
void InitializeReslicePlane();
257 virtual
void ResetCamera();
279 static
int BoundPlane(
double bounds[6],
double origin[3],
double p1[3],
double p2[3]);
286 static
void TransformPlane(vtkPlaneSource* planeToTransform,
double targetCenter[3],
287 double targetNormal[3],
double targetViewUp[3]);
291 ~vtkResliceCursorRepresentation() override;
298 virtual
void CreateDefaultResliceAlgorithm();
299 virtual
void SetResliceParameters(
300 double outputSpacingX,
double outputSpacingY,
int extentX,
int extentY);
306 virtual
void WindowLevel(
double x,
double y);
311 virtual
void UpdateReslicePlane();
316 virtual
void ComputeReslicePlaneOrigin();
326 void GetVector1(
double d[3]);
327 void GetVector2(
double d[3]);
334 int ManipulationMode;
343 char* ThicknessLabelFormat;
346 vtkPlaneSource* PlaneSource;
347 vtkTypeBool RestrictPlaneToVolume;
348 vtkTypeBool ShowReslicedImage;
352 vtkMatrix4x4* ResliceAxes;
353 vtkMatrix4x4* NewResliceAxes;
360 double OriginalWindow;
361 double OriginalLevel;
362 double CurrentWindow;
364 double InitialWindow;
366 double LastEventPosition[2];
367 vtkTypeBool UseImageActor;
369 vtkTypeBool DisplayText;
370 bool IndependentThickness = false;
376 vtkResliceCursorRepresentation(const vtkResliceCursorRepresentation&) = delete;
377 void operator=(const vtkResliceCursorRepresentation&) = delete;
380 VTK_ABI_NAMESPACE_END
represents an object (geometry & properties) in a rendered scene
represent and manipulate 4x4 transformation matrices
generates a 2D reslice cursor polydata
a actor that draws 2D data
#define VTK_MARSHAL_EXCLUDE_REASON_IS_REDUNDANT
Superclass for mapping scalar values to colors.
An actor that displays text.
draw an image in a rendered 3D scene
a simple class to control print indentation
topologically and geometrically regular array of data
perform various plane computations
map the input image through a lookup table
#define VTK_RESLICE_CURSOR_REPRESENTATION_MAX_TEXTBUFF
handles properties associated with a texture map
represent text properties.
Reslices a volume along a new set of axes.
create an array of quadrilaterals located in a plane
#define VTK_MARSHALEXCLUDE(reason)
Generic algorithm superclass for image algs.
double GetLevel()
Set/Get the current window and level values.
represent the vtkResliceCursorWidget
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL
Geometry for a reslice cursor.