00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00038 #ifndef __vtkParametricEllipsoid_h
00039 #define __vtkParametricEllipsoid_h
00040
00041 #include "vtkParametricFunction.h"
00042
00043 class VTK_COMMON_EXPORT vtkParametricEllipsoid : public vtkParametricFunction
00044 {
00045 public:
00046 vtkTypeRevisionMacro(vtkParametricEllipsoid,vtkParametricFunction);
00047 void PrintSelf(ostream& os, vtkIndent indent);
00048
00053 static vtkParametricEllipsoid *New();
00054
00056 virtual int GetDimension() {return 2;}
00057
00059
00060 vtkSetMacro(XRadius,double);
00061 vtkGetMacro(XRadius,double);
00063
00065
00066 vtkSetMacro(YRadius,double);
00067 vtkGetMacro(YRadius,double);
00069
00071
00072 vtkSetMacro(ZRadius,double);
00073 vtkGetMacro(ZRadius,double);
00075
00081 virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
00082
00091 virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
00092
00093 protected:
00094 vtkParametricEllipsoid();
00095 ~vtkParametricEllipsoid();
00096
00097
00098 double XRadius;
00099 double YRadius;
00100 double ZRadius;
00101 double N1;
00102 double N2;
00103
00104 private:
00105 vtkParametricEllipsoid(const vtkParametricEllipsoid&);
00106 void operator=(const vtkParametricEllipsoid&);
00107
00108 };
00109
00110 #endif