VTK  9.1.0
vtkPolarAxesActor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCubeAxesActor.h
5  Language: C++
6 
7 Copyright (c) 1993-2001 Ken Martin, Will Schroeder, Bill Lorensen
8 All rights reserve
9  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
10 
11  This software is distributed WITHOUT ANY WARRANTY; without even
12  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13  PURPOSE. See the above copyright notice for more information.
14 =========================================================================*/
33 #ifndef vtkPolarAxesActor_h
34 #define vtkPolarAxesActor_h
35 
36 #define VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES 50
37 #define VTK_DEFAULT_NUMBER_OF_RADIAL_AXES 5
38 #define VTK_MAXIMUM_NUMBER_OF_POLAR_AXIS_TICKS 200
39 #define VTK_MAXIMUM_RATIO 1000.0
40 #define VTK_POLAR_ARC_RESOLUTION_PER_DEG 0.2
41 
42 #include "vtkActor.h"
43 #include "vtkAxisActor.h" // access to enum values
44 #include "vtkRenderingAnnotationModule.h" // For export macro
45 #include <list> // To process exponent list as reference
46 #include <string> // used for ivar
47 
48 class vtkCamera;
49 class vtkPolyData;
50 class vtkPolyDataMapper;
51 class vtkProperty;
52 class vtkStringArray;
53 class vtkTextProperty;
54 
55 class VTKRENDERINGANNOTATION_EXPORT vtkPolarAxesActor : public vtkActor
56 {
57 public:
58  vtkTypeMacro(vtkPolarAxesActor, vtkActor);
59  void PrintSelf(ostream& os, vtkIndent indent) override;
60 
66 
68 
72  int RenderOverlay(vtkViewport*) override;
73  int RenderTranslucentPolygonalGeometry(vtkViewport*) override { return 0; }
75 
77 
80  virtual void SetPole(double[3]);
81  virtual void SetPole(double, double, double);
82  vtkGetVector3Macro(Pole, double);
84 
86 
90  vtkSetMacro(Log, bool);
91  vtkGetMacro(Log, bool);
92  vtkBooleanMacro(Log, bool);
94 
96 
99  vtkSetClampMacro(RequestedNumberOfRadialAxes, vtkIdType, 0, VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES);
100  vtkGetMacro(RequestedNumberOfRadialAxes, vtkIdType);
102 
104 
108  virtual void SetNumberOfPolarAxisTicks(int);
111 
113 
117  vtkSetMacro(AutoSubdividePolarAxis, bool);
118  vtkGetMacro(AutoSubdividePolarAxis, bool);
119  vtkBooleanMacro(AutoSubdividePolarAxis, bool);
121 
123 
126  vtkSetVector2Macro(Range, double);
127  vtkGetVectorMacro(Range, double, 2);
129 
131 
134  virtual void SetMinimumRadius(double);
135  vtkGetMacro(MinimumRadius, double);
137 
139 
142  virtual void SetMaximumRadius(double);
143  vtkGetMacro(MaximumRadius, double);
145 
147 
150  virtual void SetMinimumAngle(double);
151  vtkGetMacro(MinimumAngle, double);
153 
155 
158  virtual void SetMaximumAngle(double);
159  vtkGetMacro(MaximumAngle, double);
161 
163 
168  vtkSetClampMacro(SmallestVisiblePolarAngle, double, 0., 5.);
169  vtkGetMacro(SmallestVisiblePolarAngle, double);
171 
173 
178  vtkSetClampMacro(TickLocation, int, vtkAxisActor::VTK_TICKS_INSIDE, vtkAxisActor::VTK_TICKS_BOTH);
179  vtkGetMacro(TickLocation, int);
181 
183 
186  vtkSetMacro(RadialUnits, bool);
187  vtkGetMacro(RadialUnits, bool);
189 
191 
197  vtkSetMacro(ScreenSize, double);
198  vtkGetMacro(ScreenSize, double);
200 
202 
206  virtual void SetCamera(vtkCamera*);
207  vtkGetObjectMacro(Camera, vtkCamera);
209 
211 
215  vtkSetStringMacro(PolarAxisTitle);
216  vtkGetStringMacro(PolarAxisTitle);
218 
220 
223  vtkSetStringMacro(PolarLabelFormat);
224  vtkGetStringMacro(PolarLabelFormat);
226 
228  {
229  VTK_EXPONENT_BOTTOM = 0,
230  VTK_EXPONENT_EXTERN = 1,
231  VTK_EXPONENT_LABELS = 2
232  };
233 
235 
240  vtkSetClampMacro(ExponentLocation, int, VTK_EXPONENT_BOTTOM, VTK_EXPONENT_LABELS);
241  vtkGetMacro(ExponentLocation, int);
243 
245 
248  vtkSetStringMacro(RadialAngleFormat);
249  vtkGetStringMacro(RadialAngleFormat);
251 
258 
260 
263  vtkSetMacro(EnableDistanceLOD, int);
264  vtkGetMacro(EnableDistanceLOD, int);
266 
268 
271  vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
272  vtkGetMacro(DistanceLODThreshold, double);
274 
276 
279  vtkSetMacro(EnableViewAngleLOD, int);
280  vtkGetMacro(EnableViewAngleLOD, int);
282 
284 
287  vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
288  vtkGetMacro(ViewAngleLODThreshold, double);
290 
292 
295  vtkSetMacro(PolarAxisVisibility, vtkTypeBool);
296  vtkGetMacro(PolarAxisVisibility, vtkTypeBool);
297  vtkBooleanMacro(PolarAxisVisibility, vtkTypeBool);
299 
301 
304  vtkSetMacro(DrawRadialGridlines, vtkTypeBool);
305  vtkGetMacro(DrawRadialGridlines, vtkTypeBool);
306  vtkBooleanMacro(DrawRadialGridlines, vtkTypeBool);
308 
310 
313  vtkSetMacro(DrawPolarArcsGridlines, vtkTypeBool);
314  vtkGetMacro(DrawPolarArcsGridlines, vtkTypeBool);
315  vtkBooleanMacro(DrawPolarArcsGridlines, vtkTypeBool);
317 
319 
322  vtkSetMacro(PolarTitleVisibility, vtkTypeBool);
323  vtkGetMacro(PolarTitleVisibility, vtkTypeBool);
324  vtkBooleanMacro(PolarTitleVisibility, vtkTypeBool);
326 
328  {
329  VTK_TITLE_BOTTOM = 0,
330  VTK_TITLE_EXTERN = 1
331  };
332 
334 
338  vtkSetClampMacro(RadialAxisTitleLocation, int, VTK_TITLE_BOTTOM, VTK_TITLE_EXTERN);
339  vtkGetMacro(RadialAxisTitleLocation, int);
341 
343 
347  vtkSetClampMacro(PolarAxisTitleLocation, int, VTK_TITLE_BOTTOM, VTK_TITLE_EXTERN);
348  vtkGetMacro(PolarAxisTitleLocation, int);
350 
352 
355  vtkSetMacro(PolarLabelVisibility, vtkTypeBool);
356  vtkGetMacro(PolarLabelVisibility, vtkTypeBool);
357  vtkBooleanMacro(PolarLabelVisibility, vtkTypeBool);
359 
361 
367  vtkSetMacro(ArcTicksOriginToPolarAxis, vtkTypeBool);
368  vtkGetMacro(ArcTicksOriginToPolarAxis, vtkTypeBool);
369  vtkBooleanMacro(ArcTicksOriginToPolarAxis, vtkTypeBool);
371 
373 
379  vtkSetMacro(RadialAxesOriginToPolarAxis, vtkTypeBool);
380  vtkGetMacro(RadialAxesOriginToPolarAxis, vtkTypeBool);
381  vtkBooleanMacro(RadialAxesOriginToPolarAxis, vtkTypeBool);
383 
385 
388  vtkSetMacro(PolarTickVisibility, vtkTypeBool);
389  vtkGetMacro(PolarTickVisibility, vtkTypeBool);
390  vtkBooleanMacro(PolarTickVisibility, vtkTypeBool);
392 
394 
397  vtkSetMacro(AxisTickVisibility, vtkTypeBool);
398  vtkGetMacro(AxisTickVisibility, vtkTypeBool);
399  vtkBooleanMacro(AxisTickVisibility, vtkTypeBool);
401 
403 
406  vtkSetMacro(AxisMinorTickVisibility, vtkTypeBool);
407  vtkGetMacro(AxisMinorTickVisibility, vtkTypeBool);
408  vtkBooleanMacro(AxisMinorTickVisibility, vtkTypeBool);
410 
412 
415  vtkSetMacro(ArcTickVisibility, vtkTypeBool);
416  vtkGetMacro(ArcTickVisibility, vtkTypeBool);
417  vtkBooleanMacro(ArcTickVisibility, vtkTypeBool);
419 
421 
424  vtkSetMacro(ArcMinorTickVisibility, vtkTypeBool);
425  vtkGetMacro(ArcMinorTickVisibility, vtkTypeBool);
426  vtkBooleanMacro(ArcMinorTickVisibility, vtkTypeBool);
428 
430 
433  vtkSetMacro(ArcMajorTickSize, double);
434  vtkGetMacro(ArcMajorTickSize, double);
436 
438 
441  vtkSetMacro(PolarAxisMajorTickSize, double);
442  vtkGetMacro(PolarAxisMajorTickSize, double);
444 
446 
449  vtkSetMacro(LastRadialAxisMajorTickSize, double);
450  vtkGetMacro(LastRadialAxisMajorTickSize, double);
452 
454 
457  vtkSetMacro(PolarAxisTickRatioSize, double);
458  vtkGetMacro(PolarAxisTickRatioSize, double);
460 
462 
465  vtkSetMacro(LastAxisTickRatioSize, double);
466  vtkGetMacro(LastAxisTickRatioSize, double);
468 
470 
473  vtkSetMacro(ArcTickRatioSize, double);
474  vtkGetMacro(ArcTickRatioSize, double);
476 
478 
481  vtkSetMacro(PolarAxisMajorTickThickness, double);
482  vtkGetMacro(PolarAxisMajorTickThickness, double);
484 
486 
489  vtkSetMacro(LastRadialAxisMajorTickThickness, double);
490  vtkGetMacro(LastRadialAxisMajorTickThickness, double);
492 
494 
497  vtkSetMacro(ArcMajorTickThickness, double);
498  vtkGetMacro(ArcMajorTickThickness, double);
500 
502 
505  vtkSetMacro(PolarAxisTickRatioThickness, double);
506  vtkGetMacro(PolarAxisTickRatioThickness, double);
508 
510 
513  vtkSetMacro(LastAxisTickRatioThickness, double);
514  vtkGetMacro(LastAxisTickRatioThickness, double);
516 
518 
521  vtkSetMacro(ArcTickRatioThickness, double);
522  vtkGetMacro(ArcTickRatioThickness, double);
524 
526 
529  vtkSetMacro(DeltaRangeMajor, double);
530  vtkGetMacro(DeltaRangeMajor, double);
532 
534 
537  vtkSetMacro(DeltaRangeMinor, double);
538  vtkGetMacro(DeltaRangeMinor, double);
540 
542 
545  vtkSetMacro(DeltaAngleMajor, double);
546  vtkGetMacro(DeltaAngleMajor, double);
548 
550 
553  vtkSetMacro(DeltaAngleMinor, double);
554  vtkGetMacro(DeltaAngleMinor, double);
556 
558 
561  vtkSetMacro(DeltaAngleRadialAxes, double);
562  vtkGetMacro(DeltaAngleRadialAxes, double);
564 
565  //------------------------------------------------
566 
568 
571  vtkSetMacro(RadialAxesVisibility, vtkTypeBool);
572  vtkGetMacro(RadialAxesVisibility, vtkTypeBool);
573  vtkBooleanMacro(RadialAxesVisibility, vtkTypeBool);
575 
577 
580  vtkSetMacro(RadialTitleVisibility, vtkTypeBool);
581  vtkGetMacro(RadialTitleVisibility, vtkTypeBool);
582  vtkBooleanMacro(RadialTitleVisibility, vtkTypeBool);
584 
586 
589  vtkSetMacro(PolarArcsVisibility, vtkTypeBool);
590  vtkGetMacro(PolarArcsVisibility, vtkTypeBool);
591  vtkBooleanMacro(PolarArcsVisibility, vtkTypeBool);
593 
595 
598  void SetUse2DMode(int val);
601 
603 
607  vtkGetObjectMacro(PolarAxisTitleTextProperty, vtkTextProperty);
609 
611 
615  vtkGetObjectMacro(PolarAxisLabelTextProperty, vtkTextProperty);
617 
619 
623  vtkGetObjectMacro(LastRadialAxisTextProperty, vtkTextProperty);
625 
627 
631  vtkGetObjectMacro(SecondaryRadialAxesTextProperty, vtkTextProperty);
633 
635 
639  vtkGetObjectMacro(PolarAxisProperty, vtkProperty);
641 
643 
647  vtkGetObjectMacro(LastRadialAxisProperty, vtkProperty);
649 
651 
655  vtkGetObjectMacro(SecondaryRadialAxesProperty, vtkProperty);
657 
659 
665 
667 
673 
675 
681  vtkSetVector6Macro(Bounds, double);
682  double* GetBounds() override;
683  void GetBounds(
684  double& xmin, double& xmax, double& ymin, double& ymax, double& zmin, double& zmax);
685  void GetBounds(double bounds[6]);
687 
689 
692  vtkSetClampMacro(Ratio, double, 0.001, 100.0);
693  vtkGetMacro(Ratio, double);
695 
696 protected:
698  ~vtkPolarAxesActor() override;
699 
704 
710 
715 
720 
725 
729  void CreateRadialAxes(int axisCount);
730 
735 
743 
747  double ComputeIdealStep(int subDivsRequired, double rangeLength, int maxSubDivs = 1000);
748 
753 
759  double a, double angleEllipseRad, double tickSize, vtkPoints* tickPts);
760 
765 
770 
775 
777 
781  std::string FindExponentAndAdjustValues(std::list<double>& valuesList);
782 
786  void GetSignificantPartFromValues(vtkStringArray* valuesStr, std::list<double>& valuesList);
787 
789 
792  double FFix(double);
793  double FSign(double, double);
795 
800  void AutoScale(vtkViewport* viewport);
801 
806  static double ComputeEllipseAngle(double angleInDegrees, double ratio);
807 
816  double Pole[3];
817 
822 
827 
833 
837  double Ratio;
838 
842  double Range[2];
843 
848 
853 
858 
863 
868 
874 
880 
885  bool Log;
886 
891 
896  double MinimumAngle;
897 
902  double MaximumAngle;
903 
908 
909  // Structures for principal polar arc
913 
915 
922 
927 
932 
937 
939 
946 
951 
957 
963 
969 
975 
981 
983 
990 
999 
1004 
1012 
1020 
1025 
1030 
1034  double PolarAxisMajorTickSize, LastRadialAxisMajorTickSize, ArcMajorTickSize;
1035 
1039  double PolarAxisTickRatioSize, LastAxisTickRatioSize, ArcTickRatioSize;
1040 
1044  double PolarAxisMajorTickThickness, LastRadialAxisMajorTickThickness, ArcMajorTickThickness;
1045 
1049  double PolarAxisTickRatioThickness, LastAxisTickRatioThickness, ArcTickRatioThickness;
1050 
1052 
1058 
1063 
1068 
1074 
1079 
1084 
1089 
1094 
1099 
1101 
1111 
1113 
1119 
1124 
1129 
1135 
1140 
1145 
1147 
1151  double TitleScale;
1152 
1156  double LabelScale;
1157 
1161  double ScreenSize;
1162 
1163 private:
1164  vtkPolarAxesActor(const vtkPolarAxesActor&) = delete;
1165  void operator=(const vtkPolarAxesActor&) = delete;
1166 };
1167 
1168 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:46
Create an axis with tick marks and labels.
Definition: vtkAxisActor.h:72
a virtual camera for 3D rendering
Definition: vtkCamera.h:46
a simple class to control print indentation
Definition: vtkIndent.h:34
represent and manipulate 3D points
Definition: vtkPoints.h:34
create an actor of a polar axes -
vtkActor * ArcTickActor
vtk object for arc Ticks
bool AutoScaleRadius
Auto-scale polar radius (with respect to average length scale of x-y bounding box).
virtual void SetCamera(vtkCamera *)
Set/Get the camera to perform scaling and translation of the vtkPolarAxesActor.
bool AutoSubdividePolarAxis
Whether the number of polar axis ticks and arcs should be automatically calculated.
virtual void SetPolarAxisProperty(vtkProperty *)
Get/Set polar axis actor properties.
vtkTypeBool PolarLabelVisibility
Visibility of polar axis and its title, labels, ticks (major only)
void CalculateBounds()
Calculate bounds based on maximum radius and angular sector.
int RequestedNumberOfRadialAxes
Requested Number of radial axes.
void GetBounds(double bounds[6])
Explicitly specify the region in space around which to draw the bounds.
vtkTextProperty * PolarAxisTitleTextProperty
Text properties of polar axis title and labels.
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()
vtkActor * ArcMinorTickActor
vtk object for arc Ticks
virtual void SetNumberOfPolarAxisTicks(int)
Set/Get a number of ticks that one would like to display along polar axis NB: it modifies DeltaRangeM...
vtkTypeBool RadialAxesVisibility
Visibility of radial axes and their titles.
vtkTypeBool PolarArcsVisibility
Visibility of polar arcs.
vtkTypeBool PolarTickVisibility
Hold visibility for all present ticks.
vtkProperty * PolarAxisProperty
General properties of polar axis Behavior may be override by polar axis ticks 's actor property.
int EnableDistanceLOD
If enabled the actor will not be visible at a certain distance from the camera.
int EnableViewAngleLOD
If enabled the actor will not be visible at a certain view angle.
vtkPoints * ArcMajorTickPts
Keep the arc major ticks vtkPoints instances.
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.
vtkTextProperty * PolarAxisLabelTextProperty
Text properties of polar axis title and labels.
virtual void SetSecondaryPolarArcsProperty(vtkProperty *p)
Get/Set secondary polar arcs actors property.
virtual void SetSecondaryRadialAxesProperty(vtkProperty *p)
Get/Set secondary radial axes actors properties.
double DeltaAngleMinor
Angle between 2 minor ticks on the last arc.
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.
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.
double MinimumRadius
Minimum polar radius.
vtkProperty * GetPolarArcsProperty()
Get/Set principal polar arc actor property.
double MaximumAngle
Maximum polar angle Default: 90.
vtkPolyData * ArcMinorTickPolyData
vtk object for arc Ticks
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.
vtkProperty * GetSecondaryPolarArcsProperty()
Get/Set secondary polar arcs actors property.
vtkProperty * SecondaryRadialAxesProperty
General properties of radial axes.
vtkTypeBool AxisMinorTickVisibility
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.
int PolarAxisTitleLocation
Define the alignment of the title related to the polar axis.
char * PolarLabelFormat
Title to be used for the polar axis NB: Non-polar radial axes use the polar angle as title and have n...
vtkAxisActor * PolarAxis
Control variables for polar axis.
vtkTextProperty * SecondaryRadialAxesTextProperty
Text properties of secondary radial axes.
virtual void SetMinimumAngle(double)
Set/Get the minimum radius of the polar coordinates (in degrees).
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.
vtkPolyData * ArcTickPolyData
vtk object for arc Ticks
double DeltaAngleRadialAxes
Angle between 2 radial Axes.
void AutoComputeTicksProperties()
Set Range and PolarAxis members value to build axis ticks this function doesn't actually build PolarA...
vtkTypeBool RadialTitleVisibility
Visibility of radial axes and their titles.
void BuildLabelsLog()
Define label values.
bool RadialUnits
Display angle units (degrees) to label radial axes Default is true.
int TickLocation
Describes the tick orientation for the graph elements involved by this property.
void BuildArcTicks()
Build Arc ticks.
void BuildRadialAxes()
Build requested number of radial axes with respect to specified pole.
int GetUse2DMode()
Enable/Disable labels 2D mode (always facing the camera).
void CreateRadialAxes(int axisCount)
Create requested number of type X axes.
double FSign(double, double)
Convenience methods.
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.
int GetNumberOfPolarAxisTicks()
Set/Get a number of ticks that one would like to display along polar axis NB: it modifies DeltaRangeM...
int RadialAxesOriginToPolarAxis
If On, the radial axes are drawn from the angle of the polarAxis (i.e.
double DistanceLODThreshold
Default is 0.80 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
Step between 2 minor ticks, in range value (values displayed on the axis).
double DeltaRangeMajor
Step between 2 major ticks, in range value (values displayed on the axis).
double TitleScale
Title scale factor.
int ArcTicksOriginToPolarAxis
If On, the ticks are drawn from the angle of the polarAxis (i.e.
vtkPolyDataMapper * ArcTickPolyDataMapper
vtk object for arc Ticks
void BuildPolarAxisLabelsArcsLog()
Build labels and arcs with log scale axis.
virtual void SetSecondaryRadialAxesTextProperty(vtkTextProperty *p)
Set/Get the secondary radial axes text property.
vtkPolyDataMapper * SecondaryPolarArcsMapper
Structures for secondary polar arcs.
double Ratio
Ratio for elliptical representation of the polar axes actor.
int RenderOverlay(vtkViewport *) override
Draw the polar axes.
vtkActor * SecondaryPolarArcsActor
Structures for secondary polar arcs.
vtkPolyDataMapper * ArcMinorTickPolyDataMapper
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.
vtkTypeBool PolarTitleVisibility
Visibility of polar axis and its title, labels, ticks (major only)
void SetUse2DMode(int val)
Enable/Disable labels 2D mode (always facing the camera).
vtkTypeBool ArcMinorTickVisibility
double * GetBounds() override
Explicitly specify the region in space around which to draw the bounds.
virtual void SetMaximumRadius(double)
Set/Get the maximum radius of the polar coordinates.
vtkPolyData * PolarArcs
double FFix(double)
Convenience methods.
static vtkPolarAxesActor * New()
Instantiate object with label format "6.3g" and the number of labels per axis set to 3.
virtual void SetPole(double, double, double)
Explicitly specify the coordinate of the pole.
vtkTypeBool DrawPolarArcsGridlines
Visibility of the inner arcs (overridden to 0 if PolarArcsVisibility is set to 0)
int RenderOpaqueGeometry(vtkViewport *) override
Draw the polar axes.
void SetPolarAxisAttributes(vtkAxisActor *)
Set properties specific to PolarAxis.
vtkAxisActor ** RadialAxes
Control variables for non-polar radial axes.
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.
vtkPolyDataMapper * PolarArcsMapper
vtkTypeBool PolarAxisVisibility
Visibility of polar axis and its title, labels, ticks (major only)
int RadialAxisTitleLocation
Define the alignment of the title related to the radial axis.
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).
double LabelScale
Label scale factor.
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Draw the polar axes.
int ExponentLocation
Define the location of the exponent of the labels values, located on the polar axis.
vtkTypeBool DrawRadialGridlines
Visibility of the inner axes (overridden to 0 if RadialAxesVisibility is set to 0)
vtkProperty * LastRadialAxisProperty
General properties of last radial axis.
vtkPolyData * SecondaryPolarArcs
Structures for secondary polar arcs.
double MinimumAngle
Minimum polar angle Default: 0.
~vtkPolarAxesActor() override
vtkPoints * ArcMinorTickPts
Keep the arc minor ticks vtkPoints instances.
virtual void SetPolarAxisLabelTextProperty(vtkTextProperty *p)
Set/Get the polar axis labels text property.
vtkTextProperty * LastRadialAxisTextProperty
Text properties of last radial axis.
vtkCamera * Camera
Camera attached to the polar axes system.
bool Log
Enable/Disable log scale Default: 0.
char * RadialAngleFormat
String to format angle values displayed on the radial axes.
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:86
represent surface properties of a geometric object
Definition: vtkProperty.h:62
a vtkAbstractArray subclass for strings
represent text properties.
record modification and/or execution time
Definition: vtkTimeStamp.h:33
abstract specification for Viewports
Definition: vtkViewport.h:47
window superclass for vtkRenderWindow
Definition: vtkWindow.h:39
@ string
Definition: vtkX3D.h:496
auto Range(IterablePtr iterable, Options &&... opts) -> typename detail::IterableTraits< typename detail::StripPointers< IterablePtr >::type >::RangeType
Generate an iterable STL proxy object for a VTK container.
Definition: vtkRange.h:85
int vtkTypeBool
Definition: vtkABI.h:69
#define VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES
int vtkIdType
Definition: vtkType.h:332