VTK  9.3.0
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
53 #ifndef vtkAxisActor_h
54 #define vtkAxisActor_h
55 
56 #include "vtkActor.h"
57 #include "vtkDeprecation.h" // For deprecation macro
58 #include "vtkNew.h" // For vtkNew
59 #include "vtkRenderingAnnotationModule.h" // For export macro
60 #include "vtkSmartPointer.h" // For vtkSmartPointer
61 
62 VTK_ABI_NAMESPACE_BEGIN
63 class vtkAxisFollower;
64 class vtkCamera;
65 class vtkCoordinate;
66 class vtkFollower;
67 class vtkPoints;
68 class vtkPolyData;
69 class vtkPolyDataMapper;
71 class vtkProperty2D;
72 class vtkStringArray;
73 class vtkTextActor;
74 class vtkTextActor3D;
75 class vtkTextProperty;
76 class vtkVectorText;
77 
78 class VTKRENDERINGANNOTATION_EXPORT vtkAxisActor : public vtkActor
79 {
80 public:
81  vtkTypeMacro(vtkAxisActor, vtkActor);
82  void PrintSelf(ostream& os, vtkIndent indent) override;
83 
87  static vtkAxisActor* New();
88 
90 
94  virtual void SetPoint1(double x[3]) { this->SetPoint1(x[0], x[1], x[2]); }
95  virtual void SetPoint1(double x, double y, double z);
96  virtual double* GetPoint1();
98 
100 
104  virtual void SetPoint2(double x[3]) { this->SetPoint2(x[0], x[1], x[2]); }
105  virtual void SetPoint2(double x, double y, double z);
106  virtual double* GetPoint2();
108 
110 
115  vtkSetVector2Macro(Range, double);
116  vtkGetVectorMacro(Range, double, 2);
118 
120 
124  void SetBounds(const double bounds[6]);
125  void SetBounds(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
126  double* GetBounds() VTK_SIZEHINT(6) override;
127  void GetBounds(double bounds[6]);
129 
131 
134  vtkSetStringMacro(LabelFormat);
135  vtkGetStringMacro(LabelFormat);
137 
139 
146  vtkSetMacro(UseTextActor3D, bool);
147  vtkGetMacro(UseTextActor3D, bool);
149 
151 
155  vtkSetMacro(MinorTicksVisible, bool);
156  vtkGetMacro(MinorTicksVisible, bool);
157  vtkBooleanMacro(MinorTicksVisible, bool);
159 
161 
164  void SetTitle(const char* t);
165  vtkGetStringMacro(Title);
167 
169 
172  void SetExponent(const char* t);
173  vtkGetStringMacro(Exponent);
175 
177 
181  vtkSetMacro(MajorTickSize, double);
182  vtkGetMacro(MajorTickSize, double);
184 
186 
190  vtkSetMacro(MinorTickSize, double);
191  vtkGetMacro(MinorTickSize, double);
193 
195  {
196  VTK_TICKS_INSIDE = 0,
197  VTK_TICKS_OUTSIDE = 1,
198  VTK_TICKS_BOTH = 2
199  };
200 
202 
208  vtkSetClampMacro(TickLocation, int, VTK_TICKS_INSIDE, VTK_TICKS_BOTH);
209  vtkGetMacro(TickLocation, int);
211 
212  void SetTickLocationToInside() { this->SetTickLocation(VTK_TICKS_INSIDE); }
213  void SetTickLocationToOutside() { this->SetTickLocation(VTK_TICKS_OUTSIDE); }
214  void SetTickLocationToBoth() { this->SetTickLocation(VTK_TICKS_BOTH); }
215 
217 
221  vtkSetMacro(AxisVisibility, bool);
222  vtkGetMacro(AxisVisibility, bool);
223  vtkBooleanMacro(AxisVisibility, bool);
225 
227 
231  vtkSetMacro(TickVisibility, bool);
232  vtkGetMacro(TickVisibility, bool);
233  vtkBooleanMacro(TickVisibility, bool);
235 
237 
241  vtkSetMacro(LabelVisibility, bool);
242  vtkGetMacro(LabelVisibility, bool);
243  vtkBooleanMacro(LabelVisibility, bool);
245 
247 
251  vtkSetMacro(TitleVisibility, bool);
252  vtkGetMacro(TitleVisibility, bool);
253  vtkBooleanMacro(TitleVisibility, bool);
255 
257 
261  vtkSetMacro(ExponentVisibility, bool);
262  vtkGetMacro(ExponentVisibility, bool);
263  vtkBooleanMacro(ExponentVisibility, bool);
265 
267 
271  vtkSetMacro(LastMajorTickPointCorrection, bool);
272  vtkGetMacro(LastMajorTickPointCorrection, bool);
273  vtkBooleanMacro(LastMajorTickPointCorrection, bool);
275 
277  {
278  VTK_ALIGN_TOP = 0,
279  VTK_ALIGN_BOTTOM = 1,
280  VTK_ALIGN_POINT1 = 2,
281  VTK_ALIGN_POINT2 = 3
282  };
283 
285 
290  virtual void SetTitleAlignLocation(int location);
291  vtkGetMacro(TitleAlignLocation, int);
293 
295 
300  virtual void SetExponentLocation(int location);
301  vtkGetMacro(ExponentLocation, int);
303 
305 
311 
313 
319 
321 
327 
329 
335 
337 
343 
345 
351 
353 
359 
361 
367 
369 
375 
377 
381  vtkSetMacro(DrawGridlines, bool);
382  vtkGetMacro(DrawGridlines, bool);
383  vtkBooleanMacro(DrawGridlines, bool);
385 
387 
393  vtkSetMacro(DrawGridlinesOnly, bool);
394  vtkGetMacro(DrawGridlinesOnly, bool);
395  vtkBooleanMacro(DrawGridlinesOnly, bool);
397 
398  vtkSetMacro(DrawGridlinesLocation, int);
399  vtkGetMacro(DrawGridlinesLocation, int);
400 
402 
406  vtkSetMacro(DrawInnerGridlines, bool);
407  vtkGetMacro(DrawInnerGridlines, bool);
408  vtkBooleanMacro(DrawInnerGridlines, bool);
410 
412 
416  vtkSetMacro(GridlineXLength, double);
417  vtkGetMacro(GridlineXLength, double);
418  vtkSetMacro(GridlineYLength, double);
419  vtkGetMacro(GridlineYLength, double);
420  vtkSetMacro(GridlineZLength, double);
421  vtkGetMacro(GridlineZLength, double);
423 
425 
429  vtkSetMacro(DrawGridpolys, bool);
430  vtkGetMacro(DrawGridpolys, bool);
431  vtkBooleanMacro(DrawGridpolys, bool);
433 
434  enum AxisType
435  {
436  VTK_AXIS_TYPE_X = 0,
437  VTK_AXIS_TYPE_Y = 1,
438  VTK_AXIS_TYPE_Z = 2
439  };
440 
442 
446  vtkSetClampMacro(AxisType, int, VTK_AXIS_TYPE_X, VTK_AXIS_TYPE_Z);
447  vtkGetMacro(AxisType, int);
448  void SetAxisTypeToX() { this->SetAxisType(VTK_AXIS_TYPE_X); }
449  void SetAxisTypeToY() { this->SetAxisType(VTK_AXIS_TYPE_Y); }
450  void SetAxisTypeToZ() { this->SetAxisType(VTK_AXIS_TYPE_Z); }
452 
454  {
455  VTK_AXIS_POS_MINMIN = 0,
456  VTK_AXIS_POS_MINMAX = 1,
457  VTK_AXIS_POS_MAXMAX = 2,
458  VTK_AXIS_POS_MAXMIN = 3
459  };
460 
462 
466  vtkSetMacro(Log, bool);
467  vtkGetMacro(Log, bool);
468  vtkBooleanMacro(Log, bool);
470 
472 
480  vtkSetClampMacro(AxisPosition, int, VTK_AXIS_POS_MINMIN, VTK_AXIS_POS_MAXMIN);
481  vtkGetMacro(AxisPosition, int);
483 
484  void SetAxisPositionToMinMin() { this->SetAxisPosition(VTK_AXIS_POS_MINMIN); }
485  void SetAxisPositionToMinMax() { this->SetAxisPosition(VTK_AXIS_POS_MINMAX); }
486  void SetAxisPositionToMaxMax() { this->SetAxisPosition(VTK_AXIS_POS_MAXMAX); }
487  void SetAxisPositionToMaxMin() { this->SetAxisPosition(VTK_AXIS_POS_MAXMIN); }
488 
490 
494  virtual void SetCamera(vtkCamera*);
497 
499 
502  int RenderOpaqueGeometry(vtkViewport* viewport) override;
503  virtual int RenderTranslucentGeometry(vtkViewport* viewport);
505  int RenderOverlay(vtkViewport* viewport) override;
508 
515 
516  double ComputeMaxLabelLength(const double[3]);
517  double ComputeTitleLength(const double[3]);
518 
519  void SetLabelScale(double scale);
520  void SetLabelScale(int labelIndex, double scale);
521  void SetTitleScale(double scale);
522 
524 
528  vtkSetMacro(MinorStart, double);
529  vtkGetMacro(MinorStart, double);
530  double GetMajorStart(int axis);
531  void SetMajorStart(int axis, double value);
532  vtkSetMacro(DeltaMinor, double);
533  vtkGetMacro(DeltaMinor, double);
534  double GetDeltaMajor(int axis);
535  void SetDeltaMajor(int axis, double value);
537 
539 
545  vtkSetMacro(MinorRangeStart, double);
546  vtkGetMacro(MinorRangeStart, double);
547  vtkSetMacro(MajorRangeStart, double);
548  vtkGetMacro(MajorRangeStart, double);
550 
552 
556  vtkSetMacro(DeltaRangeMinor, double);
557  vtkGetMacro(DeltaRangeMinor, double);
558  vtkSetMacro(DeltaRangeMajor, double);
559  vtkGetMacro(DeltaRangeMajor, double);
561 
562  void SetLabels(vtkStringArray* labels);
563 
564  void BuildAxis(vtkViewport* viewport, bool);
565 
567 
571  vtkGetObjectMacro(TitleActor, vtkAxisFollower);
573 
575 
578  vtkGetObjectMacro(ExponentActor, vtkAxisFollower);
580 
584  inline vtkAxisFollower** GetLabelActors() { return this->LabelActors; }
585 
587 
591  vtkGetObjectMacro(TitleProp3D, vtkProp3DAxisFollower);
593 
597  inline vtkProp3DAxisFollower** GetLabelProps3D() { return this->LabelProps3D; }
598 
600 
604  vtkGetObjectMacro(ExponentProp3D, vtkProp3DAxisFollower);
606 
608 
612  vtkGetMacro(NumberOfLabelsBuilt, int);
614 
616 
620  vtkSetMacro(CalculateTitleOffset, bool);
621  vtkGetMacro(CalculateTitleOffset, bool);
622  vtkBooleanMacro(CalculateTitleOffset, bool);
624 
626 
630  vtkSetMacro(CalculateLabelOffset, bool);
631  vtkGetMacro(CalculateLabelOffset, bool);
632  vtkBooleanMacro(CalculateLabelOffset, bool);
634 
636 
640  vtkSetMacro(Use2DMode, bool);
641  vtkGetMacro(Use2DMode, bool);
643 
645 
649  vtkSetMacro(VerticalOffsetXTitle2D, double);
650  vtkGetMacro(VerticalOffsetXTitle2D, double);
652 
654 
658  vtkSetMacro(HorizontalOffsetYTitle2D, double);
659  vtkGetMacro(HorizontalOffsetYTitle2D, double);
661 
663 
667  vtkSetMacro(SaveTitlePosition, int);
668  vtkGetMacro(SaveTitlePosition, int);
670 
672 
676  vtkSetVector3Macro(AxisBaseForX, double);
677  vtkGetVector3Macro(AxisBaseForX, double);
679 
681 
685  vtkSetVector3Macro(AxisBaseForY, double);
686  vtkGetVector3Macro(AxisBaseForY, double);
688 
690 
694  vtkSetVector3Macro(AxisBaseForZ, double);
695  vtkGetVector3Macro(AxisBaseForZ, double);
697 
699 
703  vtkSetMacro(AxisOnOrigin, bool);
704  vtkGetMacro(AxisOnOrigin, bool);
706 
708 
712  vtkSetMacro(ScreenSize, double);
713  vtkGetMacro(ScreenSize, double);
715 
717 
721  vtkSetMacro(LabelOffset, double);
722  vtkGetMacro(LabelOffset, double);
724 
726 
730  vtkSetMacro(ExponentOffset, double);
731  vtkGetMacro(ExponentOffset, double);
733 
735 
742  VTK_DEPRECATED_IN_9_3_0("Use SetTitleOffset(double, double) as it's now a 2d vector")
743  void SetTitleOffset(double titleOffsetY);
744  VTK_DEPRECATED_IN_9_3_0("Use GetTitleOffset(double&, double&) as it's now a 2d vector")
745  double GetTitleOffset();
746  vtkSetVector2Macro(TitleOffset, double);
747  // TODO: Replace getter with macro once deprecated one is removed
748  void GetTitleOffset(double& titleOffsetX, double& titleOffsetY);
750 
751 protected:
753  ~vtkAxisActor() override;
754 
755  char* Title = nullptr;
756  char* Exponent = nullptr;
757  char* LabelFormat = nullptr;
758  double Range[2] = { 0.0, 1.0 };
759  double LastRange[2] = { -1.0, -1.0 };
760  bool UseTextActor3D = false;
761  int NumberOfLabelsBuilt = 0;
762  bool MinorTicksVisible = true;
763  bool LastMinorTicksVisible = true;
764 
770  int TickLocation = VTK_TICKS_INSIDE;
771 
776  int TitleAlignLocation = VTK_ALIGN_BOTTOM;
777 
782  int ExponentLocation = VTK_ALIGN_POINT2;
783 
784  bool DrawGridlines = false;
785  bool DrawGridlinesOnly = false;
786  bool LastDrawGridlines = false;
787  int DrawGridlinesLocation = 0; // 0: all | 1: closest | 2: furthest
788  int LastDrawGridlinesLocation = 0; // 0: all | 1: closest | 2: furthest
789  double GridlineXLength = 1.0;
790  double GridlineYLength = 1.0;
791  double GridlineZLength = 1.0;
792 
793  bool DrawInnerGridlines = false;
794  bool LastDrawInnerGridlines = false;
795 
796  bool DrawGridpolys = false;
797  bool LastDrawGridpolys = false;
798 
799  bool AxisVisibility = true;
800  bool TickVisibility = true;
801  bool LastTickVisibility = true;
802  bool LabelVisibility = true;
803  bool TitleVisibility = true;
804  bool ExponentVisibility = false;
805  bool LastMajorTickPointCorrection = false;
806 
807  bool Log = false;
808  int AxisType = VTK_AXIS_TYPE_X;
809  int AxisPosition = VTK_AXIS_POS_MINMIN;
810 
811  // coordinate system for axisAxtor, relative to world coordinates
812  double AxisBaseForX[3] = { 1.0, 0.0, 0.0 };
813  double AxisBaseForY[3] = { 0.0, 1.0, 0.0 };
814  double AxisBaseForZ[3] = { 0.0, 0.0, 1.0 };
815 
816 private:
817  vtkAxisActor(const vtkAxisActor&) = delete;
818  void operator=(const vtkAxisActor&) = delete;
819 
820  void TransformBounds(vtkViewport*, double bnds[6]);
821 
822  void BuildLabels(vtkViewport*, bool);
823  void BuildLabels2D(vtkViewport*, bool);
824  void SetLabelPositions(vtkViewport*, bool);
825  void SetLabelPositions2D(vtkViewport*, bool);
826 
831  void RotateActor2DFromAxisProjection(vtkTextActor* pActor2D);
832 
836  void InitTitle();
837 
841  void InitExponent();
842 
849  void BuildTitle(bool);
850 
855  void BuildExponent(bool force);
856 
857  void BuildExponent2D(vtkViewport* viewport, bool force);
858 
859  void BuildTitle2D(vtkViewport* viewport, bool);
860 
861  void SetAxisPointsAndLines();
862 
863  bool BuildTickPoints(double p1[3], double p2[3], bool force);
864 
865  // Build major ticks for linear scale.
866  void BuildMajorTicks(double p1[3], double p2[3], double localCoordSys[3][3]);
867 
868  // Build major ticks for logarithmic scale.
869  void BuildMajorTicksLog(double p1[3], double p2[3], double localCoordSys[3][3]);
870 
871  // Build minor ticks for linear scale.
872  void BuildMinorTicks(double p1[3], double p2[3], double localCoordSys[3][3]);
873 
874  // Build minor ticks for logarithmic scale enabled
875  void BuildMinorTicksLog(double p1[3], double p2[3], double localCoordSys[3][3]);
876 
877  void BuildAxisGridLines(double p1[3], double p2[3], double localCoordSys[3][3]);
878 
879  bool TickVisibilityChanged();
880  vtkProperty* NewTitleProperty();
881  vtkProperty2D* NewTitleProperty2D();
882  vtkProperty* NewLabelProperty();
883 
884  bool BoundsDisplayCoordinateChanged(vtkViewport* viewport);
885 
886  vtkNew<vtkCoordinate> Point1Coordinate;
887  vtkNew<vtkCoordinate> Point2Coordinate;
888 
889  double MajorTickSize = 1.0;
890  double MinorTickSize = 0.5;
891 
892  // For each axis (for the inner gridline generation)
893  double MajorStart[3] = { 0.0, 0.0, 0.0 };
894  double DeltaMajor[3] = { 1.0, 1.0, 1.0 };
895  double MinorStart = 0.0;
896  double DeltaMinor = 1.0;
897 
898  // For the ticks, w.r.t to the set range
899  double MajorRangeStart = 0.0;
900  double MinorRangeStart = 0.0;
901 
905  double DeltaRangeMinor = 1.0;
906 
910  double DeltaRangeMajor = 1.0;
911 
912  int LastAxisPosition = -1;
913  int LastTickLocation = -1;
914 
915  vtkNew<vtkPoints> MinorTickPts;
916  vtkNew<vtkPoints> MajorTickPts;
917  vtkNew<vtkPoints> GridlinePts;
918  vtkNew<vtkPoints> InnerGridlinePts;
919  vtkNew<vtkPoints> GridpolyPts;
920 
921  vtkNew<vtkVectorText> TitleVector;
922  vtkNew<vtkPolyDataMapper> TitleMapper;
923  vtkNew<vtkAxisFollower> TitleActor;
924  vtkNew<vtkTextActor> TitleActor2D;
925  vtkNew<vtkProp3DAxisFollower> TitleProp3D;
926  vtkNew<vtkTextActor3D> TitleActor3D;
927  vtkSmartPointer<vtkTextProperty> TitleTextProperty;
928 
930 
933  vtkNew<vtkVectorText> ExponentVector;
934  vtkNew<vtkPolyDataMapper> ExponentMapper;
935  vtkNew<vtkAxisFollower> ExponentActor;
936  vtkNew<vtkTextActor> ExponentActor2D;
937  vtkNew<vtkProp3DAxisFollower> ExponentProp3D;
938  vtkNew<vtkTextActor3D> ExponentActor3D;
940 
941  vtkSmartPointer<vtkVectorText>* LabelVectors = nullptr;
942  vtkSmartPointer<vtkPolyDataMapper>* LabelMappers = nullptr;
943  vtkAxisFollower** LabelActors = nullptr;
944  vtkProp3DAxisFollower** LabelProps3D = nullptr;
945  vtkSmartPointer<vtkTextActor>* LabelActors2D = nullptr;
946  vtkSmartPointer<vtkTextActor3D>* LabelActors3D = nullptr;
947  vtkSmartPointer<vtkTextProperty> LabelTextProperty;
948 
949  // Main line axis
950  vtkNew<vtkPolyData> AxisLines;
951  vtkNew<vtkPolyDataMapper> AxisLinesMapper;
952  vtkNew<vtkActor> AxisLinesActor;
953 
954  // Ticks of the axis
955  vtkNew<vtkPolyData> AxisMajorTicks, AxisMinorTicks;
956  vtkNew<vtkPolyDataMapper> AxisMajorTicksMapper, AxisMinorTicksMapper;
957  vtkNew<vtkActor> AxisMajorTicksActor, AxisMinorTicksActor;
958 
959  vtkNew<vtkPolyData> Gridlines;
960  vtkNew<vtkPolyDataMapper> GridlinesMapper;
961  vtkNew<vtkActor> GridlinesActor;
962  vtkNew<vtkPolyData> InnerGridlines;
963  vtkNew<vtkPolyDataMapper> InnerGridlinesMapper;
964  vtkNew<vtkActor> InnerGridlinesActor;
965  vtkNew<vtkPolyData> Gridpolys;
966  vtkNew<vtkPolyDataMapper> GridpolysMapper;
967  vtkNew<vtkActor> GridpolysActor;
968 
970  vtkTimeStamp BuildTime;
971  vtkTimeStamp BuildTickPointsTime;
972  vtkTimeStamp BoundsTime;
973  vtkTimeStamp LabelBuildTime;
974  vtkTimeStamp TitleTextTime;
975  vtkTimeStamp ExponentTextTime;
976 
977  bool AxisOnOrigin = false;
978 
979  bool AxisHasZeroLength = false;
980 
981  bool CalculateTitleOffset = false;
982  bool CalculateLabelOffset = false;
983 
987  bool Use2DMode = false;
988 
993  double VerticalOffsetXTitle2D = -40;
994 
999  double HorizontalOffsetYTitle2D = -50;
1000 
1007  int SaveTitlePosition = 0;
1008 
1012  double TitleConstantPosition[2] = { 0.0, 0.0 };
1013 
1017  bool NeedBuild2D = false;
1018 
1019  double LastMinDisplayCoordinate[3] = { 0.0, 0.0, 0.0 };
1020  double LastMaxDisplayCoordinate[3] = { 0.0, 0.0, 0.0 };
1021  double TickVector[3] = { 0.0, 0.0, 0.0 };
1022 
1026  double ScreenSize = 10.0;
1027 
1029 
1032  double LabelOffset = 30.0;
1033  double TitleOffset[2] = { 20.0, 20.0 };
1034  double ExponentOffset = 20.0;
1036 };
1037 
1038 VTK_ABI_NAMESPACE_END
1039 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
Create an axis with tick marks and labels.
Definition: vtkAxisActor.h:79
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
double * GetBounds() override
Set or get the bounds for this Actor as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
void SetTickLocationToBoth()
Definition: vtkAxisActor.h:214
void SetAxisPositionToMinMax()
Definition: vtkAxisActor.h:485
virtual void SetPoint2(double x, double y, double z)
Specify the position of the second point defining the axis.
virtual vtkCoordinate * GetPoint1Coordinate()
Specify the position of the first point defining the axis.
virtual void SetCamera(vtkCamera *)
Set/Get the camera for this axis.
virtual void SetPoint2(double x[3])
Specify the position of the second point defining the axis.
Definition: vtkAxisActor.h:104
void SetDeltaMajor(int axis, double value)
Set/Get the starting position for minor and major tick points, and the delta values that determine th...
vtkProperty * GetAxisMajorTicksProperty()
Get/Set axis actor property (axis and its ticks)
vtkCamera * GetCamera()
Set/Get the camera for this axis.
void SetAxisMainLineProperty(vtkProperty *)
Get/Set main line axis actor property.
void SetBounds(const double bounds[6])
Set or get the bounds for this Actor as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
int RenderOverlay(vtkViewport *viewport) override
Draw the axis.
vtkTypeBool HasTranslucentPolygonalGeometry() override
Draw the axis.
vtkProp3DAxisFollower ** GetLabelProps3D()
Get label actors responsigle for drawing label text.
Definition: vtkAxisActor.h:597
double ComputeMaxLabelLength(const double[3])
static vtkAxisActor * New()
Instantiate object.
double GetMajorStart(int axis)
Set/Get the starting position for minor and major tick points, and the delta values that determine th...
vtkTextProperty * GetTitleTextProperty()
Set/Get the axis title text property.
virtual vtkCoordinate * GetPoint2Coordinate()
Specify the position of the second point defining the axis.
void SetGridlinesProperty(vtkProperty *)
Get/Set gridlines actor property (outer grid lines)
void SetAxisTypeToZ()
Set/Get the type of this axis.
Definition: vtkAxisActor.h:450
vtkTextProperty * GetLabelTextProperty()
Set/Get the axis labels text property.
vtkProperty * GetGridlinesProperty()
Get/Set gridlines actor property (outer grid lines)
virtual void SetLabelTextProperty(vtkTextProperty *p)
Set/Get the axis labels text property.
virtual void SetExponentLocation(int location)
Get/Set the location of the Detached Exponent related to the axis.
void SetAxisPositionToMinMin()
Definition: vtkAxisActor.h:484
double GetDeltaMajor(int axis)
Set/Get the starting position for minor and major tick points, and the delta values that determine th...
vtkProperty * GetInnerGridlinesProperty()
Get/Set inner gridlines actor property.
void SetLabelScale(int labelIndex, double scale)
virtual void SetPoint1(double x[3])
Specify the position of the first point defining the axis.
Definition: vtkAxisActor.h:94
void SetAxisLinesProperty(vtkProperty *)
Get/Set axis actor property (axis and its ticks) (kept for compatibility)
void SetInnerGridlinesProperty(vtkProperty *)
Get/Set inner gridlines actor property.
virtual double * GetPoint1()
Specify the position of the first point defining the axis.
void SetAxisMajorTicksProperty(vtkProperty *)
Get/Set axis actor property (axis and its ticks)
void SetLabelScale(double scale)
void SetTickLocationToOutside()
Definition: vtkAxisActor.h:213
void SetBounds(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)
Set or get the bounds for this Actor as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
void BuildAxis(vtkViewport *viewport, bool)
void SetAxisTypeToY()
Set/Get the type of this axis.
Definition: vtkAxisActor.h:449
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
int RenderOpaqueGeometry(vtkViewport *viewport) override
Draw the axis.
vtkProperty * GetAxisMinorTicksProperty()
Get/Set axis actor property (axis and its ticks)
void SetAxisTypeToX()
Set/Get the type of this axis.
Definition: vtkAxisActor.h:448
vtkProperty * GetGridpolysProperty()
Get/Set gridPolys actor property (grid quads)
void SetTitleScale(double scale)
vtkProperty * GetAxisLinesProperty()
Get/Set axis actor property (axis and its ticks) (kept for compatibility)
virtual void SetTitleAlignLocation(int location)
Get/Set the alignment of the title related to the axis.
virtual void SetTitleTextProperty(vtkTextProperty *p)
Set/Get the axis title text property.
double ComputeTitleLength(const double[3])
void SetAxisPositionToMaxMin()
Definition: vtkAxisActor.h:487
virtual int RenderTranslucentGeometry(vtkViewport *viewport)
Draw the axis.
void SetTickLocationToInside()
Definition: vtkAxisActor.h:212
void SetLabels(vtkStringArray *labels)
virtual double * GetPoint2()
Specify the position of the second point defining the axis.
vtkAxisFollower ** GetLabelActors()
Get label actors responsigle for drawing label text.
Definition: vtkAxisActor.h:584
void SetAxisPositionToMaxMax()
Definition: vtkAxisActor.h:486
virtual void SetPoint1(double x, double y, double z)
Specify the position of the first point defining the axis.
void SetAxisMinorTicksProperty(vtkProperty *)
Get/Set axis actor property (axis and its ticks)
void SetMajorStart(int axis, double value)
Set/Get the starting position for minor and major tick points, and the delta values that determine th...
vtkProperty * GetAxisMainLineProperty()
Get/Set main line axis actor property.
int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override
Draw the axis.
void SetGridpolysProperty(vtkProperty *)
Get/Set gridPolys actor property (grid quads)
a subclass of vtkFollower that ensures that data is always parallel to the axis defined by a vtkAxisA...
a virtual camera for 3D rendering
Definition: vtkCamera.h:50
perform coordinate transformation, and represent position, in a variety of vtk coordinate systems
Definition: vtkCoordinate.h:78
a subclass of actor that always faces the camera
Definition: vtkFollower.h:42
a simple class to control print indentation
Definition: vtkIndent.h:38
represent and manipulate 3D points
Definition: vtkPoints.h:38
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:89
a subclass of vtkProp3DFollower that ensures that data is always parallel to the axis defined by a vt...
represent surface properties of a 2D image
Definition: vtkProperty2D.h:39
represent surface properties of a geometric object
Definition: vtkProperty.h:66
a vtkAbstractArray subclass for strings
An actor that displays text.
An actor that displays text.
Definition: vtkTextActor.h:55
represent text properties.
record modification and/or execution time
Definition: vtkTimeStamp.h:34
create polygonal text
Definition: vtkVectorText.h:46
abstract specification for Viewports
Definition: vtkViewport.h:54
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
void GetBounds(T a, double bds[6])
@ vector
Definition: vtkX3D.h:237
@ location
Definition: vtkX3D.h:406
@ value
Definition: vtkX3D.h:220
@ scale
Definition: vtkX3D.h:229
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
int vtkTypeBool
Definition: vtkABI.h:64
#define VTK_DEPRECATED_IN_9_3_0(reason)
#define VTK_SIZEHINT(...)