VTK  9.7.1
vtkEllipseArcSource.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
21 #ifndef vtkEllipseArcSource_h
22 #define vtkEllipseArcSource_h
23 
24 #include "vtkFiltersSourcesModule.h" // For export macro
25 #include "vtkPolyDataAlgorithm.h"
26 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
27 
28 VTK_ABI_NAMESPACE_BEGIN
29 class VTKFILTERSSOURCES_EXPORT VTK_MARSHALAUTO vtkEllipseArcSource : public vtkPolyDataAlgorithm
30 {
31 public:
32  static vtkEllipseArcSource* New();
34  void PrintSelf(ostream& os, vtkIndent indent) override;
35 
37 
41  vtkSetVector3Macro(Center, double);
42  vtkGetVectorMacro(Center, double, 3);
44 
46 
50  vtkSetVector3Macro(Normal, double);
51  vtkGetVectorMacro(Normal, double, 3);
53 
55 
60  vtkSetVector3Macro(MajorRadiusVector, double);
61  vtkGetVectorMacro(MajorRadiusVector, double, 3);
63 
65 
69  vtkSetClampMacro(StartAngle, double, -360.0, 360.0);
70  vtkGetMacro(StartAngle, double);
72 
74 
78  vtkSetClampMacro(SegmentAngle, double, 0.0, 360.0);
79  vtkGetMacro(SegmentAngle, double);
81 
83 
88  vtkSetClampMacro(Resolution, int, 1, VTK_INT_MAX);
89  vtkGetMacro(Resolution, int);
91 
93 
97  vtkSetMacro(Close, bool);
98  vtkGetMacro(Close, bool);
99  vtkBooleanMacro(Close, bool);
101 
103 
109  vtkSetMacro(OutputPointsPrecision, int);
110  vtkGetMacro(OutputPointsPrecision, int);
112 
114 
119  vtkSetClampMacro(Ratio, double, 0.001, 100.0);
120  vtkGetMacro(Ratio, double);
122 
123 protected:
125  ~vtkEllipseArcSource() override = default;
126 
128 
129  double Center[3];
130  double Normal[3];
131  double MajorRadiusVector[3];
132  double StartAngle;
133  double SegmentAngle;
135  double Ratio;
136  bool Close;
138 
139 private:
140  vtkEllipseArcSource(const vtkEllipseArcSource&) = delete;
141  void operator=(const vtkEllipseArcSource&) = delete;
142 };
143 
144 VTK_ABI_NAMESPACE_END
145 #endif
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
create an elliptical arc
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:28
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.