62 #ifndef vtkImageTracerWidget_h
63 #define vtkImageTracerWidget_h
82 #define VTK_ITW_PROJECTION_YZ 0
83 #define VTK_ITW_PROJECTION_XZ 1
84 #define VTK_ITW_PROJECTION_XY 2
85 #define VTK_ITW_SNAP_CELLS 0
86 #define VTK_ITW_SNAP_POINTS 1
102 {this->Superclass::PlaceWidget();}
103 void PlaceWidget(
double xmin,
double xmax,
double ymin,
double ymax,
104 double zmin,
double zmax)
105 {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
114 virtual void SetSelectedHandleProperty(
vtkProperty*);
115 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
123 virtual void SetSelectedLineProperty(
vtkProperty*);
124 vtkGetObjectMacro(SelectedLineProperty,
vtkProperty);
128 void SetViewProp(
vtkProp* prop);
132 vtkSetMacro(ProjectToPlane,
int);
133 vtkGetMacro(ProjectToPlane,
int);
134 vtkBooleanMacro(ProjectToPlane,
int);
143 vtkGetMacro(ProjectionNormal,
int);
145 { this->SetProjectionNormal(0); }
147 { this->SetProjectionNormal(1); }
149 { this->SetProjectionNormal(2); }
158 void SetProjectionPosition(
double position);
159 vtkGetMacro(ProjectionPosition,
double);
164 void SetSnapToImage(
int snap);
165 vtkGetMacro(SnapToImage,
int);
166 vtkBooleanMacro(SnapToImage,
int);
172 vtkSetMacro(AutoClose,
int);
173 vtkGetMacro(AutoClose,
int);
174 vtkBooleanMacro(AutoClose,
int);
181 vtkSetMacro(CaptureRadius,
double);
182 vtkGetMacro(CaptureRadius,
double);
199 vtkGetMacro(ImageSnapType,
int);
205 void SetHandlePosition(
int handle,
double xyz[3]);
206 void SetHandlePosition(
int handle,
double x,
double y,
double z);
207 void GetHandlePosition(
int handle,
double xyz[3]);
208 double* GetHandlePosition(
int handle);
213 vtkGetMacro(NumberOfHandles,
int);
218 void SetInteraction(
int interact);
219 vtkGetMacro(Interaction,
int);
220 vtkBooleanMacro(Interaction,
int);
233 vtkSetMacro(HandleLeftMouseButton,
int);
234 vtkGetMacro(HandleLeftMouseButton,
int);
235 vtkBooleanMacro(HandleLeftMouseButton,
int);
236 vtkSetMacro(HandleMiddleMouseButton,
int);
237 vtkGetMacro(HandleMiddleMouseButton,
int);
238 vtkBooleanMacro(HandleMiddleMouseButton,
int);
239 vtkSetMacro(HandleRightMouseButton,
int);
240 vtkGetMacro(HandleRightMouseButton,
int);
241 vtkBooleanMacro(HandleRightMouseButton,
int);
244 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
245 # define SetPropA SetProp
246 # define SetPropW SetProp
249 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
280 void OnLeftButtonDown();
281 void OnLeftButtonUp();
282 void OnMiddleButtonDown();
283 void OnMiddleButtonUp();
284 void OnRightButtonDown();
285 void OnRightButtonUp();
303 void Trace(
int ,
int );
305 void MovePoint(
const double* ,
const double* );
306 void Translate(
const double* ,
const double* );
319 void AppendHandles(
double*);
321 void AllocateHandles(
const int& );
322 void AdjustHandlePosition(
const int& ,
double*);
323 int HighlightHandle(
vtkProp* );
324 void EraseHandle(
const int& );
326 void InsertHandleOnLine(
double* );
342 void HighlightLine(
const int& );
343 void BuildLinesFromHandles();
344 void ResetLine(
double* );
345 void AppendLine(
double* );
362 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
virtual void RegisterPickers()
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