HyperspaceExplorer 0.7.1
|
00001 00002 // project: hyperspace explorer 00003 // module: SteinerFunction.H 00004 // contains: Steiner surfaces -- this is sort of a dead branch, haven't 00005 // really implemented anything; needs to be redone to fit in 00006 // compile with: make all 00007 // author: helge preuss (scout@hyperspace-travel.de) 00008 // license: GPL (see License.txt) 00009 00010 00011 #if !defined(STEINER_FUNCTION_H) 00012 #define STEINER_FUNCTION_H 00013 00019 class SteinerFunction: public Function { 00020 public: 00021 SteinerFunction(); 00023 SteinerFunction (double _umin, double _umax, double _ustep, 00024 double _vmin, double _vmax, double _vstep, double _a = 2.); 00025 virtual ~SteinerFunction(); 00026 00028 virtual void Draw (void); 00029 00030 protected: 00032 virtual VecMath::Vector<4> &f(double, double) = 0; 00033 virtual VecMath::Vector<4> *df (double, double); 00034 00035 private: 00036 double a, 00037 umin, 00038 umax, 00039 du, 00040 vmin, 00041 vmax, 00042 dv; 00043 00044 VecMath::Vector<4> F; 00045 }; 00046 00047 #endif // !defined(STEINER_FUNCTION_H)