48#ifndef vtkImplicitAnnulusRepresentation_h
49#define vtkImplicitAnnulusRepresentation_h
52#include "vtkInteractionWidgetsModule.h"
56VTK_ABI_NAMESPACE_BEGIN
69#define VTK_MAX_ANNULUS_RESOLUTION 2048
102 void GetCenter(
double xyz[3]) const;
111 void SetAxis(
double x,
double y,
double z);
112 void SetAxis(
double a[3]);
114 void GetAxis(
double a[3]) const;
124 void SetInnerRadius(
double r);
125 double GetInnerRadius() const;
135 void SetOuterRadius(
double r);
136 double GetOuterRadius() const;
148 void SetAlongXAxis(
bool);
149 vtkGetMacro(AlongXAxis,
bool);
150 vtkBooleanMacro(AlongXAxis,
bool);
151 void SetAlongYAxis(
bool);
152 vtkGetMacro(AlongYAxis,
bool);
153 vtkBooleanMacro(AlongYAxis,
bool);
154 void SetAlongZAxis(
bool);
155 vtkGetMacro(AlongZAxis,
bool);
156 vtkBooleanMacro(AlongZAxis,
bool);
166 void SetDrawAnnulus(
bool draw);
167 vtkGetMacro(DrawAnnulus,
bool);
168 vtkBooleanMacro(DrawAnnulus,
bool);
180 vtkGetMacro(Resolution,
int);
190 vtkSetMacro(Tubing,
bool);
191 vtkGetMacro(Tubing,
bool);
192 vtkBooleanMacro(Tubing,
bool);
200 vtkSetMacro(ScaleEnabled,
bool);
201 vtkGetMacro(ScaleEnabled,
bool);
202 vtkBooleanMacro(ScaleEnabled,
bool);
215 void UpdatePlacement();
249 void SetInteractionColor(
double,
double,
double);
288 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
289 vtkGetMacro(BumpDistance,
double);
319 InteractionStateType::TranslatingCenter);
342 struct AxisHandleRepresentation
353 struct RadiusHandleRepresentation
364 void HighlightAnnulus(
bool highlight);
365 void HighlightCenterHandle(
bool highlight);
366 void HighlightAxis(
bool highlight);
367 void HighlightInnerRadiusHandle(
bool highlight);
368 void HighlightOuterRadiusHandle(
bool highlight);
378 void AdjustOuterRadius(
double x,
double y,
const vtkVector3d& point);
379 void AdjustInnerRadius(
double x,
double y,
const vtkVector3d& point);
389 InteractionStateType RepresentationState = InteractionStateType::Outside;
395 double BumpDistance = 0.01;
398 bool AlongXAxis =
false;
399 bool AlongYAxis =
false;
400 bool AlongZAxis =
false;
403 int Resolution = 128;
405 bool ScaleEnabled =
true;
410 bool DrawAnnulus =
true;
413 RadiusHandleRepresentation InnerRadiusRepresentation;
414 RadiusHandleRepresentation OuterRadiusRepresentation;
418 AxisHandleRepresentation LowerAxisRepresentation;
419 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
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 GetAnnulus(vtkAnnulus *annulus) const
void BuildRepresentation() override
Methods to interface with the vtkImplicitAnnulusWidget.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instances of this class.
void SetHandleColor(double c[3])
Set the color of all the widgets handles (edges, axis, selected annulus) and their color during inter...
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.
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...
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 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.
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
abstract specification for Viewports
window superclass for vtkRenderWindow
#define VTK_MAX_ANNULUS_RESOLUTION
#define VTK_SIZEHINT(...)