62 #ifndef __vtkImageTracerWidget_h
63 #define __vtkImageTracerWidget_h
81 #define VTK_ITW_PROJECTION_YZ 0
82 #define VTK_ITW_PROJECTION_XZ 1
83 #define VTK_ITW_PROJECTION_XY 2
84 #define VTK_ITW_SNAP_CELLS 0
85 #define VTK_ITW_SNAP_POINTS 1
101 {this->Superclass::PlaceWidget();}
102 void PlaceWidget(
double xmin,
double xmax,
double ymin,
double ymax,
103 double zmin,
double zmax)
104 {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
113 virtual void SetSelectedHandleProperty(
vtkProperty*);
114 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
122 virtual void SetSelectedLineProperty(
vtkProperty*);
123 vtkGetObjectMacro(SelectedLineProperty,
vtkProperty);
127 void SetViewProp(
vtkProp* prop);
131 vtkSetMacro(ProjectToPlane,
int);
132 vtkGetMacro(ProjectToPlane,
int);
133 vtkBooleanMacro(ProjectToPlane,
int);
142 vtkGetMacro(ProjectionNormal,
int);
144 { this->SetProjectionNormal(0); }
146 { this->SetProjectionNormal(1); }
148 { this->SetProjectionNormal(2); }
157 void SetProjectionPosition(
double position);
158 vtkGetMacro(ProjectionPosition,
double);
163 void SetSnapToImage(
int snap);
164 vtkGetMacro(SnapToImage,
int);
165 vtkBooleanMacro(SnapToImage,
int);
171 vtkSetMacro(AutoClose,
int);
172 vtkGetMacro(AutoClose,
int);
173 vtkBooleanMacro(AutoClose,
int);
180 vtkSetMacro(CaptureRadius,
double);
181 vtkGetMacro(CaptureRadius,
double);
198 vtkGetMacro(ImageSnapType,
int);
204 void SetHandlePosition(
int handle,
double xyz[3]);
205 void SetHandlePosition(
int handle,
double x,
double y,
double z);
206 void GetHandlePosition(
int handle,
double xyz[3]);
207 double* GetHandlePosition(
int handle);
212 vtkGetMacro(NumberOfHandles,
int);
217 void SetInteraction(
int interact);
218 vtkGetMacro(Interaction,
int);
219 vtkBooleanMacro(Interaction,
int);
232 vtkSetMacro(HandleLeftMouseButton,
int);
233 vtkGetMacro(HandleLeftMouseButton,
int);
234 vtkBooleanMacro(HandleLeftMouseButton,
int);
235 vtkSetMacro(HandleMiddleMouseButton,
int);
236 vtkGetMacro(HandleMiddleMouseButton,
int);
237 vtkBooleanMacro(HandleMiddleMouseButton,
int);
238 vtkSetMacro(HandleRightMouseButton,
int);
239 vtkGetMacro(HandleRightMouseButton,
int);
240 vtkBooleanMacro(HandleRightMouseButton,
int);
243 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
244 # define SetPropA SetProp
245 # define SetPropW SetProp
250 VTK_LEGACY(
void SetProp(
vtkProp* prop));
252 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
256 VTK_LEGACY(
void SetPropA(
vtkProp*));
257 VTK_LEGACY(
void SetPropW(
vtkProp*));
287 void OnLeftButtonDown();
288 void OnLeftButtonUp();
289 void OnMiddleButtonDown();
290 void OnMiddleButtonUp();
291 void OnRightButtonDown();
292 void OnRightButtonUp();
310 void Trace(
int ,
int );
312 void MovePoint(
const double* ,
const double* );
313 void Translate(
const double* ,
const double* );
326 void AppendHandles(
double*);
328 void AllocateHandles(
const int& );
329 void AdjustHandlePosition(
const int& ,
double*);
330 int HighlightHandle(
vtkProp* );
331 void EraseHandle(
const int& );
333 void InsertHandleOnLine(
double* );
349 void HighlightLine(
const int& );
350 void BuildLinesFromHandles();
351 void ResetLine(
double* );
352 void AppendLine(
double* );
366 void CreateDefaultProperties();
abstract superclass for all actors, volumes and annotations
represents an object (geometry & properties) in a rendered scene
abstract base class for most VTK objects
pick an actor/prop using graphics hardware
represent surface properties of a geometric object
static void ProcessEvents(vtkObject *object, unsigned long event, void *clientdata, void *calldata)
virtual void SetEnabled(int)
dynamic, self-adjusting array of float
concrete dataset represents vertices, lines, polygons, and triangle strips
a simple class to control print indentation
object to represent cell connectivity
abstract API for pickers that can pick an instance of vtkProp
ray-cast cell picker for all kinds of Prop3Ds
create 2D glyphs represented by vtkPolyData
represent and manipulate 3D points