VTK  9.5.20250602
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
43#ifndef vtkPolarAxesActor_h
44#define vtkPolarAxesActor_h
45
46#include "vtkActor.h"
47#include "vtkAxisActor.h" // access to enum values
48#include "vtkNew.h" // used for vtkNew
49#include "vtkRenderingAnnotationModule.h" // For export macro
50#include "vtkSmartPointer.h" // used for vtkSmartPointer
51#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
52#include <list> // To process exponent list as reference
53#include <string> // used for ivar
54#include <vector> // for ivar
55
56VTK_ABI_NAMESPACE_BEGIN
57class vtkCamera;
58class vtkPolyData;
61class vtkProperty;
62class vtkStringArray;
63class vtkTextProperty;
64
65class VTKRENDERINGANNOTATION_EXPORT VTK_MARSHALAUTO vtkPolarAxesActor : public vtkActor
66{
67public:
69 void PrintSelf(ostream& os, vtkIndent indent) override;
71
73
77 int RenderOverlay(vtkViewport*) override;
81
88 void GetRendered3DProps(vtkPropCollection*, bool translucent);
89
91
94 virtual void SetPole(double[3]);
95 virtual void SetPole(double, double, double);
96 vtkGetVector3Macro(Pole, double);
98
100
104 vtkSetMacro(Log, bool);
105 vtkGetMacro(Log, bool);
106 vtkBooleanMacro(Log, bool);
108
110
114 vtkSetClampMacro(RequestedNumberOfRadialAxes, vtkIdType, 0, VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES);
115 vtkGetMacro(RequestedNumberOfRadialAxes, vtkIdType);
117
119
123 vtkSetClampMacro(RequestedNumberOfPolarAxes, vtkIdType, 0, VTK_MAXIMUM_NUMBER_OF_POLAR_AXES);
124 vtkGetMacro(RequestedNumberOfPolarAxes, vtkIdType);
126
128
132 vtkSetVector2Macro(Range, double);
133 vtkGetVectorMacro(Range, double, 2);
135
137
141 virtual void SetMinimumRadius(double);
142 vtkGetMacro(MinimumRadius, double);
144
146
150 virtual void SetMaximumRadius(double);
151 vtkGetMacro(MaximumRadius, double);
153
155
159 virtual void SetMinimumAngle(double);
160 vtkGetMacro(MinimumAngle, double);
162
164
168 virtual void SetMaximumAngle(double);
169 vtkGetMacro(MaximumAngle, double);
171
173
178 vtkSetClampMacro(SmallestVisiblePolarAngle, double, 0., 5.);
179 vtkGetMacro(SmallestVisiblePolarAngle, double);
181
183
190 vtkGetMacro(TickLocation, int);
192
194
197 vtkSetMacro(RadialUnits, bool);
198 vtkGetMacro(RadialUnits, bool);
200
202
208 vtkSetMacro(ScreenSize, double);
209 vtkGetMacro(ScreenSize, double);
211
213
218 vtkSetVector2Macro(PolarTitleOffset, double);
219 vtkGetVectorMacro(PolarTitleOffset, double, 2);
221
223
228 vtkSetVector2Macro(RadialTitleOffset, double);
229 vtkGetVectorMacro(RadialTitleOffset, double, 2);
231
233
237 vtkGetMacro(PolarLabelOffset, double);
238 vtkSetMacro(PolarLabelOffset, double);
240
242
246 vtkGetMacro(PolarExponentOffset, double);
247 vtkSetMacro(PolarExponentOffset, double);
249
251
255 virtual void SetCamera(vtkCamera*);
258
260
264 vtkGetMacro(PolarAxisTitle, std::string);
265 vtkSetMacro(PolarAxisTitle, std::string);
267
269
272 vtkSetStringMacro(PolarLabelFormat);
273 vtkGetStringMacro(PolarLabelFormat);
275
277 {
278 VTK_EXPONENT_BOTTOM = 0,
279 VTK_EXPONENT_EXTERN = 1,
280 VTK_EXPONENT_LABELS = 2
281 };
282
284
289 vtkSetClampMacro(ExponentLocation, int, VTK_EXPONENT_BOTTOM, VTK_EXPONENT_LABELS);
290 vtkGetMacro(ExponentLocation, int);
292
294
297 vtkSetStringMacro(RadialAngleFormat);
298 vtkGetStringMacro(RadialAngleFormat);
300
307
309
313 vtkSetMacro(EnableDistanceLOD, bool);
314 vtkGetMacro(EnableDistanceLOD, bool);
316
318
322 vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
323 vtkGetMacro(DistanceLODThreshold, double);
325
327
331 vtkSetMacro(EnableViewAngleLOD, bool);
332 vtkGetMacro(EnableViewAngleLOD, bool);
334
336
340 vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
341 vtkGetMacro(ViewAngleLODThreshold, double);
343
345
349 vtkSetMacro(PolarAxisVisibility, bool);
350 vtkGetMacro(PolarAxisVisibility, bool);
351 vtkBooleanMacro(PolarAxisVisibility, bool);
353
355
359 vtkSetMacro(DrawRadialGridlines, bool);
360 vtkGetMacro(DrawRadialGridlines, bool);
361 vtkBooleanMacro(DrawRadialGridlines, bool);
363
365
369 vtkSetMacro(DrawPolarArcsGridlines, bool);
370 vtkGetMacro(DrawPolarArcsGridlines, bool);
371 vtkBooleanMacro(DrawPolarArcsGridlines, bool);
373
375
379 vtkSetMacro(PolarTitleVisibility, bool);
380 vtkGetMacro(PolarTitleVisibility, bool);
381 vtkBooleanMacro(PolarTitleVisibility, bool);
383
385 {
386 VTK_TITLE_BOTTOM = 0,
387 VTK_TITLE_EXTERN = 1
388 };
389
391
396 vtkSetClampMacro(RadialAxisTitleLocation, int, VTK_TITLE_BOTTOM, VTK_TITLE_EXTERN);
397 vtkGetMacro(RadialAxisTitleLocation, int);
399
401
406 vtkSetClampMacro(PolarAxisTitleLocation, int, VTK_TITLE_BOTTOM, VTK_TITLE_EXTERN);
407 vtkGetMacro(PolarAxisTitleLocation, int);
409
411
415 vtkSetMacro(PolarLabelVisibility, bool);
416 vtkGetMacro(PolarLabelVisibility, bool);
417 vtkBooleanMacro(PolarLabelVisibility, bool);
419
421
427 vtkSetMacro(ArcTicksOriginToPolarAxis, bool);
428 vtkGetMacro(ArcTicksOriginToPolarAxis, bool);
429 vtkBooleanMacro(ArcTicksOriginToPolarAxis, bool);
431
433
439 vtkSetMacro(RadialAxesOriginToPolarAxis, bool);
440 vtkGetMacro(RadialAxesOriginToPolarAxis, bool);
441 vtkBooleanMacro(RadialAxesOriginToPolarAxis, bool);
443
445
449 vtkSetMacro(PolarTickVisibility, bool);
450 vtkGetMacro(PolarTickVisibility, bool);
451 vtkBooleanMacro(PolarTickVisibility, bool);
453
455
459 vtkSetMacro(AxisTickVisibility, bool);
460 vtkGetMacro(AxisTickVisibility, bool);
461 vtkBooleanMacro(AxisTickVisibility, bool);
463
465
469 vtkSetMacro(AxisMinorTickVisibility, bool);
470 vtkGetMacro(AxisMinorTickVisibility, bool);
471 vtkBooleanMacro(AxisMinorTickVisibility, bool);
473
475
479 vtkSetMacro(AxisTickMatchesPolarAxes, bool);
480 vtkGetMacro(AxisTickMatchesPolarAxes, bool);
481 vtkBooleanMacro(AxisTickMatchesPolarAxes, bool);
483
485
489 vtkSetMacro(ArcTickVisibility, bool);
490 vtkGetMacro(ArcTickVisibility, bool);
491 vtkBooleanMacro(ArcTickVisibility, bool);
493
495
499 vtkSetMacro(ArcMinorTickVisibility, bool);
500 vtkGetMacro(ArcMinorTickVisibility, bool);
501 vtkBooleanMacro(ArcMinorTickVisibility, bool);
503
505
509 vtkSetMacro(ArcTickMatchesRadialAxes, bool);
510 vtkGetMacro(ArcTickMatchesRadialAxes, bool);
511 vtkBooleanMacro(ArcTickMatchesRadialAxes, bool);
513
515
520 vtkSetMacro(ArcMajorTickSize, double);
521 vtkGetMacro(ArcMajorTickSize, double);
523
525
530 vtkSetMacro(PolarAxisMajorTickSize, double);
531 vtkGetMacro(PolarAxisMajorTickSize, double);
533
535
540 vtkSetMacro(LastRadialAxisMajorTickSize, double);
541 vtkGetMacro(LastRadialAxisMajorTickSize, double);
543
545
549 vtkSetMacro(PolarAxisTickRatioSize, double);
550 vtkGetMacro(PolarAxisTickRatioSize, double);
552
554
558 vtkSetMacro(LastAxisTickRatioSize, double);
559 vtkGetMacro(LastAxisTickRatioSize, double);
561
563
567 vtkSetMacro(ArcTickRatioSize, double);
568 vtkGetMacro(ArcTickRatioSize, double);
570
572
576 vtkSetMacro(TickRatioRadiusSize, double);
577 vtkGetMacro(TickRatioRadiusSize, double);
579
581
585 vtkSetMacro(PolarAxisMajorTickThickness, double);
586 vtkGetMacro(PolarAxisMajorTickThickness, double);
588
590
594 vtkSetMacro(LastRadialAxisMajorTickThickness, double);
595 vtkGetMacro(LastRadialAxisMajorTickThickness, double);
597
599
603 vtkSetMacro(ArcMajorTickThickness, double);
604 vtkGetMacro(ArcMajorTickThickness, double);
606
608
612 vtkSetMacro(PolarAxisTickRatioThickness, double);
613 vtkGetMacro(PolarAxisTickRatioThickness, double);
615
617
621 vtkSetMacro(LastAxisTickRatioThickness, double);
622 vtkGetMacro(LastAxisTickRatioThickness, double);
624
626
630 vtkSetMacro(ArcTickRatioThickness, double);
631 vtkGetMacro(ArcTickRatioThickness, double);
633
635
639 vtkSetMacro(DeltaRangeMajor, double);
640 vtkGetMacro(DeltaRangeMajor, double);
642
644
648 vtkSetMacro(DeltaRangeMinor, double);
649 vtkGetMacro(DeltaRangeMinor, double);
651
653
658 vtkSetMacro(RequestedDeltaRangePolarAxes, double);
659 vtkGetMacro(RequestedDeltaRangePolarAxes, double);
661
663
667 vtkSetMacro(DeltaAngleMajor, double);
668 vtkGetMacro(DeltaAngleMajor, double);
670
672
676 vtkSetMacro(DeltaAngleMinor, double);
677 vtkGetMacro(DeltaAngleMinor, double);
679
681
686 vtkSetMacro(RequestedDeltaAngleRadialAxes, double);
687 vtkGetMacro(RequestedDeltaAngleRadialAxes, double);
689
690 //------------------------------------------------
691
693
697 vtkSetMacro(RadialAxesVisibility, bool);
698 vtkGetMacro(RadialAxesVisibility, bool);
699 vtkBooleanMacro(RadialAxesVisibility, bool);
701
703
707 vtkSetMacro(RadialTitleVisibility, bool);
708 vtkGetMacro(RadialTitleVisibility, bool);
709 vtkBooleanMacro(RadialTitleVisibility, bool);
711
713
717 vtkSetMacro(PolarArcsVisibility, bool);
718 vtkGetMacro(PolarArcsVisibility, bool);
719 vtkBooleanMacro(PolarArcsVisibility, bool);
721
723
726 void SetUse2DMode(bool enable);
729
735 void SetUseTextActor3D(bool enable);
736
738
744
746
752
754
760
762
768
770
776
778
784
786
792
794
800
802
808
810
817 vtkSetVector6Macro(Bounds, double);
818 double* GetBounds() override;
820 double& xmin, double& xmax, double& ymin, double& ymax, double& zmin, double& zmax);
821 void GetBounds(double bounds[6]);
823
825
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
846protected:
849
854
860
865
870
875
879 void CreateRadialAxes(int axisCount);
880
886 void BuildRadialAxes(vtkViewport* viewport = nullptr);
887
891 double ComputeIdealStep(int subDivsRequired, double rangeLength, int maxSubDivs = 1000);
892
897
903 double a, double angleEllipseRad, double tickSize, vtkPoints* tickPts);
904
909
914
919
921
925 std::string FindExponentAndAdjustValues(std::list<double>& valuesList);
926
930 void GetSignificantPartFromValues(vtkStringArray* valuesStr, std::list<double>& valuesList);
931
933
936 double FFix(double);
937 double FSign(double, double);
939
944 void AutoScale(vtkViewport* viewport);
945
950 static double ComputeEllipseAngle(double angleInDegrees, double ratio);
951
956
961
962private:
966 double Pole[3] = { 0.0, 0.0, 0.0 };
967
971 int NumberOfRadialAxes = 0;
972
977 int RequestedNumberOfRadialAxes = 0;
978
982 int NumberOfPolarAxes = 5;
983
988 int RequestedNumberOfPolarAxes = 5;
989
993 double Ratio = 1.0;
994
998 double PolarArcResolutionPerDegree = 0.2;
999
1003 double Range[2] = { 0.0, 10.0 };
1004
1008 double DeltaRangeMinor = 0.5;
1009
1013 double DeltaRangeMajor = 1.0;
1014
1018 double DeltaRangePolarAxes = 0.0;
1019
1024 double RequestedDeltaRangePolarAxes = 0.0;
1025
1029 double DeltaAngleMinor = 22.5;
1030
1034 double DeltaAngleMajor = 45.0;
1035
1039 double DeltaAngleRadialAxes = 45.0;
1040
1045 double RequestedDeltaAngleRadialAxes = 45.0;
1046
1050 double MinimumRadius = 0.0;
1051
1055 double MaximumRadius = 1.0;
1056
1060 bool Log = false;
1061
1065 double MinimumAngle = 0.0;
1066
1070 double MaximumAngle = 90.0;
1071
1075 double SmallestVisiblePolarAngle = 0.5;
1076
1077 // Structures for principal polar arc
1078 vtkNew<vtkPolyData> PolarArcs;
1079 vtkNew<vtkPolyDataMapper> PolarArcsMapper;
1080 vtkNew<vtkActor> PolarArcsActor;
1081
1083
1086 vtkNew<vtkPolyData> SecondaryPolarArcs;
1087 vtkNew<vtkPolyDataMapper> SecondaryPolarArcsMapper;
1088 vtkNew<vtkActor> SecondaryPolarArcsActor;
1090
1095
1099 vtkNew<vtkAxisActor> PolarAxis;
1100
1104 std::vector<vtkSmartPointer<vtkAxisActor>> RadialAxes;
1105
1107
1111 std::string PolarAxisTitle = "Radial Distance";
1112 char* PolarLabelFormat = nullptr;
1114
1118 char* RadialAngleFormat = nullptr;
1119
1123 bool RadialUnits = true;
1124
1128 bool EnableDistanceLOD = true;
1129
1133 double DistanceLODThreshold = 0.7;
1134
1138 bool EnableViewAngleLOD = true;
1139
1144 double ViewAngleLODThreshold = 0.3;
1145
1147
1150 bool PolarAxisVisibility = true;
1151 bool PolarTitleVisibility = true;
1152 bool PolarLabelVisibility = true;
1154
1162 int TickLocation = vtkAxisActor::VTK_TICKS_BOTH;
1163
1167 bool PolarTickVisibility = true;
1168
1175 bool ArcTicksOriginToPolarAxis = true;
1176
1183 bool RadialAxesOriginToPolarAxis = true;
1184
1188 bool AxisTickVisibility = true, AxisMinorTickVisibility = false;
1189
1193 bool AxisTickMatchesPolarAxes = true;
1194
1198 bool ArcTickVisibility = true, ArcMinorTickVisibility = false;
1199
1203 bool ArcTickMatchesRadialAxes = true;
1204
1208 double PolarAxisMajorTickSize = 0.0, LastRadialAxisMajorTickSize = 0.0, ArcMajorTickSize = 0.0;
1209
1213 double PolarAxisTickRatioSize = 0.3, LastAxisTickRatioSize = 0.3, ArcTickRatioSize = 0.3;
1214
1218 double TickRatioRadiusSize = 0.02;
1219
1223 double PolarAxisMajorTickThickness = 1.0, LastRadialAxisMajorTickThickness = 1.0,
1224 ArcMajorTickThickness = 1.0;
1225
1229 double PolarAxisTickRatioThickness = 0.5, LastAxisTickRatioThickness = 0.5,
1230 ArcTickRatioThickness = 0.5;
1231
1233
1236 bool RadialAxesVisibility = true;
1237 bool RadialTitleVisibility = true;
1239
1243 int RadialAxisTitleLocation = VTK_TITLE_BOTTOM;
1244
1248 int PolarAxisTitleLocation = VTK_TITLE_BOTTOM;
1249
1254 int ExponentLocation = VTK_EXPONENT_LABELS;
1255
1259 bool PolarArcsVisibility = true;
1260
1264 bool DrawRadialGridlines = true;
1265
1269 bool DrawPolarArcsGridlines = true;
1270
1274 vtkNew<vtkPoints> ArcMajorTickPts;
1275
1279 vtkNew<vtkPoints> ArcMinorTickPts;
1280
1282
1285 vtkNew<vtkPolyData> ArcTickPolyData;
1286 vtkNew<vtkPolyData> ArcMinorTickPolyData;
1287 vtkNew<vtkPolyDataMapper> ArcTickPolyDataMapper;
1288 vtkNew<vtkPolyDataMapper> ArcMinorTickPolyDataMapper;
1289 vtkNew<vtkActor> ArcTickActor;
1290 vtkNew<vtkActor> ArcMinorTickActor;
1292
1294
1297 vtkSmartPointer<vtkTextProperty> PolarAxisTitleTextProperty;
1298 vtkSmartPointer<vtkTextProperty> PolarAxisLabelTextProperty;
1300
1304 vtkSmartPointer<vtkTextProperty> LastRadialAxisTextProperty;
1305
1309 vtkSmartPointer<vtkTextProperty> SecondaryRadialAxesTextProperty;
1310
1315 vtkSmartPointer<vtkProperty> PolarAxisProperty;
1316
1320 vtkSmartPointer<vtkProperty> LastRadialAxisProperty;
1321
1325 vtkSmartPointer<vtkProperty> SecondaryRadialAxesProperty;
1326
1327 vtkTimeStamp BuildTime;
1328
1332 double ScreenSize = 10.0;
1333
1335
1338 double PolarTitleOffset[2] = { 20.0, 10.0 }, RadialTitleOffset[2] = { 20.0, 0.0 };
1339 double PolarLabelOffset = 10.0, PolarExponentOffset = 5.0;
1341
1342 static constexpr int VTK_MAXIMUM_NUMBER_OF_POLAR_AXES = 20;
1343 static constexpr int VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES = 50;
1344 static constexpr double VTK_MINIMUM_POLAR_ARC_RESOLUTION_PER_DEG = 0.05;
1345 static constexpr double VTK_MAXIMUM_POLAR_ARC_RESOLUTION_PER_DEG = 100.0;
1346
1347 vtkPolarAxesActor(const vtkPolarAxesActor&) = delete;
1348 void operator=(const vtkPolarAxesActor&) = delete;
1349};
1350
1351VTK_ABI_NAMESPACE_END
1352#endif
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:151
Create an axis with tick marks and labels.
a virtual camera for 3D rendering
Definition vtkCamera.h:151
a simple class to control print indentation
Definition vtkIndent.h:108
Allocate and hold a VTK object.
Definition vtkNew.h:167
represent and manipulate 3D points
Definition vtkPoints.h:139
create an actor of a polar axes -
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
an ordered list of Props
represent surface properties of a geometric object
Hold a reference to a vtkObjectBase instance.
a vtkAbstractArray subclass for strings
represent text properties.
record modification and/or execution time
abstract specification for Viewports
Definition vtkViewport.h:66
window superclass for vtkRenderWindow
Definition vtkWindow.h:48
int vtkTypeBool
Definition vtkABI.h:64
int vtkIdType
Definition vtkType.h:332
#define VTK_MARSHALAUTO