00001 00011 #ifndef TEXPLANE_H 00012 #define TEXPLANE_H 00013 00014 #include "DrawObj.H" 00015 #include "Color.H" 00016 00017 // Gluebase includes 00018 #define OUTSIDE_GLUE_CORE 00019 #include <std/strings.H> 00020 00021 namespace InSpace { 00022 00023 class TexPlane : public DrawObj 00024 { 00025 public: 00026 00027 TexPlane(str_ptr texName); 00028 virtual ~TexPlane(); 00029 00030 void setTexName(str_ptr t) { _texName = t; } 00031 str_ptr texName() { return _texName; } 00032 00033 Color color() { return _color; } 00034 void setColor(Color c) { _color = c; } 00035 00036 void reColor(Color c) { setColor(c); } 00037 00038 void draw(); 00039 00040 void writeCPS(ostream *os); 00041 00042 protected: 00043 00044 str_ptr _texName; 00045 00046 Color _color; 00047 00048 // default material properties 00049 double _shininess; 00050 Color _diffuse; 00051 Color _specular; 00052 Color _emission; 00053 Color _ambient; 00054 00055 }; 00056 00057 } 00058 #endif