30#ifndef vtkImplicitCylinderRepresentation_h
31#define vtkImplicitCylinderRepresentation_h
33#include "vtkInteractionWidgetsModule.h"
37VTK_ABI_NAMESPACE_BEGIN
56#define VTK_MAX_CYL_RESOLUTION 2048
83 void GetCenter(
double xyz[3]);
91 void SetAxis(
double x,
double y,
double z);
92 void SetAxis(
double a[3]);
94 void GetAxis(
double a[3]);
102 void SetRadius(
double r);
114 vtkSetClampMacro(MinRadius,
double, 0.001, 0.25);
115 vtkGetMacro(MinRadius,
double);
117 vtkGetMacro(MaxRadius,
double);
159 vtkGetMacro(Resolution,
int);
200 vtkSetVector6Macro(WidgetBounds,
double);
201 vtkGetVector6Macro(WidgetBounds,
double);
245 void UpdatePlacement();
286 void SetInteractionColor(
double,
double,
double);
301 void SetEdgeColor(
double,
double,
double) {}
303 void SetEdgeColor(
double[3]) {}
336 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
337 vtkGetMacro(BumpDistance,
double);
380 vtkSetClampMacro(InteractionState,
int, Outside, TranslatingCenter);
389 vtkGetMacro(RepresentationState,
int);
402 vtkGetMacro(TranslationAxis,
int);
403 vtkSetClampMacro(TranslationAxis,
int, -1, 2);
432 double LastEventPosition[3];
461 double WidgetBounds[6];
512 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
519 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
void StartWidgetInteraction(double eventPos[2]) override
Methods to interface with the vtkImplicitCylinderWidget.
int RenderOpaqueGeometry(vtkViewport *) override
Methods supporting the rendering process.
vtkProperty * SelectedOutlineProperty
void HighlightCylinder(int highlight)
void BumpCylinder(int dir, double factor)
Translate the cylinder in the direction of the view vector by the specified BumpDistance.
void HighlightNormal(int highlight)
void SetHandleColor(double, double, double)
Set the color of all the widgets handles (edges, axis, selected cylinder) and their color during inte...
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 SetInteractionColor(double c[3])
Set the color of all the widgets handles (edges, axis, selected cylinder) and their color during inte...
void PlaceWidget(double bounds[6]) override
Methods to interface with the vtkImplicitCylinderWidget.
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
vtkTypeBool HasTranslucentPolygonalGeometry() override
Methods supporting the rendering process.
vtkProperty * CylinderProperty
double * GetCenter()
Get the center of the cylinder.
bool IsTranslationConstrained()
Returns true if ConstrainedAxis.
vtkTypeBool OutsideBounds
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Methods supporting the rendering process.
void GetActors(vtkPropCollection *pc) override
Methods supporting the rendering process.
void PushCylinder(double distance)
Push the cylinder the distance specified along the view vector.
static vtkImplicitCylinderRepresentation * New()
Instantiate the class.
void SetHandleColor(double c[3])
Set the color of all the widgets handles (edges, axis, selected cylinder) and their color during inte...
vtkPolyDataMapper * EdgesMapper
void Rotate(double X, double Y, double *p1, double *p2, double *vpn)
int ConstrainToWidgetBounds
void BuildRepresentation() override
Methods to interface with the vtkImplicitCylinderWidget.
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 EndWidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkImplicitCylinderWidget.
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
vtkProperty * SelectedCylinderProperty
void WidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkImplicitCylinderWidget.
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 ReleaseGraphicsResources(vtkWindow *) override
Methods supporting the rendering process.
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()
double * GetBounds() override
Methods supporting the rendering process.
void SetForegroundColor(double c[3])
Set the color of all the widgets handles (edges, axis, selected cylinder) and their color during inte...
void SetForegroundColor(double, double, double)
Set the color of all the widgets handles (edges, axis, selected cylinder) and their color during inte...
vtkPolyDataMapper * LineMapper
vtkCellPicker * CylPicker
int ComputeInteractionState(int X, int Y, int modify=0) override
Methods to interface with the vtkImplicitCylinderWidget.
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_3_0(reason)
#define VTK_MAX_CYL_RESOLUTION
#define VTK_SIZEHINT(...)