VTK  9.4.20251007
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 "vtkDeprecation.h" // For deprecation macro
30#include "vtkNew.h" // used for vtkNew
31#include "vtkRenderingAnnotationModule.h" // For export macro
32#include "vtkSmartPointer.h" // used for vtkSmartPointer
33#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
34#include <list> // To process exponent list as reference
35#include <string> // used 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);
93
95
99 vtkSetClampMacro(RequestedNumberOfPolarAxes, vtkIdType, 0, VTK_MAXIMUM_NUMBER_OF_POLAR_AXES);
102
104
108 VTK_DEPRECATED_IN_9_3_0("Use SetDeltaRangeMajor instead or enable AxisTickMatchesPolarAxes")
109 vtkSetMacro(AutoSubdividePolarAxis, bool);
110 VTK_DEPRECATED_IN_9_3_0("Use SetDeltaRangeMajor instead or enable AxisTickMatchesPolarAxes")
111 vtkGetMacro(AutoSubdividePolarAxis, bool);
115
117
121 VTK_DEPRECATED_IN_9_3_0("Use SetDeltaRangeMajor instead or enable AxisTickMatchesPolarAxes")
122 virtual void SetNumberOfPolarAxisTicks(int);
125
127
131 vtkSetVector2Macro(Range, double);
132 vtkGetVectorMacro(Range, double, 2);
134
136
140 virtual void SetMinimumRadius(double);
141 vtkGetMacro(MinimumRadius, double);
143
145
149 virtual void SetMaximumRadius(double);
150 vtkGetMacro(MaximumRadius, double);
152
154
158 virtual void SetMinimumAngle(double);
159 vtkGetMacro(MinimumAngle, double);
161
163
167 virtual void SetMaximumAngle(double);
168 vtkGetMacro(MaximumAngle, double);
170
172
177 vtkSetClampMacro(SmallestVisiblePolarAngle, double, 0., 5.);
178 vtkGetMacro(SmallestVisiblePolarAngle, double);
180
182
188 vtkSetClampMacro(TickLocation, int, vtkAxisActor::VTK_TICKS_INSIDE, vtkAxisActor::VTK_TICKS_BOTH);
189 vtkGetMacro(TickLocation, int);
191
193
196 vtkSetMacro(RadialUnits, bool);
197 vtkGetMacro(RadialUnits, bool);
199
201
207 vtkSetMacro(ScreenSize, double);
208 vtkGetMacro(ScreenSize, double);
210
212
217 vtkSetVector2Macro(PolarTitleOffset, double);
218 vtkGetVectorMacro(PolarTitleOffset, double, 2);
220
222
227 vtkSetVector2Macro(RadialTitleOffset, double);
228 vtkGetVectorMacro(RadialTitleOffset, double, 2);
230
232
236 vtkGetMacro(PolarLabelOffset, double);
237 vtkSetMacro(PolarLabelOffset, double);
239
241
245 vtkGetMacro(PolarExponentOffset, double);
246 vtkSetMacro(PolarExponentOffset, double);
248
250
254 virtual void SetCamera(vtkCamera*);
257
259
263 vtkSetStringMacro(PolarAxisTitle);
264 vtkGetStringMacro(PolarAxisTitle);
266
268
271 vtkSetStringMacro(PolarLabelFormat);
272 vtkGetStringMacro(PolarLabelFormat);
274
281
283
289 vtkGetMacro(ExponentLocation, int);
291
293
296 vtkSetStringMacro(RadialAngleFormat);
297 vtkGetStringMacro(RadialAngleFormat);
299
306
308
312 vtkSetMacro(EnableDistanceLOD, bool);
313 vtkGetMacro(EnableDistanceLOD, bool);
315
317
321 vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
322 vtkGetMacro(DistanceLODThreshold, double);
324
326
330 vtkSetMacro(EnableViewAngleLOD, bool);
331 vtkGetMacro(EnableViewAngleLOD, bool);
333
335
339 vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
340 vtkGetMacro(ViewAngleLODThreshold, double);
342
344
348 vtkSetMacro(PolarAxisVisibility, bool);
349 vtkGetMacro(PolarAxisVisibility, bool);
350 vtkBooleanMacro(PolarAxisVisibility, bool);
352
354
358 vtkSetMacro(DrawRadialGridlines, bool);
359 vtkGetMacro(DrawRadialGridlines, bool);
360 vtkBooleanMacro(DrawRadialGridlines, bool);
362
364
368 vtkSetMacro(DrawPolarArcsGridlines, bool);
369 vtkGetMacro(DrawPolarArcsGridlines, bool);
370 vtkBooleanMacro(DrawPolarArcsGridlines, bool);
372
374
378 vtkSetMacro(PolarTitleVisibility, bool);
379 vtkGetMacro(PolarTitleVisibility, bool);
380 vtkBooleanMacro(PolarTitleVisibility, bool);
382
388
390
396 vtkGetMacro(RadialAxisTitleLocation, int);
398
400
406 vtkGetMacro(PolarAxisTitleLocation, int);
408
410
414 vtkSetMacro(PolarLabelVisibility, bool);
415 vtkGetMacro(PolarLabelVisibility, bool);
416 vtkBooleanMacro(PolarLabelVisibility, bool);
418
420
426 vtkSetMacro(ArcTicksOriginToPolarAxis, bool);
427 vtkGetMacro(ArcTicksOriginToPolarAxis, bool);
428 vtkBooleanMacro(ArcTicksOriginToPolarAxis, bool);
430
432
438 vtkSetMacro(RadialAxesOriginToPolarAxis, bool);
439 vtkGetMacro(RadialAxesOriginToPolarAxis, bool);
440 vtkBooleanMacro(RadialAxesOriginToPolarAxis, bool);
442
444
448 vtkSetMacro(PolarTickVisibility, bool);
449 vtkGetMacro(PolarTickVisibility, bool);
450 vtkBooleanMacro(PolarTickVisibility, bool);
452
454
458 vtkSetMacro(AxisTickVisibility, bool);
459 vtkGetMacro(AxisTickVisibility, bool);
460 vtkBooleanMacro(AxisTickVisibility, bool);
462
464
468 vtkSetMacro(AxisMinorTickVisibility, bool);
469 vtkGetMacro(AxisMinorTickVisibility, bool);
470 vtkBooleanMacro(AxisMinorTickVisibility, bool);
472
474
478 vtkSetMacro(AxisTickMatchesPolarAxes, bool);
479 vtkGetMacro(AxisTickMatchesPolarAxes, bool);
480 vtkBooleanMacro(AxisTickMatchesPolarAxes, bool);
482
484
488 vtkSetMacro(ArcTickVisibility, bool);
489 vtkGetMacro(ArcTickVisibility, bool);
490 vtkBooleanMacro(ArcTickVisibility, bool);
492
494
498 vtkSetMacro(ArcMinorTickVisibility, bool);
499 vtkGetMacro(ArcMinorTickVisibility, bool);
500 vtkBooleanMacro(ArcMinorTickVisibility, bool);
502
504
508 vtkSetMacro(ArcTickMatchesRadialAxes, bool);
509 vtkGetMacro(ArcTickMatchesRadialAxes, bool);
510 vtkBooleanMacro(ArcTickMatchesRadialAxes, bool);
512
514
519 vtkSetMacro(ArcMajorTickSize, double);
520 vtkGetMacro(ArcMajorTickSize, double);
522
524
529 vtkSetMacro(PolarAxisMajorTickSize, double);
530 vtkGetMacro(PolarAxisMajorTickSize, double);
532
534
539 vtkSetMacro(LastRadialAxisMajorTickSize, double);
540 vtkGetMacro(LastRadialAxisMajorTickSize, double);
542
544
548 vtkSetMacro(PolarAxisTickRatioSize, double);
549 vtkGetMacro(PolarAxisTickRatioSize, double);
551
553
557 vtkSetMacro(LastAxisTickRatioSize, double);
558 vtkGetMacro(LastAxisTickRatioSize, double);
560
562
566 vtkSetMacro(ArcTickRatioSize, double);
567 vtkGetMacro(ArcTickRatioSize, double);
569
571
575 vtkSetMacro(TickRatioRadiusSize, double);
576 vtkGetMacro(TickRatioRadiusSize, double);
578
580
584 vtkSetMacro(PolarAxisMajorTickThickness, double);
585 vtkGetMacro(PolarAxisMajorTickThickness, double);
587
589
596
598
602 vtkSetMacro(ArcMajorTickThickness, double);
603 vtkGetMacro(ArcMajorTickThickness, double);
605
607
611 vtkSetMacro(PolarAxisTickRatioThickness, double);
612 vtkGetMacro(PolarAxisTickRatioThickness, double);
614
616
620 vtkSetMacro(LastAxisTickRatioThickness, double);
621 vtkGetMacro(LastAxisTickRatioThickness, double);
623
625
629 vtkSetMacro(ArcTickRatioThickness, double);
630 vtkGetMacro(ArcTickRatioThickness, double);
632
634
638 vtkSetMacro(DeltaRangeMajor, double);
639 vtkGetMacro(DeltaRangeMajor, double);
641
643
647 vtkSetMacro(DeltaRangeMinor, double);
648 vtkGetMacro(DeltaRangeMinor, double);
650
652
657 vtkSetMacro(RequestedDeltaRangePolarAxes, double);
658 vtkGetMacro(RequestedDeltaRangePolarAxes, double);
660
662
666 vtkSetMacro(DeltaAngleMajor, double);
667 vtkGetMacro(DeltaAngleMajor, double);
669
671
675 vtkSetMacro(DeltaAngleMinor, double);
676 vtkGetMacro(DeltaAngleMinor, double);
678
680
685 vtkSetMacro(RequestedDeltaAngleRadialAxes, double);
686 vtkGetMacro(RequestedDeltaAngleRadialAxes, double);
688
689 //------------------------------------------------
690
692
696 vtkSetMacro(RadialAxesVisibility, bool);
697 vtkGetMacro(RadialAxesVisibility, bool);
698 vtkBooleanMacro(RadialAxesVisibility, bool);
700
702
706 vtkSetMacro(RadialTitleVisibility, bool);
707 vtkGetMacro(RadialTitleVisibility, bool);
708 vtkBooleanMacro(RadialTitleVisibility, bool);
710
712
716 vtkSetMacro(PolarArcsVisibility, bool);
717 vtkGetMacro(PolarArcsVisibility, bool);
718 vtkBooleanMacro(PolarArcsVisibility, bool);
720
722
725 void SetUse2DMode(bool enable);
728
730
736
738
744
746
752
754
760
762
768
770
776
778
784
786
792
794
800
802
809 vtkSetVector6Macro(Bounds, double);
810 double* GetBounds() override;
812 double& xmin, double& xmax, double& ymin, double& ymax, double& zmin, double& zmax);
813 void GetBounds(double bounds[6]);
815
817
821 vtkSetClampMacro(Ratio, double, 0.001, 100.0);
822 vtkGetMacro(Ratio, double);
824
826
830 vtkSetClampMacro(PolarArcResolutionPerDegree, double, VTK_MINIMUM_POLAR_ARC_RESOLUTION_PER_DEG,
831 VTK_MAXIMUM_POLAR_ARC_RESOLUTION_PER_DEG);
832 vtkGetMacro(PolarArcResolutionPerDegree, double);
834
835protected:
838
843
849
854
859
864
868 void CreateRadialAxes(int axisCount);
869
875 void BuildRadialAxes(vtkViewport* viewport = nullptr);
876
883 VTK_DEPRECATED_IN_9_3_0("Use SetDeltaRangeMajor instead or enable AxisTickMatchesPolarAxes")
885
889 double ComputeIdealStep(int subDivsRequired, double rangeLength, int maxSubDivs = 1000);
890
895
901 double a, double angleEllipseRad, double tickSize, vtkPoints* tickPts);
902
907
912
917
919
923 std::string FindExponentAndAdjustValues(std::list<double>& valuesList);
924
928 void GetSignificantPartFromValues(vtkStringArray* valuesStr, std::list<double>& valuesList);
929
931
934 double FFix(double);
935 double FSign(double, double);
937
942 void AutoScale(vtkViewport* viewport);
943
948 static double ComputeEllipseAngle(double angleInDegrees, double ratio);
949
954
962 double Pole[3] = { 0.0, 0.0, 0.0 };
963
968
974
979
985
989 double Ratio = 1.0;
990
995
999 double Range[2] = { 0.0, 10.0 };
1000
1004 double DeltaRangeMinor = 0.5;
1005
1009 double DeltaRangeMajor = 1.0;
1010
1015
1020
1026
1030 double DeltaAngleMinor = 22.5;
1031
1035 double DeltaAngleMajor = 45.0;
1036
1041
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
1077
1078 // Structures for principal polar arc
1082
1084
1091
1096
1101
1106
1108
1112 char* PolarAxisTitle = nullptr;
1113 char* PolarLabelFormat = nullptr;
1115
1119 char* RadialAngleFormat = nullptr;
1120
1124 bool RadialUnits = true;
1125
1130
1135
1140
1146
1148
1155
1164
1169
1177
1185
1190
1195
1200
1205
1210
1215
1219 double TickRatioRadiusSize = 0.02;
1220
1226
1232
1234
1240
1245
1250
1256
1261
1266
1271
1276
1281
1283
1293
1295
1301
1306
1311
1317
1322
1327
1329
1333 double TitleScale = -1.0;
1334
1338 double LabelScale = -1.0;
1339
1343 double ScreenSize = 10.0;
1344
1346
1349 double PolarTitleOffset[2] = { 20.0, 10.0 }, RadialTitleOffset[2] = { 20.0, 0.0 };
1352
1353private:
1354 static constexpr int VTK_MAXIMUM_NUMBER_OF_POLAR_AXES = 20;
1355 static constexpr int VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES = 50;
1356 static constexpr double VTK_MINIMUM_POLAR_ARC_RESOLUTION_PER_DEG = 0.05;
1357 static constexpr double VTK_MAXIMUM_POLAR_ARC_RESOLUTION_PER_DEG = 100.0;
1358
1359 vtkPolarAxesActor(const vtkPolarAxesActor&) = delete;
1360 void operator=(const vtkPolarAxesActor&) = delete;
1361};
1362
1363VTK_ABI_NAMESPACE_END
1364#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
Allocate and hold a VTK object.
Definition vtkNew.h:58
represent and manipulate 3D points
Definition vtkPoints.h:30
vtkSmartPointer< vtkCamera > Camera
Camera attached to the polar axes system.
double LastRadialAxisMajorTickThickness
double Range[2]
Define the range values displayed on the polar Axis.
bool EnableDistanceLOD
If enabled the actor will not be visible at a certain distance from the camera.
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 PolarTitleOffset[2]
Handles title (x,y), label (y) and exponent (y) available offsets.
double RadialTitleOffset[2]
Handles title (x,y), label (y) and exponent (y) available offsets.
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.
vtkNew< vtkPoints > ArcMinorTickPts
Keep the arc minor ticks vtkPoints instances.
bool RadialAxesVisibility
Visibility of radial axes and their titles.
bool AutoSubdividePolarAxis
DEPRECATED: Automatically subdivide polar axis.
virtual void SetPolarAxisProperty(vtkProperty *)
Get/Set polar axis actor properties.
bool PolarLabelVisibility
Visibility of polar axis and its title, labels, ticks (major only)
int NumberOfPolarAxes
Number of polar axes.
void CalculateBounds()
Calculate bounds based on maximum radius and angular sector.
bool ArcTickVisibility
Enable / Disable major/minor tick visibility on the last arc displayed.
vtkTextProperty * GetSecondaryRadialAxesTextProperty()
Set/Get the secondary radial axes text property.
int RequestedNumberOfRadialAxes
Requested Number of radial axes If set to 0, compute it depending on angle.
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 AutoScale(vtkViewport *viewport)
Automatically rescale titles and labels NB: Current implementation only for perspective projections.
double Pole[3]
Coordinates of the pole.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void BuildPolarArcsLog()
int RequestedNumberOfPolarAxes
Requested Number of polar axes If set to 0, compute it depending on range.
virtual void SetNumberOfPolarAxisTicks(int)
Set/Get a number of ticks that one would like to display along polar axis.
vtkSmartPointer< vtkProperty > PolarAxisProperty
General properties of polar axis Behavior may be override by polar axis ticks 's actor property.
bool ArcTicksOriginToPolarAxis
If On, the ticks are drawn from the angle of the polarAxis (i.e.
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.
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.
vtkNew< vtkPolyData > SecondaryPolarArcs
Structures for secondary polar arcs.
virtual void SetSecondaryRadialAxesProperty(vtkProperty *p)
Get/Set secondary radial axes actors properties.
double DeltaAngleMinor
Angle between 2 minor ticks on the last arc.
double DeltaRangePolarAxes
Range between 2 polar axes.
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.
double MaximumRadius
Maximum polar radius.
virtual void SetMinimumRadius(double)
Set/Get the minimal radius of the polar coordinates.
virtual void ComputeDeltaAngleRadialAxes(vtkIdType)
Compute delta angle of radial axes.
void AutoSubdividePolarAxisOff()
Set/Get whether the number of polar axis ticks and arcs should be automatically calculated.
vtkSmartPointer< vtkTextProperty > SecondaryRadialAxesTextProperty
Text properties of secondary radial axes.
double MinimumRadius
Minimum polar radius.
bool PolarArcsVisibility
Visibility of polar arcs.
double MaximumAngle
Maximum polar angle.
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.
double PolarAxisTickRatioSize
Set the ratios between major and minor tick Size for each ticks location.
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.
int NumberOfRadialAxes
Number of radial axes.
vtkSmartPointer< vtkProperty > LastRadialAxisProperty
General properties of last radial axis.
int PolarAxisTitleLocation
Define the alignment of the title related to the polar axis.
vtkNew< vtkPolyDataMapper > ArcTickPolyDataMapper
vtk object for arc Ticks
char * PolarLabelFormat
Title to be used for the polar axis NB: Non-polar radial axes use the polar angle as title and have n...
double RequestedDeltaRangePolarAxes
Requested delta range for polar axes.
virtual void SetMinimumAngle(double)
Set/Get the minimum radius of the polar coordinates (in degrees).
vtkProperty * GetPolarArcsProperty()
Get/Set principal polar arc actor property.
double ViewAngleLODThreshold
This determines at what view angle to geometry will make the geometry not visible.
virtual void SetPole(double[3])
Explicitly specify the coordinate of the pole.
bool EnableViewAngleLOD
If enabled the actor will not be visible at a certain view angle.
double TickRatioRadiusSize
Set the ratio between maximum radius and major tick size.
double DeltaAngleRadialAxes
Angle between 2 radial Axes.
bool PolarTitleVisibility
Visibility of polar axis and its title, labels, ticks (major only)
vtkSmartPointer< vtkAxisActor > * RadialAxes
Control variables for non-polar radial axes.
void AutoComputeTicksProperties()
Set Range and PolarAxis members value to build axis ticks this function doesn't actually build PolarA...
vtkNew< vtkActor > PolarArcsActor
void BuildLabelsLog()
Define label values.
bool RadialUnits
Display angle units (degrees) to label radial axes.
vtkNew< vtkPolyData > ArcTickPolyData
vtk object for arc Ticks
int TickLocation
Describes the tick orientation for the graph elements involved by this property.
bool ArcTickMatchesRadialAxes
Enable / Disable major ticks matching radial axes angle (and minor half angle)
void BuildArcTicks()
Build Arc ticks.
bool RadialTitleVisibility
Visibility of radial axes and their titles.
bool AxisTickMatchesPolarAxes
Enable / Disable major ticks matching polar axes range (and minor half angle)
bool DrawPolarArcsGridlines
Visibility of the inner arcs (overridden to 0 if PolarArcsVisibility is set to 0)
void CreateRadialAxes(int axisCount)
Create requested number of type X axes.
double FSign(double, double)
Convenience methods.
double PolarAxisMajorTickSize
Defines the length of the ticks located on the last arc.
vtkSmartPointer< vtkTextProperty > LastRadialAxisTextProperty
Text properties of last radial axis.
vtkNew< vtkPolyData > PolarArcs
double PolarArcResolutionPerDegree
Polar arc resolution (number of line) per degree.
void BuildRadialAxes(vtkViewport *viewport=nullptr)
Build requested number of radial axes with respect to specified pole.
void AutoSubdividePolarAxisOn()
Set/Get whether the number of polar axis ticks and arcs should be automatically calculated.
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.
vtkNew< vtkPoints > ArcMajorTickPts
Keep the arc major ticks vtkPoints instances.
bool CheckMembersConsistency()
Check consistency of vtkPolarAxesActor members.
int GetNumberOfPolarAxisTicks()
Set/Get a number of ticks that one would like to display along polar axis.
double DistanceLODThreshold
This determines at what fraction of camera far clip range, actor is not visible.
double DeltaAngleMajor
Angle between 2 major ticks on the last arc.
double DeltaRangeMinor
Range between 2 minor ticks.
double DeltaRangeMajor
Range between 2 major ticks (values displayed on the axis).
double PolarLabelOffset
Handles title (x,y), label (y) and exponent (y) available offsets.
vtkProperty * GetSecondaryPolarArcsProperty()
Get/Set secondary polar arcs actors property.
vtkSmartPointer< vtkTextProperty > PolarAxisLabelTextProperty
Text properties of polar axis title and labels.
double TitleScale
Title scale factor.
void BuildPolarAxisLabelsArcsLog()
Build labels and arcs with log scale axis.
virtual void SetSecondaryRadialAxesTextProperty(vtkTextProperty *p)
Set/Get the secondary radial axes text property.
double Ratio
Ratio for elliptical representation of the polar axes actor.
double PolarExponentOffset
Handles title (x,y), label (y) and exponent (y) available offsets.
int RenderOverlay(vtkViewport *) override
Draw the polar axes.
virtual void ComputeDeltaRangePolarAxes(vtkIdType)
Compute delta range of polar axes.
vtkSmartPointer< vtkProperty > SecondaryRadialAxesProperty
General properties of radial axes.
vtkNew< vtkPolyData > ArcMinorTickPolyData
vtk object for arc Ticks
char * PolarAxisTitle
Title to be used for the polar axis NB: Non-polar radial axes use the polar angle as title and have n...
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.
vtkNew< vtkActor > ArcMinorTickActor
vtk object for arc Ticks
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).
double RequestedDeltaAngleRadialAxes
Requested delta angle for radial axes.
int RenderOpaqueGeometry(vtkViewport *) override
Draw the polar axes.
void SetPolarAxisAttributes(vtkAxisActor *)
Set properties specific to PolarAxis.
double SmallestVisiblePolarAngle
Smallest radial angle distinguishable from polar axis.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
double ScreenSize
Text screen size.
double PolarAxisMajorTickThickness
Defines the thickness of the major ticks.
bool RadialAxesOriginToPolarAxis
If On, the radial axes are drawn from the angle of the polarAxis (i.e.
int RadialAxisTitleLocation
Define the alignment of the title related to the radial axis.
vtkNew< vtkPolyDataMapper > PolarArcsMapper
bool PolarTickVisibility
Hold visibility for all present ticks.
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.
double LabelScale
Label scale factor.
bool AxisTickVisibility
Hold visibility of major/minor ticks for the polar axis and the last radial axis.
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Draw the polar axes.
bool PolarAxisVisibility
Visibility of polar axis and its title, labels, ticks (major only)
double PolarAxisTickRatioThickness
Set the ratios between major tick thickness for each ticks location.
double MinimumAngle
Minimum polar angle.
~vtkPolarAxesActor() override
vtkNew< vtkPolyDataMapper > ArcMinorTickPolyDataMapper
vtk object for arc Ticks
virtual void SetPolarAxisLabelTextProperty(vtkTextProperty *p)
Set/Get the polar axis labels text property.
bool DrawRadialGridlines
Visibility of the inner axes (overridden to 0 if RadialAxesVisibility is set to 0)
vtkNew< vtkActor > SecondaryPolarArcsActor
Structures for secondary polar arcs.
bool Log
Enable/Disable log scale.
char * RadialAngleFormat
String to format angle values displayed on the radial axes.
vtkNew< vtkPolyDataMapper > SecondaryPolarArcsMapper
Structures for secondary polar arcs.
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:60
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:46
window superclass for vtkRenderWindow
Definition vtkWindow.h:29
#define VTK_DEPRECATED_IN_9_3_0(reason)
int vtkIdType
Definition vtkType.h:315
#define VTK_MARSHALAUTO