VTK
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 
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 {}
126 
128  vtkInformationVector *) override;
129 
130  double Center[3];
131  double Normal[3];
132  double MajorRadiusVector[3];
133  double StartAngle;
134  double SegmentAngle;
136  double Ratio;
138 
139 private:
140  vtkEllipseArcSource(const vtkEllipseArcSource&) = delete;
141  void operator=(const vtkEllipseArcSource&) = delete;
142 };
143 
144 #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:159
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.