VTK  9.7.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 "vtkNew.h" // For vtkNew
49 #include "vtkRenderingAnnotationModule.h" // For export macro
50 #include "vtkSmartPointer.h" // For vtkSmartPointer
51 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
52 
53 #include <memory>
54 #include <string>
55 
56 VTK_ABI_NAMESPACE_BEGIN
57 class vtkAxisFollower;
58 class vtkCamera;
59 class vtkCoordinate;
60 class vtkPoints;
61 class vtkPolyData;
62 class vtkPolyDataMapper;
64 class vtkStringArray;
65 class vtkTextActor;
67 class vtkTextActor3D;
68 class vtkTextProperty;
69 class vtkVectorText;
70 
71 class VTKRENDERINGANNOTATION_EXPORT VTK_MARSHALAUTO vtkAxisActor : public vtkActor
72 {
73 public:
74  vtkTypeMacro(vtkAxisActor, vtkActor);
75  void PrintSelf(ostream& os, vtkIndent indent) override;
76 
80  static vtkAxisActor* New();
81 
83 
86  virtual vtkCoordinate* GetPoint1Coordinate();
87  virtual void SetPoint1(double x[3]) { this->SetPoint1(x[0], x[1], x[2]); }
88  virtual void SetPoint1(double x, double y, double z);
89  virtual double* GetPoint1();
91 
93 
96  virtual vtkCoordinate* GetPoint2Coordinate();
97  virtual void SetPoint2(double x[3]) { this->SetPoint2(x[0], x[1], x[2]); }
98  virtual void SetPoint2(double x, double y, double z);
99  virtual double* GetPoint2();
101 
103 
108  vtkSetVector2Macro(Range, double);
109  vtkGetVectorMacro(Range, double, 2);
111 
113 
117  void SetBounds(const double bounds[6]);
118  void SetBounds(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
119  double* GetBounds() VTK_SIZEHINT(6) override;
120  void GetBounds(double bounds[6]);
122 
124 
127  void SetLabelFormat(const char* format);
128  vtkGetStringMacro(LabelFormat);
130 
132 
139  vtkSetMacro(UseTextActor3D, bool);
140  vtkGetMacro(UseTextActor3D, bool);
142 
144 
148  vtkSetMacro(MinorTicksVisible, bool);
149  vtkGetMacro(MinorTicksVisible, bool);
150  vtkBooleanMacro(MinorTicksVisible, bool);
152 
154 
157  void SetTitle(const std::string& title);
158  vtkGetMacro(Title, std::string);
160 
162 
165  void SetExponent(const std::string& exp);
166  vtkGetMacro(Exponent, std::string);
168 
170 
174  vtkSetMacro(MajorTickSize, double);
175  vtkGetMacro(MajorTickSize, double);
177 
179 
183  vtkSetMacro(MinorTickSize, double);
184  vtkGetMacro(MinorTickSize, double);
186 
188  {
189  VTK_TICKS_INSIDE = 0,
190  VTK_TICKS_OUTSIDE = 1,
191  VTK_TICKS_BOTH = 2
192  };
193 
195 
201  vtkSetClampMacro(TickLocation, int, VTK_TICKS_INSIDE, VTK_TICKS_BOTH);
202  vtkGetMacro(TickLocation, int);
204 
205  void SetTickLocationToInside() { this->SetTickLocation(VTK_TICKS_INSIDE); }
206  void SetTickLocationToOutside() { this->SetTickLocation(VTK_TICKS_OUTSIDE); }
207  void SetTickLocationToBoth() { this->SetTickLocation(VTK_TICKS_BOTH); }
208 
210 
214  vtkSetMacro(AxisVisibility, bool);
215  vtkGetMacro(AxisVisibility, bool);
216  vtkBooleanMacro(AxisVisibility, bool);
218 
220 
224  vtkSetMacro(TickVisibility, bool);
225  vtkGetMacro(TickVisibility, bool);
226  vtkBooleanMacro(TickVisibility, bool);
228 
230 
234  vtkSetMacro(LabelVisibility, bool);
235  vtkGetMacro(LabelVisibility, bool);
236  vtkBooleanMacro(LabelVisibility, bool);
238 
240 
244  vtkSetMacro(TitleVisibility, bool);
245  vtkGetMacro(TitleVisibility, bool);
246  vtkBooleanMacro(TitleVisibility, bool);
248 
250 
254  vtkSetMacro(ExponentVisibility, bool);
255  vtkGetMacro(ExponentVisibility, bool);
256  vtkBooleanMacro(ExponentVisibility, bool);
258 
260 
264  vtkSetMacro(LastMajorTickPointCorrection, bool);
265  vtkGetMacro(LastMajorTickPointCorrection, bool);
266  vtkBooleanMacro(LastMajorTickPointCorrection, bool);
268 
270  {
271  VTK_ALIGN_TOP = 0,
272  VTK_ALIGN_BOTTOM = 1,
273  VTK_ALIGN_POINT1 = 2,
274  VTK_ALIGN_POINT2 = 3
275  };
276 
278 
283  virtual void SetTitleAlignLocation(int location);
284  vtkGetMacro(TitleAlignLocation, int);
286 
288 
293  virtual void SetExponentLocation(int location);
294  vtkGetMacro(ExponentLocation, int);
296 
298 
301  virtual void SetTitleTextProperty(vtkTextProperty* p);
302  vtkTextProperty* GetTitleTextProperty();
304 
306 
309  virtual void SetLabelTextProperty(vtkTextProperty* p);
310  vtkTextProperty* GetLabelTextProperty();
312 
314 
317  void SetAxisLinesProperty(vtkProperty*);
318  vtkProperty* GetAxisLinesProperty();
320 
322 
325  void SetAxisMainLineProperty(vtkProperty*);
326  vtkProperty* GetAxisMainLineProperty();
328 
330 
333  void SetAxisMajorTicksProperty(vtkProperty*);
334  vtkProperty* GetAxisMajorTicksProperty();
336 
338 
341  void SetAxisMinorTicksProperty(vtkProperty*);
342  vtkProperty* GetAxisMinorTicksProperty();
344 
346 
349  void SetGridlinesProperty(vtkProperty*);
350  vtkProperty* GetGridlinesProperty();
352 
354 
357  void SetInnerGridlinesProperty(vtkProperty*);
358  vtkProperty* GetInnerGridlinesProperty();
360 
362 
365  void SetGridpolysProperty(vtkProperty*);
366  vtkProperty* GetGridpolysProperty();
368 
370 
374  vtkSetMacro(DrawGridlines, bool);
375  vtkGetMacro(DrawGridlines, bool);
376  vtkBooleanMacro(DrawGridlines, bool);
378 
380 
386  vtkSetMacro(DrawGridlinesOnly, bool);
387  vtkGetMacro(DrawGridlinesOnly, bool);
388  vtkBooleanMacro(DrawGridlinesOnly, bool);
390 
391  vtkSetMacro(DrawGridlinesLocation, int);
392  vtkGetMacro(DrawGridlinesLocation, int);
393 
395 
399  vtkSetMacro(DrawInnerGridlines, bool);
400  vtkGetMacro(DrawInnerGridlines, bool);
401  vtkBooleanMacro(DrawInnerGridlines, bool);
403 
405 
409  vtkSetMacro(GridlineXLength, double);
410  vtkGetMacro(GridlineXLength, double);
411  vtkSetMacro(GridlineYLength, double);
412  vtkGetMacro(GridlineYLength, double);
413  vtkSetMacro(GridlineZLength, double);
414  vtkGetMacro(GridlineZLength, double);
416 
418 
422  vtkSetMacro(DrawGridpolys, bool);
423  vtkGetMacro(DrawGridpolys, bool);
424  vtkBooleanMacro(DrawGridpolys, bool);
426 
427  enum AxisType
428  {
429  VTK_AXIS_TYPE_X = 0,
430  VTK_AXIS_TYPE_Y = 1,
431  VTK_AXIS_TYPE_Z = 2
432  };
433 
435 
439  vtkSetClampMacro(AxisType, int, VTK_AXIS_TYPE_X, VTK_AXIS_TYPE_Z);
440  vtkGetMacro(AxisType, int);
441  void SetAxisTypeToX() { this->SetAxisType(VTK_AXIS_TYPE_X); }
442  void SetAxisTypeToY() { this->SetAxisType(VTK_AXIS_TYPE_Y); }
443  void SetAxisTypeToZ() { this->SetAxisType(VTK_AXIS_TYPE_Z); }
445 
447  {
448  VTK_AXIS_POS_MINMIN = 0,
449  VTK_AXIS_POS_MINMAX = 1,
450  VTK_AXIS_POS_MAXMAX = 2,
451  VTK_AXIS_POS_MAXMIN = 3
452  };
453 
455 
459  vtkSetMacro(Log, bool);
460  vtkGetMacro(Log, bool);
461  vtkBooleanMacro(Log, bool);
463 
465 
473  vtkSetClampMacro(AxisPosition, int, VTK_AXIS_POS_MINMIN, VTK_AXIS_POS_MAXMIN);
474  vtkGetMacro(AxisPosition, int);
476 
477  void SetAxisPositionToMinMin() { this->SetAxisPosition(VTK_AXIS_POS_MINMIN); }
478  void SetAxisPositionToMinMax() { this->SetAxisPosition(VTK_AXIS_POS_MINMAX); }
479  void SetAxisPositionToMaxMax() { this->SetAxisPosition(VTK_AXIS_POS_MAXMAX); }
480  void SetAxisPositionToMaxMin() { this->SetAxisPosition(VTK_AXIS_POS_MAXMIN); }
481 
483 
487  virtual void SetCamera(vtkCamera*);
488  vtkCamera* GetCamera();
490 
492 
495  int RenderOpaqueGeometry(vtkViewport* viewport) override;
496  virtual int RenderTranslucentGeometry(vtkViewport* viewport);
497  int RenderTranslucentPolygonalGeometry(vtkViewport* viewport) override;
498  int RenderOverlay(vtkViewport* viewport) override;
501 
507  void ReleaseGraphicsResources(vtkWindow*) override;
508 
513  double ComputeMaxLabelLength();
514 
519  double ComputeTitleLength();
520 
522 
525  void SetLabelScale(double scale);
526  void SetLabelScale(int labelIndex, double scale);
527  void SetTitleScale(double scale);
528  void SetExponentScale(double scale);
530 
532 
536  double GetMajorStart(int axis);
537  void SetMajorStart(int axis, double value);
538  double GetDeltaMajor(int axis);
539  void SetDeltaMajor(int axis, double value);
541 
543 
549  vtkSetMacro(MinorRangeStart, double);
550  vtkGetMacro(MinorRangeStart, double);
551  vtkSetMacro(MajorRangeStart, double);
552  vtkGetMacro(MajorRangeStart, double);
554 
556 
560  vtkSetMacro(DeltaRangeMinor, double);
561  vtkGetMacro(DeltaRangeMinor, double);
562  vtkSetMacro(DeltaRangeMajor, double);
563  vtkGetMacro(DeltaRangeMajor, double);
565 
566  void SetLabels(vtkStringArray* labels);
567 
568  void BuildAxis(vtkViewport* viewport, bool);
569 
574  vtkAxisFollower* GetTitleActor();
575 
579  vtkAxisFollower* GetExponentActor();
580 
582 
585  vtkAxisFollower* GetLabelFollower(int index);
586  int GetNumberOfLabelFollowers() { return this->GetNumberOfLabelsBuilt(); }
588 
590 
594  vtkProp3DAxisFollower* GetTitleProp3D();
596 
598 
601  vtkProp3DAxisFollower* GetLabelFollower3D(int index);
602  int GetNumberOfLabelFollower3D() { return this->GetNumberOfLabelsBuilt(); }
604 
606 
610  vtkProp3DAxisFollower* GetExponentProp3D();
612 
614 
618  vtkGetMacro(NumberOfLabelsBuilt, int);
620 
622 
626  vtkSetMacro(Use2DMode, bool);
627  vtkGetMacro(Use2DMode, bool);
629 
631 
635  vtkSetMacro(VerticalOffsetXTitle2D, double);
636  vtkGetMacro(VerticalOffsetXTitle2D, double);
638 
640 
644  vtkSetMacro(HorizontalOffsetYTitle2D, double);
645  vtkGetMacro(HorizontalOffsetYTitle2D, double);
647 
649 
653  vtkSetMacro(SaveTitlePosition, int);
654  vtkGetMacro(SaveTitlePosition, int);
656 
658 
662  vtkSetVector3Macro(AxisBaseForX, double);
663  vtkGetVector3Macro(AxisBaseForX, double);
665 
667 
671  vtkSetVector3Macro(AxisBaseForY, double);
672  vtkGetVector3Macro(AxisBaseForY, double);
674 
676 
680  vtkSetVector3Macro(AxisBaseForZ, double);
681  vtkGetVector3Macro(AxisBaseForZ, double);
683 
685 
689  vtkSetMacro(AxisOnOrigin, bool);
690  vtkGetMacro(AxisOnOrigin, bool);
692 
694 
698  vtkSetMacro(ScreenSize, double);
699  vtkGetMacro(ScreenSize, double);
701 
703 
707  vtkSetMacro(LabelOffset, double);
708  vtkGetMacro(LabelOffset, double);
710 
712 
716  vtkSetMacro(ExponentOffset, double);
717  vtkGetMacro(ExponentOffset, double);
719 
721 
728  vtkSetVector2Macro(TitleOffset, double);
729  vtkGetVector2Macro(TitleOffset, double);
731 
732 protected:
733  vtkAxisActor();
734  ~vtkAxisActor() override;
735 
736 private:
737  vtkAxisActor(const vtkAxisActor&) = delete;
738  void operator=(const vtkAxisActor&) = delete;
739 
740  void TransformBounds(vtkViewport*, double bnds[6]);
741 
742  void BuildLabels(vtkViewport*, bool);
743  void BuildLabels2D(vtkViewport*, bool);
744  void SetLabelPositions(vtkViewport*, bool);
745  void SetLabelPositions2D(vtkViewport*, bool);
746 
753  void BuildTitle(bool);
754 
759  void BuildExponent(bool force);
760 
761  void BuildExponent2D(vtkViewport* viewport, bool force);
762 
763  void BuildTitle2D(vtkViewport* viewport, bool);
764 
768  void Get2DPosition(
769  vtkViewport* viewport, double multiplier, double scenepos[3], double displayPos[2]);
770 
771  void SetAxisPointsAndLines();
772 
773  bool BuildTickPoints(double p1[3], double p2[3], bool force);
774 
775  // Build major ticks for linear scale.
776  void BuildMajorTicks(double p1[3], double p2[3], double localCoordSys[3][3]);
777 
778  // Build major ticks for logarithmic scale.
779  void BuildMajorTicksLog(double p1[3], double p2[3], double localCoordSys[3][3]);
780 
781  // Build minor ticks for linear scale.
782  void BuildMinorTicks(double p1[3], double p2[3], double localCoordSys[3][3]);
783 
784  // Build minor ticks for logarithmic scale enabled
785  void BuildMinorTicksLog(double p1[3], double p2[3], double localCoordSys[3][3]);
786 
787  void BuildAxisGridLines(double p1[3], double p2[3], double localCoordSys[3][3]);
788 
789  bool TickVisibilityChanged();
790 
791  vtkProperty* NewTitleProperty();
792  vtkProperty* NewLabelProperty();
793 
794  bool BoundsDisplayCoordinateChanged(vtkViewport* viewport);
795 
797 
800  vtkProp* GetTitleActorInternal();
801  vtkProp* GetLabelActorInternal(int index);
802  vtkProp* GetExponentActorInternal();
804 
813  void UpdateTitleActorProperty();
815  void UpdateLabelActorProperty(int idx);
816  void UpdateExponentActorProperty();
818 
824  void GetTranslucentProps(vtkPropCollection* collection);
825 
826  std::string Title;
827  std::string Exponent;
828  char* LabelFormat = nullptr;
829  double Range[2] = { 0.0, 1.0 };
830  double LastRange[2] = { -1.0, -1.0 };
831  bool UseTextActor3D = false;
832  int NumberOfLabelsBuilt = 0;
833  bool MinorTicksVisible = true;
834  bool LastMinorTicksVisible = true;
835 
841  int TickLocation = VTK_TICKS_INSIDE;
842 
847  int TitleAlignLocation = VTK_ALIGN_BOTTOM;
848 
853  int ExponentLocation = VTK_ALIGN_POINT2;
854 
855  bool DrawGridlines = false;
856  bool DrawGridlinesOnly = false;
857  bool LastDrawGridlines = false;
858  int DrawGridlinesLocation = 0; // 0: all | 1: closest | 2: furthest
859  int LastDrawGridlinesLocation = 0; // 0: all | 1: closest | 2: furthest
860  double GridlineXLength = 1.0;
861  double GridlineYLength = 1.0;
862  double GridlineZLength = 1.0;
863 
864  bool DrawInnerGridlines = false;
865 
866  bool DrawGridpolys = false;
867 
868  bool AxisVisibility = true;
869  bool TickVisibility = true;
870  bool LastTickVisibility = true;
871  bool LabelVisibility = true;
872  bool TitleVisibility = true;
873  bool ExponentVisibility = false;
874  bool LastMajorTickPointCorrection = false;
875 
876  bool Log = false;
877  int AxisType = VTK_AXIS_TYPE_X;
878  int AxisPosition = VTK_AXIS_POS_MINMIN;
879 
880  // coordinate system for axisAxtor, relative to world coordinates
881  double AxisBaseForX[3] = { 1.0, 0.0, 0.0 };
882  double AxisBaseForY[3] = { 0.0, 1.0, 0.0 };
883  double AxisBaseForZ[3] = { 0.0, 0.0, 1.0 };
884 
885  vtkNew<vtkCoordinate> Point1Coordinate;
886  vtkNew<vtkCoordinate> Point2Coordinate;
887 
888  double MajorTickSize = 1.0;
889  double MinorTickSize = 0.5;
890 
891  // For each axis (for the inner gridline generation)
892  double MajorStart[3] = { 0.0, 0.0, 0.0 };
893  double DeltaMajor[3] = { 1.0, 1.0, 1.0 };
894 
895  // For the ticks, w.r.t to the set range
896  double MajorRangeStart = 0.0;
897  double MinorRangeStart = 0.0;
898 
902  double DeltaRangeMinor = 1.0;
903 
907  double DeltaRangeMajor = 1.0;
908 
909  int LastAxisPosition = -1;
910  int LastTickLocation = -1;
911 
912  vtkNew<vtkPoints> MinorTickPts;
913  vtkNew<vtkPoints> MajorTickPts;
914  vtkNew<vtkPoints> GridlinePts;
915  vtkNew<vtkPoints> InnerGridlinePts;
916  vtkNew<vtkPoints> GridpolyPts;
917 
918  std::unique_ptr<vtkTextActorInterfaceInternal> TitleProp;
919  vtkSmartPointer<vtkTextProperty> TitleTextProperty;
920 
922 
925  std::unique_ptr<vtkTextActorInterfaceInternal> ExponentProp;
927 
928  std::vector<std::shared_ptr<vtkTextActorInterfaceInternal>> LabelProps;
929  vtkSmartPointer<vtkTextProperty> LabelTextProperty;
930 
931  // Main line axis
932  vtkNew<vtkPolyData> AxisLines;
933  vtkNew<vtkActor> AxisLinesActor;
934 
935  // Ticks of the axis
936  vtkNew<vtkPolyData> AxisMajorTicks, AxisMinorTicks;
937  vtkNew<vtkActor> AxisMajorTicksActor, AxisMinorTicksActor;
938 
939  vtkNew<vtkPolyData> Gridlines;
940  vtkNew<vtkActor> GridlinesActor;
941  vtkNew<vtkPolyData> InnerGridlines;
942  vtkNew<vtkActor> InnerGridlinesActor;
943  vtkNew<vtkPolyData> Gridpolys;
944  vtkNew<vtkActor> GridpolysActor;
945 
947  vtkTimeStamp BuildTime;
948  vtkTimeStamp BuildTickPointsTime;
949  vtkTimeStamp BoundsTime;
950  vtkTimeStamp LabelBuildTime;
951  vtkTimeStamp TitleTextTime;
952  vtkTimeStamp ExponentTextTime;
953 
954  bool AxisOnOrigin = false;
955 
956  bool AxisHasZeroLength = false;
957 
961  bool Use2DMode = false;
962 
967  double VerticalOffsetXTitle2D = -40;
968 
973  double HorizontalOffsetYTitle2D = -50;
974 
981  int SaveTitlePosition = 0;
982 
986  double TitleConstantPosition[2] = { 0.0, 0.0 };
987 
991  bool NeedBuild2D = false;
992 
993  double LastMinDisplayCoordinate[3] = { 0.0, 0.0, 0.0 };
994  double LastMaxDisplayCoordinate[3] = { 0.0, 0.0, 0.0 };
995  double TickVector[3] = { 0.0, 0.0, 0.0 };
996 
1000  double ScreenSize = 10.0;
1001 
1003 
1006  double LabelOffset = 30.0;
1007  double TitleOffset[2] = { 20.0, 20.0 };
1008  double ExponentOffset = 20.0;
1010 };
1011 
1012 VTK_ABI_NAMESPACE_END
1013 #endif
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:49
virtual void SetPoint1(double x[3])
Specify the position of the first point defining the axis.
Definition: vtkAxisActor.h:87
void SetTickLocationToInside()
Definition: vtkAxisActor.h:205
void GetBounds(T a, double bds[6])
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:41
abstract specification for Viewports
Definition: vtkViewport.h:46
represent surface properties of a geometric object
Definition: vtkProperty.h:59
virtual void SetPoint2(double x[3])
Specify the position of the second point defining the axis.
Definition: vtkAxisActor.h:97
virtual int RenderOverlay(vtkViewport *)
Definition: vtkProp.h:239
void SetTickLocationToBoth()
Definition: vtkAxisActor.h:207
void SetAxisTypeToY()
Set/Get the type of this axis.
Definition: vtkAxisActor.h:442
record modification and/or execution time
Definition: vtkTimeStamp.h:24
Create an axis with tick marks and labels.
Definition: vtkAxisActor.h:71
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetAxisPositionToMinMax()
Definition: vtkAxisActor.h:478
a vtkAbstractArray subclass for strings
VTK Internal interface to manipulate text actors from vtkAxisActor.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:71
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:441
void SetAxisPositionToMaxMax()
Definition: vtkAxisActor.h:479
void SetAxisPositionToMinMin()
Definition: vtkAxisActor.h:477
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
an ordered list of Props
int vtkTypeBool
Definition: vtkABI.h:64
window superclass for vtkRenderWindow
Definition: vtkWindow.h:41
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:48
a simple class to control print indentation
Definition: vtkIndent.h:28
a virtual camera for 3D rendering
Definition: vtkCamera.h:41
int GetNumberOfLabelFollower3D()
Get label actors responsigle for drawing label text.
Definition: vtkAxisActor.h:602
void SetTickLocationToOutside()
Definition: vtkAxisActor.h:206
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:69
a subclass of vtkFollower that ensures that data is always parallel to the axis defined by a vtkAxisA...
map vtkPolyData to graphics primitives
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 GetNumberOfLabelFollowers()
Get label actors responsible for drawing label text.
Definition: vtkAxisActor.h:586
int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override
Support the standard render methods.
void SetAxisPositionToMaxMin()
Definition: vtkAxisActor.h:480
#define VTK_MARSHALAUTO
int RenderOpaqueGeometry(vtkViewport *viewport) override
Support the standard render methods.
represent and manipulate 3D points
Definition: vtkPoints.h:30
void SetAxisTypeToZ()
Set/Get the type of this axis.
Definition: vtkAxisActor.h:443
create polygonal text
Definition: vtkVectorText.h:36