00001
00002
00003
00004
00005
00006 #ifndef HYPERTEXTURE_H
00007 #define HYPERTEXTURE_H
00008
00009 #include<Transformation.h>
00010
00011 #include<Vertex3.h>
00012 #include<real.h>
00013
00016 class HyperTexture : public Transformation
00017 {
00018 DYNAMIC_OBJECT;
00019 public:
00020 HyperTexture() : turbulence(1.0), octaves(1) {}
00021
00022
00023 void transform(Matrix4 &m);
00024
00025
00026 real distance(const Vertex3 &v);
00027
00028
00029 void parseSymbol(Token &t, ObjectFile &file);
00030 void writeParams(ostream &stream);
00031
00032 protected:
00033
00034 void createSymbols();
00035
00036 real turbulence;
00037 unsigned int octaves;
00038
00039 private:
00040 typedef Transformation super;
00041 };
00042 #endif