69 #ifndef vtkPlaneWidget_h
70 #define vtkPlaneWidget_h
72 #include "vtkInteractionWidgetsModule.h"
75 VTK_ABI_NAMESPACE_BEGIN
90 #define VTK_PLANE_OFF 0
91 #define VTK_PLANE_OUTLINE 1
92 #define VTK_PLANE_WIREFRAME 2
93 #define VTK_PLANE_SURFACE 3
95 #define VTK_PLANE_ZERO_THRESHOLD (std::numeric_limits<double>::min() * 1000)
116 double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax)
override
126 void SetResolution(
int r);
134 void SetOrigin(
double x,
double y,
double z);
135 void SetOrigin(
double x[3]);
137 void GetOrigin(
double xyz[3]);
144 void SetPoint1(
double x,
double y,
double z);
145 void SetPoint1(
double x[3]);
147 void GetPoint1(
double xyz[3]);
154 void SetPoint2(
double x,
double y,
double z);
155 void SetPoint2(
double x[3]);
156 double* GetPoint2() VTK_SIZEHINT(3);
157 void GetPoint2(
double xyz[3]);
164 void SetCenter(
double x,
double y,
double z);
165 void SetCenter(
double x[3]);
166 double* GetCenter() VTK_SIZEHINT(3);
167 void GetCenter(
double xyz[3]);
174 void SetNormal(
double x,
double y,
double z);
175 void SetNormal(
double x[3]);
176 double* GetNormal() VTK_SIZEHINT(3);
177 void GetNormal(
double xyz[3]);
190 vtkGetMacro(Representation,
int);
191 void SetRepresentationToOff() { this->SetRepresentation(VTK_PLANE_OFF); }
255 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
265 vtkGetObjectMacro(SelectedPlaneProperty,
vtkProperty);
288 vtkObject*
object,
unsigned long event,
void* clientdata,
void* calldata);
291 void OnLeftButtonDown();
292 void OnLeftButtonUp();
293 void OnMiddleButtonDown();
294 void OnMiddleButtonUp();
295 void OnRightButtonDown();
296 void OnRightButtonUp();
307 void SelectRepresentation();
314 void HighlightPlane(
int highlight);
320 void PositionHandles();
321 void HandlesOn(
double length);
323 int HighlightHandle(
vtkProp* prop);
330 void HighlightNormal(
int highlight);
356 void MoveOrigin(
double* p1,
double* p2);
357 void MovePoint1(
double* p1,
double* p2);
358 void MovePoint2(
double* p1,
double* p2);
359 void MovePoint3(
double* p1,
double* p2);
360 void Rotate(
int X,
int Y,
double* p1,
double* p2,
double* vpn);
361 void Spin(
double* p1,
double* p2);
362 void Scale(
double* p1,
double* p2,
int X,
int Y);
363 void Translate(
double* p1,
double* p2);
364 void Push(
double* p1,
double* p2);
378 void CreateDefaultProperties();
380 void GeneratePlane();
390 VTK_ABI_NAMESPACE_END
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