VTK
vtkResliceImageViewerMeasurements.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkResliceImageViewerMeasurements.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 =========================================================================*/
25 #ifndef vtkResliceImageViewerMeasurements_h
26 #define vtkResliceImageViewerMeasurements_h
27 
28 #include "vtkInteractionImageModule.h" // For export macro
29 #include "vtkObject.h"
30 
32 class vtkAbstractWidget;
33 class vtkCallbackCommand;
34 class vtkCollection;
35 class vtkDistanceWidget;
36 class vtkAngleWidget;
39 class vtkHandleWidget;
40 class vtkCaptionWidget;
41 class vtkContourWidget;
42 class vtkSeedWidget;
43 
45 {
46 public:
47 
49 
52  void PrintSelf(ostream& os, vtkIndent indent);
54 
56  virtual void Render();
57 
59 
60  virtual void AddItem(vtkAbstractWidget *);
61  virtual void RemoveItem(vtkAbstractWidget *);
62  virtual void RemoveAllItems();
64 
66 
70  vtkSetClampMacro(ProcessEvents, int, 0, 1);
71  vtkGetMacro(ProcessEvents, int);
72  vtkBooleanMacro(ProcessEvents, int);
74 
76 
77  vtkSetMacro( Tolerance, double );
78  vtkGetMacro( Tolerance, double );
80 
82 
85  vtkGetObjectMacro( ResliceImageViewer, vtkResliceImageViewer );
87 
90  virtual void Update();
91 
92 protected:
95 
97 
107  bool IsPositionOnReslicedPlane( double p[3] );
109 
110  // Handles the events; centralized here for all widgets.
111  static void ProcessEventsHandler(vtkObject* object, unsigned long event,
112  void* clientdata, void* calldata);
113 
116 
117  // Handle the visibility of the measurements.
119 
120  // Flag indicating if we should handle events.
121  // On by default.
123 
124  // Tolerance for Point-in-plane computation
125  double Tolerance;
126 
127 private:
129  void operator=(const vtkResliceImageViewerMeasurements&); // Not implemented.
130 };
131 
132 #endif
vtkResliceImageViewerMeasurements::Tolerance
double Tolerance
Definition: vtkResliceImageViewerMeasurements.h:125
vtkAngleWidget
measure the angle between two rays (defined by three points)
Definition: vtkAngleWidget.h:91
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkDistanceWidget
measure the distance between two points
Definition: vtkDistanceWidget.h:89
vtkResliceImageViewerMeasurements::Update
virtual void Update()
vtkgl::h
GLfloat GLfloat GLfloat GLfloat h
Definition: vtkgl.h:14364
vtkInteractionImageModule.h
vtkHandleWidget
a general widget for moving handles
Definition: vtkHandleWidget.h:79
vtkResliceImageViewerMeasurements::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkResliceImageViewerMeasurements::IsWidgetOnReslicedPlane
bool IsWidgetOnReslicedPlane(vtkBiDimensionalWidget *w)
vtkResliceImageViewerMeasurements::RemoveItem
virtual void RemoveItem(vtkAbstractWidget *)
vtkResliceImageViewerMeasurements::~vtkResliceImageViewerMeasurements
~vtkResliceImageViewerMeasurements()
vtkResliceImageViewerMeasurements::IsWidgetOnReslicedPlane
bool IsWidgetOnReslicedPlane(vtkHandleWidget *w)
vtkResliceImageViewerMeasurements::AddItem
virtual void AddItem(vtkAbstractWidget *)
vtkResliceImageViewerMeasurements::EventCallbackCommand
vtkCallbackCommand * EventCallbackCommand
Definition: vtkResliceImageViewerMeasurements.h:118
vtkCaptionWidget
widget for placing a caption (text plus leader)
Definition: vtkCaptionWidget.h:57
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkHandleRepresentation
abstract class for representing widget handles
Definition: vtkHandleRepresentation.h:58
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkContourWidget
create a contour with a set of points
Definition: vtkContourWidget.h:139
vtkResliceImageViewerMeasurements::IsWidgetOnReslicedPlane
bool IsWidgetOnReslicedPlane(vtkContourWidget *w)
vtkgl::event
struct _cl_event * event
Definition: vtkgl.h:14387
vtkResliceImageViewerMeasurements::RemoveAllItems
virtual void RemoveAllItems()
vtkResliceImageViewerMeasurements::vtkResliceImageViewerMeasurements
vtkResliceImageViewerMeasurements()
vtkResliceImageViewerMeasurements
Manage measurements on a resliced image.
Definition: vtkResliceImageViewerMeasurements.h:45
vtkResliceImageViewerMeasurements::SetResliceImageViewer
virtual void SetResliceImageViewer(vtkResliceImageViewer *)
vtkResliceImageViewerMeasurements::WidgetCollection
vtkCollection * WidgetCollection
Definition: vtkResliceImageViewerMeasurements.h:115
vtkAbstractWidget
define the API for widget / widget representation
Definition: vtkAbstractWidget.h:66
vtkResliceImageViewerMeasurements::IsWidgetOnReslicedPlane
bool IsWidgetOnReslicedPlane(vtkCaptionWidget *w)
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
vtkResliceImageViewerMeasurements::IsWidgetOnReslicedPlane
bool IsWidgetOnReslicedPlane(vtkDistanceWidget *w)
vtkCollection
create and manipulate unsorted lists of objects
Definition: vtkCollection.h:53
VTKINTERACTIONIMAGE_EXPORT
#define VTKINTERACTIONIMAGE_EXPORT
Definition: vtkInteractionImageModule.h:15
vtkSeedWidget
place multiple seed points
Definition: vtkSeedWidget.h:86
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkResliceImageViewerMeasurements::IsItemOnReslicedPlane
bool IsItemOnReslicedPlane(vtkAbstractWidget *w)
vtkResliceImageViewerMeasurements::Render
virtual void Render()
vtkResliceImageViewerMeasurements::IsPointOnReslicedPlane
bool IsPointOnReslicedPlane(vtkHandleRepresentation *h)
vtkResliceImageViewerMeasurements::ResliceImageViewer
vtkResliceImageViewer * ResliceImageViewer
Definition: vtkResliceImageViewerMeasurements.h:114
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkBiDimensionalWidget
measure the bi-dimensional lengths of an object
Definition: vtkBiDimensionalWidget.h:111
vtkObject.h
vtkResliceImageViewerMeasurements::ProcessEventsHandler
static void ProcessEventsHandler(vtkObject *object, unsigned long event, void *clientdata, void *calldata)
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkResliceImageViewerMeasurements::IsWidgetOnReslicedPlane
bool IsWidgetOnReslicedPlane(vtkSeedWidget *w)
vtkResliceImageViewerMeasurements::New
static vtkResliceImageViewerMeasurements * New()
vtkCallbackCommand
supports function callbacks
Definition: vtkCallbackCommand.h:50
vtkgl::p
GLfloat GLfloat p
Definition: vtkgl.h:15717
vtkgl::w
GLubyte GLubyte GLubyte GLubyte w
Definition: vtkgl.h:12054
vtkResliceImageViewer
Display an image along with a reslice cursor.
Definition: vtkResliceImageViewer.h:50
vtkResliceImageViewerMeasurements::IsPositionOnReslicedPlane
bool IsPositionOnReslicedPlane(double p[3])
vtkResliceImageViewerMeasurements::IsWidgetOnReslicedPlane
bool IsWidgetOnReslicedPlane(vtkAngleWidget *w)
vtkResliceImageViewerMeasurements::ProcessEvents
int ProcessEvents
Definition: vtkResliceImageViewerMeasurements.h:122