00001 00010 #ifndef ANIMTEXPLANE_H 00011 #define ANIMTEXPLANE_H 00012 00013 #include "DrawObj.H" 00014 #include "Color.H" 00015 00016 // Gluebase includes 00017 #define OUTSIDE_GLUE_CORE 00018 #include <std/strings.H> 00019 00020 namespace InSpace { 00021 00022 class AnimTexPlane : public DrawObj 00023 { 00024 public: 00025 00026 AnimTexPlane(str_ptr texNameList, double frameTimeInterval, 00027 int blendTransitions); 00028 virtual ~AnimTexPlane(); 00029 00030 void preFrame(); 00031 00032 Color color() { return _color; } 00033 void setColor(Color c) { _color = c; } 00034 00035 void draw(); 00036 00037 protected: 00038 00039 void loadTextures(char *filelist); 00040 00041 ARRAY<str_ptr> _textures; 00042 double _frameTimeInterval; 00043 double _lastFrameTime; 00044 int _curFrame; 00045 int _nextFrame; 00046 double _alpha; 00047 Color _color; 00048 int _blendTransitions; 00049 00050 // default material properties 00051 double _shininess; 00052 Color _diffuse; 00053 Color _specular; 00054 Color _emission; 00055 Color _ambient; 00056 00057 }; 00058 00059 } 00060 00061 #endif