VTK  9.6.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
23
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
37VTK_ABI_NAMESPACE_BEGIN
38class vtkCamera;
39class vtkPolyData;
42class vtkProperty;
43class vtkStringArray;
44class vtkTextProperty;
45
46class VTKRENDERINGANNOTATION_EXPORT VTK_MARSHALAUTO vtkPolarAxesActor : public vtkActor
47{
48public:
50 void PrintSelf(ostream& os, vtkIndent indent) override;
52
54
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
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*);
239
241
245 vtkGetMacro(PolarAxisTitle, std::string);
246 vtkSetMacro(PolarAxisTitle, std::string);
248
250
253 vtkSetStringMacro(PolarLabelFormat);
254 vtkGetStringMacro(PolarLabelFormat);
256
263
265
271 vtkGetMacro(ExponentLocation, int);
273
275
279 vtkSetStringMacro(RadialAngleFormat);
280 vtkGetStringMacro(RadialAngleFormat);
282
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
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);
711
717 void SetUseTextActor3D(bool enable);
718
720
726
728
734
736
742
744
750
752
758
760
766
768
774
776
782
784
790
792
799 vtkSetVector6Macro(Bounds, double);
800 double* GetBounds() override;
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
828protected:
831
836
842
847
852
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
879
885 double a, double angleEllipseRad, double tickSize, vtkPoints* tickPts);
886
891
896
901
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
938
943
944private:
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
1076 vtkSmartPointer<vtkCamera> Camera;
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
1333VTK_ABI_NAMESPACE_END
1334#endif
Create an axis with tick marks and labels.
a virtual camera for 3D rendering
Definition vtkCamera.h:42
a simple class to control print indentation
Definition vtkIndent.h:29
represent and manipulate 3D points
Definition vtkPoints.h:30
vtkProperty * GetLastRadialAxisProperty()
Get/Set last radial axis actor properties.
virtual void SetCamera(vtkCamera *)
Set/Get the camera to perform scaling and translation of the vtkPolarAxesActor.
double * GetBounds() override
Explicitly specify the region in space around which to draw the bounds.
vtkTextProperty * GetLastRadialAxisTextProperty()
Set/Get the last radial axis text property.
virtual void SetPolarAxisProperty(vtkProperty *)
Get/Set polar axis actor properties.
void CalculateBounds()
Calculate bounds based on maximum radius and angular sector.
vtkTextProperty * GetSecondaryRadialAxesTextProperty()
Set/Get the secondary radial axes text property.
void GetBounds(double bounds[6])
Explicitly specify the region in space around which to draw the bounds.
void AutoScale(vtkViewport *viewport)
Automatically rescale titles and labels NB: Current implementation only for perspective projections.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void BuildPolarArcsLog()
bool GetUse2DMode()
Enable/Disable labels 2D mode (always facing the camera).
virtual void SetLastRadialAxisTextProperty(vtkTextProperty *p)
Set/Get the last radial axis text property.
void BuildPolarAxisLabelsArcs()
Build polar axis labels and arcs with respect to specified pole.
virtual void SetLastRadialAxisProperty(vtkProperty *p)
Get/Set last radial axis actor properties.
virtual void SetSecondaryPolarArcsProperty(vtkProperty *p)
Get/Set secondary polar arcs actors property.
virtual void SetSecondaryRadialAxesProperty(vtkProperty *p)
Get/Set secondary radial axes actors properties.
void StoreTicksPtsFromParamEllipse(double a, double angleEllipseRad, double tickSize, vtkPoints *tickPts)
Init tick point located on an ellipse at angleEllipseRad angle and according to "a" major radius.
vtkTextProperty * GetPolarAxisTitleTextProperty()
Set/Get the polar axis title text property.
virtual void SetMinimumRadius(double)
Set/Get the minimal radius of the polar coordinates.
virtual void ComputeDeltaAngleRadialAxes(vtkIdType)
Compute delta angle of radial axes.
static vtkPolarAxesActor * New()
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.
vtkCamera * GetCamera()
Set/Get the camera to perform scaling and translation of the vtkPolarAxesActor.
void GetSignificantPartFromValues(vtkStringArray *valuesStr, std::list< double > &valuesList)
Yield a string array with the float part of each values.
virtual void SetMinimumAngle(double)
Set/Get the minimum radius of the polar coordinates (in degrees).
vtkProperty * GetPolarArcsProperty()
Get/Set principal polar arc actor property.
virtual void SetPole(double[3])
Explicitly specify the coordinate of the pole.
void BuildLabelsLog()
Define label values.
void BuildArcTicks()
Build Arc ticks.
void CreateRadialAxes(int axisCount)
Create requested number of type X axes.
double FSign(double, double)
Convenience methods.
void SetUseTextActor3D(bool enable)
Enable / Disable labels text 3D mode in underlying axes.
void BuildRadialAxes(vtkViewport *viewport=nullptr)
Build requested number of radial axes with respect to specified pole.
double ComputeIdealStep(int subDivsRequired, double rangeLength, int maxSubDivs=1000)
return a step attempting to be as rounded as possible according to input parameters
static double ComputeEllipseAngle(double angleInDegrees, double ratio)
convert section angle to an angle applied to ellipse equation.
virtual void SetPolarAxisTitleTextProperty(vtkTextProperty *p)
Set/Get the polar axis title text property.
bool CheckMembersConsistency()
Check consistency of vtkPolarAxesActor members.
void GetRendered3DProps(vtkPropCollection *, bool translucent)
Fill the collection with the underlying vtkProp3D in use.
vtkProperty * GetSecondaryPolarArcsProperty()
Get/Set secondary polar arcs actors property.
void BuildPolarAxisLabelsArcsLog()
Build labels and arcs with log scale axis.
virtual void SetSecondaryRadialAxesTextProperty(vtkTextProperty *p)
Set/Get the secondary radial axes text property.
int RenderOverlay(vtkViewport *) override
Draw the polar axes.
virtual void ComputeDeltaRangePolarAxes(vtkIdType)
Compute delta range of polar axes.
void SetCommonAxisAttributes(vtkAxisActor *)
Send attributes which are common to all axes, both polar and radial.
vtkProperty * GetSecondaryRadialAxesProperty()
Get/Set secondary radial axes actors properties.
virtual void SetMaximumRadius(double)
Set/Get the maximum radius of the polar coordinates.
double FFix(double)
Convenience methods.
virtual void SetPole(double, double, double)
Explicitly specify the coordinate of the pole.
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.
std::string FindExponentAndAdjustValues(std::list< double > &valuesList)
Find a common exponent for label values.
virtual void SetMaximumAngle(double)
Set/Get the maximum radius of the polar coordinates (in degrees).
vtkTextProperty * GetPolarAxisLabelTextProperty()
Set/Get the polar axis labels text property.
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Draw the polar axes.
~vtkPolarAxesActor() override
virtual void SetPolarAxisLabelTextProperty(vtkTextProperty *p)
Set/Get the polar axis labels text property.
vtkTypeBool HasTranslucentPolygonalGeometry() override
Draw the polar axes.
vtkProperty * GetPolarAxisProperty()
Get/Set polar axis actor properties.
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:72
double Bounds[6]
Definition vtkProp3D.h:400
an ordered list of Props
represent surface properties of a geometric object
Definition vtkProperty.h:60
a vtkAbstractArray subclass for strings
represent text properties.
abstract specification for Viewports
Definition vtkViewport.h:47
window superclass for vtkRenderWindow
Definition vtkWindow.h:29
int vtkTypeBool
Definition vtkABI.h:64
vtkTimeStamp BuildTime
vtkCamera * Camera
int vtkIdType
Definition vtkType.h:368
#define VTK_MARSHALAUTO