39 #ifndef vtkImplicitCylinderRepresentation_h 40 #define vtkImplicitCylinderRepresentation_h 42 #include "vtkInteractionWidgetsModule.h" 63 #define VTK_MAX_CYL_RESOLUTION 2048 87 void SetCenter(
double x,
double y,
double z);
88 void SetCenter(
double x[3]);
90 void GetCenter(
double xyz[3]);
98 void SetAxis(
double x,
double y,
double z);
99 void SetAxis(
double a[3]);
101 void GetAxis(
double a[3]);
109 void SetRadius(
double r);
121 vtkSetClampMacro(MinRadius,
double, 0.001, 0.25);
122 vtkGetMacro(MinRadius,
double);
124 vtkGetMacro(MaxRadius,
double);
136 vtkGetMacro(AlongXAxis, vtkTypeBool);
137 vtkBooleanMacro(AlongXAxis, vtkTypeBool);
138 void SetAlongYAxis(vtkTypeBool);
139 vtkGetMacro(AlongYAxis, vtkTypeBool);
140 vtkBooleanMacro(AlongYAxis, vtkTypeBool);
141 void SetAlongZAxis(vtkTypeBool);
142 vtkGetMacro(AlongZAxis, vtkTypeBool);
143 vtkBooleanMacro(AlongZAxis, vtkTypeBool);
153 void SetDrawCylinder(vtkTypeBool drawCyl);
154 vtkGetMacro(DrawCylinder, vtkTypeBool);
155 vtkBooleanMacro(DrawCylinder, vtkTypeBool);
166 vtkGetMacro(Resolution,
int);
175 vtkSetMacro(Tubing, vtkTypeBool);
176 vtkGetMacro(Tubing, vtkTypeBool);
177 vtkBooleanMacro(Tubing, vtkTypeBool);
185 vtkSetMacro(OutlineTranslation, vtkTypeBool);
186 vtkGetMacro(OutlineTranslation, vtkTypeBool);
187 vtkBooleanMacro(OutlineTranslation, vtkTypeBool);
195 vtkSetMacro(OutsideBounds, vtkTypeBool);
196 vtkGetMacro(OutsideBounds, vtkTypeBool);
197 vtkBooleanMacro(OutsideBounds, vtkTypeBool);
207 vtkSetVector6Macro(WidgetBounds,
double);
208 vtkGetVector6Macro(WidgetBounds,
double);
220 vtkSetMacro(ConstrainToWidgetBounds, vtkTypeBool);
221 vtkGetMacro(ConstrainToWidgetBounds, vtkTypeBool);
222 vtkBooleanMacro(ConstrainToWidgetBounds, vtkTypeBool);
229 vtkSetMacro(ScaleEnabled, vtkTypeBool);
230 vtkGetMacro(ScaleEnabled, vtkTypeBool);
231 vtkBooleanMacro(ScaleEnabled, vtkTypeBool);
252 void UpdatePlacement(
void);
259 vtkGetObjectMacro(SelectedAxisProperty, vtkProperty);
267 vtkGetObjectMacro(CylinderProperty, vtkProperty);
268 vtkGetObjectMacro(SelectedCylinderProperty, vtkProperty);
275 vtkGetObjectMacro(OutlineProperty, vtkProperty);
276 vtkGetObjectMacro(SelectedOutlineProperty, vtkProperty);
284 vtkGetObjectMacro(EdgesProperty, vtkProperty);
291 void SetEdgeColor(
double,
double,
double);
292 void SetEdgeColor(
double x[3]);
299 int ComputeInteractionState(
int X,
int Y,
int modify = 0) override;
300 void PlaceWidget(
double bounds[6]) override;
301 void BuildRepresentation() override;
302 void StartWidgetInteraction(
double eventPos[2]) override;
303 void WidgetInteraction(
double newEventPos[2]) override;
304 void EndWidgetInteraction(
double newEventPos[2]) override;
311 double* GetBounds() override;
313 void ReleaseGraphicsResources(
vtkWindow*) override;
315 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
316 vtkTypeBool HasTranslucentPolygonalGeometry() override;
325 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
326 vtkGetMacro(BumpDistance,
double);
336 void BumpCylinder(
int dir,
double factor);
344 void PushCylinder(
double distance);
369 vtkSetClampMacro(InteractionState,
int, Outside, TranslatingCenter);
377 virtual void SetRepresentationState(
int);
378 vtkGetMacro(RepresentationState,
int);
391 vtkGetMacro(TranslationAxis,
int);
392 vtkSetClampMacro(TranslationAxis,
int, -1, 2);
421 double LastEventPosition[3];
446 void HighlightOutline(
int highlight);
450 double WidgetBounds[6];
458 void HighlightCylinder(
int highlight);
471 void HighlightNormal(
int highlight);
501 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
502 void TranslateCylinder(
double* p1,
double* p2);
503 void TranslateOutline(
double* p1,
double* p2);
504 void TranslateCenter(
double* p1,
double* p2);
505 void TranslateCenterOnAxis(
double* p1,
double* p2);
506 void ScaleRadius(
double* p1,
double* p2);
507 void AdjustRadius(
double X,
double Y,
double* p1,
double* p2);
508 void Scale(
double* p1,
double* p2,
double X,
double Y);
520 void CreateDefaultProperties();
523 void BuildCylinder();
vtkPolyDataMapper * ConeMapper
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
vtkConeSource * ConeSource2
bool IsTranslationConstrained()
Returns true if ContrainedAxis.
represents an object (geometry & properties) in a rendered scene
int ConstrainToWidgetBounds
vtkPolyDataMapper * OutlineMapper
vtkOutlineFilter * Outline
abstract specification for Viewports
represent surface properties of a geometric object
vtkTypeBool OutsideBounds
vtkProperty * CylinderProperty
defining the representation for a vtkImplicitCylinderWidget
map scalar values into colors via a lookup table
vtkPolyDataMapper * LineMapper
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
vtkLineSource * LineSource2
concrete dataset represents vertices, lines, polygons, and triangle strips
vtkCellPicker * CylPicker
vtkConeSource * ConeSource
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
vtkProperty * OutlineProperty
window superclass for vtkRenderWindow
create wireframe outline for an arbitrary data set or composite dataset
create a polygonal sphere centered at the origin
Superclass for algorithms that produce only polydata as output.
vtkPolyDataMapper * LineMapper2
vtkProperty * SelectedAxisProperty
filter that generates tubes around lines
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
a simple class to control print indentation
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
topologically and geometrically regular array of data
vtkProperty * SelectedOutlineProperty
vtkLineSource * LineSource
vtkPolyDataMapper * CylMapper
vtkProperty * EdgesProperty
#define VTK_SIZEHINT(...)
create a line defined by two end points
map vtkPolyData to graphics primitives
vtkPolyDataMapper * SphereMapper
ray-cast cell picker for all kinds of Prop3Ds
vtkPolyDataMapper * EdgesMapper
vtkTubeFilter * EdgesTuber
vtkProperty * SelectedCylinderProperty
vtkTypeBool OutlineTranslation
implicit function for a cylinder
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
vtkPolyDataMapper * ConeMapper2
#define VTK_MAX_CYL_RESOLUTION
vtkProperty * AxisProperty