VTK  9.7.1
vtkArcSource.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 vtkArcSource_h
31 #define vtkArcSource_h
32 
33 #include "vtkFiltersSourcesModule.h" // For export macro
34 #include "vtkPolyDataAlgorithm.h"
35 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
36 
37 VTK_ABI_NAMESPACE_BEGIN
38 class VTKFILTERSSOURCES_EXPORT VTK_MARSHALAUTO vtkArcSource : public vtkPolyDataAlgorithm
39 {
40 public:
41  static vtkArcSource* New();
43  void PrintSelf(ostream& os, vtkIndent indent) override;
44 
46 
49  vtkSetVector3Macro(Point1, double);
50  vtkGetVectorMacro(Point1, double, 3);
52 
54 
57  vtkSetVector3Macro(Point2, double);
58  vtkGetVectorMacro(Point2, double, 3);
60 
62 
67  vtkSetVector3Macro(Center, double);
68  vtkGetVectorMacro(Center, double, 3);
70 
72 
77  vtkSetVector3Macro(Normal, double);
78  vtkGetVectorMacro(Normal, double, 3);
80 
82 
87  vtkSetVector3Macro(PolarVector, double);
88  vtkGetVectorMacro(PolarVector, double, 3);
90 
92 
98  vtkSetClampMacro(Angle, double, -360.0, 360.0);
99  vtkGetMacro(Angle, double);
101 
103 
108  vtkSetClampMacro(Resolution, int, 1, VTK_INT_MAX);
109  vtkGetMacro(Resolution, int);
111 
113 
119  vtkSetMacro(Negative, bool);
120  vtkGetMacro(Negative, bool);
121  vtkBooleanMacro(Negative, bool);
123 
125 
133  vtkSetMacro(UseNormalAndAngle, bool);
134  vtkGetMacro(UseNormalAndAngle, bool);
135  vtkBooleanMacro(UseNormalAndAngle, bool);
137 
139 
144  vtkSetMacro(OutputPointsPrecision, int);
145  vtkGetMacro(OutputPointsPrecision, int);
147 
148 protected:
149  vtkArcSource(int res = 1);
150  ~vtkArcSource() override = default;
151 
154  double Point1[3];
155  double Point2[3];
156  double Center[3];
157  double Normal[3];
158  double PolarVector[3];
159  double Angle;
161  bool Negative;
164 
165 private:
166  vtkArcSource(const vtkArcSource&) = delete;
167  void operator=(const vtkArcSource&) = delete;
168 };
169 
170 VTK_ABI_NAMESPACE_END
171 #endif
int OutputPointsPrecision
Definition: vtkArcSource.h:163
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
bool UseNormalAndAngle
Definition: vtkArcSource.h:162
create a circular arc
Definition: vtkArcSource.h:38
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
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.