41 #ifndef vtkImplicitCylinderRepresentation_h 
   42 #define vtkImplicitCylinderRepresentation_h 
   65 #define VTK_MAX_CYL_RESOLUTION 2048 
   82   void SetCenter(
double x, 
double y, 
double z);
 
   83   void SetCenter(
double x[3]);
 
   85   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]);
 
  100   void SetRadius(
double r);
 
  109   vtkSetClampMacro(MinRadius,
double,0.001,0.25);
 
  110   vtkGetMacro(MinRadius,
double);
 
  112   vtkGetMacro(MaxRadius,
double);
 
  120   void SetAlongXAxis(
int);
 
  121   vtkGetMacro(AlongXAxis,
int);
 
  122   vtkBooleanMacro(AlongXAxis,
int);
 
  123   void SetAlongYAxis(
int);
 
  124   vtkGetMacro(AlongYAxis,
int);
 
  125   vtkBooleanMacro(AlongYAxis,
int);
 
  126   void SetAlongZAxis(
int);
 
  127   vtkGetMacro(AlongZAxis,
int);
 
  128   vtkBooleanMacro(AlongZAxis,
int);
 
  136   void SetDrawCylinder(
int plane);
 
  137   vtkGetMacro(DrawCylinder,
int);
 
  138   vtkBooleanMacro(DrawCylinder,
int);
 
  147   vtkGetMacro(Resolution,
int);
 
  154   vtkSetMacro(Tubing,
int);
 
  155   vtkGetMacro(Tubing,
int);
 
  156   vtkBooleanMacro(Tubing,
int);
 
  162   vtkSetMacro(OutlineTranslation,
int);
 
  163   vtkGetMacro(OutlineTranslation,
int);
 
  164   vtkBooleanMacro(OutlineTranslation,
int);
 
  170   vtkSetMacro(OutsideBounds,
int);
 
  171   vtkGetMacro(OutsideBounds,
int);
 
  172   vtkBooleanMacro(OutsideBounds,
int);
 
  177   vtkSetMacro(ScaleEnabled,
int);
 
  178   vtkGetMacro(ScaleEnabled,
int);
 
  179   vtkBooleanMacro(ScaleEnabled,
int);
 
  196   void UpdatePlacement(
void);
 
  201   vtkGetObjectMacro(SelectedAxisProperty,
vtkProperty);
 
  208   vtkGetObjectMacro(SelectedCylinderProperty,
vtkProperty);
 
  214   vtkGetObjectMacro(SelectedOutlineProperty,
vtkProperty);
 
  225   void SetEdgeColor(
double, 
double, 
double);
 
  226   void SetEdgeColor(
double x[3]);
 
  253   vtkSetClampMacro(BumpDistance,
double,0.000001,1);
 
  254   vtkGetMacro(BumpDistance,
double);
 
  262   void BumpCylinder(
int dir, 
double factor);
 
  268   void PushCylinder(
double distance);
 
  290   vtkSetClampMacro(InteractionState,
int,Outside,Scaling);
 
  296   virtual void SetRepresentationState(
int);
 
  297   vtkGetMacro(RepresentationState, 
int);
 
  307   double LastEventPosition[3];
 
  332   void HighlightOutline(
int highlight);
 
  342   void HighlightCylinder(
int highlight);
 
  355   void HighlightNormal(
int highlight);
 
  388   void ConstrainCenter(
double x[3]);
 
  389   void Rotate(
double X, 
double Y, 
double *p1, 
double *p2, 
double *vpn);
 
  390   void TranslateCylinder(
double *p1, 
double *p2);
 
  391   void TranslateOutline(
double *p1, 
double *p2);
 
  392   void TranslateCenter(
double *p1, 
double *p2);
 
  393   void ScaleRadius(
double *p1, 
double *p2);
 
  394   void AdjustRadius(
double X, 
double Y, 
double *p1, 
double *p2);
 
  395   void Scale(
double *p1, 
double *p2, 
double X, 
double Y);
 
  407   void CreateDefaultProperties();
 
  410   void BuildCylinder();
 
vtkPolyDataMapper * ConeMapper
vtkConeSource * ConeSource2
represents an object (geometry & properties) in a rendered scene 
vtkPolyDataMapper * OutlineMapper
vtkOutlineFilter * Outline
abstract specification for Viewports 
represent surface properties of a geometric object 
vtkProperty * CylinderProperty
defining the representation for a vtkImplicitCylinderWidget 
map scalar values into colors via a lookup table 
vtkPolyDataMapper * LineMapper
vtkLineSource * LineSource2
concrete dataset represents vertices, lines, polygons, and triangle strips 
vtkCellPicker * CylPicker
vtkConeSource * ConeSource
vtkProperty * OutlineProperty
window superclass for vtkRenderWindow 
create wireframe outline for arbitrary data set 
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 
a simple class to control print indentation 
extract 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
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
implicit function for a cylinder 
implicit function for a bounding box 
vtkPolyDataMapper * ConeMapper2
#define VTK_MAX_CYL_RESOLUTION
vtkProperty * AxisProperty