29#ifndef vtkImplicitAnnulusRepresentation_h
30#define vtkImplicitAnnulusRepresentation_h
32#include "vtkInteractionWidgetsModule.h"
37VTK_ABI_NAMESPACE_BEGIN
52#define VTK_MAX_ANNULUS_RESOLUTION 2048
85 void GetCenter(
double xyz[3]) const;
94 void SetAxis(
double x,
double y,
double z);
95 void SetAxis(
double a[3]);
97 void GetAxis(
double a[3]) const;
105 void SetInnerRadius(
double r);
106 double GetInnerRadius() const;
114 void SetOuterRadius(
double r);
115 double GetOuterRadius() const;
127 void SetAlongXAxis(
bool);
128 vtkGetMacro(AlongXAxis,
bool);
129 vtkBooleanMacro(AlongXAxis,
bool);
130 void SetAlongYAxis(
bool);
131 vtkGetMacro(AlongYAxis,
bool);
132 vtkBooleanMacro(AlongYAxis,
bool);
133 void SetAlongZAxis(
bool);
134 vtkGetMacro(AlongZAxis,
bool);
135 vtkBooleanMacro(AlongZAxis,
bool);
145 void SetDrawAnnulus(
bool draw);
146 vtkGetMacro(DrawAnnulus,
bool);
147 vtkBooleanMacro(DrawAnnulus,
bool);
159 vtkGetMacro(Resolution,
int);
169 vtkSetMacro(Tubing,
bool);
170 vtkGetMacro(Tubing,
bool);
171 vtkBooleanMacro(Tubing,
bool);
180 vtkSetMacro(OutlineTranslation,
bool);
181 vtkGetMacro(OutlineTranslation,
bool);
182 vtkBooleanMacro(OutlineTranslation,
bool);
191 vtkSetMacro(OutsideBounds,
bool);
192 vtkGetMacro(OutsideBounds,
bool);
193 vtkBooleanMacro(OutsideBounds,
bool);
203 vtkSetVector6Macro(WidgetBounds,
double);
204 double* GetWidgetBounds();
215 vtkSetMacro(ConstrainToWidgetBounds,
bool);
216 vtkGetMacro(ConstrainToWidgetBounds,
bool);
217 vtkBooleanMacro(ConstrainToWidgetBounds,
bool);
225 vtkSetMacro(ScaleEnabled,
bool);
226 vtkGetMacro(ScaleEnabled,
bool);
227 vtkBooleanMacro(ScaleEnabled,
bool);
240 void UpdatePlacement();
282 void SetInteractionColor(
double,
double,
double);
321 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
322 vtkGetMacro(BumpDistance,
double);
352 InteractionStateType::TranslatingCenter);
373 vtkGetMacro(TranslationAxis,
int);
374 vtkSetClampMacro(TranslationAxis,
int, Axis::NONE, Axis::ZAxis);
399 struct AxisHandleRepresentation
410 struct RadiusHandleRepresentation
421 void HighlightAnnulus(
bool highlight);
422 void HighlightCenterHandle(
bool highlight);
423 void HighlightAxis(
bool highlight);
424 void HighlightOutline(
bool highlight);
425 void HighlightInnerRadiusHandle(
bool highlight);
426 void HighlightOuterRadiusHandle(
bool highlight);
447 InteractionStateType RepresentationState = InteractionStateType::Outside;
454 double BumpDistance = 0.01;
457 bool AlongXAxis =
false;
458 bool AlongYAxis =
false;
459 bool AlongZAxis =
false;
462 int Resolution = 128;
469 bool OutlineTranslation =
true;
470 bool ScaleEnabled =
true;
471 bool OutsideBounds =
true;
473 bool ConstrainToWidgetBounds =
true;
478 bool DrawAnnulus =
true;
481 RadiusHandleRepresentation InnerRadiusRepresentation;
482 RadiusHandleRepresentation OuterRadiusRepresentation;
486 AxisHandleRepresentation LowerAxisRepresentation;
487 AxisHandleRepresentation UpperAxisRepresentation;
represents an object (geometry & properties) in a rendered scene
implicit function for a annulus
implicit function for a bounding box
ray-cast cell picker for all kinds of Prop3Ds
topologically and geometrically regular array of data
defining the representation for a vtkImplicitAnnulusWidget
vtkTypeBool HasTranslucentPolygonalGeometry() override
Methods supporting the rendering process.
void PushAnnulus(double distance)
Push the annulus the distance specified along the view vector.
void PlaceWidget(double bounds[6]) override
Methods to interface with the vtkImplicitAnnulusWidget.
static vtkImplicitAnnulusRepresentation * New()
double * GetBounds() override
Methods supporting the rendering process.
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
void GetAnnulus(vtkAnnulus *annulus) const
void BuildRepresentation() override
Methods to interface with the vtkImplicitAnnulusWidget.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetHandleColor(double c[3])
Set the color of all the widgets handles (edges, axis, selected annulus) and their color during inter...
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
void SetInteractionColor(double c[3])
Set the color of all the widgets handles (edges, axis, selected annulus) and their color during inter...
void SetForegroundColor(double, double, double)
Set the color of all the widgets handles (edges, axis, selected annulus) and their color during inter...
double * GetCenter() const
Get the center of the annulus representation.
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
vtkImplicitAnnulusRepresentation()
void BumpAnnulus(int dir, double factor)
Translate the annulus in the direction of the view vector by the specified BumpDistance.
void SetForegroundColor(double c[3])
Set the color of all the widgets handles (edges, axis, selected annulus) and their color during inter...
bool IsTranslationConstrained()
Returns true if ConstrainedAxis.
void ReleaseGraphicsResources(vtkWindow *) override
Methods supporting the rendering process.
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Methods supporting the rendering process.
int RenderOpaqueGeometry(vtkViewport *) override
Methods supporting the rendering process.
void SetCenter(double x[3])
Get the center of the annulus representation.
virtual void SetRepresentationState(InteractionStateType)
Sets the visual appearance of the representation based on the state it is in.
~vtkImplicitAnnulusRepresentation() override
void SetCenter(double x, double y, double z)
Get the center of the annulus representation.
int ComputeInteractionState(int X, int Y, int modify=0) override
Methods to interface with the vtkImplicitAnnulusWidget.
void EndWidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkImplicitAnnulusWidget.
void WidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkImplicitAnnulusWidget.
void SetHandleColor(double, double, double)
Set the color of all the widgets handles (edges, axis, selected annulus) and their color during inter...
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
void GetActors(vtkPropCollection *pc) override
Methods supporting the rendering process.
void StartWidgetInteraction(double eventPos[2]) override
Methods to interface with the vtkImplicitAnnulusWidget.
a simple class to control print indentation
create a line defined by two end points
Allocate and hold a VTK object.
create wireframe outline for an arbitrary data set or composite dataset
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
represent surface properties of a geometric object
create a polygonal sphere centered at the origin
filter that generates tubes around lines
templated base type for storage of vectors.
abstract specification for Viewports
window superclass for vtkRenderWindow
#define VTK_MAX_ANNULUS_RESOLUTION
#define VTK_SIZEHINT(...)