VTK
dox/Common/ComputationalGeometry/vtkParametricFunction.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkParametricFunction.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00055 #ifndef __vtkParametricFunction_h
00056 #define __vtkParametricFunction_h
00057 
00058 #include "vtkCommonComputationalGeometryModule.h" // For export macro
00059 #include "vtkObject.h"
00060 
00061 class VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT vtkParametricFunction : public vtkObject
00062 {
00063 public:
00064   vtkTypeMacro(vtkParametricFunction, vtkObject);
00065   void PrintSelf(ostream& os, vtkIndent indent);
00066 
00072   virtual int GetDimension() = 0;
00073 
00082   virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) = 0;
00083 
00089   virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) = 0;
00090 
00092 
00093   vtkSetMacro(MinimumU,double);
00094   vtkGetMacro(MinimumU,double);
00096 
00098 
00099   vtkSetMacro(MaximumU,double);
00100   vtkGetMacro(MaximumU,double);
00102 
00104 
00105   vtkSetMacro(MinimumV,double);
00106   vtkGetMacro(MinimumV,double);
00108 
00110 
00111   vtkSetMacro(MaximumV,double);
00112   vtkGetMacro(MaximumV,double);
00114 
00116 
00117   vtkSetMacro(MinimumW,double);
00118   vtkGetMacro(MinimumW,double);
00120 
00122 
00123   vtkSetMacro(MaximumW,double);
00124   vtkGetMacro(MaximumW,double);
00126 
00128 
00130   vtkSetMacro(JoinU,int);
00131   vtkGetMacro(JoinU,int);
00132   vtkBooleanMacro(JoinU,int);
00134 
00136 
00137   vtkSetMacro(JoinV,int);
00138   vtkGetMacro(JoinV,int);
00139   vtkBooleanMacro(JoinV,int);
00141 
00143 
00146   vtkSetMacro(TwistU,int);
00147   vtkGetMacro(TwistU,int);
00148   vtkBooleanMacro(TwistU,int);
00150 
00152 
00155   vtkSetMacro(TwistV,int);
00156   vtkGetMacro(TwistV,int);
00157   vtkBooleanMacro(TwistV,int);
00159 
00161 
00167   vtkSetMacro(ClockwiseOrdering,int);
00168   vtkGetMacro(ClockwiseOrdering,int);
00169   vtkBooleanMacro(ClockwiseOrdering,int);
00171 
00173 
00176   vtkSetMacro(DerivativesAvailable,int);
00177   vtkGetMacro(DerivativesAvailable,int);
00178   vtkBooleanMacro(DerivativesAvailable,int);
00180 
00181 protected:
00182   vtkParametricFunction();
00183   virtual ~vtkParametricFunction();
00184 
00185   // Variables
00186   double MinimumU;
00187   double MaximumU;
00188   double MinimumV;
00189   double MaximumV;
00190   double MinimumW;
00191   double MaximumW;
00192 
00193   int JoinU;
00194   int JoinV;
00195   int JoinW;
00196 
00197   int TwistU;
00198   int TwistV;
00199   int TwistW;
00200 
00201   int ClockwiseOrdering;
00202 
00203   int DerivativesAvailable;
00204 
00205 private:
00206   vtkParametricFunction(const vtkParametricFunction&);  // Not implemented.
00207   void operator=(const vtkParametricFunction&);  // Not implemented.
00208 
00209 };
00210 
00211 #endif