VTK  9.3.20240328
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 
27 VTK_ABI_NAMESPACE_BEGIN
28 class VTKFILTERSSOURCES_EXPORT vtkEllipseArcSource : public vtkPolyDataAlgorithm
29 {
30 public:
33  void PrintSelf(ostream& os, vtkIndent indent) override;
34 
36 
40  vtkSetVector3Macro(Center, double);
41  vtkGetVectorMacro(Center, double, 3);
43 
45 
49  vtkSetVector3Macro(Normal, double);
50  vtkGetVectorMacro(Normal, double, 3);
52 
54 
59  vtkSetVector3Macro(MajorRadiusVector, double);
60  vtkGetVectorMacro(MajorRadiusVector, double, 3);
62 
64 
68  vtkSetClampMacro(StartAngle, double, -360.0, 360.0);
69  vtkGetMacro(StartAngle, double);
71 
73 
77  vtkSetClampMacro(SegmentAngle, double, 0.0, 360.0);
78  vtkGetMacro(SegmentAngle, double);
80 
82 
87  vtkSetClampMacro(Resolution, int, 1, VTK_INT_MAX);
88  vtkGetMacro(Resolution, int);
90 
92 
96  vtkSetMacro(Close, bool);
97  vtkGetMacro(Close, bool);
98  vtkBooleanMacro(Close, bool);
100 
102 
108  vtkSetMacro(OutputPointsPrecision, int);
109  vtkGetMacro(OutputPointsPrecision, int);
111 
113 
118  vtkSetClampMacro(Ratio, double, 0.001, 100.0);
119  vtkGetMacro(Ratio, double);
121 
122 protected:
124  ~vtkEllipseArcSource() override = default;
125 
127 
128  double Center[3];
129  double Normal[3];
130  double MajorRadiusVector[3];
131  double StartAngle;
132  double SegmentAngle;
134  double Ratio;
135  bool Close;
137 
138 private:
139  vtkEllipseArcSource(const vtkEllipseArcSource&) = delete;
140  void operator=(const vtkEllipseArcSource&) = delete;
141 };
142 
143 VTK_ABI_NAMESPACE_END
144 #endif
create an elliptical arc
~vtkEllipseArcSource() override=default
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkEllipseArcSource * New()
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
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.
@ Normal
Definition: vtkX3D.h:45
#define VTK_INT_MAX
Definition: vtkType.h:144