VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkParametricEllipsoid.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 =========================================================================*/ 00038 #ifndef __vtkParametricEllipsoid_h 00039 #define __vtkParametricEllipsoid_h 00040 00041 #include "vtkCommonComputationalGeometryModule.h" // For export macro 00042 #include "vtkParametricFunction.h" 00043 00044 class VTKCOMMONCOMPUTATIONALGEOMETRY_EXPORT vtkParametricEllipsoid : public vtkParametricFunction 00045 { 00046 public: 00047 vtkTypeMacro(vtkParametricEllipsoid,vtkParametricFunction); 00048 void PrintSelf(ostream& os, vtkIndent indent); 00049 00054 static vtkParametricEllipsoid *New(); 00055 00057 virtual int GetDimension() {return 2;} 00058 00060 00061 vtkSetMacro(XRadius,double); 00062 vtkGetMacro(XRadius,double); 00064 00066 00067 vtkSetMacro(YRadius,double); 00068 vtkGetMacro(YRadius,double); 00070 00072 00073 vtkSetMacro(ZRadius,double); 00074 vtkGetMacro(ZRadius,double); 00076 00082 virtual void Evaluate(double uvw[3], double Pt[3], double Duvw[9]); 00083 00092 virtual double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]); 00093 00094 protected: 00095 vtkParametricEllipsoid(); 00096 ~vtkParametricEllipsoid(); 00097 00098 // Variables 00099 double XRadius; 00100 double YRadius; 00101 double ZRadius; 00102 double N1; 00103 double N2; 00104 00105 private: 00106 vtkParametricEllipsoid(const vtkParametricEllipsoid&); // Not implemented. 00107 void operator=(const vtkParametricEllipsoid&); // Not implemented. 00108 00109 }; 00110 00111 #endif