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