VTK  9.3.20240419
vtkParametricFigure8Klein.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
50 #ifndef vtkParametricFigure8Klein_h
51 #define vtkParametricFigure8Klein_h
52 
53 #include "vtkCommonComputationalGeometryModule.h" // For export macro
54 #include "vtkParametricFunction.h"
55 
56 VTK_ABI_NAMESPACE_BEGIN
57 class VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT vtkParametricFigure8Klein : public vtkParametricFunction
58 {
59 public:
61  void PrintSelf(ostream& os, vtkIndent indent) override;
62 
74 
76 
79  vtkSetMacro(Radius, double);
80  vtkGetMacro(Radius, double);
82 
86  int GetDimension() override { return 2; }
87 
96  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) override;
97 
111  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) override;
112 
113 protected:
116 
117  // Variables
118  double Radius;
119 
120 private:
122  void operator=(const vtkParametricFigure8Klein&) = delete;
123 };
124 
125 VTK_ABI_NAMESPACE_END
126 #endif
a simple class to control print indentation
Definition: vtkIndent.h:108
Generate a figure-8 Klein bottle.
void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) override
A Figure-8 Klein bottle.
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.
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.
~vtkParametricFigure8Klein() override
static vtkParametricFigure8Klein * New()
Construct a figure-8 Klein Bottle with the following parameters: MinimumU = -Pi, MaximumU = Pi,...
abstract interface for parametric functions