VTK  9.2.6
vtkEllipseArcSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkEllipseArcSource.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
33 #ifndef vtkEllipseArcSource_h
34 #define vtkEllipseArcSource_h
35 
36 #include "vtkFiltersSourcesModule.h" // For export macro
37 #include "vtkPolyDataAlgorithm.h"
38 
39 class VTKFILTERSSOURCES_EXPORT vtkEllipseArcSource : public vtkPolyDataAlgorithm
40 {
41 public:
42  static vtkEllipseArcSource* New();
44  void PrintSelf(ostream& os, vtkIndent indent) override;
45 
47 
51  vtkSetVector3Macro(Center, double);
52  vtkGetVectorMacro(Center, double, 3);
54 
56 
60  vtkSetVector3Macro(Normal, double);
61  vtkGetVectorMacro(Normal, double, 3);
63 
65 
70  vtkSetVector3Macro(MajorRadiusVector, double);
71  vtkGetVectorMacro(MajorRadiusVector, double, 3);
73 
75 
79  vtkSetClampMacro(StartAngle, double, -360.0, 360.0);
80  vtkGetMacro(StartAngle, double);
82 
84 
88  vtkSetClampMacro(SegmentAngle, double, 0.0, 360.0);
89  vtkGetMacro(SegmentAngle, double);
91 
93 
98  vtkSetClampMacro(Resolution, int, 1, VTK_INT_MAX);
99  vtkGetMacro(Resolution, int);
101 
103 
107  vtkSetMacro(Close, bool);
108  vtkGetMacro(Close, bool);
109  vtkBooleanMacro(Close, bool);
111 
113 
119  vtkSetMacro(OutputPointsPrecision, int);
120  vtkGetMacro(OutputPointsPrecision, int);
122 
124 
129  vtkSetClampMacro(Ratio, double, 0.001, 100.0);
130  vtkGetMacro(Ratio, double);
132 
133 protected:
135  ~vtkEllipseArcSource() override = default;
136 
138 
139  double Center[3];
140  double Normal[3];
141  double MajorRadiusVector[3];
142  double StartAngle;
143  double SegmentAngle;
145  double Ratio;
146  bool Close;
148 
149 private:
150  vtkEllipseArcSource(const vtkEllipseArcSource&) = delete;
151  void operator=(const vtkEllipseArcSource&) = delete;
152 };
153 
154 #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:155
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:39
Store zero or more vtkInformation instances.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.