VTK
vtkParametricSuperEllipsoid.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkParametricSuperEllipsoid.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 =========================================================================*/
42 #ifndef __vtkParametricSuperEllipsoid_h
43 #define __vtkParametricSuperEllipsoid_h
44 
45 #include "vtkParametricFunction.h"
46 
48 {
49 public:
51  void PrintSelf(ostream& os, vtkIndent indent);
52 
59 
61  virtual int GetDimension() {return 2;}
62 
64 
65  vtkSetMacro(XRadius,double);
66  vtkGetMacro(XRadius,double);
68 
70 
71  vtkSetMacro(YRadius,double);
72  vtkGetMacro(YRadius,double);
74 
76 
77  vtkSetMacro(ZRadius,double);
78  vtkGetMacro(ZRadius,double);
80 
82 
83  vtkSetMacro(N1,double);
84  vtkGetMacro(N1,double);
86 
88 
89  vtkSetMacro(N2,double);
90  vtkGetMacro(N2,double);
92 
98  virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
99 
108  virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
109 
110 protected:
113 
114  // Variables
115  double XRadius;
116  double YRadius;
117  double ZRadius;
118  double N1;
119  double N2;
120 
121 private:
122  vtkParametricSuperEllipsoid(const vtkParametricSuperEllipsoid&); // Not implemented.
123  void operator=(const vtkParametricSuperEllipsoid&); // Not implemented.
124 
126  double Power ( double x, double n );
127 
128 };
129 
130 #endif
virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9])=0
virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9])=0
void PrintSelf(ostream &os, vtkIndent indent)
abstract interface for parametric functions
a simple class to control print indentation
Definition: vtkIndent.h:37
#define VTK_COMMON_EXPORT
static vtkObject * New()