VTK  9.2.20230527
vtkAxisActor.h
Go to the documentation of this file.
1 /*=========================================================================
2 Program: Visualization Toolkit
3 Module: vtkAxisActor.h
4 Language: C++
5 
6 Copyright (c) 1993-2000 Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 This software is distributed WITHOUT ANY WARRANTY; without even
9 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
10 PURPOSE. See the above copyright notice for more information.
11 =========================================================================*/
72 #ifndef vtkAxisActor_h
73 #define vtkAxisActor_h
74 
75 #include "vtkActor.h"
76 #include "vtkDeprecation.h" // For deprecation macro
77 #include "vtkNew.h" // For vtkNew
78 #include "vtkRenderingAnnotationModule.h" // For export macro
79 #include "vtkSmartPointer.h" // For vtkSmartPointer
80 
81 VTK_ABI_NAMESPACE_BEGIN
82 class vtkAxisFollower;
83 class vtkCamera;
84 class vtkCoordinate;
85 class vtkFollower;
86 class vtkPoints;
87 class vtkPolyData;
88 class vtkPolyDataMapper;
90 class vtkProperty2D;
91 class vtkStringArray;
92 class vtkTextActor;
93 class vtkTextActor3D;
94 class vtkTextProperty;
95 class vtkVectorText;
96 
97 class VTKRENDERINGANNOTATION_EXPORT vtkAxisActor : public vtkActor
98 {
99 public:
100  vtkTypeMacro(vtkAxisActor, vtkActor);
101  void PrintSelf(ostream& os, vtkIndent indent) override;
102 
106  static vtkAxisActor* New();
107 
109 
113  virtual void SetPoint1(double x[3]) { this->SetPoint1(x[0], x[1], x[2]); }
114  virtual void SetPoint1(double x, double y, double z);
115  virtual double* GetPoint1();
117 
119 
123  virtual void SetPoint2(double x[3]) { this->SetPoint2(x[0], x[1], x[2]); }
124  virtual void SetPoint2(double x, double y, double z);
125  virtual double* GetPoint2();
127 
129 
134  vtkSetVector2Macro(Range, double);
135  vtkGetVectorMacro(Range, double, 2);
137 
139 
143  void SetBounds(const double bounds[6]);
144  void SetBounds(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
145  double* GetBounds() VTK_SIZEHINT(6) override;
146  void GetBounds(double bounds[6]);
148 
150 
153  vtkSetStringMacro(LabelFormat);
154  vtkGetStringMacro(LabelFormat);
156 
158 
165  vtkSetMacro(UseTextActor3D, bool);
166  vtkGetMacro(UseTextActor3D, bool);
168 
170 
174  vtkSetMacro(MinorTicksVisible, bool);
175  vtkGetMacro(MinorTicksVisible, bool);
176  vtkBooleanMacro(MinorTicksVisible, bool);
178 
180 
183  void SetTitle(const char* t);
184  vtkGetStringMacro(Title);
186 
188 
191  void SetExponent(const char* t);
192  vtkGetStringMacro(Exponent);
194 
196 
200  vtkSetMacro(MajorTickSize, double);
201  vtkGetMacro(MajorTickSize, double);
203 
205 
209  vtkSetMacro(MinorTickSize, double);
210  vtkGetMacro(MinorTickSize, double);
212 
214  {
215  VTK_TICKS_INSIDE = 0,
216  VTK_TICKS_OUTSIDE = 1,
217  VTK_TICKS_BOTH = 2
218  };
219 
221 
227  vtkSetClampMacro(TickLocation, int, VTK_TICKS_INSIDE, VTK_TICKS_BOTH);
228  vtkGetMacro(TickLocation, int);
230 
231  void SetTickLocationToInside() { this->SetTickLocation(VTK_TICKS_INSIDE); }
232  void SetTickLocationToOutside() { this->SetTickLocation(VTK_TICKS_OUTSIDE); }
233  void SetTickLocationToBoth() { this->SetTickLocation(VTK_TICKS_BOTH); }
234 
236 
240  vtkSetMacro(AxisVisibility, bool);
241  vtkGetMacro(AxisVisibility, bool);
242  vtkBooleanMacro(AxisVisibility, bool);
244 
246 
250  vtkSetMacro(TickVisibility, bool);
251  vtkGetMacro(TickVisibility, bool);
252  vtkBooleanMacro(TickVisibility, bool);
254 
256 
260  vtkSetMacro(LabelVisibility, bool);
261  vtkGetMacro(LabelVisibility, bool);
262  vtkBooleanMacro(LabelVisibility, bool);
264 
266 
270  vtkSetMacro(TitleVisibility, bool);
271  vtkGetMacro(TitleVisibility, bool);
272  vtkBooleanMacro(TitleVisibility, bool);
274 
276 
280  vtkSetMacro(ExponentVisibility, bool);
281  vtkGetMacro(ExponentVisibility, bool);
282  vtkBooleanMacro(ExponentVisibility, bool);
284 
286 
290  vtkSetMacro(LastMajorTickPointCorrection, bool);
291  vtkGetMacro(LastMajorTickPointCorrection, bool);
292  vtkBooleanMacro(LastMajorTickPointCorrection, bool);
294 
296  {
297  VTK_ALIGN_TOP = 0,
298  VTK_ALIGN_BOTTOM = 1,
299  VTK_ALIGN_POINT1 = 2,
300  VTK_ALIGN_POINT2 = 3
301  };
302 
304 
309  virtual void SetTitleAlignLocation(int location);
310  vtkGetMacro(TitleAlignLocation, int);
312 
314 
319  virtual void SetExponentLocation(int location);
320  vtkGetMacro(ExponentLocation, int);
322 
324 
330 
332 
338 
340 
346 
348 
354 
356 
362 
364 
370 
372 
378 
380 
386 
388 
394 
396 
400  vtkSetMacro(DrawGridlines, bool);
401  vtkGetMacro(DrawGridlines, bool);
402  vtkBooleanMacro(DrawGridlines, bool);
404 
406 
412  vtkSetMacro(DrawGridlinesOnly, bool);
413  vtkGetMacro(DrawGridlinesOnly, bool);
414  vtkBooleanMacro(DrawGridlinesOnly, bool);
416 
417  vtkSetMacro(DrawGridlinesLocation, int);
418  vtkGetMacro(DrawGridlinesLocation, int);
419 
421 
425  vtkSetMacro(DrawInnerGridlines, bool);
426  vtkGetMacro(DrawInnerGridlines, bool);
427  vtkBooleanMacro(DrawInnerGridlines, bool);
429 
431 
435  vtkSetMacro(GridlineXLength, double);
436  vtkGetMacro(GridlineXLength, double);
437  vtkSetMacro(GridlineYLength, double);
438  vtkGetMacro(GridlineYLength, double);
439  vtkSetMacro(GridlineZLength, double);
440  vtkGetMacro(GridlineZLength, double);
442 
444 
448  vtkSetMacro(DrawGridpolys, bool);
449  vtkGetMacro(DrawGridpolys, bool);
450  vtkBooleanMacro(DrawGridpolys, bool);
452 
453  enum AxisType
454  {
455  VTK_AXIS_TYPE_X = 0,
456  VTK_AXIS_TYPE_Y = 1,
457  VTK_AXIS_TYPE_Z = 2
458  };
459 
461 
465  vtkSetClampMacro(AxisType, int, VTK_AXIS_TYPE_X, VTK_AXIS_TYPE_Z);
466  vtkGetMacro(AxisType, int);
467  void SetAxisTypeToX() { this->SetAxisType(VTK_AXIS_TYPE_X); }
468  void SetAxisTypeToY() { this->SetAxisType(VTK_AXIS_TYPE_Y); }
469  void SetAxisTypeToZ() { this->SetAxisType(VTK_AXIS_TYPE_Z); }
471 
473  {
474  VTK_AXIS_POS_MINMIN = 0,
475  VTK_AXIS_POS_MINMAX = 1,
476  VTK_AXIS_POS_MAXMAX = 2,
477  VTK_AXIS_POS_MAXMIN = 3
478  };
479 
481 
485  vtkSetMacro(Log, bool);
486  vtkGetMacro(Log, bool);
487  vtkBooleanMacro(Log, bool);
489 
491 
499  vtkSetClampMacro(AxisPosition, int, VTK_AXIS_POS_MINMIN, VTK_AXIS_POS_MAXMIN);
500  vtkGetMacro(AxisPosition, int);
502 
503  void SetAxisPositionToMinMin() { this->SetAxisPosition(VTK_AXIS_POS_MINMIN); }
504  void SetAxisPositionToMinMax() { this->SetAxisPosition(VTK_AXIS_POS_MINMAX); }
505  void SetAxisPositionToMaxMax() { this->SetAxisPosition(VTK_AXIS_POS_MAXMAX); }
506  void SetAxisPositionToMaxMin() { this->SetAxisPosition(VTK_AXIS_POS_MAXMIN); }
507 
509 
513  virtual void SetCamera(vtkCamera*);
516 
518 
521  int RenderOpaqueGeometry(vtkViewport* viewport) override;
522  virtual int RenderTranslucentGeometry(vtkViewport* viewport);
524  int RenderOverlay(vtkViewport* viewport) override;
527 
534 
535  double ComputeMaxLabelLength(const double[3]);
536  double ComputeTitleLength(const double[3]);
537 
538  void SetLabelScale(double scale);
539  void SetLabelScale(int labelIndex, double scale);
540  void SetTitleScale(double scale);
541 
543 
547  vtkSetMacro(MinorStart, double);
548  vtkGetMacro(MinorStart, double);
549  double GetMajorStart(int axis);
550  void SetMajorStart(int axis, double value);
551  vtkSetMacro(DeltaMinor, double);
552  vtkGetMacro(DeltaMinor, double);
553  double GetDeltaMajor(int axis);
554  void SetDeltaMajor(int axis, double value);
556 
558 
564  vtkSetMacro(MinorRangeStart, double);
565  vtkGetMacro(MinorRangeStart, double);
566  vtkSetMacro(MajorRangeStart, double);
567  vtkGetMacro(MajorRangeStart, double);
569 
571 
575  vtkSetMacro(DeltaRangeMinor, double);
576  vtkGetMacro(DeltaRangeMinor, double);
577  vtkSetMacro(DeltaRangeMajor, double);
578  vtkGetMacro(DeltaRangeMajor, double);
580 
581  void SetLabels(vtkStringArray* labels);
582 
583  void BuildAxis(vtkViewport* viewport, bool);
584 
586 
590  vtkGetObjectMacro(TitleActor, vtkAxisFollower);
592 
594 
597  vtkGetObjectMacro(ExponentActor, vtkAxisFollower);
599 
603  inline vtkAxisFollower** GetLabelActors() { return this->LabelActors; }
604 
606 
610  vtkGetObjectMacro(TitleProp3D, vtkProp3DAxisFollower);
612 
616  inline vtkProp3DAxisFollower** GetLabelProps3D() { return this->LabelProps3D; }
617 
619 
623  vtkGetObjectMacro(ExponentProp3D, vtkProp3DAxisFollower);
625 
627 
631  vtkGetMacro(NumberOfLabelsBuilt, int);
633 
635 
639  vtkSetMacro(CalculateTitleOffset, bool);
640  vtkGetMacro(CalculateTitleOffset, bool);
641  vtkBooleanMacro(CalculateTitleOffset, bool);
643 
645 
649  vtkSetMacro(CalculateLabelOffset, bool);
650  vtkGetMacro(CalculateLabelOffset, bool);
651  vtkBooleanMacro(CalculateLabelOffset, bool);
653 
655 
659  vtkSetMacro(Use2DMode, bool);
660  vtkGetMacro(Use2DMode, bool);
662 
664 
668  vtkSetMacro(VerticalOffsetXTitle2D, double);
669  vtkGetMacro(VerticalOffsetXTitle2D, double);
671 
673 
677  vtkSetMacro(HorizontalOffsetYTitle2D, double);
678  vtkGetMacro(HorizontalOffsetYTitle2D, double);
680 
682 
686  vtkSetMacro(SaveTitlePosition, int);
687  vtkGetMacro(SaveTitlePosition, int);
689 
691 
695  vtkSetVector3Macro(AxisBaseForX, double);
696  vtkGetVector3Macro(AxisBaseForX, double);
698 
700 
704  vtkSetVector3Macro(AxisBaseForY, double);
705  vtkGetVector3Macro(AxisBaseForY, double);
707 
709 
713  vtkSetVector3Macro(AxisBaseForZ, double);
714  vtkGetVector3Macro(AxisBaseForZ, double);
716 
718 
722  vtkSetMacro(AxisOnOrigin, bool);
723  vtkGetMacro(AxisOnOrigin, bool);
725 
727 
731  vtkSetMacro(ScreenSize, double);
732  vtkGetMacro(ScreenSize, double);
734 
736 
740  vtkSetMacro(LabelOffset, double);
741  vtkGetMacro(LabelOffset, double);
743 
745 
749  vtkSetMacro(ExponentOffset, double);
750  vtkGetMacro(ExponentOffset, double);
752 
754 
761  VTK_DEPRECATED_IN_9_3_0("Use SetTitleOffset(double, double) as it's now a 2d vector")
762  void SetTitleOffset(double titleOffsetY);
763  VTK_DEPRECATED_IN_9_3_0("Use GetTitleOffset(double&, double&) as it's now a 2d vector")
764  double GetTitleOffset();
765  vtkSetVector2Macro(TitleOffset, double);
766  // TODO: Replace getter with macro once deprecated one is removed
767  void GetTitleOffset(double& titleOffsetX, double& titleOffsetY);
769 
770 protected:
772  ~vtkAxisActor() override;
773 
774  char* Title = nullptr;
775  char* Exponent = nullptr;
776  char* LabelFormat = nullptr;
777  double Range[2] = { 0.0, 1.0 };
778  double LastRange[2] = { -1.0, -1.0 };
779  bool UseTextActor3D = false;
780  int NumberOfLabelsBuilt = 0;
781  bool MinorTicksVisible = true;
782  bool LastMinorTicksVisible = true;
783 
789  int TickLocation = VTK_TICKS_INSIDE;
790 
795  int TitleAlignLocation = VTK_ALIGN_BOTTOM;
796 
801  int ExponentLocation = VTK_ALIGN_POINT2;
802 
803  bool DrawGridlines = false;
804  bool DrawGridlinesOnly = false;
805  bool LastDrawGridlines = false;
806  int DrawGridlinesLocation = 0; // 0: all | 1: closest | 2: furthest
807  int LastDrawGridlinesLocation = 0; // 0: all | 1: closest | 2: furthest
808  double GridlineXLength = 1.0;
809  double GridlineYLength = 1.0;
810  double GridlineZLength = 1.0;
811 
812  bool DrawInnerGridlines = false;
813  bool LastDrawInnerGridlines = false;
814 
815  bool DrawGridpolys = false;
816  bool LastDrawGridpolys = false;
817 
818  bool AxisVisibility = true;
819  bool TickVisibility = true;
820  bool LastTickVisibility = true;
821  bool LabelVisibility = true;
822  bool TitleVisibility = true;
823  bool ExponentVisibility = false;
824  bool LastMajorTickPointCorrection = false;
825 
826  bool Log = false;
827  int AxisType = VTK_AXIS_TYPE_X;
828  int AxisPosition = VTK_AXIS_POS_MINMIN;
829 
830  // coordinate system for axisAxtor, relative to world coordinates
831  double AxisBaseForX[3] = { 1.0, 0.0, 0.0 };
832  double AxisBaseForY[3] = { 0.0, 1.0, 0.0 };
833  double AxisBaseForZ[3] = { 0.0, 0.0, 1.0 };
834 
835 private:
836  vtkAxisActor(const vtkAxisActor&) = delete;
837  void operator=(const vtkAxisActor&) = delete;
838 
839  void TransformBounds(vtkViewport*, double bnds[6]);
840 
841  void BuildLabels(vtkViewport*, bool);
842  void BuildLabels2D(vtkViewport*, bool);
843  void SetLabelPositions(vtkViewport*, bool);
844  void SetLabelPositions2D(vtkViewport*, bool);
845 
850  void RotateActor2DFromAxisProjection(vtkTextActor* pActor2D);
851 
855  void InitTitle();
856 
860  void InitExponent();
861 
868  void BuildTitle(bool);
869 
874  void BuildExponent(bool force);
875 
876  void BuildExponent2D(vtkViewport* viewport, bool force);
877 
878  void BuildTitle2D(vtkViewport* viewport, bool);
879 
880  void SetAxisPointsAndLines();
881 
882  bool BuildTickPoints(double p1[3], double p2[3], bool force);
883 
884  // Build major ticks for linear scale.
885  void BuildMajorTicks(double p1[3], double p2[3], double localCoordSys[3][3]);
886 
887  // Build major ticks for logarithmic scale.
888  void BuildMajorTicksLog(double p1[3], double p2[3], double localCoordSys[3][3]);
889 
890  // Build minor ticks for linear scale.
891  void BuildMinorTicks(double p1[3], double p2[3], double localCoordSys[3][3]);
892 
893  // Build minor ticks for logarithmic scale enabled
894  void BuildMinorTicksLog(double p1[3], double p2[3], double localCoordSys[3][3]);
895 
896  void BuildAxisGridLines(double p1[3], double p2[3], double localCoordSys[3][3]);
897 
898  bool TickVisibilityChanged();
899  vtkProperty* NewTitleProperty();
900  vtkProperty2D* NewTitleProperty2D();
901  vtkProperty* NewLabelProperty();
902 
903  bool BoundsDisplayCoordinateChanged(vtkViewport* viewport);
904 
905  vtkNew<vtkCoordinate> Point1Coordinate;
906  vtkNew<vtkCoordinate> Point2Coordinate;
907 
908  double MajorTickSize = 1.0;
909  double MinorTickSize = 0.5;
910 
911  // For each axis (for the inner gridline generation)
912  double MajorStart[3] = { 0.0, 0.0, 0.0 };
913  double DeltaMajor[3] = { 1.0, 1.0, 1.0 };
914  double MinorStart = 0.0;
915  double DeltaMinor = 1.0;
916 
917  // For the ticks, w.r.t to the set range
918  double MajorRangeStart = 0.0;
919  double MinorRangeStart = 0.0;
920 
924  double DeltaRangeMinor = 1.0;
925 
929  double DeltaRangeMajor = 1.0;
930 
931  int LastAxisPosition = -1;
932  int LastTickLocation = -1;
933 
934  vtkNew<vtkPoints> MinorTickPts;
935  vtkNew<vtkPoints> MajorTickPts;
936  vtkNew<vtkPoints> GridlinePts;
937  vtkNew<vtkPoints> InnerGridlinePts;
938  vtkNew<vtkPoints> GridpolyPts;
939 
940  vtkNew<vtkVectorText> TitleVector;
941  vtkNew<vtkPolyDataMapper> TitleMapper;
942  vtkNew<vtkAxisFollower> TitleActor;
943  vtkNew<vtkTextActor> TitleActor2D;
944  vtkNew<vtkProp3DAxisFollower> TitleProp3D;
945  vtkNew<vtkTextActor3D> TitleActor3D;
946  vtkSmartPointer<vtkTextProperty> TitleTextProperty;
947 
949 
952  vtkNew<vtkVectorText> ExponentVector;
953  vtkNew<vtkPolyDataMapper> ExponentMapper;
954  vtkNew<vtkAxisFollower> ExponentActor;
955  vtkNew<vtkTextActor> ExponentActor2D;
956  vtkNew<vtkProp3DAxisFollower> ExponentProp3D;
957  vtkNew<vtkTextActor3D> ExponentActor3D;
959 
960  vtkSmartPointer<vtkVectorText>* LabelVectors = nullptr;
961  vtkSmartPointer<vtkPolyDataMapper>* LabelMappers = nullptr;
962  vtkAxisFollower** LabelActors = nullptr;
963  vtkProp3DAxisFollower** LabelProps3D = nullptr;
964  vtkSmartPointer<vtkTextActor>* LabelActors2D = nullptr;
965  vtkSmartPointer<vtkTextActor3D>* LabelActors3D = nullptr;
966  vtkSmartPointer<vtkTextProperty> LabelTextProperty;
967 
968  // Main line axis
969  vtkNew<vtkPolyData> AxisLines;
970  vtkNew<vtkPolyDataMapper> AxisLinesMapper;
971  vtkNew<vtkActor> AxisLinesActor;
972 
973  // Ticks of the axis
974  vtkNew<vtkPolyData> AxisMajorTicks, AxisMinorTicks;
975  vtkNew<vtkPolyDataMapper> AxisMajorTicksMapper, AxisMinorTicksMapper;
976  vtkNew<vtkActor> AxisMajorTicksActor, AxisMinorTicksActor;
977 
978  vtkNew<vtkPolyData> Gridlines;
979  vtkNew<vtkPolyDataMapper> GridlinesMapper;
980  vtkNew<vtkActor> GridlinesActor;
981  vtkNew<vtkPolyData> InnerGridlines;
982  vtkNew<vtkPolyDataMapper> InnerGridlinesMapper;
983  vtkNew<vtkActor> InnerGridlinesActor;
984  vtkNew<vtkPolyData> Gridpolys;
985  vtkNew<vtkPolyDataMapper> GridpolysMapper;
986  vtkNew<vtkActor> GridpolysActor;
987 
989  vtkTimeStamp BuildTime;
990  vtkTimeStamp BuildTickPointsTime;
991  vtkTimeStamp BoundsTime;
992  vtkTimeStamp LabelBuildTime;
993  vtkTimeStamp TitleTextTime;
994  vtkTimeStamp ExponentTextTime;
995 
996  bool AxisOnOrigin = false;
997 
998  bool AxisHasZeroLength = false;
999 
1000  bool CalculateTitleOffset = false;
1001  bool CalculateLabelOffset = false;
1002 
1006  bool Use2DMode = false;
1007 
1012  double VerticalOffsetXTitle2D = -40;
1013 
1018  double HorizontalOffsetYTitle2D = -50;
1019 
1026  int SaveTitlePosition = 0;
1027 
1031  double TitleConstantPosition[2] = { 0.0, 0.0 };
1032 
1036  bool NeedBuild2D = false;
1037 
1038  double LastMinDisplayCoordinate[3] = { 0.0, 0.0, 0.0 };
1039  double LastMaxDisplayCoordinate[3] = { 0.0, 0.0, 0.0 };
1040  double TickVector[3] = { 0.0, 0.0, 0.0 };
1041 
1045  double ScreenSize = 10.0;
1046 
1048 
1051  double LabelOffset = 30.0;
1052  double TitleOffset[2] = { 20.0, 20.0 };
1053  double ExponentOffset = 20.0;
1055 };
1056 
1057 VTK_ABI_NAMESPACE_END
1058 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:162
Create an axis with tick marks and labels.
Definition: vtkAxisActor.h:98
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:233
void SetAxisPositionToMinMax()
Definition: vtkAxisActor.h:504
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:123
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:616
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:469
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:503
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:113
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:232
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:468
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:467
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:506
virtual int RenderTranslucentGeometry(vtkViewport *viewport)
Draw the axis.
void SetTickLocationToInside()
Definition: vtkAxisActor.h:231
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:603
void SetAxisPositionToMaxMax()
Definition: vtkAxisActor.h:505
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:162
perform coordinate transformation, and represent position, in a variety of vtk coordinate systems
a subclass of actor that always faces the camera
Definition: vtkFollower.h:124
a simple class to control print indentation
Definition: vtkIndent.h:120
represent and manipulate 3D points
Definition: vtkPoints.h:150
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:201
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
represent surface properties of a geometric object
Definition: vtkProperty.h:178
a vtkAbstractArray subclass for strings
An actor that displays text.
An actor that displays text.
Definition: vtkTextActor.h:167
represent text properties.
record modification and/or execution time
Definition: vtkTimeStamp.h:56
create polygonal text
abstract specification for Viewports
Definition: vtkViewport.h:57
window superclass for vtkRenderWindow
Definition: vtkWindow.h:40
void GetBounds(T a, double bds[6])
@ vector
Definition: vtkX3D.h:249
@ location
Definition: vtkX3D.h:418
@ value
Definition: vtkX3D.h:232
@ scale
Definition: vtkX3D.h:241
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:86
int vtkTypeBool
Definition: vtkABI.h:71
#define VTK_DEPRECATED_IN_9_3_0(reason)
#define VTK_SIZEHINT(...)