00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00033 #ifndef __vtkParametricTorus_h
00034 #define __vtkParametricTorus_h
00035
00036 #include "vtkParametricFunction.h"
00037
00038 class VTK_COMMON_EXPORT vtkParametricTorus : public vtkParametricFunction
00039 {
00040
00041 public:
00042 vtkTypeRevisionMacro(vtkParametricTorus,vtkParametricFunction);
00043 void PrintSelf(ostream& os, vtkIndent indent);
00044
00049 static vtkParametricTorus *New();
00050
00052
00054 vtkSetMacro(RingRadius,double);
00055 vtkGetMacro(RingRadius,double);
00057
00059
00061 vtkSetMacro(CrossSectionRadius,double);
00062 vtkGetMacro(CrossSectionRadius,double);
00064
00066 virtual int GetDimension() {return 2;}
00067
00073 virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
00074
00083 virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
00084
00085 protected:
00086 vtkParametricTorus();
00087 ~vtkParametricTorus();
00088
00089
00090 double RingRadius;
00091 double CrossSectionRadius;
00092
00093 private:
00094 vtkParametricTorus(const vtkParametricTorus&);
00095 void operator=(const vtkParametricTorus&);
00096 };
00097
00098 #endif