VTK  9.3.20240417
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
80 #ifndef vtkDiskSource_h
81 #define vtkDiskSource_h
82 
83 #include "vtkFiltersSourcesModule.h" // For export macro
84 #include "vtkPolyDataAlgorithm.h"
85 
86 VTK_ABI_NAMESPACE_BEGIN
87 class vtkTransform;
88 
89 class VTKFILTERSSOURCES_EXPORT vtkDiskSource : public vtkPolyDataAlgorithm
90 {
91 public:
93 
97  static vtkDiskSource* New();
99  void PrintSelf(ostream& os, vtkIndent indent) override;
101 
103 
106  vtkSetClampMacro(InnerRadius, double, 0.0, VTK_DOUBLE_MAX);
107  vtkGetMacro(InnerRadius, double);
109 
111 
114  vtkSetClampMacro(OuterRadius, double, 0.0, VTK_DOUBLE_MAX);
115  vtkGetMacro(OuterRadius, double);
117 
119 
122  vtkSetClampMacro(RadialResolution, int, 1, VTK_INT_MAX);
123  vtkGetMacro(RadialResolution, int);
125 
127 
130  vtkSetClampMacro(CircumferentialResolution, int, 3, VTK_INT_MAX);
131  vtkGetMacro(CircumferentialResolution, int);
133 
135 
138  vtkSetVector3Macro(Center, double);
139  vtkGetVectorMacro(Center, double, 3);
141 
143 
146  vtkSetVector3Macro(Normal, double);
147  vtkGetVectorMacro(Normal, double, 3);
149 
151 
156  vtkSetMacro(OutputPointsPrecision, int);
157  vtkGetMacro(OutputPointsPrecision, int);
159 
160 protected:
162  ~vtkDiskSource() override = default;
163 
166  double InnerRadius;
167  double OuterRadius;
168  double Center[3];
169  double Normal[3];
173 
174 private:
175  vtkDiskSource(const vtkDiskSource&) = delete;
176  void operator=(const vtkDiskSource&) = delete;
177 };
178 
179 VTK_ABI_NAMESPACE_END
180 #endif
create a disk with hole in center
Definition: vtkDiskSource.h:90
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods to instantiate the class, obtain type information, and print the state of the object...
vtkSmartPointer< vtkTransform > GetTransformation()
int OutputPointsPrecision
~vtkDiskSource() override=default
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
double InnerRadius
static vtkDiskSource * New()
Standard methods to instantiate the class, obtain type information, and print the state of the object...
int CircumferentialResolution
double OuterRadius
a simple class to control print indentation
Definition: vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
describes linear transformations via a 4x4 matrix
Definition: vtkTransform.h:160
@ Normal
Definition: vtkX3D.h:45
#define VTK_DOUBLE_MAX
Definition: vtkType.h:154
#define VTK_INT_MAX
Definition: vtkType.h:144