00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt 00002 // This file is part of the "Irrlicht Engine". 00003 // For conditions of distribution and use, see copyright notice in irrlicht.h 00004 00005 #ifndef __I_Q3_LEVEL_MESH_H_INCLUDED__ 00006 #define __I_Q3_LEVEL_MESH_H_INCLUDED__ 00007 00008 #include "IAnimatedMesh.h" 00009 #include "IQ3Shader.h" 00010 00011 namespace irr 00012 { 00013 namespace scene 00014 { 00016 00017 class IQ3LevelMesh : public IAnimatedMesh 00018 { 00019 public: 00020 00022 00024 virtual const quake3::IShader* getShader( const c8* filename, bool fileNameIsValid=true ) = 0; 00025 00027 virtual const quake3::IShader* getShader(u32 index) const = 0; 00028 00030 virtual quake3::tQ3EntityList& getEntityList() = 0; 00031 00033 00036 virtual IMesh* getBrushEntityMesh(s32 num) const = 0; 00037 00039 virtual IMesh* getBrushEntityMesh(quake3::IEntity &ent) const = 0; 00040 }; 00041 00042 } // end namespace scene 00043 } // end namespace irr 00044 00045 #endif 00046