VTK
vtkResliceCursorActor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkResliceCursorActor.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
27 #ifndef vtkResliceCursorActor_h
28 #define vtkResliceCursorActor_h
29 
30 #include "vtkInteractionWidgetsModule.h" // For export macro
31 #include "vtkProp3D.h"
32 
33 class vtkResliceCursor;
35 class vtkPolyDataMapper;
36 class vtkActor;
37 class vtkProperty;
38 class vtkBoundingBox;
39 
40 class VTKINTERACTIONWIDGETS_EXPORT vtkResliceCursorActor : public vtkProp3D
41 {
42 
43 public:
44 
46 
49  static vtkResliceCursorActor *New();
51  void PrintSelf(ostream& os, vtkIndent indent) override;
53 
55 
58  vtkGetObjectMacro( CursorAlgorithm, vtkResliceCursorPolyDataAlgorithm );
60 
64  int RenderOpaqueGeometry(vtkViewport *viewport) override;
65 
70 
76  void ReleaseGraphicsResources(vtkWindow *) override;
77 
81  double *GetBounds() override;
82 
86  vtkMTimeType GetMTime() override;
87 
89 
92  vtkProperty *GetCenterlineProperty( int i );
93  vtkProperty *GetThickSlabProperty( int i );
95 
99  vtkActor * GetCenterlineActor(int axis);
100 
104  virtual void SetUserMatrix( vtkMatrix4x4 *matrix);
105 
106 protected:
108  ~vtkResliceCursorActor() override;
109 
110  void UpdateViewProps( vtkViewport * v = nullptr );
111  void UpdateHoleSize( vtkViewport * v );
112 
114  vtkPolyDataMapper * CursorCenterlineMapper[3];
115  vtkActor * CursorCenterlineActor[3];
116  vtkPolyDataMapper * CursorThickSlabMapper[3];
117  vtkActor * CursorThickSlabActor[3];
118  vtkProperty * CenterlineProperty[3];
119  vtkProperty * ThickSlabProperty[3];
120 
121 private:
123  void operator=(const vtkResliceCursorActor&) = delete;
124 };
125 
126 #endif
vtkResliceCursorPolyDataAlgorithm * CursorAlgorithm
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:51
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:41
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:302
abstract specification for Viewports
Definition: vtkViewport.h:47
represent surface properties of a geometric object
Definition: vtkProperty.h:66
virtual int RenderOpaqueGeometry(vtkViewport *)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
Definition: vtkProp.h:224
virtual vtkTypeBool HasTranslucentPolygonalGeometry()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
Definition: vtkProp.h:296
generates a 2D reslice cursor polydata
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:46
int vtkTypeBool
Definition: vtkABI.h:69
virtual void ReleaseGraphicsResources(vtkWindow *)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
Definition: vtkProp.h:305
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
a simple class to control print indentation
Definition: vtkIndent.h:39
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.
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 dealing with 3D bounds.
Geometry for a reslice cursor.