29 #ifndef vtkImplicitAnnulusRepresentation_h
30 #define vtkImplicitAnnulusRepresentation_h
33 #include "vtkInteractionWidgetsModule.h"
37 VTK_ABI_NAMESPACE_BEGIN
50 #define VTK_MAX_ANNULUS_RESOLUTION 2048
80 void SetCenter(
double x,
double y,
double z);
81 void SetCenter(
double x[3]);
83 void GetCenter(
double xyz[3]) const;
92 void SetAxis(
double x,
double y,
double z);
93 void SetAxis(
double a[3]);
95 void GetAxis(
double a[3]) const;
105 void SetInnerRadius(
double r);
106 double GetInnerRadius() const;
116 void SetOuterRadius(
double r);
117 double GetOuterRadius() const;
129 void SetAlongXAxis(
bool);
130 vtkGetMacro(AlongXAxis,
bool);
131 vtkBooleanMacro(AlongXAxis,
bool);
132 void SetAlongYAxis(
bool);
133 vtkGetMacro(AlongYAxis,
bool);
134 vtkBooleanMacro(AlongYAxis,
bool);
135 void SetAlongZAxis(
bool);
136 vtkGetMacro(AlongZAxis,
bool);
137 vtkBooleanMacro(AlongZAxis,
bool);
147 void SetDrawAnnulus(
bool draw);
148 vtkGetMacro(DrawAnnulus,
bool);
149 vtkBooleanMacro(DrawAnnulus,
bool);
161 vtkGetMacro(Resolution,
int);
171 vtkSetMacro(Tubing,
bool);
172 vtkGetMacro(Tubing,
bool);
173 vtkBooleanMacro(Tubing,
bool);
181 vtkSetMacro(ScaleEnabled,
bool);
182 vtkGetMacro(ScaleEnabled,
bool);
183 vtkBooleanMacro(ScaleEnabled,
bool);
196 void UpdatePlacement();
203 vtkGetObjectMacro(SelectedAxisProperty, vtkProperty);
211 vtkGetObjectMacro(AnnulusProperty, vtkProperty);
212 vtkGetObjectMacro(SelectedAnnulusProperty, vtkProperty);
220 vtkGetObjectMacro(RadiusHandleProperty, vtkProperty);
221 vtkGetObjectMacro(SelectedRadiusHandleProperty, vtkProperty);
230 void SetInteractionColor(
double,
double,
double);
232 void SetHandleColor(
double,
double,
double);
234 void SetForegroundColor(
double,
double,
double);
269 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
270 vtkGetMacro(BumpDistance,
double);
280 void BumpAnnulus(
int dir,
double factor);
288 void PushAnnulus(
double distance);
299 vtkSetClampMacro(InteractionState, InteractionStateType, InteractionStateType::Outside,
300 InteractionStateType::TranslatingCenter);
307 virtual void SetRepresentationState(InteractionStateType);
308 vtkGetMacro(RepresentationState, InteractionStateType);
323 struct AxisHandleRepresentation
334 struct RadiusHandleRepresentation
345 void HighlightAnnulus(
bool highlight);
346 void HighlightCenterHandle(
bool highlight);
347 void HighlightAxis(
bool highlight);
348 void HighlightInnerRadiusHandle(
bool highlight);
349 void HighlightOuterRadiusHandle(
bool highlight);
370 InteractionStateType RepresentationState = InteractionStateType::Outside;
376 double BumpDistance = 0.01;
379 bool AlongXAxis =
false;
380 bool AlongYAxis =
false;
381 bool AlongZAxis =
false;
384 int Resolution = 128;
386 bool ScaleEnabled =
true;
391 bool DrawAnnulus =
true;
394 RadiusHandleRepresentation InnerRadiusRepresentation;
395 RadiusHandleRepresentation OuterRadiusRepresentation;
399 AxisHandleRepresentation LowerAxisRepresentation;
400 AxisHandleRepresentation UpperAxisRepresentation;
425 VTK_ABI_NAMESPACE_END
defining the representation for a vtkImplicitAnnulusWidget
represents an object (geometry & properties) in a rendered scene
abstract specification for Viewports
represent surface properties of a geometric object
concrete dataset represents vertices, lines, polygons, and triangle strips
#define VTK_MAX_ANNULUS_RESOLUTION
window superclass for vtkRenderWindow
void SetForegroundColor(double c[3])
Set the color of all the widgets handles (edges, axis, selected annulus) and their color during inter...
create a polygonal sphere centered at the origin
filter that generates tubes around lines
a simple class to control print indentation
#define VTK_SIZEHINT(...)
void SetHandleColor(double c[3])
Set the color of all the widgets handles (edges, axis, selected annulus) and their color during inter...
create a line defined by two end points
map vtkPolyData to graphics primitives
void SetInteractionColor(double c[3])
Set the color of all the widgets handles (edges, axis, selected annulus) and their color during inter...
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...
implicit function for a bounding box
implicit function for a annulus