VTK  9.5.20251214
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
42
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
282
284
290 vtkGetMacro(ExponentLocation, int);
292
294
298 vtkSetStringMacro(RadialAngleFormat);
299 vtkGetStringMacro(RadialAngleFormat);
301
308
310
314 vtkSetMacro(EnableDistanceLOD, bool);
315 vtkGetMacro(EnableDistanceLOD, bool);
317
319
323 vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
324 vtkGetMacro(DistanceLODThreshold, double);
326
328
332 vtkSetMacro(EnableViewAngleLOD, bool);
333 vtkGetMacro(EnableViewAngleLOD, bool);
335
337
341 vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
342 vtkGetMacro(ViewAngleLODThreshold, double);
344
346
350 vtkSetMacro(PolarAxisVisibility, bool);
351 vtkGetMacro(PolarAxisVisibility, bool);
352 vtkBooleanMacro(PolarAxisVisibility, bool);
354
356
360 vtkSetMacro(DrawRadialGridlines, bool);
361 vtkGetMacro(DrawRadialGridlines, bool);
362 vtkBooleanMacro(DrawRadialGridlines, bool);
364
366
370 vtkSetMacro(DrawPolarArcsGridlines, bool);
371 vtkGetMacro(DrawPolarArcsGridlines, bool);
372 vtkBooleanMacro(DrawPolarArcsGridlines, bool);
374
376
380 vtkSetMacro(PolarTitleVisibility, bool);
381 vtkGetMacro(PolarTitleVisibility, bool);
382 vtkBooleanMacro(PolarTitleVisibility, bool);
384
390
392
397 vtkSetClampMacro(RadialAxisTitleLocation, int, VTK_TITLE_BOTTOM, VTK_TITLE_EXTERN);
398 vtkGetMacro(RadialAxisTitleLocation, int);
400
402
407 vtkSetClampMacro(PolarAxisTitleLocation, int, VTK_TITLE_BOTTOM, VTK_TITLE_EXTERN);
408 vtkGetMacro(PolarAxisTitleLocation, int);
410
412
416 vtkSetMacro(PolarLabelVisibility, bool);
417 vtkGetMacro(PolarLabelVisibility, bool);
418 vtkBooleanMacro(PolarLabelVisibility, bool);
420
422
428 vtkSetMacro(ArcTicksOriginToPolarAxis, bool);
429 vtkGetMacro(ArcTicksOriginToPolarAxis, bool);
430 vtkBooleanMacro(ArcTicksOriginToPolarAxis, bool);
432
434
440 vtkSetMacro(RadialAxesOriginToPolarAxis, bool);
441 vtkGetMacro(RadialAxesOriginToPolarAxis, bool);
442 vtkBooleanMacro(RadialAxesOriginToPolarAxis, bool);
444
446
450 vtkSetMacro(PolarTickVisibility, bool);
451 vtkGetMacro(PolarTickVisibility, bool);
452 vtkBooleanMacro(PolarTickVisibility, bool);
454
456
460 vtkSetMacro(AxisTickVisibility, bool);
461 vtkGetMacro(AxisTickVisibility, bool);
462 vtkBooleanMacro(AxisTickVisibility, bool);
464
466
470 vtkSetMacro(AxisMinorTickVisibility, bool);
471 vtkGetMacro(AxisMinorTickVisibility, bool);
472 vtkBooleanMacro(AxisMinorTickVisibility, bool);
474
476
480 vtkSetMacro(AxisTickMatchesPolarAxes, bool);
481 vtkGetMacro(AxisTickMatchesPolarAxes, bool);
482 vtkBooleanMacro(AxisTickMatchesPolarAxes, bool);
484
486
490 vtkSetMacro(ArcTickVisibility, bool);
491 vtkGetMacro(ArcTickVisibility, bool);
492 vtkBooleanMacro(ArcTickVisibility, bool);
494
496
500 vtkSetMacro(ArcMinorTickVisibility, bool);
501 vtkGetMacro(ArcMinorTickVisibility, bool);
502 vtkBooleanMacro(ArcMinorTickVisibility, bool);
504
506
510 vtkSetMacro(ArcTickMatchesRadialAxes, bool);
511 vtkGetMacro(ArcTickMatchesRadialAxes, bool);
512 vtkBooleanMacro(ArcTickMatchesRadialAxes, bool);
514
516
521 vtkSetMacro(ArcMajorTickSize, double);
522 vtkGetMacro(ArcMajorTickSize, double);
524
526
531 vtkSetMacro(PolarAxisMajorTickSize, double);
532 vtkGetMacro(PolarAxisMajorTickSize, double);
534
536
541 vtkSetMacro(LastRadialAxisMajorTickSize, double);
542 vtkGetMacro(LastRadialAxisMajorTickSize, double);
544
546
550 vtkSetMacro(PolarAxisTickRatioSize, double);
551 vtkGetMacro(PolarAxisTickRatioSize, double);
553
555
559 vtkSetMacro(LastAxisTickRatioSize, double);
560 vtkGetMacro(LastAxisTickRatioSize, double);
562
564
568 vtkSetMacro(ArcTickRatioSize, double);
569 vtkGetMacro(ArcTickRatioSize, double);
571
573
577 vtkSetMacro(TickRatioRadiusSize, double);
578 vtkGetMacro(TickRatioRadiusSize, double);
580
582
586 vtkSetMacro(PolarAxisMajorTickThickness, double);
587 vtkGetMacro(PolarAxisMajorTickThickness, double);
589
591
595 vtkSetMacro(LastRadialAxisMajorTickThickness, double);
596 vtkGetMacro(LastRadialAxisMajorTickThickness, double);
598
600
604 vtkSetMacro(ArcMajorTickThickness, double);
605 vtkGetMacro(ArcMajorTickThickness, double);
607
609
613 vtkSetMacro(PolarAxisTickRatioThickness, double);
614 vtkGetMacro(PolarAxisTickRatioThickness, double);
616
618
622 vtkSetMacro(LastAxisTickRatioThickness, double);
623 vtkGetMacro(LastAxisTickRatioThickness, double);
625
627
631 vtkSetMacro(ArcTickRatioThickness, double);
632 vtkGetMacro(ArcTickRatioThickness, double);
634
636
640 vtkSetMacro(DeltaRangeMajor, double);
641 vtkGetMacro(DeltaRangeMajor, double);
643
645
649 vtkSetMacro(DeltaRangeMinor, double);
650 vtkGetMacro(DeltaRangeMinor, double);
652
654
659 vtkSetMacro(RequestedDeltaRangePolarAxes, double);
660 vtkGetMacro(RequestedDeltaRangePolarAxes, double);
662
664
668 vtkSetMacro(DeltaAngleMajor, double);
669 vtkGetMacro(DeltaAngleMajor, double);
671
673
677 vtkSetMacro(DeltaAngleMinor, double);
678 vtkGetMacro(DeltaAngleMinor, double);
680
682
687 vtkSetMacro(RequestedDeltaAngleRadialAxes, double);
688 vtkGetMacro(RequestedDeltaAngleRadialAxes, double);
690
691 //------------------------------------------------
692
694
698 vtkSetMacro(RadialAxesVisibility, bool);
699 vtkGetMacro(RadialAxesVisibility, bool);
700 vtkBooleanMacro(RadialAxesVisibility, bool);
702
704
708 vtkSetMacro(RadialTitleVisibility, bool);
709 vtkGetMacro(RadialTitleVisibility, bool);
710 vtkBooleanMacro(RadialTitleVisibility, bool);
712
714
718 vtkSetMacro(PolarArcsVisibility, bool);
719 vtkGetMacro(PolarArcsVisibility, bool);
720 vtkBooleanMacro(PolarArcsVisibility, bool);
722
724
727 void SetUse2DMode(bool enable);
730
736 void SetUseTextActor3D(bool enable);
737
739
745
747
753
755
761
763
769
771
777
779
785
787
793
795
801
803
809
811
818 vtkSetVector6Macro(Bounds, double);
819 double* GetBounds() override;
821 double& xmin, double& xmax, double& ymin, double& ymax, double& zmin, double& zmax);
822 void GetBounds(double bounds[6]);
824
826
833 vtkSetClampMacro(Ratio, double, 0.001, 100.0);
834 vtkGetMacro(Ratio, double);
836
838
842 vtkSetClampMacro(PolarArcResolutionPerDegree, double, VTK_MINIMUM_POLAR_ARC_RESOLUTION_PER_DEG,
843 VTK_MAXIMUM_POLAR_ARC_RESOLUTION_PER_DEG);
844 vtkGetMacro(PolarArcResolutionPerDegree, double);
846
847protected:
850
855
861
866
871
876
880 void CreateRadialAxes(int axisCount);
881
887 void BuildRadialAxes(vtkViewport* viewport = nullptr);
888
892 double ComputeIdealStep(int subDivsRequired, double rangeLength, int maxSubDivs = 1000);
893
898
904 double a, double angleEllipseRad, double tickSize, vtkPoints* tickPts);
905
910
915
920
922
926 std::string FindExponentAndAdjustValues(std::list<double>& valuesList);
927
931 void GetSignificantPartFromValues(vtkStringArray* valuesStr, std::list<double>& valuesList);
932
934
937 double FFix(double);
938 double FSign(double, double);
940
945 void AutoScale(vtkViewport* viewport);
946
951 static double ComputeEllipseAngle(double angleInDegrees, double ratio);
952
957
962
963private:
967 double Pole[3] = { 0.0, 0.0, 0.0 };
968
972 int NumberOfRadialAxes = 0;
973
978 int RequestedNumberOfRadialAxes = 0;
979
983 int NumberOfPolarAxes = 5;
984
989 int RequestedNumberOfPolarAxes = 5;
990
994 double Ratio = 1.0;
995
999 double PolarArcResolutionPerDegree = 0.2;
1000
1004 double Range[2] = { 0.0, 10.0 };
1005
1009 double DeltaRangeMinor = 0.5;
1010
1014 double DeltaRangeMajor = 1.0;
1015
1019 double DeltaRangePolarAxes = 0.0;
1020
1025 double RequestedDeltaRangePolarAxes = 0.0;
1026
1030 double DeltaAngleMinor = 22.5;
1031
1035 double DeltaAngleMajor = 45.0;
1036
1040 double DeltaAngleRadialAxes = 45.0;
1041
1046 double RequestedDeltaAngleRadialAxes = 45.0;
1047
1051 double MinimumRadius = 0.0;
1052
1056 double MaximumRadius = 1.0;
1057
1061 bool Log = false;
1062
1066 double MinimumAngle = 0.0;
1067
1071 double MaximumAngle = 90.0;
1072
1076 double SmallestVisiblePolarAngle = 0.5;
1077
1078 // Structures for principal polar arc
1079 vtkNew<vtkPolyData> PolarArcs;
1080 vtkNew<vtkPolyDataMapper> PolarArcsMapper;
1081 vtkNew<vtkActor> PolarArcsActor;
1082
1084
1087 vtkNew<vtkPolyData> SecondaryPolarArcs;
1088 vtkNew<vtkPolyDataMapper> SecondaryPolarArcsMapper;
1089 vtkNew<vtkActor> SecondaryPolarArcsActor;
1091
1095 vtkSmartPointer<vtkCamera> Camera;
1096
1100 vtkNew<vtkAxisActor> PolarAxis;
1101
1105 std::vector<vtkSmartPointer<vtkAxisActor>> RadialAxes;
1106
1108
1112 std::string PolarAxisTitle = "Radial Distance";
1113 char* PolarLabelFormat = nullptr;
1115
1119 char* RadialAngleFormat = nullptr;
1120
1124 bool RadialUnits = true;
1125
1129 bool EnableDistanceLOD = true;
1130
1134 double DistanceLODThreshold = 0.7;
1135
1139 bool EnableViewAngleLOD = true;
1140
1145 double ViewAngleLODThreshold = 0.3;
1146
1148
1151 bool PolarAxisVisibility = true;
1152 bool PolarTitleVisibility = true;
1153 bool PolarLabelVisibility = true;
1155
1163 int TickLocation = vtkAxisActor::VTK_TICKS_BOTH;
1164
1168 bool PolarTickVisibility = true;
1169
1176 bool ArcTicksOriginToPolarAxis = true;
1177
1184 bool RadialAxesOriginToPolarAxis = true;
1185
1189 bool AxisTickVisibility = true, AxisMinorTickVisibility = false;
1190
1194 bool AxisTickMatchesPolarAxes = true;
1195
1199 bool ArcTickVisibility = true, ArcMinorTickVisibility = false;
1200
1204 bool ArcTickMatchesRadialAxes = true;
1205
1209 double PolarAxisMajorTickSize = 0.0, LastRadialAxisMajorTickSize = 0.0, ArcMajorTickSize = 0.0;
1210
1214 double PolarAxisTickRatioSize = 0.3, LastAxisTickRatioSize = 0.3, ArcTickRatioSize = 0.3;
1215
1219 double TickRatioRadiusSize = 0.02;
1220
1224 double PolarAxisMajorTickThickness = 1.0, LastRadialAxisMajorTickThickness = 1.0,
1225 ArcMajorTickThickness = 1.0;
1226
1230 double PolarAxisTickRatioThickness = 0.5, LastAxisTickRatioThickness = 0.5,
1231 ArcTickRatioThickness = 0.5;
1232
1234
1237 bool RadialAxesVisibility = true;
1238 bool RadialTitleVisibility = true;
1240
1244 int RadialAxisTitleLocation = VTK_TITLE_BOTTOM;
1245
1249 int PolarAxisTitleLocation = VTK_TITLE_BOTTOM;
1250
1255 int ExponentLocation = VTK_EXPONENT_LABELS;
1256
1260 bool PolarArcsVisibility = true;
1261
1265 bool DrawRadialGridlines = true;
1266
1270 bool DrawPolarArcsGridlines = true;
1271
1275 vtkNew<vtkPoints> ArcMajorTickPts;
1276
1280 vtkNew<vtkPoints> ArcMinorTickPts;
1281
1283
1286 vtkNew<vtkPolyData> ArcTickPolyData;
1287 vtkNew<vtkPolyData> ArcMinorTickPolyData;
1288 vtkNew<vtkPolyDataMapper> ArcTickPolyDataMapper;
1289 vtkNew<vtkPolyDataMapper> ArcMinorTickPolyDataMapper;
1290 vtkNew<vtkActor> ArcTickActor;
1291 vtkNew<vtkActor> ArcMinorTickActor;
1293
1295
1298 vtkSmartPointer<vtkTextProperty> PolarAxisTitleTextProperty;
1299 vtkSmartPointer<vtkTextProperty> PolarAxisLabelTextProperty;
1301
1305 vtkSmartPointer<vtkTextProperty> LastRadialAxisTextProperty;
1306
1310 vtkSmartPointer<vtkTextProperty> SecondaryRadialAxesTextProperty;
1311
1316 vtkSmartPointer<vtkProperty> PolarAxisProperty;
1317
1321 vtkSmartPointer<vtkProperty> LastRadialAxisProperty;
1322
1326 vtkSmartPointer<vtkProperty> SecondaryRadialAxesProperty;
1327
1328 vtkTimeStamp BuildTime;
1329
1333 double ScreenSize = 10.0;
1334
1336
1339 double PolarTitleOffset[2] = { 20.0, 10.0 }, RadialTitleOffset[2] = { 20.0, 0.0 };
1340 double PolarLabelOffset = 10.0, PolarExponentOffset = 5.0;
1342
1343 static constexpr int VTK_MAXIMUM_NUMBER_OF_POLAR_AXES = 20;
1344 static constexpr int VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES = 50;
1345 static constexpr double VTK_MINIMUM_POLAR_ARC_RESOLUTION_PER_DEG = 0.05;
1346 static constexpr double VTK_MAXIMUM_POLAR_ARC_RESOLUTION_PER_DEG = 100.0;
1347
1348 vtkPolarAxesActor(const vtkPolarAxesActor&) = delete;
1349 void operator=(const vtkPolarAxesActor&) = delete;
1350};
1351
1352VTK_ABI_NAMESPACE_END
1353#endif
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
represent and manipulate 3D points
Definition vtkPoints.h:139
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
double Bounds[6]
Definition vtkProp3D.h:449
an ordered list of Props
represent surface properties of a geometric object
a vtkAbstractArray subclass for strings
represent text properties.
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:367
#define VTK_MARSHALAUTO