VTK  9.3.20240329
vtkParametricSuperToroid.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
64 #ifndef vtkParametricSuperToroid_h
65 #define vtkParametricSuperToroid_h
66 
67 #include "vtkCommonComputationalGeometryModule.h" // For export macro
68 #include "vtkParametricFunction.h"
69 
70 VTK_ABI_NAMESPACE_BEGIN
71 class VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT vtkParametricSuperToroid : public vtkParametricFunction
72 {
73 public:
75  void PrintSelf(ostream& os, vtkIndent indent) override;
76 
90 
94  int GetDimension() override { return 2; }
95 
97 
101  vtkSetMacro(RingRadius, double);
102  vtkGetMacro(RingRadius, double);
104 
106 
110  vtkSetMacro(CrossSectionRadius, double);
111  vtkGetMacro(CrossSectionRadius, double);
113 
115 
118  vtkSetMacro(XRadius, double);
119  vtkGetMacro(XRadius, double);
121 
123 
126  vtkSetMacro(YRadius, double);
127  vtkGetMacro(YRadius, double);
129 
131 
134  vtkSetMacro(ZRadius, double);
135  vtkGetMacro(ZRadius, double);
137 
139 
142  vtkSetMacro(N1, double);
143  vtkGetMacro(N1, double);
145 
147 
150  vtkSetMacro(N2, double);
151  vtkGetMacro(N2, double);
153 
162  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) override;
163 
177  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) override;
178 
179 protected:
182 
183  // Variables
184  double RingRadius;
186  double XRadius;
187  double YRadius;
188  double ZRadius;
189  double N1;
190  double N2;
191 
192 private:
194  void operator=(const vtkParametricSuperToroid&) = delete;
195 };
196 
197 VTK_ABI_NAMESPACE_END
198 #endif
a simple class to control print indentation
Definition: vtkIndent.h:108
abstract interface for parametric functions
~vtkParametricSuperToroid() override
static vtkParametricSuperToroid * New()
Construct a supertoroid with the following parameters: MinimumU = 0, MaximumU = 2*Pi,...
void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) override
A supertoroid.
int GetDimension() override
Return the parametric dimension of the class.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) override
Calculate a user defined scalar using one or all of uvw, Pt, Duvw.