00001 00014 #ifndef IFSOBJ_H 00015 #define IFSOBJ_H 00016 00017 #include <IS3DCommon.H> 00018 #include "DrawObj.H" 00019 00020 namespace IS3D { 00021 00022 typedef ReferenceCountedPointer<class IFSObj> IFSObjRef; 00023 00024 class IFSObj : public DrawObj 00025 { 00026 public: 00027 IFSObj(const std::string &filename); 00028 virtual ~IFSObj(); 00029 00030 void setShadeMode(RenderDevice::ShadeMode mode) { _shadeMode = mode; } 00031 RenderDevice::ShadeMode getShadeMode() { return _shadeMode; } 00032 00033 void reColor(const Color4 &c, int colorNum=0) { _color = c; } 00034 void reTexture(const std::string &texname, int texNum=0) { _texname = texname; } 00035 00036 void draw(); 00037 00038 protected: 00039 Color4 _color; 00040 std::string _texname; 00041 IFSModelRef _model; 00042 PosedModelRef _posed; 00043 RenderDevice::ShadeMode _shadeMode; 00044 }; 00045 00046 } // end namespace 00047 00048 #endif 00049