vtkPolarAxesRepresentation.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
10 #ifndef vtkPolarAxesRepresentation_h
11 #define vtkPolarAxesRepresentation_h
12 
13 #include "vtkRemotingViewsModule.h" //needed for exports
14 
15 #include "vtkNew.h" // needed for vtkNew.
17 #include "vtkPVRenderView.h" // needed for renderer enum
18 #include "vtkWeakPointer.h" // needed for vtkWeakPointer.
19 
20 class vtkPolarAxesActor;
21 class vtkPolyData;
22 class vtkTextProperty;
23 
25 {
26 public:
29  void PrintSelf(ostream& os, vtkIndent indent) override;
30 
32 
36  vtkSetVector3Macro(Position, double);
37  vtkGetVector3Macro(Position, double);
39 
41 
45  vtkSetVector3Macro(Translation, double);
46  vtkGetVector3Macro(Translation, double);
48 
50 
54  vtkSetVector3Macro(Orientation, double);
55  vtkGetVector3Macro(Orientation, double);
57 
59 
63  vtkSetVector3Macro(Scale, double);
64  vtkGetVector3Macro(Scale, double);
66 
70  vtkGetVector6Macro(DataBounds, double);
71 
73 
78  vtkSetVector6Macro(CustomBounds, double);
79  vtkGetVector6Macro(CustomBounds, double);
81 
83 
86  vtkSetVector3Macro(EnableCustomBounds, int);
87  vtkGetVector3Macro(EnableCustomBounds, int);
89 
91 
94  vtkSetMacro(EnableCustomRange, bool);
95  vtkGetMacro(EnableCustomRange, bool);
97 
99 
104  vtkSetVector2Macro(CustomRange, double);
105  vtkGetVector2Macro(CustomRange, double);
107 
109 
113  vtkSetMacro(EnableAutoPole, bool);
114  vtkGetMacro(EnableAutoPole, bool);
116 
118 
122  vtkSetMacro(EnableCustomAngle, bool);
123  vtkGetMacro(EnableCustomAngle, bool);
125 
127 
130  vtkSetMacro(MinAngle, double);
131  vtkGetMacro(MinAngle, double);
132  vtkSetMacro(MaxAngle, double);
133  vtkGetMacro(MaxAngle, double);
135 
137 
141  vtkSetMacro(EnableCustomMinRadius, bool);
142  vtkGetMacro(EnableCustomMinRadius, bool);
144 
146 
150  vtkSetMacro(MinRadius, double);
151  vtkGetMacro(MinRadius, double);
153 
155 
159  vtkSetMacro(EnableCustomMaxRadius, bool);
160  vtkGetMacro(EnableCustomMaxRadius, bool);
162 
164 
168  vtkSetMacro(MaxRadius, double);
169  vtkGetMacro(MaxRadius, double);
171 
173 
176  vtkGetMacro(EnableOverallColor, bool);
177  virtual void SetEnableOverallColor(bool enable);
178  virtual void SetOverallColor(double r, double g, double b);
179  virtual void SetPolarAxisColor(double r, double g, double b);
180  virtual void SetPolarArcsColor(double r, double g, double b);
181  virtual void SetSecondaryPolarArcsColor(double r, double g, double b);
182  virtual void SetSecondaryRadialAxesColor(double r, double g, double b);
183  virtual void SetLastRadialAxisColor(double r, double g, double b);
184  virtual void SetPolarAxisTitleTextProperty(vtkTextProperty* prop);
185  virtual void SetPolarAxisLabelTextProperty(vtkTextProperty* prop);
186  virtual void SetLastRadialAxisTextProperty(vtkTextProperty* prop);
187  virtual void SetSecondaryRadialAxesTextProperty(vtkTextProperty* prop);
189 
194  void MarkModified() override { this->Superclass::MarkModified(); }
195 
202  vtkInformation* outInfo) override;
203 
207  void SetVisibility(bool visible) override;
208 
212  virtual void SetParentVisibility(bool visible);
213 
214  //***************************************************************************
216 
219  virtual void SetLog(bool active);
220  virtual void SetNumberOfRadialAxes(vtkIdType val);
221  virtual void SetNumberOfPolarAxes(vtkIdType val);
222  virtual void SetDeltaAngleRadialAxes(double angle);
223  virtual void SetDeltaRangePolarAxes(double range);
224  virtual void SetSmallestVisiblePolarAngle(double angle);
225  virtual void SetTickLocation(int location);
226  virtual void SetRadialUnits(bool use);
227  virtual void SetScreenSize(double size);
228  virtual void SetPolarAxisTitle(const char* title);
229  virtual void SetPolarLabelFormat(const char* format);
230  virtual void SetExponentLocation(int location);
231  virtual void SetRadialAngleFormat(const char* format);
232  virtual void SetEnableDistanceLOD(int enable);
233  virtual void SetDistanceLODThreshold(double val);
234  virtual void SetEnableViewAngleLOD(int enable);
235  virtual void SetViewAngleLODThreshold(double val);
236  virtual void SetPolarAxisVisibility(int visible);
237  virtual void SetDrawRadialGridlines(int draw);
238  virtual void SetDrawPolarArcsGridlines(int draw);
239  virtual void SetPolarTitleVisibility(int visible);
240  virtual void SetRadialAxisTitleLocation(int location);
241  virtual void SetPolarAxisTitleLocation(int location);
242  virtual void SetRadialTitleOffset(double offsetX, double offsetY);
243  virtual void SetPolarTitleOffset(double offsetX, double offsetY);
244  virtual void SetPolarLabelOffset(double offsetY);
245  virtual void SetPolarExponentOffset(double offsetY);
246  virtual void SetPolarLabelVisibility(int visible);
247  virtual void SetArcTicksOriginToPolarAxis(int use);
248  virtual void SetRadialAxesOriginToPolarAxis(int use);
249  virtual void SetPolarTickVisibility(int visible);
250  virtual void SetAxisTickVisibility(int visible);
251  virtual void SetAxisMinorTickVisibility(int visible);
252  virtual void SetAxisTickMatchesPolarAxes(int enable);
253  virtual void SetArcTickVisibility(int visible);
254  virtual void SetArcMinorTickVisibility(int visible);
255  virtual void SetArcTickMatchesRadialAxes(int enable);
256  virtual void SetTickRatioRadiusSize(double ratio);
257  virtual void SetArcMajorTickSize(double size);
258  virtual void SetPolarAxisMajorTickSize(double size);
259  virtual void SetLastRadialAxisMajorTickSize(double size);
260  virtual void SetPolarAxisTickRatioSize(double size);
261  virtual void SetLastAxisTickRatioSize(double size);
262  virtual void SetArcTickRatioSize(double size);
263  virtual void SetPolarAxisMajorTickThickness(double thickness);
264  virtual void SetLastRadialAxisMajorTickThickness(double thickness);
265  virtual void SetArcMajorTickThickness(double thickness);
266  virtual void SetPolarAxisTickRatioThickness(double thickness);
267  virtual void SetLastAxisTickRatioThickness(double thickness);
268  virtual void SetArcTickRatioThickness(double thickness);
269  virtual void SetDeltaAngleMajor(double delta);
270  virtual void SetDeltaAngleMinor(double delta);
271  virtual void SetRadialAxesVisibility(int visible);
272  virtual void SetRadialTitleVisibility(int visible);
273  virtual void SetPolarArcsVisibility(int visible);
274  virtual void SetUse2DMode(int use);
275  void SetRasterizeText(int use);
276  virtual void SetRatio(double ratio);
277  virtual void SetPolarArcResolutionPerDegree(double resolution);
278  virtual void SetDeltaRangeMinor(double delta);
279  virtual void SetDeltaRangeMajor(double delta);
281 
283 
286  vtkSetMacro(RendererType, int);
287  vtkGetMacro(RendererType, int);
289 
290 protected:
292  ~vtkPolarAxesRepresentation() override;
293 
294  int FillInputPortInformation(int port, vtkInformation* info) override;
295  int RequestData(
296  vtkInformation*, vtkInformationVector** inputVector, vtkInformationVector*) override;
297 
298  virtual void InitializeDataBoundsFromData(vtkDataObject* data);
299  virtual void UpdateBounds();
300 
307  bool AddToView(vtkView* view) override;
308 
315  bool RemoveFromView(vtkView* view) override;
316 
320  double Position[3] = { 0.0 };
321  double Translation[3] = { 0.0 };
322  double Scale[3] = { 1.0 };
323  double Orientation[3] = { 0.0 };
324  double CustomBounds[6] = { 0.0, 1.0, 0.0, 1.0, 0.0, 1.0 };
325  int EnableCustomBounds[3] = { 0 };
326  double CustomRange[2] = { 0.0, 1.0 };
327  bool EnableCustomRange = false;
328  bool EnableAutoPole = true;
329  bool EnableCustomAngle = true;
330  double MinAngle = 0.0;
331  double MaxAngle = 90.0;
332  double MinRadius = 0.0;
333  bool EnableOverallColor = true;
334  double OverallColor[3] = { 1.0 };
335  double PolarAxisColor[3] = { 1.0 };
336  double PolarArcsColor[3] = { 1.0 };
337  double SecondaryPolarArcsColor[3] = { 1.0 };
338  double SecondaryRadialAxesColor[3] = { 1.0 };
339  double LastRadialAxisColor[3] = { 1.0 };
340  double DataBounds[6] = { 0.0 };
342  bool ParentVisibility = true;
344 
345 private:
347  void operator=(const vtkPolarAxesRepresentation&) = delete;
348 
349  bool EnableCustomMinRadius = true;
350  bool EnableCustomMaxRadius = false;
351  double MaxRadius = 1.0;
352 };
353 
354 #endif
data
location
#define VTKREMOTINGVIEWS_EXPORT
vtkPVDataRepresentation adds some ParaView specific API to data representations.
bool AddToView(vtkView *view) override
Making these methods public.
info
int vtkIdType
virtual void SetVisibility(bool val)
Get/Set the visibility for this representation.
virtual int ProcessViewRequest(vtkInformationRequestKey *request_type, vtkInformation *inInfo, vtkInformation *outInfo)
vtkAlgorithm::ProcessRequest() equivalent for rendering passes.
virtual int FillInputPortInformation(int port, vtkInformation *info)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Overridden to invoke vtkCommand::UpdateDataEvent.
vtkNew< vtkPolarAxesActor > PolarAxesActor
bool RemoveFromView(vtkView *view) override
Making these methods public.
size
range
static vtkDataRepresentation * New()
resolution
representation for a polar-axes.
vtkWeakPointer< vtkPVRenderView > RenderView
void PrintSelf(ostream &os, vtkIndent indent) override
port
void MarkModified() override
This needs to be called on all instances of vtkPolarAxesRepresentation when the input is modified...
title