00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00055 #ifndef __vtkParametricFunction_h
00056 #define __vtkParametricFunction_h
00057
00058 #include "vtkObject.h"
00059
00060 class VTK_COMMON_EXPORT vtkParametricFunction : public vtkObject
00061 {
00062 public:
00063 vtkTypeMacro(vtkParametricFunction, vtkObject);
00064 void PrintSelf(ostream& os, vtkIndent indent);
00065
00071 virtual int GetDimension() = 0;
00072
00081 virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) = 0;
00082
00088 virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) = 0;
00089
00091
00092 vtkSetMacro(MinimumU,double);
00093 vtkGetMacro(MinimumU,double);
00095
00097
00098 vtkSetMacro(MaximumU,double);
00099 vtkGetMacro(MaximumU,double);
00101
00103
00104 vtkSetMacro(MinimumV,double);
00105 vtkGetMacro(MinimumV,double);
00107
00109
00110 vtkSetMacro(MaximumV,double);
00111 vtkGetMacro(MaximumV,double);
00113
00115
00116 vtkSetMacro(MinimumW,double);
00117 vtkGetMacro(MinimumW,double);
00119
00121
00122 vtkSetMacro(MaximumW,double);
00123 vtkGetMacro(MaximumW,double);
00125
00127
00129 vtkSetMacro(JoinU,int);
00130 vtkGetMacro(JoinU,int);
00131 vtkBooleanMacro(JoinU,int);
00133
00135
00136 vtkSetMacro(JoinV,int);
00137 vtkGetMacro(JoinV,int);
00138 vtkBooleanMacro(JoinV,int);
00140
00142
00145 vtkSetMacro(TwistU,int);
00146 vtkGetMacro(TwistU,int);
00147 vtkBooleanMacro(TwistU,int);
00149
00151
00154 vtkSetMacro(TwistV,int);
00155 vtkGetMacro(TwistV,int);
00156 vtkBooleanMacro(TwistV,int);
00158
00160
00166 vtkSetMacro(ClockwiseOrdering,int);
00167 vtkGetMacro(ClockwiseOrdering,int);
00168 vtkBooleanMacro(ClockwiseOrdering,int);
00170
00172
00175 vtkSetMacro(DerivativesAvailable,int);
00176 vtkGetMacro(DerivativesAvailable,int);
00177 vtkBooleanMacro(DerivativesAvailable,int);
00179
00180 protected:
00181 vtkParametricFunction();
00182 virtual ~vtkParametricFunction();
00183
00184
00185 double MinimumU;
00186 double MaximumU;
00187 double MinimumV;
00188 double MaximumV;
00189 double MinimumW;
00190 double MaximumW;
00191
00192 int JoinU;
00193 int JoinV;
00194 int JoinW;
00195
00196 int TwistU;
00197 int TwistV;
00198 int TwistW;
00199
00200 int ClockwiseOrdering;
00201
00202 int DerivativesAvailable;
00203
00204 private:
00205 vtkParametricFunction(const vtkParametricFunction&);
00206 void operator=(const vtkParametricFunction&);
00207
00208 };
00209
00210 #endif