VTK  9.2.5
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 =========================================================================*/
36 #ifndef vtkPolarAxesActor_h
37 #define vtkPolarAxesActor_h
38 
39 #define VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES 50
40 #define VTK_DEFAULT_NUMBER_OF_RADIAL_AXES 5
41 #define VTK_MAXIMUM_NUMBER_OF_POLAR_AXIS_TICKS 200
42 #define VTK_MAXIMUM_RATIO 1000.0
43 #define VTK_POLAR_ARC_RESOLUTION_PER_DEG 0.2
44 
45 #include "vtkActor.h"
46 #include "vtkAxisActor.h" // access to enum values
47 #include "vtkRenderingAnnotationModule.h" // For export macro
48 #include <list> // To process exponent list as reference
49 #include <string> // used for ivar
50 
51 class vtkCamera;
52 class vtkPolyData;
53 class vtkPolyDataMapper;
54 class vtkProperty;
55 class vtkStringArray;
56 class vtkTextProperty;
57 
58 class VTKRENDERINGANNOTATION_EXPORT vtkPolarAxesActor : public vtkActor
59 {
60 public:
61  vtkTypeMacro(vtkPolarAxesActor, vtkActor);
62  void PrintSelf(ostream& os, vtkIndent indent) override;
63 
69 
71 
75  int RenderOverlay(vtkViewport*) override;
76  int RenderTranslucentPolygonalGeometry(vtkViewport*) override { return 0; }
78 
80 
83  virtual void SetPole(double[3]);
84  virtual void SetPole(double, double, double);
85  vtkGetVector3Macro(Pole, double);
87 
89 
93  vtkSetMacro(Log, bool);
94  vtkGetMacro(Log, bool);
95  vtkBooleanMacro(Log, bool);
97 
99 
102  vtkSetClampMacro(RequestedNumberOfRadialAxes, vtkIdType, 0, VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES);
103  vtkGetMacro(RequestedNumberOfRadialAxes, vtkIdType);
105 
107 
111  virtual void SetNumberOfPolarAxisTicks(int);
114 
116 
120  vtkSetMacro(AutoSubdividePolarAxis, bool);
121  vtkGetMacro(AutoSubdividePolarAxis, bool);
122  vtkBooleanMacro(AutoSubdividePolarAxis, bool);
124 
126 
129  vtkSetVector2Macro(Range, double);
130  vtkGetVectorMacro(Range, double, 2);
132 
134 
137  virtual void SetMinimumRadius(double);
138  vtkGetMacro(MinimumRadius, double);
140 
142 
145  virtual void SetMaximumRadius(double);
146  vtkGetMacro(MaximumRadius, double);
148 
150 
153  virtual void SetMinimumAngle(double);
154  vtkGetMacro(MinimumAngle, double);
156 
158 
161  virtual void SetMaximumAngle(double);
162  vtkGetMacro(MaximumAngle, double);
164 
166 
171  vtkSetClampMacro(SmallestVisiblePolarAngle, double, 0., 5.);
172  vtkGetMacro(SmallestVisiblePolarAngle, double);
174 
176 
181  vtkSetClampMacro(TickLocation, int, vtkAxisActor::VTK_TICKS_INSIDE, vtkAxisActor::VTK_TICKS_BOTH);
182  vtkGetMacro(TickLocation, int);
184 
186 
189  vtkSetMacro(RadialUnits, bool);
190  vtkGetMacro(RadialUnits, bool);
192 
194 
200  vtkSetMacro(ScreenSize, double);
201  vtkGetMacro(ScreenSize, double);
203 
205 
209  virtual void SetCamera(vtkCamera*);
210  vtkGetObjectMacro(Camera, vtkCamera);
212 
214 
218  vtkSetStringMacro(PolarAxisTitle);
219  vtkGetStringMacro(PolarAxisTitle);
221 
223 
226  vtkSetStringMacro(PolarLabelFormat);
227  vtkGetStringMacro(PolarLabelFormat);
229 
231  {
232  VTK_EXPONENT_BOTTOM = 0,
233  VTK_EXPONENT_EXTERN = 1,
234  VTK_EXPONENT_LABELS = 2
235  };
236 
238 
243  vtkSetClampMacro(ExponentLocation, int, VTK_EXPONENT_BOTTOM, VTK_EXPONENT_LABELS);
244  vtkGetMacro(ExponentLocation, int);
246 
248 
251  vtkSetStringMacro(RadialAngleFormat);
252  vtkGetStringMacro(RadialAngleFormat);
254 
261 
263 
266  vtkSetMacro(EnableDistanceLOD, int);
267  vtkGetMacro(EnableDistanceLOD, int);
269 
271 
274  vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
275  vtkGetMacro(DistanceLODThreshold, double);
277 
279 
282  vtkSetMacro(EnableViewAngleLOD, int);
283  vtkGetMacro(EnableViewAngleLOD, int);
285 
287 
290  vtkSetClampMacro(ViewAngleLODThreshold, double, 0., 1.);
291  vtkGetMacro(ViewAngleLODThreshold, double);
293 
295 
298  vtkSetMacro(PolarAxisVisibility, vtkTypeBool);
299  vtkGetMacro(PolarAxisVisibility, vtkTypeBool);
300  vtkBooleanMacro(PolarAxisVisibility, vtkTypeBool);
302 
304 
307  vtkSetMacro(DrawRadialGridlines, vtkTypeBool);
308  vtkGetMacro(DrawRadialGridlines, vtkTypeBool);
309  vtkBooleanMacro(DrawRadialGridlines, vtkTypeBool);
311 
313 
316  vtkSetMacro(DrawPolarArcsGridlines, vtkTypeBool);
317  vtkGetMacro(DrawPolarArcsGridlines, vtkTypeBool);
318  vtkBooleanMacro(DrawPolarArcsGridlines, vtkTypeBool);
320 
322 
325  vtkSetMacro(PolarTitleVisibility, vtkTypeBool);
326  vtkGetMacro(PolarTitleVisibility, vtkTypeBool);
327  vtkBooleanMacro(PolarTitleVisibility, vtkTypeBool);
329 
331  {
332  VTK_TITLE_BOTTOM = 0,
333  VTK_TITLE_EXTERN = 1
334  };
335 
337 
341  vtkSetClampMacro(RadialAxisTitleLocation, int, VTK_TITLE_BOTTOM, VTK_TITLE_EXTERN);
342  vtkGetMacro(RadialAxisTitleLocation, int);
344 
346 
350  vtkSetClampMacro(PolarAxisTitleLocation, int, VTK_TITLE_BOTTOM, VTK_TITLE_EXTERN);
351  vtkGetMacro(PolarAxisTitleLocation, int);
353 
355 
358  vtkSetMacro(PolarLabelVisibility, vtkTypeBool);
359  vtkGetMacro(PolarLabelVisibility, vtkTypeBool);
360  vtkBooleanMacro(PolarLabelVisibility, vtkTypeBool);
362 
364 
370  vtkSetMacro(ArcTicksOriginToPolarAxis, vtkTypeBool);
371  vtkGetMacro(ArcTicksOriginToPolarAxis, vtkTypeBool);
372  vtkBooleanMacro(ArcTicksOriginToPolarAxis, vtkTypeBool);
374 
376 
382  vtkSetMacro(RadialAxesOriginToPolarAxis, vtkTypeBool);
383  vtkGetMacro(RadialAxesOriginToPolarAxis, vtkTypeBool);
384  vtkBooleanMacro(RadialAxesOriginToPolarAxis, vtkTypeBool);
386 
388 
391  vtkSetMacro(PolarTickVisibility, vtkTypeBool);
392  vtkGetMacro(PolarTickVisibility, vtkTypeBool);
393  vtkBooleanMacro(PolarTickVisibility, vtkTypeBool);
395 
397 
400  vtkSetMacro(AxisTickVisibility, vtkTypeBool);
401  vtkGetMacro(AxisTickVisibility, vtkTypeBool);
402  vtkBooleanMacro(AxisTickVisibility, vtkTypeBool);
404 
406 
409  vtkSetMacro(AxisMinorTickVisibility, vtkTypeBool);
410  vtkGetMacro(AxisMinorTickVisibility, vtkTypeBool);
411  vtkBooleanMacro(AxisMinorTickVisibility, vtkTypeBool);
413 
415 
418  vtkSetMacro(ArcTickVisibility, vtkTypeBool);
419  vtkGetMacro(ArcTickVisibility, vtkTypeBool);
420  vtkBooleanMacro(ArcTickVisibility, vtkTypeBool);
422 
424 
427  vtkSetMacro(ArcMinorTickVisibility, vtkTypeBool);
428  vtkGetMacro(ArcMinorTickVisibility, vtkTypeBool);
429  vtkBooleanMacro(ArcMinorTickVisibility, vtkTypeBool);
431 
433 
436  vtkSetMacro(ArcMajorTickSize, double);
437  vtkGetMacro(ArcMajorTickSize, double);
439 
441 
444  vtkSetMacro(PolarAxisMajorTickSize, double);
445  vtkGetMacro(PolarAxisMajorTickSize, double);
447 
449 
452  vtkSetMacro(LastRadialAxisMajorTickSize, double);
453  vtkGetMacro(LastRadialAxisMajorTickSize, double);
455 
457 
460  vtkSetMacro(PolarAxisTickRatioSize, double);
461  vtkGetMacro(PolarAxisTickRatioSize, double);
463 
465 
468  vtkSetMacro(LastAxisTickRatioSize, double);
469  vtkGetMacro(LastAxisTickRatioSize, double);
471 
473 
476  vtkSetMacro(ArcTickRatioSize, double);
477  vtkGetMacro(ArcTickRatioSize, double);
479 
481 
484  vtkSetMacro(PolarAxisMajorTickThickness, double);
485  vtkGetMacro(PolarAxisMajorTickThickness, double);
487 
489 
492  vtkSetMacro(LastRadialAxisMajorTickThickness, double);
493  vtkGetMacro(LastRadialAxisMajorTickThickness, double);
495 
497 
500  vtkSetMacro(ArcMajorTickThickness, double);
501  vtkGetMacro(ArcMajorTickThickness, double);
503 
505 
508  vtkSetMacro(PolarAxisTickRatioThickness, double);
509  vtkGetMacro(PolarAxisTickRatioThickness, double);
511 
513 
516  vtkSetMacro(LastAxisTickRatioThickness, double);
517  vtkGetMacro(LastAxisTickRatioThickness, double);
519 
521 
524  vtkSetMacro(ArcTickRatioThickness, double);
525  vtkGetMacro(ArcTickRatioThickness, double);
527 
529 
532  vtkSetMacro(DeltaRangeMajor, double);
533  vtkGetMacro(DeltaRangeMajor, double);
535 
537 
540  vtkSetMacro(DeltaRangeMinor, double);
541  vtkGetMacro(DeltaRangeMinor, double);
543 
545 
548  vtkSetMacro(DeltaAngleMajor, double);
549  vtkGetMacro(DeltaAngleMajor, double);
551 
553 
556  vtkSetMacro(DeltaAngleMinor, double);
557  vtkGetMacro(DeltaAngleMinor, double);
559 
561 
564  vtkSetMacro(DeltaAngleRadialAxes, double);
565  vtkGetMacro(DeltaAngleRadialAxes, double);
567 
568  //------------------------------------------------
569 
571 
574  vtkSetMacro(RadialAxesVisibility, vtkTypeBool);
575  vtkGetMacro(RadialAxesVisibility, vtkTypeBool);
576  vtkBooleanMacro(RadialAxesVisibility, vtkTypeBool);
578 
580 
583  vtkSetMacro(RadialTitleVisibility, vtkTypeBool);
584  vtkGetMacro(RadialTitleVisibility, vtkTypeBool);
585  vtkBooleanMacro(RadialTitleVisibility, vtkTypeBool);
587 
589 
592  vtkSetMacro(PolarArcsVisibility, vtkTypeBool);
593  vtkGetMacro(PolarArcsVisibility, vtkTypeBool);
594  vtkBooleanMacro(PolarArcsVisibility, vtkTypeBool);
596 
598 
601  void SetUse2DMode(int val);
604 
606 
610  vtkGetObjectMacro(PolarAxisTitleTextProperty, vtkTextProperty);
612 
614 
618  vtkGetObjectMacro(PolarAxisLabelTextProperty, vtkTextProperty);
620 
622 
626  vtkGetObjectMacro(LastRadialAxisTextProperty, vtkTextProperty);
628 
630 
634  vtkGetObjectMacro(SecondaryRadialAxesTextProperty, vtkTextProperty);
636 
638 
642  vtkGetObjectMacro(PolarAxisProperty, vtkProperty);
644 
646 
650  vtkGetObjectMacro(LastRadialAxisProperty, vtkProperty);
652 
654 
658  vtkGetObjectMacro(SecondaryRadialAxesProperty, vtkProperty);
660 
662 
668 
670 
676 
678 
684  vtkSetVector6Macro(Bounds, double);
685  double* GetBounds() override;
686  void GetBounds(
687  double& xmin, double& xmax, double& ymin, double& ymax, double& zmin, double& zmax);
688  void GetBounds(double bounds[6]);
690 
692 
695  vtkSetClampMacro(Ratio, double, 0.001, 100.0);
696  vtkGetMacro(Ratio, double);
698 
699 protected:
701  ~vtkPolarAxesActor() override;
702 
707 
713 
718 
723 
728 
732  void CreateRadialAxes(int axisCount);
733 
738 
746 
750  double ComputeIdealStep(int subDivsRequired, double rangeLength, int maxSubDivs = 1000);
751 
756 
762  double a, double angleEllipseRad, double tickSize, vtkPoints* tickPts);
763 
768 
773 
778 
780 
784  std::string FindExponentAndAdjustValues(std::list<double>& valuesList);
785 
789  void GetSignificantPartFromValues(vtkStringArray* valuesStr, std::list<double>& valuesList);
790 
792 
795  double FFix(double);
796  double FSign(double, double);
798 
803  void AutoScale(vtkViewport* viewport);
804 
809  static double ComputeEllipseAngle(double angleInDegrees, double ratio);
810 
819  double Pole[3];
820 
825 
830 
836 
840  double Ratio;
841 
845  double Range[2];
846 
851 
856 
861 
866 
871 
877 
883 
888  bool Log;
889 
894 
899  double MinimumAngle;
900 
905  double MaximumAngle;
906 
911 
912  // Structures for principal polar arc
916 
918 
925 
930 
935 
940 
942 
949 
954 
960 
966 
972 
978 
984 
986 
993 
1002 
1007 
1015 
1023 
1028 
1033 
1037  double PolarAxisMajorTickSize, LastRadialAxisMajorTickSize, ArcMajorTickSize;
1038 
1042  double PolarAxisTickRatioSize, LastAxisTickRatioSize, ArcTickRatioSize;
1043 
1047  double PolarAxisMajorTickThickness, LastRadialAxisMajorTickThickness, ArcMajorTickThickness;
1048 
1052  double PolarAxisTickRatioThickness, LastAxisTickRatioThickness, ArcTickRatioThickness;
1053 
1055 
1061 
1066 
1071 
1077 
1082 
1087 
1092 
1097 
1102 
1104 
1114 
1116 
1122 
1127 
1132 
1138 
1143 
1148 
1150 
1154  double TitleScale;
1155 
1159  double LabelScale;
1160 
1164  double ScreenSize;
1165 
1166 private:
1167  vtkPolarAxesActor(const vtkPolarAxesActor&) = delete;
1168  void operator=(const vtkPolarAxesActor&) = delete;
1169 };
1170 
1171 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:161
Create an axis with tick marks and labels.
Definition: vtkAxisActor.h:94
a virtual camera for 3D rendering
Definition: vtkCamera.h:161
a simple class to control print indentation
Definition: vtkIndent.h:119
represent and manipulate 3D points
Definition: vtkPoints.h:149
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:200
represent surface properties of a geometric object
Definition: vtkProperty.h:177
a vtkAbstractArray subclass for strings
represent text properties.
record modification and/or execution time
Definition: vtkTimeStamp.h:55
abstract specification for Viewports
Definition: vtkViewport.h:56
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