VTK  9.3.1
vtkAxisActor.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
44 #ifndef vtkAxisActor_h
45 #define vtkAxisActor_h
46 
47 #include "vtkActor.h"
48 #include "vtkDeprecation.h" // For deprecation macro
49 #include "vtkNew.h" // For vtkNew
50 #include "vtkRenderingAnnotationModule.h" // For export macro
51 #include "vtkSmartPointer.h" // For vtkSmartPointer
52 
53 VTK_ABI_NAMESPACE_BEGIN
54 class vtkAxisFollower;
55 class vtkCamera;
56 class vtkCoordinate;
57 class vtkFollower;
58 class vtkPoints;
59 class vtkPolyData;
60 class vtkPolyDataMapper;
62 class vtkProperty2D;
63 class vtkStringArray;
64 class vtkTextActor;
65 class vtkTextActor3D;
66 class vtkTextProperty;
67 class vtkVectorText;
68 
69 class VTKRENDERINGANNOTATION_EXPORT vtkAxisActor : public vtkActor
70 {
71 public:
72  vtkTypeMacro(vtkAxisActor, vtkActor);
73  void PrintSelf(ostream& os, vtkIndent indent) override;
74 
78  static vtkAxisActor* New();
79 
81 
84  virtual vtkCoordinate* GetPoint1Coordinate();
85  virtual void SetPoint1(double x[3]) { this->SetPoint1(x[0], x[1], x[2]); }
86  virtual void SetPoint1(double x, double y, double z);
87  virtual double* GetPoint1();
89 
91 
94  virtual vtkCoordinate* GetPoint2Coordinate();
95  virtual void SetPoint2(double x[3]) { this->SetPoint2(x[0], x[1], x[2]); }
96  virtual void SetPoint2(double x, double y, double z);
97  virtual double* GetPoint2();
99 
101 
106  vtkSetVector2Macro(Range, double);
107  vtkGetVectorMacro(Range, double, 2);
109 
111 
115  void SetBounds(const double bounds[6]);
116  void SetBounds(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
117  double* GetBounds() VTK_SIZEHINT(6) override;
118  void GetBounds(double bounds[6]);
120 
122 
125  vtkSetStringMacro(LabelFormat);
126  vtkGetStringMacro(LabelFormat);
128 
130 
137  vtkSetMacro(UseTextActor3D, bool);
138  vtkGetMacro(UseTextActor3D, bool);
140 
142 
146  vtkSetMacro(MinorTicksVisible, bool);
147  vtkGetMacro(MinorTicksVisible, bool);
148  vtkBooleanMacro(MinorTicksVisible, bool);
150 
152 
155  void SetTitle(const char* t);
156  vtkGetStringMacro(Title);
158 
160 
163  void SetExponent(const char* t);
164  vtkGetStringMacro(Exponent);
166 
168 
172  vtkSetMacro(MajorTickSize, double);
173  vtkGetMacro(MajorTickSize, double);
175 
177 
181  vtkSetMacro(MinorTickSize, double);
182  vtkGetMacro(MinorTickSize, double);
184 
186  {
187  VTK_TICKS_INSIDE = 0,
188  VTK_TICKS_OUTSIDE = 1,
189  VTK_TICKS_BOTH = 2
190  };
191 
193 
199  vtkSetClampMacro(TickLocation, int, VTK_TICKS_INSIDE, VTK_TICKS_BOTH);
200  vtkGetMacro(TickLocation, int);
202 
203  void SetTickLocationToInside() { this->SetTickLocation(VTK_TICKS_INSIDE); }
204  void SetTickLocationToOutside() { this->SetTickLocation(VTK_TICKS_OUTSIDE); }
205  void SetTickLocationToBoth() { this->SetTickLocation(VTK_TICKS_BOTH); }
206 
208 
212  vtkSetMacro(AxisVisibility, bool);
213  vtkGetMacro(AxisVisibility, bool);
214  vtkBooleanMacro(AxisVisibility, bool);
216 
218 
222  vtkSetMacro(TickVisibility, bool);
223  vtkGetMacro(TickVisibility, bool);
224  vtkBooleanMacro(TickVisibility, bool);
226 
228 
232  vtkSetMacro(LabelVisibility, bool);
233  vtkGetMacro(LabelVisibility, bool);
234  vtkBooleanMacro(LabelVisibility, bool);
236 
238 
242  vtkSetMacro(TitleVisibility, bool);
243  vtkGetMacro(TitleVisibility, bool);
244  vtkBooleanMacro(TitleVisibility, bool);
246 
248 
252  vtkSetMacro(ExponentVisibility, bool);
253  vtkGetMacro(ExponentVisibility, bool);
254  vtkBooleanMacro(ExponentVisibility, bool);
256 
258 
262  vtkSetMacro(LastMajorTickPointCorrection, bool);
263  vtkGetMacro(LastMajorTickPointCorrection, bool);
264  vtkBooleanMacro(LastMajorTickPointCorrection, bool);
266 
268  {
269  VTK_ALIGN_TOP = 0,
270  VTK_ALIGN_BOTTOM = 1,
271  VTK_ALIGN_POINT1 = 2,
272  VTK_ALIGN_POINT2 = 3
273  };
274 
276 
281  virtual void SetTitleAlignLocation(int location);
282  vtkGetMacro(TitleAlignLocation, int);
284 
286 
291  virtual void SetExponentLocation(int location);
292  vtkGetMacro(ExponentLocation, int);
294 
296 
299  virtual void SetTitleTextProperty(vtkTextProperty* p);
300  vtkTextProperty* GetTitleTextProperty();
302 
304 
307  virtual void SetLabelTextProperty(vtkTextProperty* p);
308  vtkTextProperty* GetLabelTextProperty();
310 
312 
315  void SetAxisLinesProperty(vtkProperty*);
316  vtkProperty* GetAxisLinesProperty();
318 
320 
323  void SetAxisMainLineProperty(vtkProperty*);
324  vtkProperty* GetAxisMainLineProperty();
326 
328 
331  void SetAxisMajorTicksProperty(vtkProperty*);
332  vtkProperty* GetAxisMajorTicksProperty();
334 
336 
339  void SetAxisMinorTicksProperty(vtkProperty*);
340  vtkProperty* GetAxisMinorTicksProperty();
342 
344 
347  void SetGridlinesProperty(vtkProperty*);
348  vtkProperty* GetGridlinesProperty();
350 
352 
355  void SetInnerGridlinesProperty(vtkProperty*);
356  vtkProperty* GetInnerGridlinesProperty();
358 
360 
363  void SetGridpolysProperty(vtkProperty*);
364  vtkProperty* GetGridpolysProperty();
366 
368 
372  vtkSetMacro(DrawGridlines, bool);
373  vtkGetMacro(DrawGridlines, bool);
374  vtkBooleanMacro(DrawGridlines, bool);
376 
378 
384  vtkSetMacro(DrawGridlinesOnly, bool);
385  vtkGetMacro(DrawGridlinesOnly, bool);
386  vtkBooleanMacro(DrawGridlinesOnly, bool);
388 
389  vtkSetMacro(DrawGridlinesLocation, int);
390  vtkGetMacro(DrawGridlinesLocation, int);
391 
393 
397  vtkSetMacro(DrawInnerGridlines, bool);
398  vtkGetMacro(DrawInnerGridlines, bool);
399  vtkBooleanMacro(DrawInnerGridlines, bool);
401 
403 
407  vtkSetMacro(GridlineXLength, double);
408  vtkGetMacro(GridlineXLength, double);
409  vtkSetMacro(GridlineYLength, double);
410  vtkGetMacro(GridlineYLength, double);
411  vtkSetMacro(GridlineZLength, double);
412  vtkGetMacro(GridlineZLength, double);
414 
416 
420  vtkSetMacro(DrawGridpolys, bool);
421  vtkGetMacro(DrawGridpolys, bool);
422  vtkBooleanMacro(DrawGridpolys, bool);
424 
425  enum AxisType
426  {
427  VTK_AXIS_TYPE_X = 0,
428  VTK_AXIS_TYPE_Y = 1,
429  VTK_AXIS_TYPE_Z = 2
430  };
431 
433 
437  vtkSetClampMacro(AxisType, int, VTK_AXIS_TYPE_X, VTK_AXIS_TYPE_Z);
438  vtkGetMacro(AxisType, int);
439  void SetAxisTypeToX() { this->SetAxisType(VTK_AXIS_TYPE_X); }
440  void SetAxisTypeToY() { this->SetAxisType(VTK_AXIS_TYPE_Y); }
441  void SetAxisTypeToZ() { this->SetAxisType(VTK_AXIS_TYPE_Z); }
443 
445  {
446  VTK_AXIS_POS_MINMIN = 0,
447  VTK_AXIS_POS_MINMAX = 1,
448  VTK_AXIS_POS_MAXMAX = 2,
449  VTK_AXIS_POS_MAXMIN = 3
450  };
451 
453 
457  vtkSetMacro(Log, bool);
458  vtkGetMacro(Log, bool);
459  vtkBooleanMacro(Log, bool);
461 
463 
471  vtkSetClampMacro(AxisPosition, int, VTK_AXIS_POS_MINMIN, VTK_AXIS_POS_MAXMIN);
472  vtkGetMacro(AxisPosition, int);
474 
475  void SetAxisPositionToMinMin() { this->SetAxisPosition(VTK_AXIS_POS_MINMIN); }
476  void SetAxisPositionToMinMax() { this->SetAxisPosition(VTK_AXIS_POS_MINMAX); }
477  void SetAxisPositionToMaxMax() { this->SetAxisPosition(VTK_AXIS_POS_MAXMAX); }
478  void SetAxisPositionToMaxMin() { this->SetAxisPosition(VTK_AXIS_POS_MAXMIN); }
479 
481 
485  virtual void SetCamera(vtkCamera*);
486  vtkCamera* GetCamera();
488 
490 
493  int RenderOpaqueGeometry(vtkViewport* viewport) override;
494  virtual int RenderTranslucentGeometry(vtkViewport* viewport);
495  int RenderTranslucentPolygonalGeometry(vtkViewport* viewport) override;
496  int RenderOverlay(vtkViewport* viewport) override;
499 
505  void ReleaseGraphicsResources(vtkWindow*) override;
506 
507  double ComputeMaxLabelLength(const double[3]);
508  double ComputeTitleLength(const double[3]);
509 
510  void SetLabelScale(double scale);
511  void SetLabelScale(int labelIndex, double scale);
512  void SetTitleScale(double scale);
513 
515 
519  vtkSetMacro(MinorStart, double);
520  vtkGetMacro(MinorStart, double);
521  double GetMajorStart(int axis);
522  void SetMajorStart(int axis, double value);
523  vtkSetMacro(DeltaMinor, double);
524  vtkGetMacro(DeltaMinor, double);
525  double GetDeltaMajor(int axis);
526  void SetDeltaMajor(int axis, double value);
528 
530 
536  vtkSetMacro(MinorRangeStart, double);
537  vtkGetMacro(MinorRangeStart, double);
538  vtkSetMacro(MajorRangeStart, double);
539  vtkGetMacro(MajorRangeStart, double);
541 
543 
547  vtkSetMacro(DeltaRangeMinor, double);
548  vtkGetMacro(DeltaRangeMinor, double);
549  vtkSetMacro(DeltaRangeMajor, double);
550  vtkGetMacro(DeltaRangeMajor, double);
552 
553  void SetLabels(vtkStringArray* labels);
554 
555  void BuildAxis(vtkViewport* viewport, bool);
556 
558 
562  vtkGetObjectMacro(TitleActor, vtkAxisFollower);
564 
566 
569  vtkGetObjectMacro(ExponentActor, vtkAxisFollower);
571 
575  inline vtkAxisFollower** GetLabelActors() { return this->LabelActors; }
576 
578 
582  vtkGetObjectMacro(TitleProp3D, vtkProp3DAxisFollower);
584 
588  inline vtkProp3DAxisFollower** GetLabelProps3D() { return this->LabelProps3D; }
589 
591 
595  vtkGetObjectMacro(ExponentProp3D, vtkProp3DAxisFollower);
597 
599 
603  vtkGetMacro(NumberOfLabelsBuilt, int);
605 
607 
611  vtkSetMacro(CalculateTitleOffset, bool);
612  vtkGetMacro(CalculateTitleOffset, bool);
613  vtkBooleanMacro(CalculateTitleOffset, bool);
615 
617 
621  vtkSetMacro(CalculateLabelOffset, bool);
622  vtkGetMacro(CalculateLabelOffset, bool);
623  vtkBooleanMacro(CalculateLabelOffset, bool);
625 
627 
631  vtkSetMacro(Use2DMode, bool);
632  vtkGetMacro(Use2DMode, bool);
634 
636 
640  vtkSetMacro(VerticalOffsetXTitle2D, double);
641  vtkGetMacro(VerticalOffsetXTitle2D, double);
643 
645 
649  vtkSetMacro(HorizontalOffsetYTitle2D, double);
650  vtkGetMacro(HorizontalOffsetYTitle2D, double);
652 
654 
658  vtkSetMacro(SaveTitlePosition, int);
659  vtkGetMacro(SaveTitlePosition, int);
661 
663 
667  vtkSetVector3Macro(AxisBaseForX, double);
668  vtkGetVector3Macro(AxisBaseForX, double);
670 
672 
676  vtkSetVector3Macro(AxisBaseForY, double);
677  vtkGetVector3Macro(AxisBaseForY, double);
679 
681 
685  vtkSetVector3Macro(AxisBaseForZ, double);
686  vtkGetVector3Macro(AxisBaseForZ, double);
688 
690 
694  vtkSetMacro(AxisOnOrigin, bool);
695  vtkGetMacro(AxisOnOrigin, bool);
697 
699 
703  vtkSetMacro(ScreenSize, double);
704  vtkGetMacro(ScreenSize, double);
706 
708 
712  vtkSetMacro(LabelOffset, double);
713  vtkGetMacro(LabelOffset, double);
715 
717 
721  vtkSetMacro(ExponentOffset, double);
722  vtkGetMacro(ExponentOffset, double);
724 
726 
733  VTK_DEPRECATED_IN_9_3_0("Use SetTitleOffset(double, double) as it's now a 2d vector")
734  void SetTitleOffset(double titleOffsetY);
735  VTK_DEPRECATED_IN_9_3_0("Use GetTitleOffset(double&, double&) as it's now a 2d vector")
736  double GetTitleOffset();
737  vtkSetVector2Macro(TitleOffset, double);
738  // TODO: Replace getter with macro once deprecated one is removed
739  void GetTitleOffset(double& titleOffsetX, double& titleOffsetY);
741 
742 protected:
743  vtkAxisActor();
744  ~vtkAxisActor() override;
745 
746  char* Title = nullptr;
747  char* Exponent = nullptr;
748  char* LabelFormat = nullptr;
749  double Range[2] = { 0.0, 1.0 };
750  double LastRange[2] = { -1.0, -1.0 };
751  bool UseTextActor3D = false;
752  int NumberOfLabelsBuilt = 0;
753  bool MinorTicksVisible = true;
754  bool LastMinorTicksVisible = true;
755 
761  int TickLocation = VTK_TICKS_INSIDE;
762 
767  int TitleAlignLocation = VTK_ALIGN_BOTTOM;
768 
773  int ExponentLocation = VTK_ALIGN_POINT2;
774 
775  bool DrawGridlines = false;
776  bool DrawGridlinesOnly = false;
777  bool LastDrawGridlines = false;
778  int DrawGridlinesLocation = 0; // 0: all | 1: closest | 2: furthest
779  int LastDrawGridlinesLocation = 0; // 0: all | 1: closest | 2: furthest
780  double GridlineXLength = 1.0;
781  double GridlineYLength = 1.0;
782  double GridlineZLength = 1.0;
783 
784  bool DrawInnerGridlines = false;
785  bool LastDrawInnerGridlines = false;
786 
787  bool DrawGridpolys = false;
788  bool LastDrawGridpolys = false;
789 
790  bool AxisVisibility = true;
791  bool TickVisibility = true;
792  bool LastTickVisibility = true;
793  bool LabelVisibility = true;
794  bool TitleVisibility = true;
795  bool ExponentVisibility = false;
796  bool LastMajorTickPointCorrection = false;
797 
798  bool Log = false;
799  int AxisType = VTK_AXIS_TYPE_X;
800  int AxisPosition = VTK_AXIS_POS_MINMIN;
801 
802  // coordinate system for axisAxtor, relative to world coordinates
803  double AxisBaseForX[3] = { 1.0, 0.0, 0.0 };
804  double AxisBaseForY[3] = { 0.0, 1.0, 0.0 };
805  double AxisBaseForZ[3] = { 0.0, 0.0, 1.0 };
806 
807 private:
808  vtkAxisActor(const vtkAxisActor&) = delete;
809  void operator=(const vtkAxisActor&) = delete;
810 
811  void TransformBounds(vtkViewport*, double bnds[6]);
812 
813  void BuildLabels(vtkViewport*, bool);
814  void BuildLabels2D(vtkViewport*, bool);
815  void SetLabelPositions(vtkViewport*, bool);
816  void SetLabelPositions2D(vtkViewport*, bool);
817 
822  void RotateActor2DFromAxisProjection(vtkTextActor* pActor2D);
823 
827  void InitTitle();
828 
832  void InitExponent();
833 
840  void BuildTitle(bool);
841 
846  void BuildExponent(bool force);
847 
848  void BuildExponent2D(vtkViewport* viewport, bool force);
849 
850  void BuildTitle2D(vtkViewport* viewport, bool);
851 
852  void SetAxisPointsAndLines();
853 
854  bool BuildTickPoints(double p1[3], double p2[3], bool force);
855 
856  // Build major ticks for linear scale.
857  void BuildMajorTicks(double p1[3], double p2[3], double localCoordSys[3][3]);
858 
859  // Build major ticks for logarithmic scale.
860  void BuildMajorTicksLog(double p1[3], double p2[3], double localCoordSys[3][3]);
861 
862  // Build minor ticks for linear scale.
863  void BuildMinorTicks(double p1[3], double p2[3], double localCoordSys[3][3]);
864 
865  // Build minor ticks for logarithmic scale enabled
866  void BuildMinorTicksLog(double p1[3], double p2[3], double localCoordSys[3][3]);
867 
868  void BuildAxisGridLines(double p1[3], double p2[3], double localCoordSys[3][3]);
869 
870  bool TickVisibilityChanged();
871  vtkProperty* NewTitleProperty();
872  vtkProperty2D* NewTitleProperty2D();
873  vtkProperty* NewLabelProperty();
874 
875  bool BoundsDisplayCoordinateChanged(vtkViewport* viewport);
876 
877  vtkNew<vtkCoordinate> Point1Coordinate;
878  vtkNew<vtkCoordinate> Point2Coordinate;
879 
880  double MajorTickSize = 1.0;
881  double MinorTickSize = 0.5;
882 
883  // For each axis (for the inner gridline generation)
884  double MajorStart[3] = { 0.0, 0.0, 0.0 };
885  double DeltaMajor[3] = { 1.0, 1.0, 1.0 };
886  double MinorStart = 0.0;
887  double DeltaMinor = 1.0;
888 
889  // For the ticks, w.r.t to the set range
890  double MajorRangeStart = 0.0;
891  double MinorRangeStart = 0.0;
892 
896  double DeltaRangeMinor = 1.0;
897 
901  double DeltaRangeMajor = 1.0;
902 
903  int LastAxisPosition = -1;
904  int LastTickLocation = -1;
905 
906  vtkNew<vtkPoints> MinorTickPts;
907  vtkNew<vtkPoints> MajorTickPts;
908  vtkNew<vtkPoints> GridlinePts;
909  vtkNew<vtkPoints> InnerGridlinePts;
910  vtkNew<vtkPoints> GridpolyPts;
911 
912  vtkNew<vtkVectorText> TitleVector;
913  vtkNew<vtkPolyDataMapper> TitleMapper;
914  vtkNew<vtkAxisFollower> TitleActor;
915  vtkNew<vtkTextActor> TitleActor2D;
916  vtkNew<vtkProp3DAxisFollower> TitleProp3D;
917  vtkNew<vtkTextActor3D> TitleActor3D;
918  vtkSmartPointer<vtkTextProperty> TitleTextProperty;
919 
921 
924  vtkNew<vtkVectorText> ExponentVector;
925  vtkNew<vtkPolyDataMapper> ExponentMapper;
926  vtkNew<vtkAxisFollower> ExponentActor;
927  vtkNew<vtkTextActor> ExponentActor2D;
928  vtkNew<vtkProp3DAxisFollower> ExponentProp3D;
929  vtkNew<vtkTextActor3D> ExponentActor3D;
931 
932  vtkSmartPointer<vtkVectorText>* LabelVectors = nullptr;
933  vtkSmartPointer<vtkPolyDataMapper>* LabelMappers = nullptr;
934  vtkAxisFollower** LabelActors = nullptr;
935  vtkProp3DAxisFollower** LabelProps3D = nullptr;
936  vtkSmartPointer<vtkTextActor>* LabelActors2D = nullptr;
937  vtkSmartPointer<vtkTextActor3D>* LabelActors3D = nullptr;
938  vtkSmartPointer<vtkTextProperty> LabelTextProperty;
939 
940  // Main line axis
941  vtkNew<vtkPolyData> AxisLines;
942  vtkNew<vtkPolyDataMapper> AxisLinesMapper;
943  vtkNew<vtkActor> AxisLinesActor;
944 
945  // Ticks of the axis
946  vtkNew<vtkPolyData> AxisMajorTicks, AxisMinorTicks;
947  vtkNew<vtkPolyDataMapper> AxisMajorTicksMapper, AxisMinorTicksMapper;
948  vtkNew<vtkActor> AxisMajorTicksActor, AxisMinorTicksActor;
949 
950  vtkNew<vtkPolyData> Gridlines;
951  vtkNew<vtkPolyDataMapper> GridlinesMapper;
952  vtkNew<vtkActor> GridlinesActor;
953  vtkNew<vtkPolyData> InnerGridlines;
954  vtkNew<vtkPolyDataMapper> InnerGridlinesMapper;
955  vtkNew<vtkActor> InnerGridlinesActor;
956  vtkNew<vtkPolyData> Gridpolys;
957  vtkNew<vtkPolyDataMapper> GridpolysMapper;
958  vtkNew<vtkActor> GridpolysActor;
959 
961  vtkTimeStamp BuildTime;
962  vtkTimeStamp BuildTickPointsTime;
963  vtkTimeStamp BoundsTime;
964  vtkTimeStamp LabelBuildTime;
965  vtkTimeStamp TitleTextTime;
966  vtkTimeStamp ExponentTextTime;
967 
968  bool AxisOnOrigin = false;
969 
970  bool AxisHasZeroLength = false;
971 
972  bool CalculateTitleOffset = false;
973  bool CalculateLabelOffset = false;
974 
978  bool Use2DMode = false;
979 
984  double VerticalOffsetXTitle2D = -40;
985 
990  double HorizontalOffsetYTitle2D = -50;
991 
998  int SaveTitlePosition = 0;
999 
1003  double TitleConstantPosition[2] = { 0.0, 0.0 };
1004 
1008  bool NeedBuild2D = false;
1009 
1010  double LastMinDisplayCoordinate[3] = { 0.0, 0.0, 0.0 };
1011  double LastMaxDisplayCoordinate[3] = { 0.0, 0.0, 0.0 };
1012  double TickVector[3] = { 0.0, 0.0, 0.0 };
1013 
1017  double ScreenSize = 10.0;
1018 
1020 
1023  double LabelOffset = 30.0;
1024  double TitleOffset[2] = { 20.0, 20.0 };
1025  double ExponentOffset = 20.0;
1027 };
1028 
1029 VTK_ABI_NAMESPACE_END
1030 #endif
virtual void SetPoint1(double x[3])
Specify the position of the first point defining the axis.
Definition: vtkAxisActor.h:85
void SetTickLocationToInside()
Definition: vtkAxisActor.h:203
void GetBounds(T a, double bds[6])
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:40
abstract specification for Viewports
Definition: vtkViewport.h:44
represent surface properties of a geometric object
Definition: vtkProperty.h:56
virtual void SetPoint2(double x[3])
Specify the position of the second point defining the axis.
Definition: vtkAxisActor.h:95
virtual int RenderOverlay(vtkViewport *)
Definition: vtkProp.h:216
void SetTickLocationToBoth()
Definition: vtkAxisActor.h:205
void SetAxisTypeToY()
Set/Get the type of this axis.
Definition: vtkAxisActor.h:440
record modification and/or execution time
Definition: vtkTimeStamp.h:24
Create an axis with tick marks and labels.
Definition: vtkAxisActor.h:69
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetAxisPositionToMinMax()
Definition: vtkAxisActor.h:476
vtkProp3DAxisFollower ** GetLabelProps3D()
Get label actors responsigle for drawing label text.
Definition: vtkAxisActor.h:588
a vtkAbstractArray subclass for strings
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:79
static vtkActor * New()
Creates an actor with the following defaults: origin(0,0,0) position=(0,0,0) scale=(1,1,1) visibility=1 pickable=1 dragable=1 orientation=(0,0,0).
void SetAxisTypeToX()
Set/Get the type of this axis.
Definition: vtkAxisActor.h:439
void SetAxisPositionToMaxMax()
Definition: vtkAxisActor.h:477
void SetAxisPositionToMinMin()
Definition: vtkAxisActor.h:475
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
int vtkTypeBool
Definition: vtkABI.h:64
window superclass for vtkRenderWindow
Definition: vtkWindow.h:27
auto Range(IterablePtr iterable, Options &&...opts) -> typename detail::IterableTraits< typename detail::StripPointers< IterablePtr >::type >::RangeType
Generate an iterable STL proxy object for a VTK container.
Definition: vtkRange.h:74
An actor that displays text.
Definition: vtkTextActor.h:45
#define VTK_DEPRECATED_IN_9_3_0(reason)
a simple class to control print indentation
Definition: vtkIndent.h:28
a virtual camera for 3D rendering
Definition: vtkCamera.h:40
vtkAxisFollower ** GetLabelActors()
Get label actors responsigle for drawing label text.
Definition: vtkAxisActor.h:575
void SetTickLocationToOutside()
Definition: vtkAxisActor.h:204
An actor that displays text.
#define VTK_SIZEHINT(...)
double * GetBounds() override
Return a reference to the Prop3D's composite transform.
represent text properties.
perform coordinate transformation, and represent position, in a variety of vtk coordinate systems ...
Definition: vtkCoordinate.h:68
a subclass of vtkFollower that ensures that data is always parallel to the axis defined by a vtkAxisA...
map vtkPolyData to graphics primitives
a subclass of actor that always faces the camera
Definition: vtkFollower.h:32
vtkTypeBool HasTranslucentPolygonalGeometry() override
Does this prop have some opaque/translucent polygonal geometry?
a subclass of vtkProp3DFollower that ensures that data is always parallel to the axis defined by a vt...
int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override
Support the standard render methods.
void SetAxisPositionToMaxMin()
Definition: vtkAxisActor.h:478
represent surface properties of a 2D image
Definition: vtkProperty2D.h:29
int RenderOpaqueGeometry(vtkViewport *viewport) override
Support the standard render methods.
represent and manipulate 3D points
Definition: vtkPoints.h:28
void SetAxisTypeToZ()
Set/Get the type of this axis.
Definition: vtkAxisActor.h:441
create polygonal text
Definition: vtkVectorText.h:36