VTK  9.2.6
vtkDiskSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkDiskSource.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
33 #ifndef vtkDiskSource_h
34 #define vtkDiskSource_h
35 
36 #include "vtkFiltersSourcesModule.h" // For export macro
37 #include "vtkPolyDataAlgorithm.h"
38 
39 class vtkTransform;
40 
41 class VTKFILTERSSOURCES_EXPORT vtkDiskSource : public vtkPolyDataAlgorithm
42 {
43 public:
45 
49  static vtkDiskSource* New();
51  void PrintSelf(ostream& os, vtkIndent indent) override;
53 
55 
58  vtkSetClampMacro(InnerRadius, double, 0.0, VTK_DOUBLE_MAX);
59  vtkGetMacro(InnerRadius, double);
61 
63 
66  vtkSetClampMacro(OuterRadius, double, 0.0, VTK_DOUBLE_MAX);
67  vtkGetMacro(OuterRadius, double);
69 
71 
74  vtkSetClampMacro(RadialResolution, int, 1, VTK_INT_MAX);
75  vtkGetMacro(RadialResolution, int);
77 
79 
82  vtkSetClampMacro(CircumferentialResolution, int, 3, VTK_INT_MAX);
83  vtkGetMacro(CircumferentialResolution, int);
85 
87 
90  vtkSetVector3Macro(Center, double);
91  vtkGetVectorMacro(Center, double, 3);
93 
95 
98  vtkSetVector3Macro(Normal, double);
99  vtkGetVectorMacro(Normal, double, 3);
101 
103 
108  vtkSetMacro(OutputPointsPrecision, int);
109  vtkGetMacro(OutputPointsPrecision, int);
111 
112 protected:
113  vtkDiskSource();
114  ~vtkDiskSource() override = default;
115 
117  vtkSmartPointer<vtkTransform> GetTransformation();
118  double InnerRadius;
119  double OuterRadius;
120  double Center[3];
121  double Normal[3];
125 
126 private:
127  vtkDiskSource(const vtkDiskSource&) = delete;
128  void operator=(const vtkDiskSource&) = delete;
129 };
130 
131 #endif
int CircumferentialResolution
#define VTK_DOUBLE_MAX
Definition: vtkType.h:165
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
#define VTK_INT_MAX
Definition: vtkType.h:155
describes linear transformations via a 4x4 matrix
Definition: vtkTransform.h:60
int OutputPointsPrecision
static vtkPolyDataAlgorithm * New()
double InnerRadius
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:39
double OuterRadius
create a disk with hole in center
Definition: vtkDiskSource.h:41
Store zero or more vtkInformation instances.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.