]> git.lizzy.rs Git - irrlicht.git/blob - include/IIndexBuffer.h
Drop ETS_TEXTURE_1
[irrlicht.git] / include / IIndexBuffer.h
1 // Copyright (C) 2008-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_INDEX_BUFFER_H_INCLUDED__\r
6 #define __I_INDEX_BUFFER_H_INCLUDED__\r
7 \r
8 #include "IReferenceCounted.h"\r
9 #include "irrArray.h"\r
10 #include "EHardwareBufferFlags.h"\r
11 #include "SVertexIndex.h"\r
12 \r
13 namespace irr\r
14 {\r
15 \r
16 namespace video\r
17 {\r
18 \r
19 }\r
20 \r
21 namespace scene\r
22 {\r
23 \r
24         class IIndexBuffer : public virtual IReferenceCounted\r
25         {\r
26         public:\r
27 \r
28                 virtual void* getData() =0;\r
29 \r
30                 virtual video::E_INDEX_TYPE getType() const =0;\r
31                 virtual void setType(video::E_INDEX_TYPE IndexType) =0;\r
32 \r
33                 virtual u32 stride() const =0;\r
34 \r
35                 virtual u32 size() const =0;\r
36                 virtual void push_back (const u32 &element) =0;\r
37                 virtual u32 operator [](u32 index) const =0;\r
38                 virtual u32 getLast() =0;\r
39                 virtual void setValue(u32 index, u32 value) =0;\r
40                 virtual void set_used(u32 usedNow) =0;\r
41                 virtual void reallocate(u32 new_size) =0;\r
42                 virtual u32 allocated_size() const=0;\r
43 \r
44                 virtual void* pointer() =0;\r
45 \r
46                 //! get the current hardware mapping hint\r
47                 virtual E_HARDWARE_MAPPING getHardwareMappingHint() const =0;\r
48 \r
49                 //! set the hardware mapping hint, for driver\r
50                 virtual void setHardwareMappingHint( E_HARDWARE_MAPPING NewMappingHint ) =0;\r
51 \r
52                 //! flags the meshbuffer as changed, reloads hardware buffers\r
53                 virtual void setDirty() = 0;\r
54 \r
55                 //! Get the currently used ID for identification of changes.\r
56                 /** This shouldn't be used for anything outside the VideoDriver. */\r
57                 virtual u32 getChangedID() const = 0;\r
58         };\r
59 \r
60 \r
61 } // end namespace scene\r
62 } // end namespace irr\r
63 \r
64 #endif\r
65 \r