00001 00014 #ifndef NektarModelOBJ_H 00015 #define NektarModelOBJ_H 00016 00017 #include <IS3DCommon.H> 00018 #include "NektarModel.H" 00019 #include "DrawObj.H" 00020 00021 namespace IS3D { 00022 00023 typedef ReferenceCountedPointer<class NektarModelObj> NektarModelObjRef; 00024 00025 class NektarModelObj : public DrawObj 00026 { 00027 public: 00028 NektarModelObj( const std::string &filename, 00029 int numTriangles, int numTimesteps ); 00030 virtual ~NektarModelObj(); 00031 00032 void setShadeMode(RenderDevice::ShadeMode mode) { _shadeMode = mode; } 00033 RenderDevice::ShadeMode getShadeMode() { return _shadeMode; } 00034 00035 void reColor(const Color4 &c, int colorNum=0) { _color = c; } 00036 void reTexture(const std::string &texname, int texNum=0) { _texname = texname; } 00037 00038 void draw(); 00039 00040 00041 NektarModelRef getNektarModel(); 00042 00043 void showVertexNumbers( bool s ) { _model->_show_vertex_numbers = s; } 00044 void showFaceNumbers( bool s ) { _model->_show_face_numbers = s; } 00045 int getNumTimesteps() { return _model->_num_timesteps; } 00046 int getCurrTimestep() { return _model->_curr_timestep; } 00047 void setTimestep ( int ts ) { _model->_curr_timestep = ts; } 00048 00049 protected: 00050 Color4 _color; 00051 std::string _texname; 00052 NektarModelRef _model; 00053 PosedModelRef _posed; 00054 RenderDevice::ShadeMode _shadeMode; 00055 00056 00057 }; 00058 00059 } // end namespace 00060 00061 #endif 00062