VTK  9.5.2
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;
41class vtkProperty;
42class vtkStringArray;
43class vtkTextProperty;
44
45class VTKRENDERINGANNOTATION_EXPORT VTK_MARSHALAUTO vtkPolarAxesActor : public vtkActor
46{
47public:
49 void PrintSelf(ostream& os, vtkIndent indent) override;
50
56
58
62 int RenderOverlay(vtkViewport*) override;
65
67
70 virtual void SetPole(double[3]);
71 virtual void SetPole(double, double, double);
72 vtkGetVector3Macro(Pole, double);
74
76
80 vtkSetMacro(Log, bool);
81 vtkGetMacro(Log, bool);
82 vtkBooleanMacro(Log, bool);
84
86
90 vtkSetClampMacro(RequestedNumberOfRadialAxes, vtkIdType, 0, VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES);
91 vtkGetMacro(RequestedNumberOfRadialAxes, vtkIdType);
93
95
99 vtkSetClampMacro(RequestedNumberOfPolarAxes, vtkIdType, 0, VTK_MAXIMUM_NUMBER_OF_POLAR_AXES);
100 vtkGetMacro(RequestedNumberOfPolarAxes, vtkIdType);
102
104
108 vtkSetVector2Macro(Range, double);
109 vtkGetVectorMacro(Range, double, 2);
111
113
117 virtual void SetMinimumRadius(double);
118 vtkGetMacro(MinimumRadius, double);
120
122
126 virtual void SetMaximumRadius(double);
127 vtkGetMacro(MaximumRadius, double);
129
131
135 virtual void SetMinimumAngle(double);
136 vtkGetMacro(MinimumAngle, double);
138
140
144 virtual void SetMaximumAngle(double);
145 vtkGetMacro(MaximumAngle, double);
147
149
154 vtkSetClampMacro(SmallestVisiblePolarAngle, double, 0., 5.);
155 vtkGetMacro(SmallestVisiblePolarAngle, double);
157
159
166 vtkGetMacro(TickLocation, int);
168
170
173 vtkSetMacro(RadialUnits, bool);
174 vtkGetMacro(RadialUnits, bool);
176
178
184 vtkSetMacro(ScreenSize, double);
185 vtkGetMacro(ScreenSize, double);
187
189
194 vtkSetVector2Macro(PolarTitleOffset, double);
195 vtkGetVectorMacro(PolarTitleOffset, double, 2);
197
199
204 vtkSetVector2Macro(RadialTitleOffset, double);
205 vtkGetVectorMacro(RadialTitleOffset, double, 2);
207
209
213 vtkGetMacro(PolarLabelOffset, double);
214 vtkSetMacro(PolarLabelOffset, double);
216
218
222 vtkGetMacro(PolarExponentOffset, double);
223 vtkSetMacro(PolarExponentOffset, double);
225
227
231 virtual void SetCamera(vtkCamera*);
234
236
240 vtkGetMacro(PolarAxisTitle, std::string);
241 vtkSetMacro(PolarAxisTitle, std::string);
243
245
248 vtkSetStringMacro(PolarLabelFormat);
249 vtkGetStringMacro(PolarLabelFormat);
251
258
260
266 vtkGetMacro(ExponentLocation, int);
268
270
273 vtkSetStringMacro(RadialAngleFormat);
274 vtkGetStringMacro(RadialAngleFormat);
276
283
285
289 vtkSetMacro(EnableDistanceLOD, bool);
290 vtkGetMacro(EnableDistanceLOD, bool);
292
294
298 vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
299 vtkGetMacro(DistanceLODThreshold, double);
301
303
307 vtkSetMacro(EnableViewAngleLOD, bool);
308 vtkGetMacro(EnableViewAngleLOD, bool);
310
312
316 vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
317 vtkGetMacro(ViewAngleLODThreshold, double);
319
321
325 vtkSetMacro(PolarAxisVisibility, bool);
326 vtkGetMacro(PolarAxisVisibility, bool);
327 vtkBooleanMacro(PolarAxisVisibility, bool);
329
331
335 vtkSetMacro(DrawRadialGridlines, bool);
336 vtkGetMacro(DrawRadialGridlines, bool);
337 vtkBooleanMacro(DrawRadialGridlines, bool);
339
341
345 vtkSetMacro(DrawPolarArcsGridlines, bool);
346 vtkGetMacro(DrawPolarArcsGridlines, bool);
347 vtkBooleanMacro(DrawPolarArcsGridlines, bool);
349
351
355 vtkSetMacro(PolarTitleVisibility, bool);
356 vtkGetMacro(PolarTitleVisibility, bool);
357 vtkBooleanMacro(PolarTitleVisibility, bool);
359
365
367
372 vtkSetClampMacro(RadialAxisTitleLocation, int, VTK_TITLE_BOTTOM, VTK_TITLE_EXTERN);
373 vtkGetMacro(RadialAxisTitleLocation, int);
375
377
382 vtkSetClampMacro(PolarAxisTitleLocation, int, VTK_TITLE_BOTTOM, VTK_TITLE_EXTERN);
383 vtkGetMacro(PolarAxisTitleLocation, int);
385
387
391 vtkSetMacro(PolarLabelVisibility, bool);
392 vtkGetMacro(PolarLabelVisibility, bool);
393 vtkBooleanMacro(PolarLabelVisibility, bool);
395
397
403 vtkSetMacro(ArcTicksOriginToPolarAxis, bool);
404 vtkGetMacro(ArcTicksOriginToPolarAxis, bool);
405 vtkBooleanMacro(ArcTicksOriginToPolarAxis, bool);
407
409
415 vtkSetMacro(RadialAxesOriginToPolarAxis, bool);
416 vtkGetMacro(RadialAxesOriginToPolarAxis, bool);
417 vtkBooleanMacro(RadialAxesOriginToPolarAxis, bool);
419
421
425 vtkSetMacro(PolarTickVisibility, bool);
426 vtkGetMacro(PolarTickVisibility, bool);
427 vtkBooleanMacro(PolarTickVisibility, bool);
429
431
435 vtkSetMacro(AxisTickVisibility, bool);
436 vtkGetMacro(AxisTickVisibility, bool);
437 vtkBooleanMacro(AxisTickVisibility, bool);
439
441
445 vtkSetMacro(AxisMinorTickVisibility, bool);
446 vtkGetMacro(AxisMinorTickVisibility, bool);
447 vtkBooleanMacro(AxisMinorTickVisibility, bool);
449
451
455 vtkSetMacro(AxisTickMatchesPolarAxes, bool);
456 vtkGetMacro(AxisTickMatchesPolarAxes, bool);
457 vtkBooleanMacro(AxisTickMatchesPolarAxes, bool);
459
461
465 vtkSetMacro(ArcTickVisibility, bool);
466 vtkGetMacro(ArcTickVisibility, bool);
467 vtkBooleanMacro(ArcTickVisibility, bool);
469
471
475 vtkSetMacro(ArcMinorTickVisibility, bool);
476 vtkGetMacro(ArcMinorTickVisibility, bool);
477 vtkBooleanMacro(ArcMinorTickVisibility, bool);
479
481
485 vtkSetMacro(ArcTickMatchesRadialAxes, bool);
486 vtkGetMacro(ArcTickMatchesRadialAxes, bool);
487 vtkBooleanMacro(ArcTickMatchesRadialAxes, bool);
489
491
496 vtkSetMacro(ArcMajorTickSize, double);
497 vtkGetMacro(ArcMajorTickSize, double);
499
501
506 vtkSetMacro(PolarAxisMajorTickSize, double);
507 vtkGetMacro(PolarAxisMajorTickSize, double);
509
511
516 vtkSetMacro(LastRadialAxisMajorTickSize, double);
517 vtkGetMacro(LastRadialAxisMajorTickSize, double);
519
521
525 vtkSetMacro(PolarAxisTickRatioSize, double);
526 vtkGetMacro(PolarAxisTickRatioSize, double);
528
530
534 vtkSetMacro(LastAxisTickRatioSize, double);
535 vtkGetMacro(LastAxisTickRatioSize, double);
537
539
543 vtkSetMacro(ArcTickRatioSize, double);
544 vtkGetMacro(ArcTickRatioSize, double);
546
548
552 vtkSetMacro(TickRatioRadiusSize, double);
553 vtkGetMacro(TickRatioRadiusSize, double);
555
557
561 vtkSetMacro(PolarAxisMajorTickThickness, double);
562 vtkGetMacro(PolarAxisMajorTickThickness, double);
564
566
570 vtkSetMacro(LastRadialAxisMajorTickThickness, double);
571 vtkGetMacro(LastRadialAxisMajorTickThickness, double);
573
575
579 vtkSetMacro(ArcMajorTickThickness, double);
580 vtkGetMacro(ArcMajorTickThickness, double);
582
584
588 vtkSetMacro(PolarAxisTickRatioThickness, double);
589 vtkGetMacro(PolarAxisTickRatioThickness, double);
591
593
597 vtkSetMacro(LastAxisTickRatioThickness, double);
598 vtkGetMacro(LastAxisTickRatioThickness, double);
600
602
606 vtkSetMacro(ArcTickRatioThickness, double);
607 vtkGetMacro(ArcTickRatioThickness, double);
609
611
615 vtkSetMacro(DeltaRangeMajor, double);
616 vtkGetMacro(DeltaRangeMajor, double);
618
620
624 vtkSetMacro(DeltaRangeMinor, double);
625 vtkGetMacro(DeltaRangeMinor, double);
627
629
634 vtkSetMacro(RequestedDeltaRangePolarAxes, double);
635 vtkGetMacro(RequestedDeltaRangePolarAxes, double);
637
639
643 vtkSetMacro(DeltaAngleMajor, double);
644 vtkGetMacro(DeltaAngleMajor, double);
646
648
652 vtkSetMacro(DeltaAngleMinor, double);
653 vtkGetMacro(DeltaAngleMinor, double);
655
657
662 vtkSetMacro(RequestedDeltaAngleRadialAxes, double);
663 vtkGetMacro(RequestedDeltaAngleRadialAxes, double);
665
666 //------------------------------------------------
667
669
673 vtkSetMacro(RadialAxesVisibility, bool);
674 vtkGetMacro(RadialAxesVisibility, bool);
675 vtkBooleanMacro(RadialAxesVisibility, bool);
677
679
683 vtkSetMacro(RadialTitleVisibility, bool);
684 vtkGetMacro(RadialTitleVisibility, bool);
685 vtkBooleanMacro(RadialTitleVisibility, bool);
687
689
693 vtkSetMacro(PolarArcsVisibility, bool);
694 vtkGetMacro(PolarArcsVisibility, bool);
695 vtkBooleanMacro(PolarArcsVisibility, bool);
697
699
702 void SetUse2DMode(bool enable);
705
707
713
715
721
723
729
731
737
739
745
747
753
755
761
763
769
771
777
779
786 vtkSetVector6Macro(Bounds, double);
787 double* GetBounds() override;
789 double& xmin, double& xmax, double& ymin, double& ymax, double& zmin, double& zmax);
790 void GetBounds(double bounds[6]);
792
794
798 vtkSetClampMacro(Ratio, double, 0.001, 100.0);
799 vtkGetMacro(Ratio, double);
801
803
807 vtkSetClampMacro(PolarArcResolutionPerDegree, double, VTK_MINIMUM_POLAR_ARC_RESOLUTION_PER_DEG,
808 VTK_MAXIMUM_POLAR_ARC_RESOLUTION_PER_DEG);
809 vtkGetMacro(PolarArcResolutionPerDegree, double);
811
812protected:
815
820
826
831
836
841
845 void CreateRadialAxes(int axisCount);
846
852 void BuildRadialAxes(vtkViewport* viewport = nullptr);
853
857 double ComputeIdealStep(int subDivsRequired, double rangeLength, int maxSubDivs = 1000);
858
863
869 double a, double angleEllipseRad, double tickSize, vtkPoints* tickPts);
870
875
880
885
887
891 std::string FindExponentAndAdjustValues(std::list<double>& valuesList);
892
896 void GetSignificantPartFromValues(vtkStringArray* valuesStr, std::list<double>& valuesList);
897
899
902 double FFix(double);
903 double FSign(double, double);
905
910 void AutoScale(vtkViewport* viewport);
911
916 static double ComputeEllipseAngle(double angleInDegrees, double ratio);
917
922
927
928private:
932 double Pole[3] = { 0.0, 0.0, 0.0 };
933
937 int NumberOfRadialAxes = 0;
938
943 int RequestedNumberOfRadialAxes = 0;
944
948 int NumberOfPolarAxes = 5;
949
954 int RequestedNumberOfPolarAxes = 5;
955
959 double Ratio = 1.0;
960
964 double PolarArcResolutionPerDegree = 0.2;
965
969 double Range[2] = { 0.0, 10.0 };
970
974 double DeltaRangeMinor = 0.5;
975
979 double DeltaRangeMajor = 1.0;
980
984 double DeltaRangePolarAxes = 0.0;
985
990 double RequestedDeltaRangePolarAxes = 0.0;
991
995 double DeltaAngleMinor = 22.5;
996
1000 double DeltaAngleMajor = 45.0;
1001
1005 double DeltaAngleRadialAxes = 45.0;
1006
1011 double RequestedDeltaAngleRadialAxes = 45.0;
1012
1016 double MinimumRadius = 0.0;
1017
1021 double MaximumRadius = 1.0;
1022
1026 bool Log = false;
1027
1031 double MinimumAngle = 0.0;
1032
1036 double MaximumAngle = 90.0;
1037
1041 double SmallestVisiblePolarAngle = 0.5;
1042
1043 // Structures for principal polar arc
1044 vtkNew<vtkPolyData> PolarArcs;
1045 vtkNew<vtkPolyDataMapper> PolarArcsMapper;
1046 vtkNew<vtkActor> PolarArcsActor;
1047
1049
1052 vtkNew<vtkPolyData> SecondaryPolarArcs;
1053 vtkNew<vtkPolyDataMapper> SecondaryPolarArcsMapper;
1054 vtkNew<vtkActor> SecondaryPolarArcsActor;
1056
1060 vtkSmartPointer<vtkCamera> Camera;
1061
1065 vtkNew<vtkAxisActor> PolarAxis;
1066
1070 std::vector<vtkSmartPointer<vtkAxisActor>> RadialAxes;
1071
1073
1077 std::string PolarAxisTitle = "Radial Distance";
1078 char* PolarLabelFormat = nullptr;
1080
1084 char* RadialAngleFormat = nullptr;
1085
1089 bool RadialUnits = true;
1090
1094 bool EnableDistanceLOD = true;
1095
1099 double DistanceLODThreshold = 0.7;
1100
1104 bool EnableViewAngleLOD = true;
1105
1110 double ViewAngleLODThreshold = 0.3;
1111
1113
1116 bool PolarAxisVisibility = true;
1117 bool PolarTitleVisibility = true;
1118 bool PolarLabelVisibility = true;
1120
1128 int TickLocation = vtkAxisActor::VTK_TICKS_BOTH;
1129
1133 bool PolarTickVisibility = true;
1134
1141 bool ArcTicksOriginToPolarAxis = true;
1142
1149 bool RadialAxesOriginToPolarAxis = true;
1150
1154 bool AxisTickVisibility = true, AxisMinorTickVisibility = false;
1155
1159 bool AxisTickMatchesPolarAxes = true;
1160
1164 bool ArcTickVisibility = true, ArcMinorTickVisibility = false;
1165
1169 bool ArcTickMatchesRadialAxes = true;
1170
1174 double PolarAxisMajorTickSize = 0.0, LastRadialAxisMajorTickSize = 0.0, ArcMajorTickSize = 0.0;
1175
1179 double PolarAxisTickRatioSize = 0.3, LastAxisTickRatioSize = 0.3, ArcTickRatioSize = 0.3;
1180
1184 double TickRatioRadiusSize = 0.02;
1185
1189 double PolarAxisMajorTickThickness = 1.0, LastRadialAxisMajorTickThickness = 1.0,
1190 ArcMajorTickThickness = 1.0;
1191
1195 double PolarAxisTickRatioThickness = 0.5, LastAxisTickRatioThickness = 0.5,
1196 ArcTickRatioThickness = 0.5;
1197
1199
1202 bool RadialAxesVisibility = true;
1203 bool RadialTitleVisibility = true;
1205
1209 int RadialAxisTitleLocation = VTK_TITLE_BOTTOM;
1210
1214 int PolarAxisTitleLocation = VTK_TITLE_BOTTOM;
1215
1220 int ExponentLocation = VTK_EXPONENT_LABELS;
1221
1225 bool PolarArcsVisibility = true;
1226
1230 bool DrawRadialGridlines = true;
1231
1235 bool DrawPolarArcsGridlines = true;
1236
1240 vtkNew<vtkPoints> ArcMajorTickPts;
1241
1245 vtkNew<vtkPoints> ArcMinorTickPts;
1246
1248
1251 vtkNew<vtkPolyData> ArcTickPolyData;
1252 vtkNew<vtkPolyData> ArcMinorTickPolyData;
1253 vtkNew<vtkPolyDataMapper> ArcTickPolyDataMapper;
1254 vtkNew<vtkPolyDataMapper> ArcMinorTickPolyDataMapper;
1255 vtkNew<vtkActor> ArcTickActor;
1256 vtkNew<vtkActor> ArcMinorTickActor;
1258
1260
1263 vtkSmartPointer<vtkTextProperty> PolarAxisTitleTextProperty;
1264 vtkSmartPointer<vtkTextProperty> PolarAxisLabelTextProperty;
1266
1270 vtkSmartPointer<vtkTextProperty> LastRadialAxisTextProperty;
1271
1275 vtkSmartPointer<vtkTextProperty> SecondaryRadialAxesTextProperty;
1276
1281 vtkSmartPointer<vtkProperty> PolarAxisProperty;
1282
1286 vtkSmartPointer<vtkProperty> LastRadialAxisProperty;
1287
1291 vtkSmartPointer<vtkProperty> SecondaryRadialAxesProperty;
1292
1293 vtkTimeStamp BuildTime;
1294
1298 double ScreenSize = 10.0;
1299
1301
1304 double PolarTitleOffset[2] = { 20.0, 10.0 }, RadialTitleOffset[2] = { 20.0, 0.0 };
1305 double PolarLabelOffset = 10.0, PolarExponentOffset = 5.0;
1307
1308 static constexpr int VTK_MAXIMUM_NUMBER_OF_POLAR_AXES = 20;
1309 static constexpr int VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES = 50;
1310 static constexpr double VTK_MINIMUM_POLAR_ARC_RESOLUTION_PER_DEG = 0.05;
1311 static constexpr double VTK_MAXIMUM_POLAR_ARC_RESOLUTION_PER_DEG = 100.0;
1312
1313 vtkPolarAxesActor(const vtkPolarAxesActor&) = delete;
1314 void operator=(const vtkPolarAxesActor&) = delete;
1315};
1316
1317VTK_ABI_NAMESPACE_END
1318#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()
Instantiate object with label format "6.3g" and the number of labels per axis set to 3.
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 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.
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.
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
represent surface properties of a geometric object
Definition vtkProperty.h:61
a vtkAbstractArray subclass for strings
represent text properties.
abstract specification for Viewports
Definition vtkViewport.h:47
window superclass for vtkRenderWindow
Definition vtkWindow.h:26
vtkTimeStamp BuildTime
vtkCamera * Camera
int vtkIdType
Definition vtkType.h:332
#define VTK_MARSHALAUTO