42#ifndef vtkImplicitCylinderRepresentation_h
43#define vtkImplicitCylinderRepresentation_h
45#include "vtkInteractionWidgetsModule.h"
66#define VTK_MAX_CYL_RESOLUTION 2048
123 vtkSetClampMacro(MinRadius,
double,0.001,0.25);
124 vtkGetMacro(MinRadius,
double);
126 vtkGetMacro(MaxRadius,
double);
138 vtkGetMacro(AlongXAxis,
int);
141 vtkGetMacro(AlongYAxis,
int);
144 vtkGetMacro(AlongZAxis,
int);
156 vtkGetMacro(DrawCylinder,
int);
168 vtkGetMacro(Resolution,
int);
178 vtkGetMacro(Tubing,
int);
188 vtkGetMacro(OutlineTranslation,
int);
198 vtkGetMacro(OutsideBounds,
int);
209 vtkSetVector6Macro(WidgetBounds,
double);
210 vtkGetVector6Macro(WidgetBounds,
double);
223 vtkGetMacro(ConstrainToWidgetBounds,
int);
232 vtkGetMacro(ScaleEnabled,
int);
327 vtkSetClampMacro(BumpDistance,
double,0.000001,1);
328 vtkGetMacro(BumpDistance,
double);
371 vtkSetClampMacro(InteractionState,
int,Outside,TranslatingCenter);
380 vtkGetMacro(RepresentationState,
int);
390 double LastEventPosition[3];
419 double WidgetBounds[6];
473 void Rotate(
double X,
double Y,
double *p1,
double *p2,
double *vpn);
480 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 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 BumpCylinder(int dir, double factor)
Translate the cylinder in the direction of the view vector by the specified BumpDistance.
void HighlightNormal(int highlight)
void TranslateCylinder(double *p1, double *p2)
vtkProperty * AxisProperty
virtual void PlaceWidget(double bounds[6])
void TranslateCenterOnAxis(double *p1, double *p2)
void SetEdgeColor(vtkLookupTable *)
Set color to the edge.
void ScaleRadius(double *p1, double *p2)
virtual int RenderOpaqueGeometry(vtkViewport *)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
vtkProperty * EdgesProperty
void AdjustRadius(double X, double Y, double *p1, double *p2)
vtkPolyDataMapper * OutlineMapper
void CreateDefaultProperties()
void TranslateOutline(double *p1, double *p2)
vtkProperty * SelectedAxisProperty
virtual int ComputeInteractionState(int X, int Y, int modify=0)
Methods to interface with the vtkImplicitCylinderWidget.
void SetAxis(double x, double y, double z)
Set/Get the axis of rotation for the cylinder.
virtual void StartWidgetInteraction(double eventPos[2])
void SetCenter(double x, double y, double z)
Get the center of the cylinder.
~vtkImplicitCylinderRepresentation()
vtkTubeFilter * EdgesTuber
vtkPolyDataMapper * SphereMapper
vtkPolyDataMapper * ConeMapper
vtkPolyDataMapper * LineMapper2
vtkProperty * CylinderProperty
void PushCylinder(double distance)
Push the cylinder the distance specified along the view vector.
static vtkImplicitCylinderRepresentation * New()
Instantiate the class.
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *)
vtkPolyDataMapper * EdgesMapper
void Rotate(double X, double Y, double *p1, double *p2, double *vpn)
void GetCylinder(vtkCylinder *cyl)
Get the implicit function for the cylinder.
int ConstrainToWidgetBounds
virtual void BuildRepresentation()
vtkOutlineFilter * Outline
vtkPolyDataMapper * ConeMapper2
virtual double * GetBounds()
Methods supporting the rendering process.
virtual void GetActors(vtkPropCollection *pc)
For some exporters and other other operations we must be able to collect all the actors or volumes.
vtkProperty * OutlineProperty
virtual void SetRepresentationState(int)
Sets the visual appearance of the representation based on the state it is in.
virtual void RegisterPickers()
Register internal Pickers in the Picking Manager.
vtkProperty * SelectedCylinderProperty
vtkPolyDataMapper * CylMapper
void GetAxis(double a[3])
vtkConeSource * ConeSource2
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkConeSource * ConeSource
virtual void EndWidgetInteraction(double newEventPos[2])
void Scale(double *p1, double *p2, double X, double Y)
void GetPolyData(vtkPolyData *pd)
Grab the polydata that defines the cylinder.
void TranslateCenter(double *p1, double *p2)
virtual void WidgetInteraction(double newEventPos[2])
void GetCenter(double xyz[3])
void SetDrawCylinder(int drawCyl)
Enable/disable the drawing of the cylinder.
void SetCenter(double x[3])
vtkLineSource * LineSource2
vtkImplicitCylinderRepresentation()
void SetEdgeColor(double, double, double)
vtkPolyDataMapper * LineMapper
virtual void ReleaseGraphicsResources(vtkWindow *)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
vtkCellPicker * CylPicker
void SetRadius(double r)
Set/Get the radius of the cylinder.
void SetEdgeColor(double x[3])
void SetAlongXAxis(int)
Force the cylinder widget to be aligned with one of the x-y-z axes.
void SetAxis(double a[3])
virtual int HasTranslucentPolygonalGeometry()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
void UpdatePlacement(void)
Satisfies the superclass API.
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 arbitrary data set
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_MAX_CYL_RESOLUTION
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.