00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00026 #ifndef __vtkQuadric_h
00027 #define __vtkQuadric_h
00028
00029 #include "vtkImplicitFunction.h"
00030
00031 class VTK_COMMON_EXPORT vtkQuadric : public vtkImplicitFunction
00032 {
00033 public:
00034 vtkTypeRevisionMacro(vtkQuadric,vtkImplicitFunction);
00035 void PrintSelf(ostream& os, vtkIndent indent);
00036
00038 static vtkQuadric *New();
00039
00041
00042 double EvaluateFunction(double x[3]);
00043 double EvaluateFunction(double x, double y, double z)
00044 {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ;
00046
00048 void EvaluateGradient(double x[3], double g[3]);
00049
00051
00052 void SetCoefficients(double a[10]);
00053 void SetCoefficients(double a0, double a1, double a2, double a3, double a4,
00054 double a5, double a6, double a7, double a8, double a9);
00055 vtkGetVectorMacro(Coefficients,double,10);
00057
00058 protected:
00059 vtkQuadric();
00060 ~vtkQuadric() {};
00061
00062 double Coefficients[10];
00063
00064 private:
00065 vtkQuadric(const vtkQuadric&);
00066 void operator=(const vtkQuadric&);
00067 };
00068
00069 #endif
00070
00071