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
62VTK_ABI_NAMESPACE_BEGIN
63class vtkAxisFollower;
64class vtkCamera;
65class vtkCoordinate;
66class vtkFollower;
67class vtkPoints;
68class vtkPolyData;
71class vtkProperty2D;
72class vtkStringArray;
73class vtkTextActor;
74class vtkTextActor3D;
75class vtkTextProperty;
76class vtkVectorText;
77
78class VTKRENDERINGANNOTATION_EXPORT vtkAxisActor : public vtkActor
79{
80public:
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
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;
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
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
751protected:
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
816private:
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;
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
1038VTK_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.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetTickLocationToBoth()
void SetAxisPositionToMinMax()
virtual void SetPoint2(double x, double y, double z)
Specify the position of the second 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.
void SetDeltaMajor(int axis, double value)
Set/Get the starting position for minor and major tick points, and the delta values that determine th...
void SetAxisMainLineProperty(vtkProperty *)
Get/Set main line axis actor property.
virtual double * GetPoint1()
Specify the position of the first point defining the axis.
vtkProperty * GetGridlinesProperty()
Get/Set gridlines actor property (outer grid lines)
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.
double ComputeMaxLabelLength(const double[3])
double GetMajorStart(int axis)
Set/Get the starting position for minor and major tick points, and the delta values that determine th...
void SetGridlinesProperty(vtkProperty *)
Get/Set gridlines actor property (outer grid lines)
void SetAxisTypeToZ()
Set/Get the type of this axis.
vtkProperty * GetGridpolysProperty()
Get/Set gridPolys actor property (grid quads)
virtual void SetLabelTextProperty(vtkTextProperty *p)
Set/Get the axis labels text property.
vtkAxisFollower ** GetLabelActors()
Get label actors responsigle for drawing label text.
virtual void SetExponentLocation(int location)
Get/Set the location of the Detached Exponent related to the axis.
vtkCamera * GetCamera()
Set/Get the camera for this axis.
virtual vtkCoordinate * GetPoint2Coordinate()
Specify the position of the second point defining the axis.
vtkProperty * GetInnerGridlinesProperty()
Get/Set inner gridlines actor property.
void SetAxisPositionToMinMin()
double GetDeltaMajor(int axis)
Set/Get the starting position for minor and major tick points, and the delta values that determine th...
double * GetBounds() override
Set or get the bounds for this Actor as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
vtkTextProperty * GetLabelTextProperty()
Set/Get the axis labels text property.
void SetLabelScale(int labelIndex, double scale)
virtual void SetPoint1(double x[3])
Specify the position of the first point defining the axis.
void SetAxisLinesProperty(vtkProperty *)
Get/Set axis actor property (axis and its ticks) (kept for compatibility)
void SetInnerGridlinesProperty(vtkProperty *)
Get/Set inner gridlines actor property.
vtkProperty * GetAxisMajorTicksProperty()
Get/Set axis actor property (axis and its ticks)
void SetAxisMajorTicksProperty(vtkProperty *)
Get/Set axis actor property (axis and its ticks)
void SetLabelScale(double scale)
void SetTickLocationToOutside()
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)
virtual double * GetPoint2()
Specify the position of the second point defining the axis.
void SetAxisTypeToY()
Set/Get the type of this axis.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
int RenderOpaqueGeometry(vtkViewport *viewport) override
Draw the axis.
void SetAxisTypeToX()
Set/Get the type of this axis.
void SetTitleScale(double scale)
virtual void SetTitleAlignLocation(int location)
Get/Set the alignment of the title related to the axis.
vtkProperty * GetAxisMainLineProperty()
Get/Set main line axis actor property.
virtual void SetTitleTextProperty(vtkTextProperty *p)
Set/Get the axis title text property.
double ComputeTitleLength(const double[3])
void SetAxisPositionToMaxMin()
virtual vtkCoordinate * GetPoint1Coordinate()
Specify the position of the first point defining the axis.
virtual int RenderTranslucentGeometry(vtkViewport *viewport)
Draw the axis.
vtkProp3DAxisFollower ** GetLabelProps3D()
Get label actors responsigle for drawing label text.
void SetTickLocationToInside()
void SetLabels(vtkStringArray *labels)
vtkProperty * GetAxisMinorTicksProperty()
Get/Set axis actor property (axis and its ticks)
vtkTextProperty * GetTitleTextProperty()
Set/Get the axis title text property.
void SetAxisPositionToMaxMax()
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)
static vtkAxisActor * New()
Instantiate object.
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 * GetAxisLinesProperty()
Get/Set axis actor property (axis and its ticks) (kept for compatibility)
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
a subclass of actor that always faces the camera
Definition vtkFollower.h:42
a simple class to control print indentation
Definition vtkIndent.h:38
Allocate and hold a VTK object.
Definition vtkNew.h:60
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
represent surface properties of a geometric object
Definition vtkProperty.h:66
Hold a reference to a vtkObjectBase instance.
a vtkAbstractArray subclass for strings
An actor that displays text.
An actor that displays text.
represent text properties.
record modification and/or execution time
create polygonal text
abstract specification for Viewports
Definition vtkViewport.h:54
window superclass for vtkRenderWindow
Definition vtkWindow.h:34
int vtkTypeBool
Definition vtkABI.h:64
#define VTK_DEPRECATED_IN_9_3_0(reason)
#define VTK_SIZEHINT(...)