VTK  9.7.1
vtkPolarAxesActor.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
24 #ifndef vtkPolarAxesActor_h
25 #define vtkPolarAxesActor_h
26 
27 #include "vtkActor.h"
28 #include "vtkAxisActor.h" // access to enum values
29 #include "vtkNew.h" // used for vtkNew
30 #include "vtkRenderingAnnotationModule.h" // For export macro
31 #include "vtkSmartPointer.h" // used for vtkSmartPointer
32 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
33 #include <list> // To process exponent list as reference
34 #include <string> // used for ivar
35 #include <vector> // for ivar
36 
37 VTK_ABI_NAMESPACE_BEGIN
38 class vtkCamera;
39 class vtkPolyData;
40 class vtkPolyDataMapper;
41 class vtkPropCollection;
42 class vtkProperty;
43 class vtkStringArray;
44 class vtkTextProperty;
45 
46 class VTKRENDERINGANNOTATION_EXPORT VTK_MARSHALAUTO vtkPolarAxesActor : public vtkActor
47 {
48 public:
49  vtkTypeMacro(vtkPolarAxesActor, vtkActor);
50  void PrintSelf(ostream& os, vtkIndent indent) override;
51  static vtkPolarAxesActor* New();
52 
54 
57  int RenderOpaqueGeometry(vtkViewport*) override;
58  int RenderOverlay(vtkViewport*) override;
62 
69  void GetRendered3DProps(vtkPropCollection*, bool translucent);
70 
72 
75  virtual void SetPole(double[3]);
76  virtual void SetPole(double, double, double);
77  vtkGetVector3Macro(Pole, double);
79 
81 
85  vtkSetMacro(Log, bool);
86  vtkGetMacro(Log, bool);
87  vtkBooleanMacro(Log, bool);
89 
91 
95  vtkSetClampMacro(RequestedNumberOfRadialAxes, vtkIdType, 0, VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES);
96  vtkGetMacro(RequestedNumberOfRadialAxes, vtkIdType);
98 
100 
104  vtkSetClampMacro(RequestedNumberOfPolarAxes, vtkIdType, 0, VTK_MAXIMUM_NUMBER_OF_POLAR_AXES);
105  vtkGetMacro(RequestedNumberOfPolarAxes, vtkIdType);
107 
109 
113  vtkSetVector2Macro(Range, double);
114  vtkGetVectorMacro(Range, double, 2);
116 
118 
122  virtual void SetMinimumRadius(double);
123  vtkGetMacro(MinimumRadius, double);
125 
127 
131  virtual void SetMaximumRadius(double);
132  vtkGetMacro(MaximumRadius, double);
134 
136 
140  virtual void SetMinimumAngle(double);
141  vtkGetMacro(MinimumAngle, double);
143 
145 
149  virtual void SetMaximumAngle(double);
150  vtkGetMacro(MaximumAngle, double);
152 
154 
159  vtkSetClampMacro(SmallestVisiblePolarAngle, double, 0., 5.);
160  vtkGetMacro(SmallestVisiblePolarAngle, double);
162 
164 
170  vtkSetClampMacro(TickLocation, int, vtkAxisActor::VTK_TICKS_INSIDE, vtkAxisActor::VTK_TICKS_BOTH);
171  vtkGetMacro(TickLocation, int);
173 
175 
178  vtkSetMacro(RadialUnits, bool);
179  vtkGetMacro(RadialUnits, bool);
181 
183 
189  vtkSetMacro(ScreenSize, double);
190  vtkGetMacro(ScreenSize, double);
192 
194 
199  vtkSetVector2Macro(PolarTitleOffset, double);
200  vtkGetVectorMacro(PolarTitleOffset, double, 2);
202 
204 
209  vtkSetVector2Macro(RadialTitleOffset, double);
210  vtkGetVectorMacro(RadialTitleOffset, double, 2);
212 
214 
218  vtkGetMacro(PolarLabelOffset, double);
219  vtkSetMacro(PolarLabelOffset, double);
221 
223 
227  vtkGetMacro(PolarExponentOffset, double);
228  vtkSetMacro(PolarExponentOffset, double);
230 
232 
236  virtual void SetCamera(vtkCamera*);
237  vtkCamera* GetCamera();
239 
241 
245  vtkGetMacro(PolarAxisTitle, std::string);
246  vtkSetMacro(PolarAxisTitle, std::string);
248 
250 
253  vtkSetStringMacro(PolarLabelFormat);
254  vtkGetStringMacro(PolarLabelFormat);
256 
258  {
259  VTK_EXPONENT_BOTTOM = 0,
260  VTK_EXPONENT_EXTERN = 1,
261  VTK_EXPONENT_LABELS = 2
262  };
263 
265 
270  vtkSetClampMacro(ExponentLocation, int, VTK_EXPONENT_BOTTOM, VTK_EXPONENT_LABELS);
271  vtkGetMacro(ExponentLocation, int);
273 
275 
279  vtkSetStringMacro(RadialAngleFormat);
280  vtkGetStringMacro(RadialAngleFormat);
282 
288  void ReleaseGraphicsResources(vtkWindow*) override;
289 
291 
295  vtkSetMacro(EnableDistanceLOD, bool);
296  vtkGetMacro(EnableDistanceLOD, bool);
298 
300 
304  vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
305  vtkGetMacro(DistanceLODThreshold, double);
307 
309 
313  vtkSetMacro(EnableViewAngleLOD, bool);
314  vtkGetMacro(EnableViewAngleLOD, bool);
316 
318 
322  vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
323  vtkGetMacro(ViewAngleLODThreshold, double);
325 
327 
331  vtkSetMacro(PolarAxisVisibility, bool);
332  vtkGetMacro(PolarAxisVisibility, bool);
333  vtkBooleanMacro(PolarAxisVisibility, bool);
335 
337 
341  vtkSetMacro(DrawRadialGridlines, bool);
342  vtkGetMacro(DrawRadialGridlines, bool);
343  vtkBooleanMacro(DrawRadialGridlines, bool);
345 
347 
351  vtkSetMacro(DrawPolarArcsGridlines, bool);
352  vtkGetMacro(DrawPolarArcsGridlines, bool);
353  vtkBooleanMacro(DrawPolarArcsGridlines, bool);
355 
357 
361  vtkSetMacro(PolarTitleVisibility, bool);
362  vtkGetMacro(PolarTitleVisibility, bool);
363  vtkBooleanMacro(PolarTitleVisibility, bool);
365 
367  {
368  VTK_TITLE_BOTTOM = 0,
369  VTK_TITLE_EXTERN = 1
370  };
371 
373 
378  vtkSetClampMacro(RadialAxisTitleLocation, int, VTK_TITLE_BOTTOM, VTK_TITLE_EXTERN);
379  vtkGetMacro(RadialAxisTitleLocation, int);
381 
383 
388  vtkSetClampMacro(PolarAxisTitleLocation, int, VTK_TITLE_BOTTOM, VTK_TITLE_EXTERN);
389  vtkGetMacro(PolarAxisTitleLocation, int);
391 
393 
397  vtkSetMacro(PolarLabelVisibility, bool);
398  vtkGetMacro(PolarLabelVisibility, bool);
399  vtkBooleanMacro(PolarLabelVisibility, bool);
401 
403 
409  vtkSetMacro(ArcTicksOriginToPolarAxis, bool);
410  vtkGetMacro(ArcTicksOriginToPolarAxis, bool);
411  vtkBooleanMacro(ArcTicksOriginToPolarAxis, bool);
413 
415 
421  vtkSetMacro(RadialAxesOriginToPolarAxis, bool);
422  vtkGetMacro(RadialAxesOriginToPolarAxis, bool);
423  vtkBooleanMacro(RadialAxesOriginToPolarAxis, bool);
425 
427 
431  vtkSetMacro(PolarTickVisibility, bool);
432  vtkGetMacro(PolarTickVisibility, bool);
433  vtkBooleanMacro(PolarTickVisibility, bool);
435 
437 
441  vtkSetMacro(AxisTickVisibility, bool);
442  vtkGetMacro(AxisTickVisibility, bool);
443  vtkBooleanMacro(AxisTickVisibility, bool);
445 
447 
451  vtkSetMacro(AxisMinorTickVisibility, bool);
452  vtkGetMacro(AxisMinorTickVisibility, bool);
453  vtkBooleanMacro(AxisMinorTickVisibility, bool);
455 
457 
461  vtkSetMacro(AxisTickMatchesPolarAxes, bool);
462  vtkGetMacro(AxisTickMatchesPolarAxes, bool);
463  vtkBooleanMacro(AxisTickMatchesPolarAxes, bool);
465 
467 
471  vtkSetMacro(ArcTickVisibility, bool);
472  vtkGetMacro(ArcTickVisibility, bool);
473  vtkBooleanMacro(ArcTickVisibility, bool);
475 
477 
481  vtkSetMacro(ArcMinorTickVisibility, bool);
482  vtkGetMacro(ArcMinorTickVisibility, bool);
483  vtkBooleanMacro(ArcMinorTickVisibility, bool);
485 
487 
491  vtkSetMacro(ArcTickMatchesRadialAxes, bool);
492  vtkGetMacro(ArcTickMatchesRadialAxes, bool);
493  vtkBooleanMacro(ArcTickMatchesRadialAxes, bool);
495 
497 
502  vtkSetMacro(ArcMajorTickSize, double);
503  vtkGetMacro(ArcMajorTickSize, double);
505 
507 
512  vtkSetMacro(PolarAxisMajorTickSize, double);
513  vtkGetMacro(PolarAxisMajorTickSize, double);
515 
517 
522  vtkSetMacro(LastRadialAxisMajorTickSize, double);
523  vtkGetMacro(LastRadialAxisMajorTickSize, double);
525 
527 
531  vtkSetMacro(PolarAxisTickRatioSize, double);
532  vtkGetMacro(PolarAxisTickRatioSize, double);
534 
536 
540  vtkSetMacro(LastAxisTickRatioSize, double);
541  vtkGetMacro(LastAxisTickRatioSize, double);
543 
545 
549  vtkSetMacro(ArcTickRatioSize, double);
550  vtkGetMacro(ArcTickRatioSize, double);
552 
554 
558  vtkSetMacro(TickRatioRadiusSize, double);
559  vtkGetMacro(TickRatioRadiusSize, double);
561 
563 
567  vtkSetMacro(PolarAxisMajorTickThickness, double);
568  vtkGetMacro(PolarAxisMajorTickThickness, double);
570 
572 
576  vtkSetMacro(LastRadialAxisMajorTickThickness, double);
577  vtkGetMacro(LastRadialAxisMajorTickThickness, double);
579 
581 
585  vtkSetMacro(ArcMajorTickThickness, double);
586  vtkGetMacro(ArcMajorTickThickness, double);
588 
590 
594  vtkSetMacro(PolarAxisTickRatioThickness, double);
595  vtkGetMacro(PolarAxisTickRatioThickness, double);
597 
599 
603  vtkSetMacro(LastAxisTickRatioThickness, double);
604  vtkGetMacro(LastAxisTickRatioThickness, double);
606 
608 
612  vtkSetMacro(ArcTickRatioThickness, double);
613  vtkGetMacro(ArcTickRatioThickness, double);
615 
617 
621  vtkSetMacro(DeltaRangeMajor, double);
622  vtkGetMacro(DeltaRangeMajor, double);
624 
626 
630  vtkSetMacro(DeltaRangeMinor, double);
631  vtkGetMacro(DeltaRangeMinor, double);
633 
635 
640  vtkSetMacro(RequestedDeltaRangePolarAxes, double);
641  vtkGetMacro(RequestedDeltaRangePolarAxes, double);
643 
645 
649  vtkSetMacro(DeltaAngleMajor, double);
650  vtkGetMacro(DeltaAngleMajor, double);
652 
654 
658  vtkSetMacro(DeltaAngleMinor, double);
659  vtkGetMacro(DeltaAngleMinor, double);
661 
663 
668  vtkSetMacro(RequestedDeltaAngleRadialAxes, double);
669  vtkGetMacro(RequestedDeltaAngleRadialAxes, double);
671 
672  //------------------------------------------------
673 
675 
679  vtkSetMacro(RadialAxesVisibility, bool);
680  vtkGetMacro(RadialAxesVisibility, bool);
681  vtkBooleanMacro(RadialAxesVisibility, bool);
683 
685 
689  vtkSetMacro(RadialTitleVisibility, bool);
690  vtkGetMacro(RadialTitleVisibility, bool);
691  vtkBooleanMacro(RadialTitleVisibility, bool);
693 
695 
699  vtkSetMacro(PolarArcsVisibility, bool);
700  vtkGetMacro(PolarArcsVisibility, bool);
701  vtkBooleanMacro(PolarArcsVisibility, bool);
703 
705 
708  void SetUse2DMode(bool enable);
709  bool GetUse2DMode();
711 
717  void SetUseTextActor3D(bool enable);
718 
720 
723  virtual void SetPolarAxisTitleTextProperty(vtkTextProperty* p);
724  vtkTextProperty* GetPolarAxisTitleTextProperty();
726 
728 
731  virtual void SetPolarAxisLabelTextProperty(vtkTextProperty* p);
732  vtkTextProperty* GetPolarAxisLabelTextProperty();
734 
736 
739  virtual void SetLastRadialAxisTextProperty(vtkTextProperty* p);
740  vtkTextProperty* GetLastRadialAxisTextProperty();
742 
744 
747  virtual void SetSecondaryRadialAxesTextProperty(vtkTextProperty* p);
748  vtkTextProperty* GetSecondaryRadialAxesTextProperty();
750 
752 
755  virtual void SetPolarAxisProperty(vtkProperty*);
756  vtkProperty* GetPolarAxisProperty();
758 
760 
763  virtual void SetLastRadialAxisProperty(vtkProperty* p);
764  vtkProperty* GetLastRadialAxisProperty();
766 
768 
771  virtual void SetSecondaryRadialAxesProperty(vtkProperty* p);
772  vtkProperty* GetSecondaryRadialAxesProperty();
774 
776 
779  virtual void SetPolarArcsProperty(vtkProperty* p);
780  vtkProperty* GetPolarArcsProperty();
782 
784 
787  virtual void SetSecondaryPolarArcsProperty(vtkProperty* p);
788  vtkProperty* GetSecondaryPolarArcsProperty();
790 
792 
799  vtkSetVector6Macro(Bounds, double);
800  double* GetBounds() override;
801  void GetBounds(
802  double& xmin, double& xmax, double& ymin, double& ymax, double& zmin, double& zmax);
803  void GetBounds(double bounds[6]);
805 
807 
814  vtkSetClampMacro(Ratio, double, 0.001, 100.0);
815  vtkGetMacro(Ratio, double);
817 
819 
823  vtkSetClampMacro(PolarArcResolutionPerDegree, double, VTK_MINIMUM_POLAR_ARC_RESOLUTION_PER_DEG,
824  VTK_MAXIMUM_POLAR_ARC_RESOLUTION_PER_DEG);
825  vtkGetMacro(PolarArcResolutionPerDegree, double);
827 
828 protected:
830  ~vtkPolarAxesActor() override;
831 
835  bool CheckMembersConsistency();
836 
841  void BuildAxes(vtkViewport*);
842 
846  void CalculateBounds();
847 
851  void SetCommonAxisAttributes(vtkAxisActor*);
852 
856  void SetPolarAxisAttributes(vtkAxisActor*);
857 
861  void CreateRadialAxes(int axisCount);
862 
868  void BuildRadialAxes(vtkViewport* viewport = nullptr);
869 
873  double ComputeIdealStep(int subDivsRequired, double rangeLength, int maxSubDivs = 1000);
874 
878  void BuildArcTicks();
879 
884  void StoreTicksPtsFromParamEllipse(
885  double a, double angleEllipseRad, double tickSize, vtkPoints* tickPts);
886 
890  void BuildPolarAxisLabelsArcs();
891 
895  void BuildPolarAxisLabelsArcsLog();
896 
900  void BuildLabelsLog();
901 
902  void BuildPolarArcsLog();
903 
907  std::string FindExponentAndAdjustValues(std::list<double>& valuesList);
908 
912  void GetSignificantPartFromValues(vtkStringArray* valuesStr, std::list<double>& valuesList);
913 
915 
918  double FFix(double);
919  double FSign(double, double);
921 
926  void AutoScale(vtkViewport* viewport);
927 
932  static double ComputeEllipseAngle(double angleInDegrees, double ratio);
933 
937  virtual void ComputeDeltaRangePolarAxes(vtkIdType);
938 
942  virtual void ComputeDeltaAngleRadialAxes(vtkIdType);
943 
944 private:
948  double Pole[3] = { 0.0, 0.0, 0.0 };
949 
953  int NumberOfRadialAxes = 0;
954 
959  int RequestedNumberOfRadialAxes = 0;
960 
964  int NumberOfPolarAxes = 5;
965 
970  int RequestedNumberOfPolarAxes = 5;
971 
975  double Ratio = 1.0;
976 
980  double PolarArcResolutionPerDegree = 0.2;
981 
985  double Range[2] = { 0.0, 10.0 };
986 
990  double DeltaRangeMinor = 0.5;
991 
995  double DeltaRangeMajor = 1.0;
996 
1000  double DeltaRangePolarAxes = 0.0;
1001 
1006  double RequestedDeltaRangePolarAxes = 0.0;
1007 
1011  double DeltaAngleMinor = 22.5;
1012 
1016  double DeltaAngleMajor = 45.0;
1017 
1021  double DeltaAngleRadialAxes = 45.0;
1022 
1027  double RequestedDeltaAngleRadialAxes = 45.0;
1028 
1032  double MinimumRadius = 0.0;
1033 
1037  double MaximumRadius = 1.0;
1038 
1042  bool Log = false;
1043 
1047  double MinimumAngle = 0.0;
1048 
1052  double MaximumAngle = 90.0;
1053 
1057  double SmallestVisiblePolarAngle = 0.5;
1058 
1059  // Structures for principal polar arc
1060  vtkNew<vtkPolyData> PolarArcs;
1061  vtkNew<vtkPolyDataMapper> PolarArcsMapper;
1062  vtkNew<vtkActor> PolarArcsActor;
1063 
1065 
1068  vtkNew<vtkPolyData> SecondaryPolarArcs;
1069  vtkNew<vtkPolyDataMapper> SecondaryPolarArcsMapper;
1070  vtkNew<vtkActor> SecondaryPolarArcsActor;
1072 
1077 
1081  vtkNew<vtkAxisActor> PolarAxis;
1082 
1086  std::vector<vtkSmartPointer<vtkAxisActor>> RadialAxes;
1087 
1089 
1093  std::string PolarAxisTitle = "Radial Distance";
1094  char* PolarLabelFormat = nullptr;
1096 
1100  char* RadialAngleFormat = nullptr;
1101 
1105  bool RadialUnits = true;
1106 
1110  bool EnableDistanceLOD = true;
1111 
1115  double DistanceLODThreshold = 0.7;
1116 
1120  bool EnableViewAngleLOD = true;
1121 
1126  double ViewAngleLODThreshold = 0.3;
1127 
1129 
1132  bool PolarAxisVisibility = true;
1133  bool PolarTitleVisibility = true;
1134  bool PolarLabelVisibility = true;
1136 
1144  int TickLocation = vtkAxisActor::VTK_TICKS_BOTH;
1145 
1149  bool PolarTickVisibility = true;
1150 
1157  bool ArcTicksOriginToPolarAxis = true;
1158 
1165  bool RadialAxesOriginToPolarAxis = true;
1166 
1170  bool AxisTickVisibility = true, AxisMinorTickVisibility = false;
1171 
1175  bool AxisTickMatchesPolarAxes = true;
1176 
1180  bool ArcTickVisibility = true, ArcMinorTickVisibility = false;
1181 
1185  bool ArcTickMatchesRadialAxes = true;
1186 
1190  double PolarAxisMajorTickSize = 0.0, LastRadialAxisMajorTickSize = 0.0, ArcMajorTickSize = 0.0;
1191 
1195  double PolarAxisTickRatioSize = 0.3, LastAxisTickRatioSize = 0.3, ArcTickRatioSize = 0.3;
1196 
1200  double TickRatioRadiusSize = 0.02;
1201 
1205  double PolarAxisMajorTickThickness = 1.0, LastRadialAxisMajorTickThickness = 1.0,
1206  ArcMajorTickThickness = 1.0;
1207 
1211  double PolarAxisTickRatioThickness = 0.5, LastAxisTickRatioThickness = 0.5,
1212  ArcTickRatioThickness = 0.5;
1213 
1215 
1218  bool RadialAxesVisibility = true;
1219  bool RadialTitleVisibility = true;
1221 
1225  int RadialAxisTitleLocation = VTK_TITLE_BOTTOM;
1226 
1230  int PolarAxisTitleLocation = VTK_TITLE_BOTTOM;
1231 
1236  int ExponentLocation = VTK_EXPONENT_LABELS;
1237 
1241  bool PolarArcsVisibility = true;
1242 
1246  bool DrawRadialGridlines = true;
1247 
1251  bool DrawPolarArcsGridlines = true;
1252 
1256  vtkNew<vtkPoints> ArcMajorTickPts;
1257 
1261  vtkNew<vtkPoints> ArcMinorTickPts;
1262 
1264 
1267  vtkNew<vtkPolyData> ArcTickPolyData;
1268  vtkNew<vtkPolyData> ArcMinorTickPolyData;
1269  vtkNew<vtkPolyDataMapper> ArcTickPolyDataMapper;
1270  vtkNew<vtkPolyDataMapper> ArcMinorTickPolyDataMapper;
1271  vtkNew<vtkActor> ArcTickActor;
1272  vtkNew<vtkActor> ArcMinorTickActor;
1274 
1276 
1279  vtkSmartPointer<vtkTextProperty> PolarAxisTitleTextProperty;
1280  vtkSmartPointer<vtkTextProperty> PolarAxisLabelTextProperty;
1282 
1286  vtkSmartPointer<vtkTextProperty> LastRadialAxisTextProperty;
1287 
1291  vtkSmartPointer<vtkTextProperty> SecondaryRadialAxesTextProperty;
1292 
1297  vtkSmartPointer<vtkProperty> PolarAxisProperty;
1298 
1302  vtkSmartPointer<vtkProperty> LastRadialAxisProperty;
1303 
1307  vtkSmartPointer<vtkProperty> SecondaryRadialAxesProperty;
1308 
1309  vtkTimeStamp BuildTime;
1310 
1314  double ScreenSize = 10.0;
1315 
1317 
1320  double PolarTitleOffset[2] = { 20.0, 10.0 }, RadialTitleOffset[2] = { 20.0, 0.0 };
1321  double PolarLabelOffset = 10.0, PolarExponentOffset = 5.0;
1323 
1324  static constexpr int VTK_MAXIMUM_NUMBER_OF_POLAR_AXES = 20;
1325  static constexpr int VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES = 50;
1326  static constexpr double VTK_MINIMUM_POLAR_ARC_RESOLUTION_PER_DEG = 0.05;
1327  static constexpr double VTK_MAXIMUM_POLAR_ARC_RESOLUTION_PER_DEG = 100.0;
1328 
1329  vtkPolarAxesActor(const vtkPolarAxesActor&) = delete;
1330  void operator=(const vtkPolarAxesActor&) = delete;
1331 };
1332 
1333 VTK_ABI_NAMESPACE_END
1334 #endif
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 int RenderOverlay(vtkViewport *)
Definition: vtkProp.h:239
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.
a vtkAbstractArray subclass for strings
int vtkIdType
Definition: vtkType.h:363
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 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
a simple class to control print indentation
Definition: vtkIndent.h:28
a virtual camera for 3D rendering
Definition: vtkCamera.h:41
double * GetBounds() override
Return a reference to the Prop3D's composite transform.
represent text properties.
map vtkPolyData to graphics primitives
vtkTypeBool HasTranslucentPolygonalGeometry() override
Does this prop have some opaque/translucent polygonal geometry?
int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override
Support the standard render methods.
#define VTK_MARSHALAUTO
int RenderOpaqueGeometry(vtkViewport *viewport) override
Support the standard render methods.
represent and manipulate 3D points
Definition: vtkPoints.h:30
create an actor of a polar axes -