48#ifndef vtkImplicitAnnulusRepresentation_h
49#define vtkImplicitAnnulusRepresentation_h
51#include "vtkInteractionWidgetsModule.h"
56VTK_ABI_NAMESPACE_BEGIN
71#define VTK_MAX_ANNULUS_RESOLUTION 2048
104 void GetCenter(
double xyz[3]) const;
113 void SetAxis(
double x,
double y,
double z);
114 void SetAxis(
double a[3]);
116 void GetAxis(
double a[3]) const;
124 void SetInnerRadius(
double r);
125 double GetInnerRadius() const;
133 void SetOuterRadius(
double r);
134 double GetOuterRadius() const;
146 void SetAlongXAxis(
bool);
147 vtkGetMacro(AlongXAxis,
bool);
148 vtkBooleanMacro(AlongXAxis,
bool);
149 void SetAlongYAxis(
bool);
150 vtkGetMacro(AlongYAxis,
bool);
151 vtkBooleanMacro(AlongYAxis,
bool);
152 void SetAlongZAxis(
bool);
153 vtkGetMacro(AlongZAxis,
bool);
154 vtkBooleanMacro(AlongZAxis,
bool);
164 void SetDrawAnnulus(
bool draw);
165 vtkGetMacro(DrawAnnulus,
bool);
166 vtkBooleanMacro(DrawAnnulus,
bool);
178 vtkGetMacro(Resolution,
int);
188 vtkSetMacro(Tubing,
bool);
189 vtkGetMacro(Tubing,
bool);
190 vtkBooleanMacro(Tubing,
bool);
199 vtkSetMacro(OutlineTranslation,
bool);
200 vtkGetMacro(OutlineTranslation,
bool);
201 vtkBooleanMacro(OutlineTranslation,
bool);
210 vtkSetMacro(OutsideBounds,
bool);
211 vtkGetMacro(OutsideBounds,
bool);
212 vtkBooleanMacro(OutsideBounds,
bool);
222 vtkSetVector6Macro(WidgetBounds,
double);
223 double* GetWidgetBounds();
234 vtkSetMacro(ConstrainToWidgetBounds,
bool);
235 vtkGetMacro(ConstrainToWidgetBounds,
bool);
236 vtkBooleanMacro(ConstrainToWidgetBounds,
bool);
244 vtkSetMacro(ScaleEnabled,
bool);
245 vtkGetMacro(ScaleEnabled,
bool);
246 vtkBooleanMacro(ScaleEnabled,
bool);
259 void UpdatePlacement();
301 void SetInteractionColor(
double,
double,
double);
340 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
341 vtkGetMacro(BumpDistance,
double);
371 InteractionStateType::TranslatingCenter);
392 vtkGetMacro(TranslationAxis,
int);
393 vtkSetClampMacro(TranslationAxis,
int, Axis::NONE, Axis::ZAxis);
418 struct AxisHandleRepresentation
429 struct RadiusHandleRepresentation
440 void HighlightAnnulus(
bool highlight);
441 void HighlightCenterHandle(
bool highlight);
442 void HighlightAxis(
bool highlight);
443 void HighlightOutline(
bool highlight);
444 void HighlightInnerRadiusHandle(
bool highlight);
445 void HighlightOuterRadiusHandle(
bool highlight);
466 InteractionStateType RepresentationState = InteractionStateType::Outside;
473 double BumpDistance = 0.01;
476 bool AlongXAxis =
false;
477 bool AlongYAxis =
false;
478 bool AlongZAxis =
false;
481 int Resolution = 128;
488 bool OutlineTranslation =
true;
489 bool ScaleEnabled =
true;
490 bool OutsideBounds =
true;
492 bool ConstrainToWidgetBounds =
true;
497 bool DrawAnnulus =
true;
500 RadiusHandleRepresentation InnerRadiusRepresentation;
501 RadiusHandleRepresentation OuterRadiusRepresentation;
505 AxisHandleRepresentation LowerAxisRepresentation;
506 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(...)