81 #ifndef vtkPlaneWidget_h
82 #define vtkPlaneWidget_h
84 #include "vtkInteractionWidgetsModule.h"
101 #define VTK_PLANE_OFF 0
102 #define VTK_PLANE_OUTLINE 1
103 #define VTK_PLANE_WIREFRAME 2
104 #define VTK_PLANE_SURFACE 3
106 #define VTK_PLANE_ZERO_THRESHOLD (std::numeric_limits<double>::min() * 1000)
127 double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax)
override
137 void SetResolution(
int r);
145 void SetOrigin(
double x,
double y,
double z);
146 void SetOrigin(
double x[3]);
148 void GetOrigin(
double xyz[3]);
155 void SetPoint1(
double x,
double y,
double z);
156 void SetPoint1(
double x[3]);
158 void GetPoint1(
double xyz[3]);
165 void SetPoint2(
double x,
double y,
double z);
166 void SetPoint2(
double x[3]);
167 double* GetPoint2() VTK_SIZEHINT(3);
168 void GetPoint2(
double xyz[3]);
175 void SetCenter(
double x,
double y,
double z);
176 void SetCenter(
double x[3]);
177 double* GetCenter() VTK_SIZEHINT(3);
178 void GetCenter(
double xyz[3]);
185 void SetNormal(
double x,
double y,
double z);
186 void SetNormal(
double x[3]);
187 double* GetNormal() VTK_SIZEHINT(3);
188 void GetNormal(
double xyz[3]);
201 vtkGetMacro(Representation,
int);
202 void SetRepresentationToOff() { this->SetRepresentation(VTK_PLANE_OFF); }
266 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
276 vtkGetObjectMacro(SelectedPlaneProperty,
vtkProperty);
299 vtkObject*
object,
unsigned long event,
void* clientdata,
void* calldata);
302 void OnLeftButtonDown();
303 void OnLeftButtonUp();
304 void OnMiddleButtonDown();
305 void OnMiddleButtonUp();
306 void OnRightButtonDown();
307 void OnRightButtonUp();
318 void SelectRepresentation();
325 void HighlightPlane(
int highlight);
331 void PositionHandles();
332 void HandlesOn(
double length);
334 int HighlightHandle(
vtkProp* prop);
341 void HighlightNormal(
int highlight);
367 void MoveOrigin(
double* p1,
double* p2);
368 void MovePoint1(
double* p1,
double* p2);
369 void MovePoint2(
double* p1,
double* p2);
370 void MovePoint3(
double* p1,
double* p2);
371 void Rotate(
int X,
int Y,
double* p1,
double* p2,
double* vpn);
372 void Spin(
double* p1,
double* p2);
373 void Scale(
double* p1,
double* p2,
int X,
int Y);
374 void Translate(
double* p1,
double* p2);
375 void Push(
double* p1,
double* p2);
389 void CreateDefaultProperties();
391 void GeneratePlane();
abstract superclass for all actors, volumes and annotations
represents an object (geometry & properties) in a rendered scene
abstract base class for most VTK objects
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.
concrete dataset represents vertices, lines, polygons, and triangle strips
virtual void RegisterPickers()
Register internal Pickers in the Picking Manager.
create a polygonal sphere centered at the origin
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
perform various plane computations
#define VTK_SIZEHINT(...)
create an array of quadrilaterals located in a plane
create a line defined by two end points
map vtkPolyData to graphics primitives
ray-cast cell picker for all kinds of Prop3Ds
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
represent and manipulate 3D points