VTK
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 =========================================================================*/
41 #ifndef vtkPolarAxesActor_h
42 #define vtkPolarAxesActor_h
43 
44 #define VTK_MAXIMUM_NUMBER_OF_RADIAL_AXES 50
45 #define VTK_DEFAULT_NUMBER_OF_RADIAL_AXES 5
46 #define VTK_MAXIMUM_NUMBER_OF_POLAR_AXIS_TICKS 200
47 #define VTK_POLAR_ARC_RESOLUTION_PER_DEG 0.2
48 
49 #include "vtkRenderingAnnotationModule.h" // For export macro
50 #include "vtkActor.h"
51 
52 class vtkAxisActor;
53 class vtkCamera;
54 class vtkPolyData;
55 class vtkPolyDataMapper;
56 class vtkTextProperty;
57 
59 {
60 public:
62  void PrintSelf(ostream& os, vtkIndent indent);
63 
67 
69 
73 
75 
76  virtual void SetPole( double[3] );
77  virtual void SetPole( double, double, double );
78  vtkGetVector3Macro( Pole, double );
80 
82 
84  vtkGetMacro( NumberOfRadialAxes, vtkIdType );
86 
88 
91  vtkGetMacro( NumberOfPolarAxisTicks, vtkIdType );
93 
95 
97  vtkSetMacro( AutoSubdividePolarAxis, bool );
98  vtkGetMacro( AutoSubdividePolarAxis, bool );
99  vtkBooleanMacro( AutoSubdividePolarAxis, bool );
101 
103 
104  virtual void SetMaximumRadius( double );
105  vtkGetMacro( MaximumRadius, double );
107 
109 
111  vtkSetMacro( AutoScaleRadius,bool );
112  vtkGetMacro( AutoScaleRadius,bool );
114 
116 
117  virtual void SetMinimumAngle( double );
118  vtkGetMacro( MinimumAngle, double );
120 
122 
123  virtual void SetMaximumAngle( double );
124  vtkGetMacro( MaximumAngle, double );
126 
128 
130  vtkSetClampMacro( SmallestVisiblePolarAngle, double, 0., 5. );
131  vtkGetMacro( SmallestVisiblePolarAngle, double );
133 
135 
136  vtkSetMacro( RadialUnits, bool );
137  vtkGetMacro( RadialUnits, bool );
139 
141 
144  void SetScreenSize( double screenSize );
145  vtkGetMacro( ScreenSize, double );
147 
149 
151  virtual void SetCamera(vtkCamera*);
154 
156 
157  vtkSetStringMacro( PolarAxisTitle );
158  vtkGetStringMacro( PolarAxisTitle );
160 
162 
163  vtkSetStringMacro( PolarLabelFormat );
164  vtkGetStringMacro( PolarLabelFormat );
166 
171 
173 
175  vtkSetMacro( EnableDistanceLOD, int );
176  vtkGetMacro( EnableDistanceLOD, int );
178 
180 
181  vtkSetClampMacro( DistanceLODThreshold, double, 0.0, 1.0 );
182  vtkGetMacro( DistanceLODThreshold, double);
184 
186 
188  vtkSetMacro( EnableViewAngleLOD, int );
189  vtkGetMacro( EnableViewAngleLOD, int );
191 
193 
194  vtkSetClampMacro( ViewAngleLODThreshold, double, 0., 1. );
195  vtkGetMacro( ViewAngleLODThreshold, double );
197 
199 
200  vtkSetMacro( PolarAxisVisibility, int );
201  vtkGetMacro( PolarAxisVisibility, int );
202  vtkBooleanMacro( PolarAxisVisibility, int );
204 
206 
207  vtkSetMacro( PolarTitleVisibility, int );
208  vtkGetMacro( PolarTitleVisibility, int );
209  vtkBooleanMacro( PolarTitleVisibility, int );
211 
213 
214  vtkSetMacro( PolarLabelVisibility, int );
215  vtkGetMacro( PolarLabelVisibility, int );
216  vtkBooleanMacro( PolarLabelVisibility, int );
218 
220 
221  vtkSetMacro( PolarTickVisibility, int );
222  vtkGetMacro( PolarTickVisibility, int );
223  vtkBooleanMacro( PolarTickVisibility, int );
225 
227 
228  vtkSetMacro( RadialAxesVisibility, int );
229  vtkGetMacro( RadialAxesVisibility, int );
230  vtkBooleanMacro( RadialAxesVisibility, int );
232 
234 
235  vtkSetMacro( RadialTitleVisibility, int );
236  vtkGetMacro( RadialTitleVisibility, int );
237  vtkBooleanMacro( RadialTitleVisibility, int );
239 
241 
242  vtkSetMacro( PolarArcsVisibility, int );
243  vtkGetMacro( PolarArcsVisibility, int );
244  vtkBooleanMacro( PolarArcsVisibility, int );
246 
248 
250  vtkGetObjectMacro(PolarAxisTitleTextProperty,vtkTextProperty);
252 
254 
256  vtkGetObjectMacro(PolarAxisLabelTextProperty,vtkTextProperty);
258 
260 
264 
266 
270 
272 
276 
278 
282  vtkSetVector6Macro(Bounds,double);
283  double *GetBounds();
284  void GetBounds(double& xmin, double& xmax, double& ymin, double& ymax,
285  double& zmin, double& zmax);
286  void GetBounds(double bounds[6]);
288 
289 protected:
292 
295 
298 
301 
304 
307 
309  void BuildPolarAxisTicks( double );
310 
313 
315 
316  double FFix(double );
317  double FSign(double, double );
319 
322  void AutoScale( vtkViewport* viewport );
323 
325  double Pole[3];
326 
329 
332 
336 
339 
343 
345  double MinimumAngle;
346 
348  double MaximumAngle;
349 
352 
354  double Bounds[6];
355 
357 
362 
365 
368 
371 
373 
378 
381 
385 
389 
393 
397 
399 
405 
407 
411 
414 
416 
418 
420 
424 
427 
430 
432 
434  double TitleScale;
435 
437  double LabelScale;
438 
441 
443  double ScreenSize;
444 
445 private:
446  vtkPolarAxesActor( const vtkPolarAxesActor& ); // Not implemented
447  void operator=( const vtkPolarAxesActor& ); // Not implemented
448 };
449 
450 
451 #endif
vtkPolyDataMapper
map vtkPolyData to graphics primitives
Definition: vtkPolyDataMapper.h:42
vtkPolarAxesActor::PolarAxisLabelTextProperty
vtkTextProperty * PolarAxisLabelTextProperty
Definition: vtkPolarAxesActor.h:422
vtkPolarAxesActor::AutoSubdividePolarAxis
bool AutoSubdividePolarAxis
Definition: vtkPolarAxesActor.h:335
vtkPolarAxesActor::EnableDistanceLOD
int EnableDistanceLOD
Definition: vtkPolarAxesActor.h:384
vtkRenderingAnnotationModule.h
vtkPolarAxesActor::DistanceLODThreshold
double DistanceLODThreshold
Definition: vtkPolarAxesActor.h:388
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkPolarAxesActor::MaximumRadius
double MaximumRadius
Definition: vtkPolarAxesActor.h:338
vtkPolarAxesActor::BuildAxes
void BuildAxes(vtkViewport *)
vtkPolarAxesActor::MaximumAngle
double MaximumAngle
Definition: vtkPolarAxesActor.h:348
vtkPolarAxesActor::AutoScale
void AutoScale(vtkViewport *viewport)
vtkPolarAxesActor::FFix
double FFix(double)
vtkPolarAxesActor::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkAxisActor
Create an axis with tick marks and labels.
Definition: vtkAxisActor.h:94
vtkPolarAxesActor::SetPolarAxisTitleTextProperty
virtual void SetPolarAxisTitleTextProperty(vtkTextProperty *p)
vtkPolarAxesActor::SetPolarArcsProperty
virtual void SetPolarArcsProperty(vtkProperty *)
vtkPolarAxesActor::PolarAxisTitle
char * PolarAxisTitle
Definition: vtkPolarAxesActor.h:375
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkPolarAxesActor::NumberOfPolarAxisTicks
int NumberOfPolarAxisTicks
Definition: vtkPolarAxesActor.h:331
vtkPolarAxesActor::MinimumAngle
double MinimumAngle
Definition: vtkPolarAxesActor.h:345
vtkPolarAxesActor::SetPole
virtual void SetPole(double, double, double)
vtkPolarAxesActor::GetBounds
double * GetBounds()
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:35
vtkPolarAxesActor::PolarArcsVisibility
int PolarArcsVisibility
Definition: vtkPolarAxesActor.h:413
vtkPolarAxesActor::AutoScaleRadius
bool AutoScaleRadius
Definition: vtkPolarAxesActor.h:342
vtkPolarAxesActor::RenderTranslucentPolygonalGeometry
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *)
Definition: vtkPolarAxesActor.h:71
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkPolarAxesActor::PolarArcs
vtkPolyData * PolarArcs
Definition: vtkPolarAxesActor.h:358
vtkPolarAxesActor::PolarArcsMapper
vtkPolyDataMapper * PolarArcsMapper
Definition: vtkPolarAxesActor.h:359
vtkPolarAxesActor::ScreenSize
double ScreenSize
Definition: vtkPolarAxesActor.h:443
vtkPolarAxesActor::RadialAxesProperty
vtkProperty * RadialAxesProperty
Definition: vtkPolarAxesActor.h:429
vtkPolarAxesActor::PolarAxisVisibility
int PolarAxisVisibility
Definition: vtkPolarAxesActor.h:400
vtkPolarAxesActor::SetScreenSize
void SetScreenSize(double screenSize)
vtkPolarAxesActor::RenderOpaqueGeometry
virtual int RenderOpaqueGeometry(vtkViewport *)
vtkPolarAxesActor::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *)
vtkPolarAxesActor::RadialAxes
vtkAxisActor ** RadialAxes
Definition: vtkPolarAxesActor.h:370
vtkPolarAxesActor::SmallestVisiblePolarAngle
double SmallestVisiblePolarAngle
Definition: vtkPolarAxesActor.h:351
vtkPolarAxesActor::FSign
double FSign(double, double)
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:34
vtkPolarAxesActor::GetPolarAxisProperty
vtkProperty * GetPolarAxisProperty()
vtkPolarAxesActor::GetPolarArcsProperty
vtkProperty * GetPolarArcsProperty()
vtkPolarAxesActor::SetNumberOfRadialAxes
virtual void SetNumberOfRadialAxes(vtkIdType)
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
vtkPolarAxesActor::NumberOfRadialAxes
int NumberOfRadialAxes
Definition: vtkPolarAxesActor.h:328
vtkPolarAxesActor::PolarAxisTitleTextProperty
vtkTextProperty * PolarAxisTitleTextProperty
Definition: vtkPolarAxesActor.h:421
vtkPolarAxesActor::PolarArcsActor
vtkActor * PolarArcsActor
Definition: vtkPolarAxesActor.h:360
vtkPolarAxesActor::New
static vtkPolarAxesActor * New()
vtkGetVector3Macro
#define vtkGetVector3Macro(name, type)
Definition: vtkSetGet.h:304
vtkPolarAxesActor::PolarLabelVisibility
int PolarLabelVisibility
Definition: vtkPolarAxesActor.h:402
vtkPolarAxesActor::SetPolarAxisLabelTextProperty
virtual void SetPolarAxisLabelTextProperty(vtkTextProperty *p)
vtkPolarAxesActor::SetMaximumRadius
virtual void SetMaximumRadius(double)
vtkPolarAxesActor::PolarAxisProperty
vtkProperty * PolarAxisProperty
Definition: vtkPolarAxesActor.h:426
vtkPolarAxesActor::SetCamera
virtual void SetCamera(vtkCamera *)
vtkPolarAxesActor::BuildPolarAxisLabelsArcs
void BuildPolarAxisLabelsArcs()
vtkPolarAxesActor::RenderCount
int RenderCount
Definition: vtkPolarAxesActor.h:415
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:51
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkPolarAxesActor::PolarTickVisibility
int PolarTickVisibility
Definition: vtkPolarAxesActor.h:403
vtkSetStringMacro
#define vtkSetStringMacro(name)
Definition: vtkSetGet.h:104
vtkPolarAxesActor::SetPolarAxisProperty
virtual void SetPolarAxisProperty(vtkProperty *)
vtkPolarAxesActor::CalculateBounds
void CalculateBounds()
vtkCamera
a virtual camera for 3D rendering
Definition: vtkCamera.h:49
vtkPolarAxesActor::BuildPolarAxisTicks
void BuildPolarAxisTicks(double)
vtkActor.h
vtkPolarAxesActor::RadialAxesVisibility
int RadialAxesVisibility
Definition: vtkPolarAxesActor.h:408
vtkPolarAxesActor::LabelScreenOffset
double LabelScreenOffset
Definition: vtkPolarAxesActor.h:440
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkPolarAxesActor::PolarTitleVisibility
int PolarTitleVisibility
Definition: vtkPolarAxesActor.h:401
vtkGetStringMacro
vtkGetStringMacro(ExtensionsString)
vtkgl::zmax
GLclampd zmax
Definition: vtkgl.h:17479
vtkPolarAxesActor::BuildTime
vtkTimeStamp BuildTime
Definition: vtkPolarAxesActor.h:431
vtkViewport
abstract specification for Viewports
Definition: vtkViewport.h:47
vtkPolarAxesActor::SetMaximumAngle
virtual void SetMaximumAngle(double)
vtkPolarAxesActor::RadialTitleVisibility
int RadialTitleVisibility
Definition: vtkPolarAxesActor.h:409
vtkPolarAxesActor
create an actor of a polar axes -
Definition: vtkPolarAxesActor.h:59
vtkTextProperty
represent text properties.
Definition: vtkTextProperty.h:39
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkPolarAxesActor::CreateRadialAxes
void CreateRadialAxes()
VTK_MAXIMUM_NUMBER_OF_POLAR_AXIS_TICKS
#define VTK_MAXIMUM_NUMBER_OF_POLAR_AXIS_TICKS
Definition: vtkPolarAxesActor.h:46
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkPolarAxesActor::RenderSomething
int RenderSomething
Definition: vtkPolarAxesActor.h:417
vtkPolarAxesActor::EnableViewAngleLOD
int EnableViewAngleLOD
Definition: vtkPolarAxesActor.h:392
vtkPolarAxesActor::BuildRadialAxes
void BuildRadialAxes()
vtkPolarAxesActor::SetPole
virtual void SetPole(double[3])
vtkPolarAxesActor::GetBounds
void GetBounds(double &xmin, double &xmax, double &ymin, double &ymax, double &zmin, double &zmax)
vtkSetVector6Macro
#define vtkSetVector6Macro(name, type)
Definition: vtkSetGet.h:360
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkPolarAxesActor::vtkPolarAxesActor
vtkPolarAxesActor()
vtkPolarAxesActor::RadialUnits
bool RadialUnits
Definition: vtkPolarAxesActor.h:380
vtkgl::p
GLfloat GLfloat p
Definition: vtkgl.h:15717
vtkPolarAxesActor::GetBounds
void GetBounds(double bounds[6])
vtkPolarAxesActor::LabelScale
double LabelScale
Definition: vtkPolarAxesActor.h:437
vtkProperty
represent surface properties of a geometric object
Definition: vtkProperty.h:64
vtkPolarAxesActor::PolarAxis
vtkAxisActor * PolarAxis
Definition: vtkPolarAxesActor.h:367
vtkPolarAxesActor::TitleScale
double TitleScale
Definition: vtkPolarAxesActor.h:434
vtkPolarAxesActor::ViewAngleLODThreshold
double ViewAngleLODThreshold
Definition: vtkPolarAxesActor.h:396
vtkPolarAxesActor::GetRadialAxesProperty
vtkProperty * GetRadialAxesProperty()
vtkPolarAxesActor::Camera
vtkCamera * Camera
Definition: vtkPolarAxesActor.h:364
vtkPolarAxesActor::SetCommonAxisAttributes
void SetCommonAxisAttributes(vtkAxisActor *)
vtkPolarAxesActor::SetMinimumAngle
virtual void SetMinimumAngle(double)
vtkPolarAxesActor::SetRadialAxesProperty
virtual void SetRadialAxesProperty(vtkProperty *)
VTKRENDERINGANNOTATION_EXPORT
#define VTKRENDERINGANNOTATION_EXPORT
Definition: vtkRenderingAnnotationModule.h:15
vtkPolarAxesActor::PolarLabelFormat
char * PolarLabelFormat
Definition: vtkPolarAxesActor.h:376
vtkPolarAxesActor::~vtkPolarAxesActor
~vtkPolarAxesActor()