VTK
dox/Common/ComputationalGeometry/vtkParametricMobius.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkParametricMobius.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 =========================================================================*/
00033 #ifndef __vtkParametricMobius_h
00034 #define __vtkParametricMobius_h
00035 
00036 #include "vtkCommonComputationalGeometryModule.h" // For export macro
00037 #include "vtkParametricFunction.h"
00038 
00039 class VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT vtkParametricMobius : public vtkParametricFunction
00040 {
00041 public:
00042   vtkTypeMacro(vtkParametricMobius,vtkParametricFunction);
00043   void PrintSelf(ostream& os, vtkIndent indent);
00044 
00049   static vtkParametricMobius *New();
00050 
00052 
00053   vtkSetMacro(Radius,double);
00054   vtkGetMacro(Radius,double);
00056 
00058   virtual int GetDimension() {return 2;}
00059 
00065   virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]);
00066 
00075   virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]);
00076 
00077 protected:
00078   vtkParametricMobius();
00079   ~vtkParametricMobius();
00080 
00081   // Variables
00082   double Radius;
00083 
00084 private:
00085   vtkParametricMobius(const vtkParametricMobius&);  // Not implemented.
00086   void operator=(const vtkParametricMobius&);  // Not implemented.
00087 };
00088 
00089 #endif