53 #ifndef vtkAxisActor_h
54 #define vtkAxisActor_h
59 #define VTK_MAX_LABELS 200
60 #define VTK_MAX_TICKS 1000
62 #define VTK_AXIS_TYPE_X 0
63 #define VTK_AXIS_TYPE_Y 1
64 #define VTK_AXIS_TYPE_Z 2
66 #define VTK_TICKS_INSIDE 0
67 #define VTK_TICKS_OUTSIDE 1
68 #define VTK_TICKS_BOTH 2
70 #define VTK_AXIS_POS_MINMIN 0
71 #define VTK_AXIS_POS_MINMAX 1
72 #define VTK_AXIS_POS_MAXMAX 2
73 #define VTK_AXIS_POS_MAXMIN 3
103 { this->SetPoint1(x[0], x[1], x[2]); }
104 virtual void SetPoint1(
double x,
double y,
double z);
105 virtual double *GetPoint1();
112 { this->SetPoint2(x[0], x[1], x[2]); }
113 virtual void SetPoint2(
double x,
double y,
double z);
114 virtual double *GetPoint2();
120 vtkSetVector2Macro(Range,
double);
121 vtkGetVectorMacro(Range,
double,2);
127 void SetBounds(
const double bounds[6]);
128 void SetBounds(
double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax);
135 vtkSetStringMacro(LabelFormat);
136 vtkGetStringMacro(LabelFormat);
144 vtkSetMacro(UseTextActor3D,
int);
145 vtkGetMacro(UseTextActor3D,
int);
150 vtkSetMacro(MinorTicksVisible,
int);
151 vtkGetMacro(MinorTicksVisible,
int);
152 vtkBooleanMacro(MinorTicksVisible,
int);
157 void SetTitle(
const char *t);
158 vtkGetStringMacro(Title);
163 vtkSetMacro(MajorTickSize,
double);
164 vtkGetMacro(MajorTickSize,
double);
169 vtkSetMacro(MinorTickSize,
double);
170 vtkGetMacro(MinorTickSize,
double);
176 vtkGetMacro(TickLocation,
int);
188 vtkSetMacro(AxisVisibility,
int);
189 vtkGetMacro(AxisVisibility,
int);
190 vtkBooleanMacro(AxisVisibility,
int);
195 vtkSetMacro(TickVisibility,
int);
196 vtkGetMacro(TickVisibility,
int);
197 vtkBooleanMacro(TickVisibility,
int);
202 vtkSetMacro(LabelVisibility,
int);
203 vtkGetMacro(LabelVisibility,
int);
204 vtkBooleanMacro(LabelVisibility,
int);
209 vtkSetMacro(TitleVisibility,
int);
210 vtkGetMacro(TitleVisibility,
int);
211 vtkBooleanMacro(TitleVisibility,
int);
252 vtkSetMacro(DrawGridlines,
int);
253 vtkGetMacro(DrawGridlines,
int);
254 vtkBooleanMacro(DrawGridlines,
int);
261 vtkSetMacro(DrawGridlinesOnly,
int);
262 vtkGetMacro(DrawGridlinesOnly,
int);
263 vtkBooleanMacro(DrawGridlinesOnly,
int);
266 vtkSetMacro(DrawGridlinesLocation,
int);
267 vtkGetMacro(DrawGridlinesLocation,
int);
271 vtkSetMacro(DrawInnerGridlines,
int);
272 vtkGetMacro(DrawInnerGridlines,
int);
273 vtkBooleanMacro(DrawInnerGridlines,
int);
278 vtkSetMacro(GridlineXLength,
double);
279 vtkGetMacro(GridlineXLength,
double);
280 vtkSetMacro(GridlineYLength,
double);
281 vtkGetMacro(GridlineYLength,
double);
282 vtkSetMacro(GridlineZLength,
double);
283 vtkGetMacro(GridlineZLength,
double);
288 vtkSetMacro(DrawGridpolys,
int);
289 vtkGetMacro(DrawGridpolys,
int);
290 vtkBooleanMacro(DrawGridpolys,
int);
296 vtkGetMacro(AxisType,
int);
309 vtkGetMacro(AxisPosition,
int);
331 virtual int RenderTranslucentGeometry(
vtkViewport* viewport);
343 double ComputeMaxLabelLength(
const double [3]);
344 double ComputeTitleLength(
const double [3]);
346 void SetLabelScale(
const double scale);
347 void SetLabelScale(
int labelIndex,
const double scale);
348 void SetTitleScale(
const double scale);
353 vtkSetMacro(MinorStart,
double);
354 vtkGetMacro(MinorStart,
double);
355 double GetMajorStart(
int axis);
356 void SetMajorStart(
int axis,
double value);
359 vtkSetMacro(DeltaMinor,
double);
360 vtkGetMacro(DeltaMinor,
double);
361 double GetDeltaMajor(
int axis);
362 void SetDeltaMajor(
int axis,
double value);
372 vtkSetMacro(MinorRangeStart,
double);
373 vtkGetMacro(MinorRangeStart,
double);
374 vtkSetMacro(MajorRangeStart,
double);
375 vtkGetMacro(MajorRangeStart,
double);
376 vtkSetMacro(DeltaRangeMinor,
double);
377 vtkGetMacro(DeltaRangeMinor,
double);
378 vtkSetMacro(DeltaRangeMajor,
double);
379 vtkGetMacro(DeltaRangeMajor,
double);
398 return this->LabelActors;
411 return this->LabelProps3D;
419 vtkGetMacro(NumberOfLabelsBuilt,
int);
424 vtkSetMacro(CalculateTitleOffset,
int);
425 vtkGetMacro(CalculateTitleOffset,
int);
426 vtkBooleanMacro(CalculateTitleOffset,
int);
431 vtkSetMacro(CalculateLabelOffset,
int);
432 vtkGetMacro(CalculateLabelOffset,
int);
433 vtkBooleanMacro(CalculateLabelOffset,
int);
438 vtkSetMacro(Use2DMode,
int);
439 vtkGetMacro(Use2DMode,
int);
444 vtkSetMacro(VerticalOffsetXTitle2D,
double);
445 vtkGetMacro(VerticalOffsetXTitle2D,
double);
450 vtkSetMacro(HorizontalOffsetYTitle2D,
double);
451 vtkGetMacro(HorizontalOffsetYTitle2D,
double);
456 vtkSetMacro(SaveTitlePosition,
int);
457 vtkGetMacro(SaveTitlePosition,
int);
462 vtkSetVector3Macro(AxisBaseForX,
double);
463 vtkGetVector3Macro(AxisBaseForX,
double);
468 vtkSetVector3Macro(AxisBaseForY,
double);
469 vtkGetVector3Macro(AxisBaseForY,
double);
474 vtkSetVector3Macro(AxisBaseForZ,
double);
475 vtkGetVector3Macro(AxisBaseForZ,
double);
480 vtkSetMacro(AxisOnOrigin,
int);
481 vtkGetMacro(AxisOnOrigin,
int);
486 vtkSetMacro(LabelOffset,
double);
487 vtkGetMacro(LabelOffset,
double);
488 vtkSetMacro(TitleOffset,
double);
489 vtkGetMacro(TitleOffset,
double);
490 vtkSetMacro(ScreenSize,
double);
491 vtkGetMacro(ScreenSize,
double);
533 double AxisBaseForX[3];
534 double AxisBaseForY[3];
535 double AxisBaseForZ[3];
541 void TransformBounds(
vtkViewport *,
double bnds[6]);
548 void BuildTitle(
bool);
551 void SetAxisPointsAndLines(
void);
552 bool BuildTickPoints(
double p1[3],
double p2[3],
bool force);
554 bool TickVisibilityChanged(
void);
559 bool BoundsDisplayCoordinateChanged(
vtkViewport *viewport);
564 double MajorTickSize;
565 double MinorTickSize;
568 double MajorStart[3];
569 double DeltaMajor[3];
574 double MajorRangeStart;
575 double MinorRangeStart;
576 double DeltaRangeMinor;
577 double DeltaRangeMajor;
579 int LastAxisPosition;
581 int LastTickLocation;
582 double LastLabelStart;
628 int AxisHasZeroLength;
630 int CalculateTitleOffset;
631 int CalculateLabelOffset;
638 double VerticalOffsetXTitle2D;
642 double HorizontalOffsetYTitle2D;
648 int SaveTitlePosition;
651 double TitleConstantPosition[2];
656 double LastMinDisplayCoordinate[3];
657 double LastMaxDisplayCoordinate[3];
virtual void SetPoint1(double x[3])
represents an object (geometry & properties) in a rendered scene
#define VTK_TICKS_OUTSIDE
void SetAxisTypeToY(void)
int LastMinorTicksVisible
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport)
#define VTK_AXIS_POS_MAXMAX
abstract specification for Viewports
represent surface properties of a geometric object
int LastDrawInnerGridlines
virtual void SetPoint2(double x[3])
virtual int RenderOverlay(vtkViewport *)
record modification and/or execution time
Create an axis with tick marks and labels.
vtkProp3DAxisFollower ** GetLabelProps3D()
a vtkAbstractArray subclass for strings
void SetTickLocationToInside(void)
concrete dataset represents vertices, lines, polygons, and triangle strips
void PrintSelf(ostream &os, vtkIndent indent)
#define VTKRENDERINGANNOTATION_EXPORT
int DrawGridlinesLocation
void SetAxisPositionToMaxMin(void)
window superclass for vtkRenderWindow
void SetAxisTypeToX(void)
An actor that displays text. Scaled or unscaled.
a simple class to control print indentation
a virtual camera for 3D rendering
void SetAxisPositionToMaxMax(void)
vtkAxisFollower ** GetLabelActors()
void SetTickLocationToBoth(void)
#define VTK_AXIS_POS_MAXMIN
An actor that displays text.
represent text properties.
perform coordinate transformation, and represent position, in a variety of vtk coordinate systems ...
a subclass of vtkFollower that ensures that data is always parallel to the axis defined by a vtkAxisA...
void SetAxisPositionToMinMax(void)
map vtkPolyData to graphics primitives
void SetAxisPositionToMinMin(void)
#define VTK_AXIS_POS_MINMAX
a subclass of actor that always faces the camera
virtual int RenderOpaqueGeometry(vtkViewport *viewport)
a subclass of vtkProp3DFollower that ensures that data is always parallel to the axis defined by a vt...
virtual int HasTranslucentPolygonalGeometry()
int LastDrawGridlinesLocation
void ReleaseGraphicsResources(vtkWindow *)
represent surface properties of a 2D image
void SetAxisTypeToZ(void)
void SetTickLocationToOutside(void)
#define VTK_AXIS_POS_MINMIN
represent and manipulate 3D points