60 #ifndef vtkImageTracerWidget_h
61 #define vtkImageTracerWidget_h
63 #include "vtkInteractionWidgetsModule.h"
80 #define VTK_ITW_PROJECTION_YZ 0
81 #define VTK_ITW_PROJECTION_XZ 1
82 #define VTK_ITW_PROJECTION_XY 2
83 #define VTK_ITW_SNAP_CELLS 0
84 #define VTK_ITW_SNAP_POINTS 1
104 {this->Superclass::PlaceWidget();}
105 void PlaceWidget(
double xmin,
double xmax,
double ymin,
double ymax,
106 double zmin,
double zmax)
107 {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
117 virtual void SetSelectedHandleProperty(
vtkProperty*);
118 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
128 virtual void SetSelectedLineProperty(
vtkProperty*);
129 vtkGetObjectMacro(SelectedLineProperty,
vtkProperty);
135 void SetViewProp(
vtkProp* prop);
142 vtkGetMacro(ProjectToPlane,
int);
154 vtkGetMacro(ProjectionNormal,
int);
156 { this->SetProjectionNormal(0); }
158 { this->SetProjectionNormal(1); }
160 { this->SetProjectionNormal(2); }
171 void SetProjectionPosition(
double position);
172 vtkGetMacro(ProjectionPosition,
double);
179 void SetSnapToImage(
int snap);
180 vtkGetMacro(SnapToImage,
int);
191 vtkGetMacro(AutoClose,
int);
203 vtkGetMacro(CaptureRadius,
double);
225 vtkGetMacro(ImageSnapType,
int);
232 void SetHandlePosition(
int handle,
double xyz[3]);
233 void SetHandlePosition(
int handle,
double x,
double y,
double z);
234 void GetHandlePosition(
int handle,
double xyz[3]);
235 double* GetHandlePosition(
int handle);
242 vtkGetMacro(NumberOfHandles,
int);
249 void SetInteraction(
int interact);
250 vtkGetMacro(Interaction,
int);
271 vtkGetMacro(HandleLeftMouseButton,
int);
274 vtkGetMacro(HandleMiddleMouseButton,
int);
277 vtkGetMacro(HandleRightMouseButton,
int);
281 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
282 # define SetPropA SetProp
283 # define SetPropW SetProp
286 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
316 void OnLeftButtonDown();
317 void OnLeftButtonUp();
318 void OnMiddleButtonDown();
319 void OnMiddleButtonUp();
320 void OnRightButtonDown();
321 void OnRightButtonUp();
339 void Trace(
int ,
int );
341 void MovePoint(
const double* ,
const double* );
342 void Translate(
const double* ,
const double* );
355 void AppendHandles(
double*);
357 void AllocateHandles(
const int& );
358 void AdjustHandlePosition(
const int& ,
double*);
359 int HighlightHandle(
vtkProp* );
360 void EraseHandle(
const int& );
362 void InsertHandleOnLine(
double* );
378 void HighlightLine(
const int& );
379 void BuildLinesFromHandles();
380 void ResetLine(
double* );
381 void AppendLine(
double* );
398 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)
Handles the char widget activation event.
virtual void SetEnabled(int)
Methods for turning the interactor observer on and off, and determining its state.
dynamic, self-adjusting array of float
concrete dataset represents vertices, lines, polygons, and triangle strips
virtual void RegisterPickers()
Register internal Pickers in the Picking Manager.
a simple class to control print indentation
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
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
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
represent and manipulate 3D points