VTK  9.3.0
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
30 #ifndef vtkDiskSource_h
31 #define vtkDiskSource_h
32 
33 #include "vtkFiltersSourcesModule.h" // For export macro
34 #include "vtkPolyDataAlgorithm.h"
35 
36 VTK_ABI_NAMESPACE_BEGIN
37 class vtkTransform;
38 
39 class VTKFILTERSSOURCES_EXPORT vtkDiskSource : public vtkPolyDataAlgorithm
40 {
41 public:
43 
47  static vtkDiskSource* New();
49  void PrintSelf(ostream& os, vtkIndent indent) override;
51 
53 
56  vtkSetClampMacro(InnerRadius, double, 0.0, VTK_DOUBLE_MAX);
57  vtkGetMacro(InnerRadius, double);
59 
61 
64  vtkSetClampMacro(OuterRadius, double, 0.0, VTK_DOUBLE_MAX);
65  vtkGetMacro(OuterRadius, double);
67 
69 
72  vtkSetClampMacro(RadialResolution, int, 1, VTK_INT_MAX);
73  vtkGetMacro(RadialResolution, int);
75 
77 
80  vtkSetClampMacro(CircumferentialResolution, int, 3, VTK_INT_MAX);
81  vtkGetMacro(CircumferentialResolution, int);
83 
85 
88  vtkSetVector3Macro(Center, double);
89  vtkGetVectorMacro(Center, double, 3);
91 
93 
96  vtkSetVector3Macro(Normal, double);
97  vtkGetVectorMacro(Normal, double, 3);
99 
101 
106  vtkSetMacro(OutputPointsPrecision, int);
107  vtkGetMacro(OutputPointsPrecision, int);
109 
110 protected:
112  ~vtkDiskSource() override = default;
113 
116  double InnerRadius;
117  double OuterRadius;
118  double Center[3];
119  double Normal[3];
123 
124 private:
125  vtkDiskSource(const vtkDiskSource&) = delete;
126  void operator=(const vtkDiskSource&) = delete;
127 };
128 
129 VTK_ABI_NAMESPACE_END
130 #endif
create a disk with hole in center
Definition: vtkDiskSource.h:40
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:38
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:59
@ Normal
Definition: vtkX3D.h:45
#define VTK_DOUBLE_MAX
Definition: vtkType.h:154
#define VTK_INT_MAX
Definition: vtkType.h:144