VTK  9.7.1
vtkDiskSource.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
24 #ifndef vtkDiskSource_h
25 #define vtkDiskSource_h
26 
27 #include "vtkFiltersSourcesModule.h" // For export macro
28 #include "vtkPolyDataAlgorithm.h"
29 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
30 
31 VTK_ABI_NAMESPACE_BEGIN
32 class vtkTransform;
33 
34 class VTKFILTERSSOURCES_EXPORT VTK_MARSHALAUTO vtkDiskSource : public vtkPolyDataAlgorithm
35 {
36 public:
38 
42  static vtkDiskSource* New();
44  void PrintSelf(ostream& os, vtkIndent indent) override;
46 
48 
51  vtkSetClampMacro(InnerRadius, double, 0.0, VTK_DOUBLE_MAX);
52  vtkGetMacro(InnerRadius, double);
54 
56 
59  vtkSetClampMacro(OuterRadius, double, 0.0, VTK_DOUBLE_MAX);
60  vtkGetMacro(OuterRadius, double);
62 
64 
67  vtkSetClampMacro(RadialResolution, int, 1, VTK_INT_MAX);
68  vtkGetMacro(RadialResolution, int);
70 
72 
75  vtkSetClampMacro(CircumferentialResolution, int, 3, VTK_INT_MAX);
76  vtkGetMacro(CircumferentialResolution, int);
78 
80 
83  vtkSetVector3Macro(Center, double);
84  vtkGetVectorMacro(Center, double, 3);
86 
88 
91  vtkSetVector3Macro(Normal, double);
92  vtkGetVectorMacro(Normal, double, 3);
94 
96 
101  vtkSetMacro(OutputPointsPrecision, int);
102  vtkGetMacro(OutputPointsPrecision, int);
104 
105 protected:
106  vtkDiskSource();
107  ~vtkDiskSource() override = default;
108 
110  vtkSmartPointer<vtkTransform> GetTransformation();
111  double InnerRadius;
112  double OuterRadius;
113  double Center[3];
114  double Normal[3];
118 
119 private:
120  vtkDiskSource(const vtkDiskSource&) = delete;
121  void operator=(const vtkDiskSource&) = delete;
122 };
123 
124 VTK_ABI_NAMESPACE_END
125 #endif
int CircumferentialResolution
#define VTK_DOUBLE_MAX
Definition: vtkType.h:202
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:192
describes linear transformations via a 4x4 matrix
Definition: vtkTransform.h:50
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:28
double OuterRadius
create a disk with hole in center
Definition: vtkDiskSource.h:34
Store zero or more vtkInformation instances.
#define VTK_MARSHALAUTO
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.