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