]> git.lizzy.rs Git - irrlicht.git/blob - include/IQ3LevelMesh.h
Add github workflow & gitignore
[irrlicht.git] / include / IQ3LevelMesh.h
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt\r
2 // This file is part of the "Irrlicht Engine".\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h\r
4 \r
5 #ifndef __I_Q3_LEVEL_MESH_H_INCLUDED__\r
6 #define __I_Q3_LEVEL_MESH_H_INCLUDED__\r
7 \r
8 #include "IAnimatedMesh.h"\r
9 #include "IQ3Shader.h"\r
10 \r
11 namespace irr\r
12 {\r
13 namespace scene\r
14 {\r
15         //! Interface for a Mesh which can be loaded directly from a Quake3 .bsp-file.\r
16         /** The Mesh tries to load all textures of the map.*/\r
17         class IQ3LevelMesh : public IAnimatedMesh\r
18         {\r
19         public:\r
20 \r
21                 //! loads the shader definition from file\r
22                 /** \param filename Name of the shaderfile, defaults to /scripts if fileNameIsValid is false.\r
23                 \param fileNameIsValid Specifies whether the filename is valid in the current situation. */\r
24                 virtual const quake3::IShader* getShader( const c8* filename, bool fileNameIsValid=true ) = 0;\r
25 \r
26                 //! returns a already loaded Shader\r
27                 virtual const quake3::IShader* getShader(u32 index) const = 0;\r
28 \r
29                 //! get's an interface to the entities\r
30                 virtual quake3::tQ3EntityList& getEntityList() = 0;\r
31 \r
32                 //! returns the requested brush entity\r
33                 /** \param num The number from the model key of the entity.\r
34 \r
35                 Use this interface if you parse the entities yourself.*/\r
36                 virtual IMesh* getBrushEntityMesh(s32 num) const = 0;\r
37 \r
38                 //! returns the requested brush entity\r
39                 virtual IMesh* getBrushEntityMesh(quake3::IEntity &ent) const = 0;\r
40         };\r
41 \r
42 } // end namespace scene\r
43 } // end namespace irr\r
44 \r
45 #endif\r
46 \r