42#ifndef vtkImplicitCylinderRepresentation_h
43#define vtkImplicitCylinderRepresentation_h
46#include "vtkInteractionWidgetsModule.h"
67#define VTK_MAX_CYL_RESOLUTION 2048
94 void GetCenter(
double xyz[3]);
102 void SetAxis(
double x,
double y,
double z);
103 void SetAxis(
double a[3]);
105 void GetAxis(
double a[3]);
113 void SetRadius(
double r);
125 vtkSetClampMacro(MinRadius,
double, 0.001, 0.25);
126 vtkGetMacro(MinRadius,
double);
128 vtkGetMacro(MaxRadius,
double);
170 vtkGetMacro(Resolution,
int);
211 vtkSetVector6Macro(WidgetBounds,
double);
212 vtkGetVector6Macro(WidgetBounds,
double);
256 void UpdatePlacement(
void);
295 void SetEdgeColor(
double,
double,
double);
296 void SetEdgeColor(
double c[3]);
303 int ComputeInteractionState(
int X,
int Y,
int modify = 0) override;
304 void PlaceWidget(
double bounds[6]) override;
305 void BuildRepresentation() override;
306 void StartWidgetInteraction(
double eventPos[2]) override;
307 void WidgetInteraction(
double newEventPos[2]) override;
308 void EndWidgetInteraction(
double newEventPos[2]) override;
315 double* GetBounds() override;
329 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
330 vtkGetMacro(BumpDistance,
double);
340 void BumpCylinder(
int dir,
double factor);
348 void PushCylinder(
double distance);
362#if !defined(VTK_LEGACY_REMOVE)
377 vtkSetClampMacro(InteractionState,
int, Outside, TranslatingCenter);
386 vtkGetMacro(RepresentationState,
int);
399 vtkGetMacro(TranslationAxis,
int);
400 vtkSetClampMacro(TranslationAxis,
int, -1, 2);
429 double LastEventPosition[3];
458 double WidgetBounds[6];
509 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
516 void Scale(
double* p1,
double* p2,
double X,
double Y);
represents an object (geometry & properties) in a rendered scene
implicit function for a bounding box
ray-cast cell picker for all kinds of Prop3Ds
implicit function for a cylinder
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
topologically and geometrically regular array of data
defining the representation for a vtkImplicitCylinderWidget
void HighlightOutline(int highlight)
vtkLineSource * LineSource
vtkProperty * SelectedOutlineProperty
void HighlightCylinder(int highlight)
void HighlightNormal(int highlight)
void TranslateCylinder(double *p1, double *p2)
vtkProperty * AxisProperty
void TranslateCenterOnAxis(double *p1, double *p2)
void ScaleRadius(double *p1, double *p2)
vtkProperty * EdgesProperty
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
void AdjustRadius(double X, double Y, double *p1, double *p2)
vtkPolyDataMapper * OutlineMapper
void CreateDefaultProperties()
void TranslateOutline(double *p1, double *p2)
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
vtkProperty * SelectedAxisProperty
void SetCenter(double x, double y, double z)
Get the center of the cylinder.
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
vtkTubeFilter * EdgesTuber
vtkPolyDataMapper * SphereMapper
vtkPolyDataMapper * ConeMapper
vtkPolyDataMapper * LineMapper2
vtkProperty * CylinderProperty
double * GetCenter()
Get the center of the cylinder.
bool IsTranslationConstrained()
Returns true if ContrainedAxis.
vtkTypeBool OutsideBounds
static vtkImplicitCylinderRepresentation * New()
Instantiate the class.
vtkPolyDataMapper * EdgesMapper
void Rotate(double X, double Y, double *p1, double *p2, double *vpn)
int ConstrainToWidgetBounds
vtkOutlineFilter * Outline
vtkPolyDataMapper * ConeMapper2
vtkProperty * OutlineProperty
vtkTypeBool OutlineTranslation
virtual void SetRepresentationState(int)
Sets the visual appearance of the representation based on the state it is in.
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
vtkProperty * SelectedCylinderProperty
vtkPolyDataMapper * CylMapper
vtkConeSource * ConeSource2
vtkConeSource * ConeSource
void Scale(double *p1, double *p2, double X, double Y)
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
void TranslateCenter(double *p1, double *p2)
~vtkImplicitCylinderRepresentation() override
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for the class.
void SetCenter(double x[3])
Get the center of the cylinder.
vtkLineSource * LineSource2
vtkImplicitCylinderRepresentation()
vtkPolyDataMapper * LineMapper
vtkCellPicker * CylPicker
a simple class to control print indentation
create a line defined by two end points
map scalar values into colors via a lookup table
create wireframe outline for an arbitrary data set or composite dataset
Superclass for algorithms that produce only polydata as output.
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_DEPRECATED_IN_9_2_0(reason)
#define VTK_MAX_CYL_RESOLUTION
#define VTK_SIZEHINT(...)