46 #ifndef vtkSphereRepresentation_h
47 #define vtkSphereRepresentation_h
49 #include "vtkInteractionWidgetsModule.h"
71 #define VTK_SPHERE_OFF 0
72 #define VTK_SPHERE_WIREFRAME 1
73 #define VTK_SPHERE_SURFACE 2
107 vtkGetMacro(Representation,
int);
140 void GetCenter(
double xyz[3]) { this->SphereSource->GetCenter(xyz); }
147 double GetRadius() {
return this->SphereSource->GetRadius(); }
173 this->SetHandlePosition(p);
175 vtkGetVector3Macro(HandlePosition,
double);
191 this->SetHandleDirection(d);
193 vtkGetVector3Macro(HandleDirection,
double);
224 vtkSetMacro(CenterCursor,
bool);
225 vtkGetMacro(CenterCursor,
bool);
226 vtkBooleanMacro(CenterCursor,
bool);
328 vtkGetMacro(TranslationAxis,
int);
329 vtkSetClampMacro(TranslationAxis,
int, -1, 2);
354 double LastEventPosition[3];
370 double LastPickPosition[3];
374 void Scale(
const double* p1,
const double* p2,
int X,
int Y);
396 double HandleDirection[3];
397 double HandlePosition[3];
a actor that draws 2D data
represents an object (geometry & properties) in a rendered scene
ray-cast cell picker for all kinds of Prop3Ds
generate a 3D cursor representation
dynamic, self-adjusting array of double
a simple class to control print indentation
create a line defined by two end points
represent and manipulate 4x4 transformation matrices
represent and manipulate 3D points
Superclass for algorithms that produce only polydata as output.
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
represent surface properties of a geometric object
a class defining the representation for the vtkSphereWidget2
void SetHandleDirection(double dx, double dy, double dz)
void SetPhiResolution(int r)
Set/Get the resolution of the sphere in the phi direction.
void SetRepresentationToWireframe()
vtkProperty * SphereProperty
vtkProperty * RadialLineProperty
void BuildRepresentation() override
void GetPolyData(vtkPolyData *pd)
Grab the polydata (including points) that defines the sphere.
vtkSphereSource * SphereSource
vtkPolyDataMapper * HandleMapper
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
void CreateDefaultProperties()
vtkActor * RadialLineActor
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPolyDataMapper * CenterMapper
void SetHandleDirection(double dir[3])
Set/Get the direction vector of the handle relative to the center of the sphere.
bool IsTranslationConstrained()
Returns true if ContrainedAxis.
void SetZTranslationAxisOn()
void SetCenter(double x, double y, double z)
void HighlightHandle(int)
int ComputeInteractionState(int X, int Y, int modify=0) override
void SetTranslationAxisOff()
vtkLineSource * RadialLineSource
void SetRepresentationToOff()
virtual void PlaceWidget(double center[3], double handlePosition[3])
void SetCenter(double c[3])
Set/Get the center position of the sphere.
void PlaceHandle(const double *center, double radius)
vtkPolyDataMapper * RadialLineMapper
int RenderOpaqueGeometry(vtkViewport *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
void SetThetaResolution(int r)
Set/Get the resolution of the sphere in the theta direction.
void SetInteractionState(int state)
The interaction state may be set from a widget (e.g., vtkSphereWidget2) or other object.
vtkSphereSource * HandleSource
void GetSphere(vtkSphere *sphere)
Get the spherical implicit function defined by this widget.
vtkTextProperty * HandleTextProperty
vtkTextMapper * HandleTextMapper
void GetCenter(double xyz[3])
vtkCursor3D * CenterCursorSource
vtkTypeBool HandleVisibility
vtkSphereRepresentation()
vtkProperty * HandleProperty
void HighlightSphere(int highlight)
vtkProperty * SelectedSphereProperty
void SetRadius(double r)
Set/Get the radius of sphere.
void PlaceWidget(double bounds[6]) override
These are methods that satisfy vtkWidgetRepresentation's API.
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
void SetYTranslationAxisOn()
void WidgetInteraction(double e[2]) override
~vtkSphereRepresentation() override
void SetHandlePosition(double x, double y, double z)
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
vtkPolyDataMapper * SphereMapper
int RenderOverlay(vtkViewport *) override
void SetRepresentationToSurface()
void SetHandlePosition(double handle[3])
Set/Get the position of the handle.
virtual void SizeHandles()
vtkCellPicker * SpherePicker
vtkProperty * SelectedHandleProperty
vtkActor2D * HandleTextActor
void ReleaseGraphicsResources(vtkWindow *) override
Methods supporting, and required by, the rendering process.
void Scale(const double *p1, const double *p2, int X, int Y)
static vtkSphereRepresentation * New()
Instantiate the class.
vtkCellPicker * HandlePicker
void StartWidgetInteraction(double e[2]) override
virtual void AdaptCenterCursorBounds()
double * GetBounds() override
Get the bounds for this Prop as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
vtkTypeBool HasTranslucentPolygonalGeometry() override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
void Translate(const double *p1, const double *p2)
create a polygonal sphere centered at the origin
implicit function for a sphere
represent text properties.
abstract specification for Viewports
window superclass for vtkRenderWindow
#define VTK_SPHERE_SURFACE
#define VTK_SPHERE_WIREFRAME
#define VTK_SIZEHINT(...)