47 #ifndef vtkSphereWidget_h
48 #define vtkSphereWidget_h
51 #include "vtkInteractionWidgetsModule.h"
54 VTK_ABI_NAMESPACE_BEGIN
64 #define VTK_SPHERE_OFF 0
65 #define VTK_SPHERE_WIREFRAME 1
66 #define VTK_SPHERE_SURFACE 2
85 void PlaceWidget()
override { this->Superclass::PlaceWidget(); }
87 double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax)
override
89 this->Superclass::PlaceWidget(xmin, xmax, ymin, ymax, zmin, zmax);
100 vtkGetMacro(Representation,
int);
130 this->SphereSource->SetRadius(r);
132 double GetRadius() {
return this->SphereSource->GetRadius(); }
139 void SetCenter(
double x,
double y,
double z) { this->SphereSource->SetCenter(x, y, z); }
142 void GetCenter(
double xyz[3]) { this->SphereSource->GetCenter(xyz); }
176 vtkSetVector3Macro(HandleDirection,
double);
177 vtkGetVector3Macro(HandleDirection,
double);
184 vtkGetVector3Macro(HandlePosition,
double);
210 vtkGetObjectMacro(SelectedSphereProperty,
vtkProperty);
220 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
240 vtkObject*
object,
unsigned long event,
void* clientdata,
void* calldata);
243 void OnLeftButtonDown();
244 void OnLeftButtonUp();
245 void OnRightButtonDown();
246 void OnRightButtonUp();
253 void HighlightSphere(
int highlight);
254 void SelectRepresentation();
268 void Translate(
double* p1,
double* p2);
269 void ScaleSphere(
double* p1,
double* p2,
int X,
int Y);
270 void MoveHandle(
double* p1,
double* p2,
int X,
int Y);
279 void CreateDefaultProperties();
285 void HighlightHandle(
int);
287 double HandleDirection[3];
288 double HandlePosition[3];
296 VTK_ABI_NAMESPACE_END
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
implicit function for a sphere
a simple class to control print indentation
#define VTK_SIZEHINT(...)
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