56 #ifndef vtkAxisActor_h
57 #define vtkAxisActor_h
62 #define VTK_MAX_LABELS 200
63 #define VTK_MAX_TICKS 1000
65 #define VTK_AXIS_TYPE_X 0
66 #define VTK_AXIS_TYPE_Y 1
67 #define VTK_AXIS_TYPE_Z 2
69 #define VTK_TICKS_INSIDE 0
70 #define VTK_TICKS_OUTSIDE 1
71 #define VTK_TICKS_BOTH 2
73 #define VTK_AXIS_POS_MINMIN 0
74 #define VTK_AXIS_POS_MINMAX 1
75 #define VTK_AXIS_POS_MAXMAX 2
76 #define VTK_AXIS_POS_MAXMIN 3
106 { this->SetPoint1(x[0], x[1], x[2]); }
107 virtual void SetPoint1(
double x,
double y,
double z);
108 virtual double *GetPoint1();
115 { this->SetPoint2(x[0], x[1], x[2]); }
116 virtual void SetPoint2(
double x,
double y,
double z);
117 virtual double *GetPoint2();
123 vtkSetVector2Macro(Range,
double);
124 vtkGetVectorMacro(Range,
double,2);
130 void SetBounds(
const double bounds[6]);
131 void SetBounds(
double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax);
138 vtkSetStringMacro(LabelFormat);
139 vtkGetStringMacro(LabelFormat);
147 vtkSetMacro(UseTextActor3D,
int);
148 vtkGetMacro(UseTextActor3D,
int);
153 vtkSetMacro(MinorTicksVisible,
int);
154 vtkGetMacro(MinorTicksVisible,
int);
155 vtkBooleanMacro(MinorTicksVisible,
int);
160 void SetTitle(
const char *t);
161 vtkGetStringMacro(Title);
166 vtkSetMacro(MajorTickSize,
double);
167 vtkGetMacro(MajorTickSize,
double);
172 vtkSetMacro(MinorTickSize,
double);
173 vtkGetMacro(MinorTickSize,
double);
179 vtkGetMacro(TickLocation,
int);
191 vtkSetMacro(AxisVisibility,
int);
192 vtkGetMacro(AxisVisibility,
int);
193 vtkBooleanMacro(AxisVisibility,
int);
198 vtkSetMacro(TickVisibility,
int);
199 vtkGetMacro(TickVisibility,
int);
200 vtkBooleanMacro(TickVisibility,
int);
205 vtkSetMacro(LabelVisibility,
int);
206 vtkGetMacro(LabelVisibility,
int);
207 vtkBooleanMacro(LabelVisibility,
int);
212 vtkSetMacro(TitleVisibility,
int);
213 vtkGetMacro(TitleVisibility,
int);
214 vtkBooleanMacro(TitleVisibility,
int);
255 vtkSetMacro(DrawGridlines,
int);
256 vtkGetMacro(DrawGridlines,
int);
257 vtkBooleanMacro(DrawGridlines,
int);
264 vtkSetMacro(DrawGridlinesOnly,
int);
265 vtkGetMacro(DrawGridlinesOnly,
int);
266 vtkBooleanMacro(DrawGridlinesOnly,
int);
269 vtkSetMacro(DrawGridlinesLocation,
int);
270 vtkGetMacro(DrawGridlinesLocation,
int);
274 vtkSetMacro(DrawInnerGridlines,
int);
275 vtkGetMacro(DrawInnerGridlines,
int);
276 vtkBooleanMacro(DrawInnerGridlines,
int);
281 vtkSetMacro(GridlineXLength,
double);
282 vtkGetMacro(GridlineXLength,
double);
283 vtkSetMacro(GridlineYLength,
double);
284 vtkGetMacro(GridlineYLength,
double);
285 vtkSetMacro(GridlineZLength,
double);
286 vtkGetMacro(GridlineZLength,
double);
291 vtkSetMacro(DrawGridpolys,
int);
292 vtkGetMacro(DrawGridpolys,
int);
293 vtkBooleanMacro(DrawGridpolys,
int);
299 vtkGetMacro(AxisType,
int);
312 vtkGetMacro(AxisPosition,
int);
334 virtual int RenderTranslucentGeometry(
vtkViewport* viewport);
346 double ComputeMaxLabelLength(
const double [3]);
347 double ComputeTitleLength(
const double [3]);
349 void SetLabelScale(
const double scale);
350 void SetLabelScale(
int labelIndex,
const double scale);
351 void SetTitleScale(
const double scale);
356 vtkSetMacro(MinorStart,
double);
357 vtkGetMacro(MinorStart,
double);
358 double GetMajorStart(
int axis);
359 void SetMajorStart(
int axis,
double value);
362 vtkSetMacro(DeltaMinor,
double);
363 vtkGetMacro(DeltaMinor,
double);
364 double GetDeltaMajor(
int axis);
365 void SetDeltaMajor(
int axis,
double value);
375 vtkSetMacro(MinorRangeStart,
double);
376 vtkGetMacro(MinorRangeStart,
double);
377 vtkSetMacro(MajorRangeStart,
double);
378 vtkGetMacro(MajorRangeStart,
double);
379 vtkSetMacro(DeltaRangeMinor,
double);
380 vtkGetMacro(DeltaRangeMinor,
double);
381 vtkSetMacro(DeltaRangeMajor,
double);
382 vtkGetMacro(DeltaRangeMajor,
double);
401 return this->LabelActors;
414 return this->LabelProps3D;
422 vtkGetMacro(NumberOfLabelsBuilt,
int);
427 vtkSetMacro(CalculateTitleOffset,
int);
428 vtkGetMacro(CalculateTitleOffset,
int);
429 vtkBooleanMacro(CalculateTitleOffset,
int);
434 vtkSetMacro(CalculateLabelOffset,
int);
435 vtkGetMacro(CalculateLabelOffset,
int);
436 vtkBooleanMacro(CalculateLabelOffset,
int);
441 vtkSetMacro(Use2DMode,
int);
442 vtkGetMacro(Use2DMode,
int);
447 vtkSetMacro(VerticalOffsetXTitle2D,
double);
448 vtkGetMacro(VerticalOffsetXTitle2D,
double);
453 vtkSetMacro(HorizontalOffsetYTitle2D,
double);
454 vtkGetMacro(HorizontalOffsetYTitle2D,
double);
459 vtkSetMacro(SaveTitlePosition,
int);
460 vtkGetMacro(SaveTitlePosition,
int);
465 vtkSetVector3Macro(AxisBaseForX,
double);
466 vtkGetVector3Macro(AxisBaseForX,
double);
471 vtkSetVector3Macro(AxisBaseForY,
double);
472 vtkGetVector3Macro(AxisBaseForY,
double);
477 vtkSetVector3Macro(AxisBaseForZ,
double);
478 vtkGetVector3Macro(AxisBaseForZ,
double);
483 vtkSetMacro(AxisOnOrigin,
int);
484 vtkGetMacro(AxisOnOrigin,
int);
489 vtkSetMacro(LabelOffset,
double);
490 vtkGetMacro(LabelOffset,
double);
491 vtkSetMacro(TitleOffset,
double);
492 vtkGetMacro(TitleOffset,
double);
493 vtkSetMacro(ScreenSize,
double);
494 vtkGetMacro(ScreenSize,
double);
536 double AxisBaseForX[3];
537 double AxisBaseForY[3];
538 double AxisBaseForZ[3];
544 void TransformBounds(
vtkViewport *,
double bnds[6]);
551 void BuildTitle(
bool);
554 void SetAxisPointsAndLines(
void);
555 bool BuildTickPoints(
double p1[3],
double p2[3],
bool force);
557 bool TickVisibilityChanged(
void);
562 bool BoundsDisplayCoordinateChanged(
vtkViewport *viewport);
567 double MajorTickSize;
568 double MinorTickSize;
571 double MajorStart[3];
572 double DeltaMajor[3];
577 double MajorRangeStart;
578 double MinorRangeStart;
579 double DeltaRangeMinor;
580 double DeltaRangeMajor;
582 int LastAxisPosition;
584 int LastTickLocation;
585 double LastLabelStart;
631 int AxisHasZeroLength;
633 int CalculateTitleOffset;
634 int CalculateLabelOffset;
641 double VerticalOffsetXTitle2D;
645 double HorizontalOffsetYTitle2D;
651 int SaveTitlePosition;
654 double TitleConstantPosition[2];
659 double LastMinDisplayCoordinate[3];
660 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