VTK  9.7.1
vtkResliceCursorActor.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
15 #ifndef vtkResliceCursorActor_h
16 #define vtkResliceCursorActor_h
17 
18 #include "vtkInteractionWidgetsModule.h" // For export macro
19 #include "vtkProp3D.h"
20 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
21 
22 VTK_ABI_NAMESPACE_BEGIN
23 class vtkResliceCursor;
25 class vtkPolyDataMapper;
26 class vtkActor;
27 class vtkProperty;
28 class vtkBoundingBox;
29 
30 class VTKINTERACTIONWIDGETS_EXPORT VTK_MARSHALAUTO vtkResliceCursorActor : public vtkProp3D
31 {
32 
33 public:
35 
38  static vtkResliceCursorActor* New();
40  void PrintSelf(ostream& os, vtkIndent indent) override;
42 
44 
47  vtkGetObjectMacro(CursorAlgorithm, vtkResliceCursorPolyDataAlgorithm);
49 
53  int RenderOpaqueGeometry(vtkViewport* viewport) override;
54 
59 
65  void ReleaseGraphicsResources(vtkWindow*) override;
66 
70  double* GetBounds() override;
71 
75  vtkMTimeType GetMTime() override;
76 
78 
81  vtkProperty* GetCenterlineProperty(int i);
82  vtkProperty* GetThickSlabProperty(int i);
84 
86 
89  vtkActor* GetCenterlineActor(int axis);
90  vtkActor* GetThickSlabActor(int axis);
91  void SetCenterlineActor(int axis, vtkActor* prop);
92  void SetThickSlabActor(int axis, vtkActor* prop);
93  int GetNumberOfCenterlineActors() { return 3; }
94  int GetNumberOfThickSlabActors() { return 3; }
96 
100  virtual void SetUserMatrix(vtkMatrix4x4* matrix);
101 
102 protected:
104  ~vtkResliceCursorActor() override;
105 
106  void UpdateViewProps(vtkViewport* v = nullptr);
107  void UpdateHoleSize(vtkViewport* v);
108 
110  vtkPolyDataMapper* CursorCenterlineMapper[3];
111  vtkActor* CursorCenterlineActor[3];
112  vtkPolyDataMapper* CursorThickSlabMapper[3];
113  vtkActor* CursorThickSlabActor[3];
114  vtkProperty* CenterlineProperty[3];
115  vtkProperty* ThickSlabProperty[3];
116 
117 private:
119  void operator=(const vtkResliceCursorActor&) = delete;
120 };
121 
122 VTK_ABI_NAMESPACE_END
123 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:41
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:31
void SetUserMatrix(vtkMatrix4x4 *matrix)
The UserMatrix can be used in place of UserTransform.
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:318
abstract specification for Viewports
Definition: vtkViewport.h:46
represent surface properties of a geometric object
Definition: vtkProperty.h:59
virtual int RenderOpaqueGeometry(vtkViewport *)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
Definition: vtkProp.h:236
int GetNumberOfThickSlabActors()
Get/Set the centerline actor along a particular axis.
virtual vtkTypeBool HasTranslucentPolygonalGeometry()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
Definition: vtkProp.h:300
generates a 2D reslice cursor polydata
vtkNew< vtkResliceCursorPolyDataAlgorithm > CursorAlgorithm
int GetNumberOfCenterlineActors()
Get/Set the centerline actor along a particular axis.
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:39
int vtkTypeBool
Definition: vtkABI.h:64
virtual void ReleaseGraphicsResources(vtkWindow *)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
Definition: vtkProp.h:321
window superclass for vtkRenderWindow
Definition: vtkWindow.h:41
a simple class to control print indentation
Definition: vtkIndent.h:28
Represent a reslice cursor.
map vtkPolyData to graphics primitives
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
#define VTK_MARSHALAUTO
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkMTimeType GetMTime() override
Get the vtkProp3D's mtime.
Fast, simple class for representing and operating on 3D bounds.
Geometry for a reslice cursor.