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 =========================================================================*/
34 #ifndef vtkResliceCursor_h
35 #define vtkResliceCursor_h
36 
37 #include "vtkInteractionWidgetsModule.h" // For export macro
38 #include "vtkObject.h"
39 
40 class vtkImageData;
41 class vtkPolyData;
42 class vtkPlane;
43 class vtkPlaneCollection;
44 
46 {
47 public:
49 
50  static vtkResliceCursor *New();
51 
53 
54  virtual void SetImage(vtkImageData * );
57 
59 
60  virtual void SetCenter( double, double, double );
61  virtual void SetCenter( double center[3] );
62  vtkGetVector3Macro( Center, double );
64 
66 
67  vtkSetVector3Macro( Thickness, double );
68  vtkGetVector3Macro( Thickness, double );
70 
72 
73  vtkSetMacro( ThickMode, int );
74  vtkGetMacro( ThickMode, int );
75  vtkBooleanMacro( ThickMode, int );
77 
79  virtual vtkPolyData * GetPolyData();
80 
82  virtual vtkPolyData * GetCenterlineAxisPolyData( int axis );
83 
85  virtual void PrintSelf(ostream& os, vtkIndent indent);
86 
90  virtual vtkPlane * GetPlane( int n );
91 
93  virtual void Update();
94 
96 
97  vtkGetVector3Macro( XAxis, double );
98  vtkGetVector3Macro( YAxis, double );
99  vtkGetVector3Macro( ZAxis, double );
100  vtkSetVector3Macro( XAxis, double );
101  vtkSetVector3Macro( YAxis, double );
102  vtkSetVector3Macro( ZAxis, double );
103  virtual double * GetAxis( int i );
105 
107 
109  vtkSetMacro( Hole, int );
110  vtkGetMacro( Hole, int );
112 
114 
115  vtkSetMacro( HoleWidth, double );
116  vtkGetMacro( HoleWidth, double );
118 
120 
122  vtkSetMacro( HoleWidthInPixels, double );
123  vtkGetMacro( HoleWidthInPixels, double );
125 
127  virtual unsigned long int GetMTime();
128 
132  virtual void Reset();
133 
134 protected:
137 
138  virtual void BuildCursorGeometry();
139  virtual void BuildPolyData();
140  virtual void BuildCursorTopology();
145  virtual void ComputeAxes();
146 
148  int Hole;
149  double HoleWidth;
151  double Thickness[3];
152  double Center[3];
153  double XAxis[3];
154  double YAxis[3];
155  double ZAxis[3];
158 
159  vtkPolyData *CenterlineAxis[3];
160 
163 
164 private:
165  vtkResliceCursor(const vtkResliceCursor&); // Not implemented.
166  void operator=(const vtkResliceCursor&); // Not implemented.
167 };
168 
169 #endif
vtkResliceCursor::PolyData
vtkPolyData * PolyData
Definition: vtkResliceCursor.h:157
vtkPlane
perform various plane computations
Definition: vtkPlane.h:37
vtkResliceCursor::BuildCursorTopology
virtual void BuildCursorTopology()
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkSetVector3Macro
#define vtkSetVector3Macro(name, type)
Definition: vtkSetGet.h:287
vtkResliceCursor::GetAxis
virtual double * GetAxis(int i)
vtkResliceCursor::New
static vtkResliceCursor * New()
vtkResliceCursor::ReslicePlanes
vtkPlaneCollection * ReslicePlanes
Definition: vtkResliceCursor.h:161
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:35
vtkResliceCursor
Geometry for a reslice cursor.
Definition: vtkResliceCursor.h:46
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkgl::n
GLclampd n
Definition: vtkgl.h:14370
vtkResliceCursor::GetMTime
virtual unsigned long int GetMTime()
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkResliceCursor::Reset
virtual void Reset()
vtkInteractionWidgetsModule.h
vtkResliceCursor::GetPolyData
virtual vtkPolyData * GetPolyData()
vtkX3D::center
@ center
Definition: vtkX3D.h:230
vtkResliceCursor::BuildCursorGeometryWithoutHole
virtual void BuildCursorGeometryWithoutHole()
vtkResliceCursor::GetPlane
virtual vtkPlane * GetPlane(int n)
vtkResliceCursor::Hole
int Hole
Definition: vtkResliceCursor.h:148
vtkResliceCursor::~vtkResliceCursor
~vtkResliceCursor()
vtkResliceCursor::HoleWidthInPixels
double HoleWidthInPixels
Definition: vtkResliceCursor.h:150
vtkResliceCursor::SetCenter
virtual void SetCenter(double center[3])
vtkGetVector3Macro
#define vtkGetVector3Macro(name, type)
Definition: vtkSetGet.h:304
vtkResliceCursor::BuildCursorTopologyWithHole
virtual void BuildCursorTopologyWithHole()
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkResliceCursor::Image
vtkImageData * Image
Definition: vtkResliceCursor.h:156
vtkResliceCursor::PolyDataBuildTime
vtkTimeStamp PolyDataBuildTime
Definition: vtkResliceCursor.h:162
vtkResliceCursor::SetCenter
virtual void SetCenter(double, double, double)
vtkResliceCursor::SetImage
virtual void SetImage(vtkImageData *)
vtkResliceCursor::Update
virtual void Update()
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkResliceCursor::BuildCursorGeometry
virtual void BuildCursorGeometry()
vtkResliceCursor::ThickMode
int ThickMode
Definition: vtkResliceCursor.h:147
vtkResliceCursor::HoleWidth
double HoleWidth
Definition: vtkResliceCursor.h:149
vtkResliceCursor::vtkResliceCursor
vtkResliceCursor()
vtkObject.h
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkResliceCursor::ComputeAxes
virtual void ComputeAxes()
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
VTKINTERACTIONWIDGETS_EXPORT
#define VTKINTERACTIONWIDGETS_EXPORT
Definition: vtkInteractionWidgetsModule.h:15
vtkResliceCursor::BuildCursorTopologyWithoutHole
virtual void BuildCursorTopologyWithoutHole()
vtkResliceCursor::PrintSelf
virtual void PrintSelf(ostream &os, vtkIndent indent)
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkResliceCursor::GetCenterlineAxisPolyData
virtual vtkPolyData * GetCenterlineAxisPolyData(int axis)
vtkResliceCursor::BuildCursorGeometryWithHole
virtual void BuildCursorGeometryWithHole()
vtkPlaneCollection
maintain a list of planes
Definition: vtkPlaneCollection.h:36
vtkResliceCursor::BuildPolyData
virtual void BuildPolyData()