VTK
vtkResliceCursor.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkResliceCursor.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=========================================================================*/
35#ifndef vtkResliceCursor_h
36#define vtkResliceCursor_h
37
38#include "vtkInteractionWidgetsModule.h" // For export macro
39#include "vtkObject.h"
40
41class vtkImageData;
42class vtkPolyData;
43class vtkPlane;
45
46class VTKINTERACTIONWIDGETS_EXPORT vtkResliceCursor : public vtkObject
47{
48public:
50
52
54
57 virtual void SetImage(vtkImageData * );
58 vtkGetObjectMacro( Image, vtkImageData );
60
62
65 virtual void SetCenter( double, double, double );
66 virtual void SetCenter( double center[3] );
67 vtkGetVector3Macro( Center, double );
69
71
74 vtkSetVector3Macro( Thickness, double );
75 vtkGetVector3Macro( Thickness, double );
77
79
82 vtkSetMacro( ThickMode, int );
83 vtkGetMacro( ThickMode, int );
84 vtkBooleanMacro( ThickMode, int );
86
91
96
100 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
101
107 virtual vtkPlane * GetPlane( int n );
108
112 virtual void Update();
113
115
118 vtkGetVector3Macro( XAxis, double );
119 vtkGetVector3Macro( YAxis, double );
120 vtkGetVector3Macro( ZAxis, double );
121 vtkSetVector3Macro( XAxis, double );
122 vtkSetVector3Macro( YAxis, double );
123 vtkSetVector3Macro( ZAxis, double );
124 virtual double * GetAxis( int i );
126
128
132 vtkSetMacro( Hole, int );
133 vtkGetMacro( Hole, int );
135
137
140 vtkSetMacro( HoleWidth, double );
141 vtkGetMacro( HoleWidth, double );
143
145
149 vtkSetMacro( HoleWidthInPixels, double );
150 vtkGetMacro( HoleWidthInPixels, double );
152
157
163 virtual void Reset();
164
165protected:
168
169 virtual void BuildCursorGeometry();
170 virtual void BuildPolyData();
171 virtual void BuildCursorTopology();
176 virtual void ComputeAxes();
177
179 int Hole;
180 double HoleWidth;
182 double Thickness[3];
183 double Center[3];
184 double XAxis[3];
185 double YAxis[3];
186 double ZAxis[3];
189
190 vtkPolyData *CenterlineAxis[3];
191
194
195private:
196 vtkResliceCursor(const vtkResliceCursor&) VTK_DELETE_FUNCTION;
197 void operator=(const vtkResliceCursor&) VTK_DELETE_FUNCTION;
198};
199
200#endif
topologically and geometrically regular array of data
Definition: vtkImageData.h:46
a simple class to control print indentation
Definition: vtkIndent.h:40
abstract base class for most VTK objects
Definition: vtkObject.h:60
maintain a list of planes
perform various plane computations
Definition: vtkPlane.h:38
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:86
Geometry for a reslice cursor.
virtual void SetImage(vtkImageData *)
Set the image (3D) that we are slicing.
virtual double * GetAxis(int i)
virtual void SetCenter(double center[3])
virtual void BuildCursorTopology()
static vtkResliceCursor * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Printself method.
virtual void ComputeAxes()
virtual void Reset()
Reset the cursor to the default position, ie with the axes, normal to each other and axis aligned and...
virtual void SetCenter(double, double, double)
Set/Get the cente of the reslice cursor.
vtkImageData * Image
vtkPolyData * PolyData
virtual void BuildCursorGeometry()
virtual void BuildCursorTopologyWithoutHole()
vtkPlaneCollection * ReslicePlanes
virtual vtkMTimeType GetMTime()
Get the MTime.
vtkTimeStamp PolyDataBuildTime
virtual void Update()
Build the polydata.
virtual vtkPolyData * GetCenterlineAxisPolyData(int axis)
Get the slab and centerline polydata along an axis.
virtual void BuildCursorTopologyWithHole()
virtual vtkPolyData * GetPolyData()
Get the 3D PolyData representation.
virtual void BuildCursorGeometryWithHole()
virtual void BuildPolyData()
virtual void BuildCursorGeometryWithoutHole()
virtual vtkPlane * GetPlane(int n)
Get the planes that represent normals along the X, Y and Z.
record modification and/or execution time
Definition: vtkTimeStamp.h:36
@ center
Definition: vtkX3D.h:230
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkTypeUInt64 vtkMTimeType
Definition: vtkType.h:248