VTK  9.2.20230528
vtkPolarAxesActor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCubeAxesActor.h
5  Language: C++
6 
7 Copyright (c) 1993-2001 Ken Martin, Will Schroeder, Bill Lorensen
8 All rights reserve
9  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
10 
11  This software is distributed WITHOUT ANY WARRANTY; without even
12  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13  PURPOSE. See the above copyright notice for more information.
14 =========================================================================*/
36 #ifndef vtkPolarAxesActor_h
37 #define vtkPolarAxesActor_h
38 
39 #include "vtkActor.h"
40 #include "vtkAxisActor.h" // access to enum values
41 #include "vtkDeprecation.h" // For deprecation macro
42 #include "vtkNew.h" // used for vtkNew
43 #include "vtkRenderingAnnotationModule.h" // For export macro
44 #include "vtkSmartPointer.h" // used for vtkSmartPointer
45 #include <list> // To process exponent list as reference
46 #include <string> // used for ivar
47 
48 VTK_ABI_NAMESPACE_BEGIN
49 class vtkCamera;
50 class vtkPolyData;
51 class vtkPolyDataMapper;
52 class vtkProperty;
53 class vtkStringArray;
54 class vtkTextProperty;
55 
56 class VTKRENDERINGANNOTATION_EXPORT vtkPolarAxesActor : public vtkActor
57 {
58 public:
59  vtkTypeMacro(vtkPolarAxesActor, vtkActor);
60  void PrintSelf(ostream& os, vtkIndent indent) override;
61 
67 
69 
73  int RenderOverlay(vtkViewport*) override;
74  int RenderTranslucentPolygonalGeometry(vtkViewport*) override { return 0; }
76 
78 
81  virtual void SetPole(double[3]);
82  virtual void SetPole(double, double, double);
83  vtkGetVector3Macro(Pole, double);
85 
87 
91  vtkSetMacro(Log, bool);
92  vtkGetMacro(Log, bool);
93  vtkBooleanMacro(Log, bool);
95 
97 
101  vtkSetClampMacro(RequestedNumberOfRadialAxes, vtkIdType, 0, VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES);
102  vtkGetMacro(RequestedNumberOfRadialAxes, vtkIdType);
104 
106 
110  vtkSetClampMacro(RequestedNumberOfPolarAxes, vtkIdType, 0, VTK_MAXIMUM_NUMBER_OF_POLAR_AXES);
111  vtkGetMacro(RequestedNumberOfPolarAxes, vtkIdType);
113 
115 
119  VTK_DEPRECATED_IN_9_3_0("Use SetDeltaRangeMajor instead or enable AxisTickMatchesPolarAxes")
120  vtkSetMacro(AutoSubdividePolarAxis, bool);
121  VTK_DEPRECATED_IN_9_3_0("Use SetDeltaRangeMajor instead or enable AxisTickMatchesPolarAxes")
122  vtkGetMacro(AutoSubdividePolarAxis, bool);
123  void AutoSubdividePolarAxisOn();
124  void AutoSubdividePolarAxisOff();
126 
128 
132  VTK_DEPRECATED_IN_9_3_0("Use SetDeltaRangeMajor instead or enable AxisTickMatchesPolarAxes")
133  virtual void SetNumberOfPolarAxisTicks(int);
134  int GetNumberOfPolarAxisTicks();
136 
138 
142  vtkSetVector2Macro(Range, double);
143  vtkGetVectorMacro(Range, double, 2);
145 
147 
151  virtual void SetMinimumRadius(double);
152  vtkGetMacro(MinimumRadius, double);
154 
156 
160  virtual void SetMaximumRadius(double);
161  vtkGetMacro(MaximumRadius, double);
163 
165 
169  virtual void SetMinimumAngle(double);
170  vtkGetMacro(MinimumAngle, double);
172 
174 
178  virtual void SetMaximumAngle(double);
179  vtkGetMacro(MaximumAngle, double);
181 
183 
188  vtkSetClampMacro(SmallestVisiblePolarAngle, double, 0., 5.);
189  vtkGetMacro(SmallestVisiblePolarAngle, double);
191 
193 
199  vtkSetClampMacro(TickLocation, int, vtkAxisActor::VTK_TICKS_INSIDE, vtkAxisActor::VTK_TICKS_BOTH);
200  vtkGetMacro(TickLocation, int);
202 
204 
207  vtkSetMacro(RadialUnits, bool);
208  vtkGetMacro(RadialUnits, bool);
210 
212 
218  vtkSetMacro(ScreenSize, double);
219  vtkGetMacro(ScreenSize, double);
221 
223 
228  vtkSetVector2Macro(PolarTitleOffset, double);
229  vtkGetVectorMacro(PolarTitleOffset, double, 2);
231 
233 
238  vtkSetVector2Macro(RadialTitleOffset, double);
239  vtkGetVectorMacro(RadialTitleOffset, double, 2);
241 
243 
247  vtkGetMacro(PolarLabelOffset, double);
248  vtkSetMacro(PolarLabelOffset, double);
250 
252 
256  vtkGetMacro(PolarExponentOffset, double);
257  vtkSetMacro(PolarExponentOffset, double);
259 
261 
265  virtual void SetCamera(vtkCamera*);
266  vtkCamera* GetCamera();
268 
270 
274  vtkSetStringMacro(PolarAxisTitle);
275  vtkGetStringMacro(PolarAxisTitle);
277 
279 
282  vtkSetStringMacro(PolarLabelFormat);
283  vtkGetStringMacro(PolarLabelFormat);
285 
287  {
288  VTK_EXPONENT_BOTTOM = 0,
289  VTK_EXPONENT_EXTERN = 1,
290  VTK_EXPONENT_LABELS = 2
291  };
292 
294 
299  vtkSetClampMacro(ExponentLocation, int, VTK_EXPONENT_BOTTOM, VTK_EXPONENT_LABELS);
300  vtkGetMacro(ExponentLocation, int);
302 
304 
307  vtkSetStringMacro(RadialAngleFormat);
308  vtkGetStringMacro(RadialAngleFormat);
310 
317 
319 
323  vtkSetMacro(EnableDistanceLOD, bool);
324  vtkGetMacro(EnableDistanceLOD, bool);
326 
328 
332  vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
333  vtkGetMacro(DistanceLODThreshold, double);
335 
337 
341  vtkSetMacro(EnableViewAngleLOD, bool);
342  vtkGetMacro(EnableViewAngleLOD, bool);
344 
346 
350  vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
351  vtkGetMacro(ViewAngleLODThreshold, double);
353 
355 
359  vtkSetMacro(PolarAxisVisibility, bool);
360  vtkGetMacro(PolarAxisVisibility, bool);
361  vtkBooleanMacro(PolarAxisVisibility, bool);
363 
365 
369  vtkSetMacro(DrawRadialGridlines, bool);
370  vtkGetMacro(DrawRadialGridlines, bool);
371  vtkBooleanMacro(DrawRadialGridlines, bool);
373 
375 
379  vtkSetMacro(DrawPolarArcsGridlines, bool);
380  vtkGetMacro(DrawPolarArcsGridlines, bool);
381  vtkBooleanMacro(DrawPolarArcsGridlines, bool);
383 
385 
389  vtkSetMacro(PolarTitleVisibility, bool);
390  vtkGetMacro(PolarTitleVisibility, bool);
391  vtkBooleanMacro(PolarTitleVisibility, bool);
393 
395  {
396  VTK_TITLE_BOTTOM = 0,
397  VTK_TITLE_EXTERN = 1
398  };
399 
401 
406  vtkSetClampMacro(RadialAxisTitleLocation, int, VTK_TITLE_BOTTOM, VTK_TITLE_EXTERN);
407  vtkGetMacro(RadialAxisTitleLocation, int);
409 
411 
416  vtkSetClampMacro(PolarAxisTitleLocation, int, VTK_TITLE_BOTTOM, VTK_TITLE_EXTERN);
417  vtkGetMacro(PolarAxisTitleLocation, int);
419 
421 
425  vtkSetMacro(PolarLabelVisibility, bool);
426  vtkGetMacro(PolarLabelVisibility, bool);
427  vtkBooleanMacro(PolarLabelVisibility, bool);
429 
431 
437  vtkSetMacro(ArcTicksOriginToPolarAxis, bool);
438  vtkGetMacro(ArcTicksOriginToPolarAxis, bool);
439  vtkBooleanMacro(ArcTicksOriginToPolarAxis, bool);
441 
443 
449  vtkSetMacro(RadialAxesOriginToPolarAxis, bool);
450  vtkGetMacro(RadialAxesOriginToPolarAxis, bool);
451  vtkBooleanMacro(RadialAxesOriginToPolarAxis, bool);
453 
455 
459  vtkSetMacro(PolarTickVisibility, bool);
460  vtkGetMacro(PolarTickVisibility, bool);
461  vtkBooleanMacro(PolarTickVisibility, bool);
463 
465 
469  vtkSetMacro(AxisTickVisibility, bool);
470  vtkGetMacro(AxisTickVisibility, bool);
471  vtkBooleanMacro(AxisTickVisibility, bool);
473 
475 
479  vtkSetMacro(AxisMinorTickVisibility, bool);
480  vtkGetMacro(AxisMinorTickVisibility, bool);
481  vtkBooleanMacro(AxisMinorTickVisibility, bool);
483 
485 
489  vtkSetMacro(AxisTickMatchesPolarAxes, bool);
490  vtkGetMacro(AxisTickMatchesPolarAxes, bool);
491  vtkBooleanMacro(AxisTickMatchesPolarAxes, bool);
493 
495 
499  vtkSetMacro(ArcTickVisibility, bool);
500  vtkGetMacro(ArcTickVisibility, bool);
501  vtkBooleanMacro(ArcTickVisibility, bool);
503 
505 
509  vtkSetMacro(ArcMinorTickVisibility, bool);
510  vtkGetMacro(ArcMinorTickVisibility, bool);
511  vtkBooleanMacro(ArcMinorTickVisibility, bool);
513 
515 
519  vtkSetMacro(ArcTickMatchesRadialAxes, bool);
520  vtkGetMacro(ArcTickMatchesRadialAxes, bool);
521  vtkBooleanMacro(ArcTickMatchesRadialAxes, bool);
523 
525 
530  vtkSetMacro(ArcMajorTickSize, double);
531  vtkGetMacro(ArcMajorTickSize, double);
533 
535 
540  vtkSetMacro(PolarAxisMajorTickSize, double);
541  vtkGetMacro(PolarAxisMajorTickSize, double);
543 
545 
550  vtkSetMacro(LastRadialAxisMajorTickSize, double);
551  vtkGetMacro(LastRadialAxisMajorTickSize, double);
553 
555 
559  vtkSetMacro(PolarAxisTickRatioSize, double);
560  vtkGetMacro(PolarAxisTickRatioSize, double);
562 
564 
568  vtkSetMacro(LastAxisTickRatioSize, double);
569  vtkGetMacro(LastAxisTickRatioSize, double);
571 
573 
577  vtkSetMacro(ArcTickRatioSize, double);
578  vtkGetMacro(ArcTickRatioSize, double);
580 
582 
586  vtkSetMacro(TickRatioRadiusSize, double);
587  vtkGetMacro(TickRatioRadiusSize, double);
589 
591 
595  vtkSetMacro(PolarAxisMajorTickThickness, double);
596  vtkGetMacro(PolarAxisMajorTickThickness, double);
598 
600 
604  vtkSetMacro(LastRadialAxisMajorTickThickness, double);
605  vtkGetMacro(LastRadialAxisMajorTickThickness, double);
607 
609 
613  vtkSetMacro(ArcMajorTickThickness, double);
614  vtkGetMacro(ArcMajorTickThickness, double);
616 
618 
622  vtkSetMacro(PolarAxisTickRatioThickness, double);
623  vtkGetMacro(PolarAxisTickRatioThickness, double);
625 
627 
631  vtkSetMacro(LastAxisTickRatioThickness, double);
632  vtkGetMacro(LastAxisTickRatioThickness, double);
634 
636 
640  vtkSetMacro(ArcTickRatioThickness, double);
641  vtkGetMacro(ArcTickRatioThickness, double);
643 
645 
649  vtkSetMacro(DeltaRangeMajor, double);
650  vtkGetMacro(DeltaRangeMajor, double);
652 
654 
658  vtkSetMacro(DeltaRangeMinor, double);
659  vtkGetMacro(DeltaRangeMinor, double);
661 
663 
668  vtkSetMacro(RequestedDeltaRangePolarAxes, double);
669  vtkGetMacro(RequestedDeltaRangePolarAxes, double);
671 
673 
677  vtkSetMacro(DeltaAngleMajor, double);
678  vtkGetMacro(DeltaAngleMajor, double);
680 
682 
686  vtkSetMacro(DeltaAngleMinor, double);
687  vtkGetMacro(DeltaAngleMinor, double);
689 
691 
696  vtkSetMacro(RequestedDeltaAngleRadialAxes, double);
697  vtkGetMacro(RequestedDeltaAngleRadialAxes, double);
699 
700  //------------------------------------------------
701 
703 
707  vtkSetMacro(RadialAxesVisibility, bool);
708  vtkGetMacro(RadialAxesVisibility, bool);
709  vtkBooleanMacro(RadialAxesVisibility, bool);
711 
713 
717  vtkSetMacro(RadialTitleVisibility, bool);
718  vtkGetMacro(RadialTitleVisibility, bool);
719  vtkBooleanMacro(RadialTitleVisibility, bool);
721 
723 
727  vtkSetMacro(PolarArcsVisibility, bool);
728  vtkGetMacro(PolarArcsVisibility, bool);
729  vtkBooleanMacro(PolarArcsVisibility, bool);
731 
733 
736  void SetUse2DMode(bool enable);
737  bool GetUse2DMode();
739 
741 
747 
749 
755 
757 
763 
765 
771 
773 
779 
781 
787 
789 
795 
797 
803 
805 
811 
813 
820  vtkSetVector6Macro(Bounds, double);
821  double* GetBounds() override;
822  void GetBounds(
823  double& xmin, double& xmax, double& ymin, double& ymax, double& zmin, double& zmax);
824  void GetBounds(double bounds[6]);
826 
828 
832  vtkSetClampMacro(Ratio, double, 0.001, 100.0);
833  vtkGetMacro(Ratio, double);
835 
837 
841  vtkSetClampMacro(PolarArcResolutionPerDegree, double, VTK_MINIMUM_POLAR_ARC_RESOLUTION_PER_DEG,
842  VTK_MAXIMUM_POLAR_ARC_RESOLUTION_PER_DEG);
843  vtkGetMacro(PolarArcResolutionPerDegree, double);
845 
846 protected:
848  ~vtkPolarAxesActor() override;
849 
854 
860 
865 
870 
875 
879  void CreateRadialAxes(int axisCount);
880 
886  void BuildRadialAxes(vtkViewport* viewport = nullptr);
887 
894  VTK_DEPRECATED_IN_9_3_0("Use SetDeltaRangeMajor instead or enable AxisTickMatchesPolarAxes")
895  void AutoComputeTicksProperties();
896 
900  double ComputeIdealStep(int subDivsRequired, double rangeLength, int maxSubDivs = 1000);
901 
905  void BuildArcTicks();
906 
911  void StoreTicksPtsFromParamEllipse(
912  double a, double angleEllipseRad, double tickSize, vtkPoints* tickPts);
913 
917  void BuildPolarAxisLabelsArcs();
918 
922  void BuildPolarAxisLabelsArcsLog();
923 
927  void BuildLabelsLog();
928 
929  void BuildPolarArcsLog();
930 
934  std::string FindExponentAndAdjustValues(std::list<double>& valuesList);
935 
939  void GetSignificantPartFromValues(vtkStringArray* valuesStr, std::list<double>& valuesList);
940 
942 
945  double FFix(double);
946  double FSign(double, double);
948 
953  void AutoScale(vtkViewport* viewport);
954 
959  static double ComputeEllipseAngle(double angleInDegrees, double ratio);
960 
964  virtual void ComputeDeltaRangePolarAxes(vtkIdType);
965 
969  virtual void ComputeDeltaAngleRadialAxes(vtkIdType);
973  double Pole[3] = { 0.0, 0.0, 0.0 };
974 
978  int NumberOfRadialAxes = 0;
979 
984  int RequestedNumberOfRadialAxes = 0;
985 
989  int NumberOfPolarAxes = 5;
990 
995  int RequestedNumberOfPolarAxes = 5;
996 
1000  double Ratio = 1.0;
1001 
1005  double PolarArcResolutionPerDegree = 0.2;
1006 
1010  double Range[2] = { 0.0, 10.0 };
1011 
1015  double DeltaRangeMinor = 0.5;
1016 
1020  double DeltaRangeMajor = 1.0;
1021 
1025  bool AutoSubdividePolarAxis = false;
1026 
1030  double DeltaRangePolarAxes = 0.0;
1031 
1036  double RequestedDeltaRangePolarAxes = 0.0;
1037 
1041  double DeltaAngleMinor = 22.5;
1042 
1046  double DeltaAngleMajor = 45.0;
1047 
1051  double DeltaAngleRadialAxes = 45.0;
1052 
1057  double RequestedDeltaAngleRadialAxes = 45.0;
1058 
1062  double MinimumRadius = 0.0;
1063 
1067  double MaximumRadius = 1.0;
1068 
1072  bool Log = false;
1073 
1077  double MinimumAngle = 0.0;
1078 
1082  double MaximumAngle = 90.0;
1083 
1087  double SmallestVisiblePolarAngle = 0.5;
1088 
1089  // Structures for principal polar arc
1093 
1095 
1102 
1107 
1112 
1116  vtkSmartPointer<vtkAxisActor>* RadialAxes = nullptr;
1117 
1119 
1123  char* PolarAxisTitle = nullptr;
1124  char* PolarLabelFormat = nullptr;
1126 
1130  char* RadialAngleFormat = nullptr;
1131 
1135  bool RadialUnits = true;
1136 
1140  bool EnableDistanceLOD = true;
1141 
1145  double DistanceLODThreshold = 0.7;
1146 
1150  bool EnableViewAngleLOD = true;
1151 
1156  double ViewAngleLODThreshold = 0.3;
1157 
1159 
1162  bool PolarAxisVisibility = true;
1163  bool PolarTitleVisibility = true;
1164  bool PolarLabelVisibility = true;
1166 
1174  int TickLocation = vtkAxisActor::VTK_TICKS_BOTH;
1175 
1179  bool PolarTickVisibility = true;
1180 
1187  bool ArcTicksOriginToPolarAxis = true;
1188 
1195  bool RadialAxesOriginToPolarAxis = true;
1196 
1200  bool AxisTickVisibility = true, AxisMinorTickVisibility = false;
1201 
1205  bool AxisTickMatchesPolarAxes = true;
1206 
1210  bool ArcTickVisibility = true, ArcMinorTickVisibility = false;
1211 
1215  bool ArcTickMatchesRadialAxes = true;
1216 
1220  double PolarAxisMajorTickSize = 0.0, LastRadialAxisMajorTickSize = 0.0, ArcMajorTickSize = 0.0;
1221 
1225  double PolarAxisTickRatioSize = 0.3, LastAxisTickRatioSize = 0.3, ArcTickRatioSize = 0.3;
1226 
1230  double TickRatioRadiusSize = 0.02;
1231 
1235  double PolarAxisMajorTickThickness = 1.0, LastRadialAxisMajorTickThickness = 1.0,
1236  ArcMajorTickThickness = 1.0;
1237 
1241  double PolarAxisTickRatioThickness = 0.5, LastAxisTickRatioThickness = 0.5,
1242  ArcTickRatioThickness = 0.5;
1243 
1245 
1248  bool RadialAxesVisibility = true;
1249  bool RadialTitleVisibility = true;
1251 
1255  int RadialAxisTitleLocation = VTK_TITLE_BOTTOM;
1256 
1260  int PolarAxisTitleLocation = VTK_TITLE_BOTTOM;
1261 
1266  int ExponentLocation = VTK_EXPONENT_LABELS;
1267 
1271  bool PolarArcsVisibility = true;
1272 
1276  bool DrawRadialGridlines = true;
1277 
1281  bool DrawPolarArcsGridlines = true;
1282 
1287 
1292 
1294 
1304 
1306 
1312 
1317 
1322 
1328 
1333 
1338 
1340 
1344  double TitleScale = -1.0;
1345 
1349  double LabelScale = -1.0;
1350 
1354  double ScreenSize = 10.0;
1355 
1357 
1360  double PolarTitleOffset[2] = { 20.0, 10.0 }, RadialTitleOffset[2] = { 20.0, 0.0 };
1361  double PolarLabelOffset = 10.0, PolarExponentOffset = 5.0;
1363 
1364 private:
1365  static constexpr int VTK_MAXIMUM_NUMBER_OF_POLAR_AXES = 20;
1366  static constexpr int VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES = 50;
1367  static constexpr double VTK_MINIMUM_POLAR_ARC_RESOLUTION_PER_DEG = 0.05;
1368  static constexpr double VTK_MAXIMUM_POLAR_ARC_RESOLUTION_PER_DEG = 100.0;
1369 
1370  vtkPolarAxesActor(const vtkPolarAxesActor&) = delete;
1371  void operator=(const vtkPolarAxesActor&) = delete;
1372 };
1373 
1374 VTK_ABI_NAMESPACE_END
1375 #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
a virtual camera for 3D rendering
Definition: vtkCamera.h:162
a simple class to control print indentation
Definition: vtkIndent.h:120
represent and manipulate 3D points
Definition: vtkPoints.h:150
create an actor of a polar axes -
vtkSmartPointer< vtkCamera > Camera
Camera attached to the polar axes system.
vtkNew< vtkPoints > ArcMinorTickPts
Keep the arc minor ticks vtkPoints instances.
virtual void SetPolarAxisProperty(vtkProperty *)
Get/Set polar axis actor properties.
void CalculateBounds()
Calculate bounds based on maximum radius and angular sector.
vtkSmartPointer< vtkTextProperty > PolarAxisTitleTextProperty
Text properties of polar axis title and labels.
void GetBounds(double bounds[6])
Explicitly specify the region in space around which to draw the bounds.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkProperty * GetPolarAxisProperty()
Get/Set polar axis actor properties.
vtkSmartPointer< vtkProperty > PolarAxisProperty
General properties of polar axis Behavior may be override by polar axis ticks 's actor property.
vtkNew< vtkAxisActor > PolarAxis
Control variables for polar axis.
bool GetUse2DMode()
Enable/Disable labels 2D mode (always facing the camera).
vtkNew< vtkActor > ArcTickActor
vtk object for arc Ticks
virtual void SetLastRadialAxisTextProperty(vtkTextProperty *p)
Set/Get the last radial axis text property.
virtual void SetLastRadialAxisProperty(vtkProperty *p)
Get/Set last radial axis actor properties.
virtual void SetSecondaryPolarArcsProperty(vtkProperty *p)
Get/Set secondary polar arcs actors property.
vtkNew< vtkPolyData > SecondaryPolarArcs
Structures for secondary polar arcs.
virtual void SetSecondaryRadialAxesProperty(vtkProperty *p)
Get/Set secondary radial axes actors properties.
vtkSmartPointer< vtkTextProperty > SecondaryRadialAxesTextProperty
Text properties of secondary radial axes.
vtkProperty * GetPolarArcsProperty()
Get/Set principal polar arc actor property.
void GetBounds(double &xmin, double &xmax, double &ymin, double &ymax, double &zmin, double &zmax)
Explicitly specify the region in space around which to draw the bounds.
vtkProperty * GetSecondaryPolarArcsProperty()
Get/Set secondary polar arcs actors property.
vtkSmartPointer< vtkProperty > LastRadialAxisProperty
General properties of last radial axis.
vtkNew< vtkPolyDataMapper > ArcTickPolyDataMapper
vtk object for arc Ticks
virtual void SetPole(double[3])
Explicitly specify the coordinate of the pole.
vtkNew< vtkActor > PolarArcsActor
vtkNew< vtkPolyData > ArcTickPolyData
vtk object for arc Ticks
void CreateRadialAxes(int axisCount)
Create requested number of type X axes.
vtkProperty * GetSecondaryRadialAxesProperty()
Get/Set secondary radial axes actors properties.
vtkTextProperty * GetPolarAxisTitleTextProperty()
Set/Get the polar axis title text property.
vtkSmartPointer< vtkTextProperty > LastRadialAxisTextProperty
Text properties of last radial axis.
vtkNew< vtkPolyData > PolarArcs
void BuildRadialAxes(vtkViewport *viewport=nullptr)
Build requested number of radial axes with respect to specified pole.
virtual void SetPolarAxisTitleTextProperty(vtkTextProperty *p)
Set/Get the polar axis title text property.
vtkNew< vtkPoints > ArcMajorTickPts
Keep the arc major ticks vtkPoints instances.
bool CheckMembersConsistency()
Check consistency of vtkPolarAxesActor members.
vtkProperty * GetLastRadialAxisProperty()
Get/Set last radial axis actor properties.
vtkTextProperty * GetSecondaryRadialAxesTextProperty()
Set/Get the secondary radial axes text property.
vtkSmartPointer< vtkTextProperty > PolarAxisLabelTextProperty
Text properties of polar axis title and labels.
virtual void SetSecondaryRadialAxesTextProperty(vtkTextProperty *p)
Set/Get the secondary radial axes text property.
int RenderOverlay(vtkViewport *) override
Draw the polar axes.
vtkSmartPointer< vtkProperty > SecondaryRadialAxesProperty
General properties of radial axes.
vtkNew< vtkPolyData > ArcMinorTickPolyData
vtk object for arc Ticks
void SetCommonAxisAttributes(vtkAxisActor *)
Send attributes which are common to all axes, both polar and radial.
double * GetBounds() override
Explicitly specify the region in space around which to draw the bounds.
vtkTextProperty * GetPolarAxisLabelTextProperty()
Set/Get the polar axis labels text property.
static vtkPolarAxesActor * New()
Instantiate object with label format "6.3g" and the number of labels per axis set to 3.
vtkNew< vtkActor > ArcMinorTickActor
vtk object for arc Ticks
virtual void SetPole(double, double, double)
Explicitly specify the coordinate of the pole.
vtkTextProperty * GetLastRadialAxisTextProperty()
Set/Get the last radial axis text property.
void SetUse2DMode(bool enable)
Enable/Disable labels 2D mode (always facing the camera).
int RenderOpaqueGeometry(vtkViewport *) override
Draw the polar axes.
void SetPolarAxisAttributes(vtkAxisActor *)
Set properties specific to PolarAxis.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
vtkNew< vtkPolyDataMapper > PolarArcsMapper
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Draw the polar axes.
~vtkPolarAxesActor() override
vtkNew< vtkPolyDataMapper > ArcMinorTickPolyDataMapper
vtk object for arc Ticks
virtual void SetPolarAxisLabelTextProperty(vtkTextProperty *p)
Set/Get the polar axis labels text property.
vtkNew< vtkActor > SecondaryPolarArcsActor
Structures for secondary polar arcs.
vtkNew< vtkPolyDataMapper > SecondaryPolarArcsMapper
Structures for secondary polar arcs.
void BuildAxes(vtkViewport *)
Build the axes.
virtual void SetPolarArcsProperty(vtkProperty *p)
Get/Set principal polar arc actor property.
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:201
represent surface properties of a geometric object
Definition: vtkProperty.h:178
a vtkAbstractArray subclass for strings
represent text properties.
record modification and/or execution time
Definition: vtkTimeStamp.h:56
abstract specification for Viewports
Definition: vtkViewport.h:57
window superclass for vtkRenderWindow
Definition: vtkWindow.h:40
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
#define VTK_DEPRECATED_IN_9_3_0(reason)
int vtkIdType
Definition: vtkType.h:327