VTK  9.3.0
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
40 #ifndef vtkParametricFigure8Klein_h
41 #define vtkParametricFigure8Klein_h
42 
43 #include "vtkCommonComputationalGeometryModule.h" // For export macro
44 #include "vtkParametricFunction.h"
45 
46 VTK_ABI_NAMESPACE_BEGIN
47 class VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT vtkParametricFigure8Klein : public vtkParametricFunction
48 {
49 public:
51  void PrintSelf(ostream& os, vtkIndent indent) override;
52 
64 
66 
69  vtkSetMacro(Radius, double);
70  vtkGetMacro(Radius, double);
72 
76  int GetDimension() override { return 2; }
77 
86  void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) override;
87 
101  double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) override;
102 
103 protected:
106 
107  // Variables
108  double Radius;
109 
110 private:
112  void operator=(const vtkParametricFigure8Klein&) = delete;
113 };
114 
115 VTK_ABI_NAMESPACE_END
116 #endif
a simple class to control print indentation
Definition: vtkIndent.h:38
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