Irrlicht 3D Engine
IIndexBuffer.h
Go to the documentation of this file.
1 // Copyright (C) 2008-2012 Nikolaus Gebhardt
2 // This file is part of the "Irrlicht Engine".
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
4 
5 #ifndef __I_INDEX_BUFFER_H_INCLUDED__
6 #define __I_INDEX_BUFFER_H_INCLUDED__
7 
8 #include "IReferenceCounted.h"
9 #include "irrArray.h"
10 
11 #include "SVertexIndex.h"
12 
13 namespace irr
14 {
15 
16 namespace video
17 {
18 
19 }
20 
21 namespace scene
22 {
23 
24  class IIndexBuffer : public virtual IReferenceCounted
25  {
26  public:
27 
28  virtual void* getData() =0;
29 
30  virtual video::E_INDEX_TYPE getType() const =0;
31  virtual void setType(video::E_INDEX_TYPE IndexType) =0;
32 
33  virtual u32 stride() const =0;
34 
35  virtual u32 size() const =0;
36  virtual void push_back (const u32 &element) =0;
37  virtual u32 operator [](u32 index) const =0;
38  virtual u32 getLast() =0;
39  virtual void setValue(u32 index, u32 value) =0;
40  virtual void set_used(u32 usedNow) =0;
41  virtual void reallocate(u32 new_size) =0;
42  virtual u32 allocated_size() const=0;
43 
44  virtual void* pointer() =0;
45 
47  virtual E_HARDWARE_MAPPING getHardwareMappingHint() const =0;
48 
50  virtual void setHardwareMappingHint( E_HARDWARE_MAPPING NewMappingHint ) =0;
51 
53  virtual void setDirty() = 0;
54 
56 
57  virtual u32 getChangedID() const = 0;
58  };
59 
60 
61 } // end namespace scene
62 } // end namespace irr
63 
64 #endif
65 
Everything in the Irrlicht Engine can be found in this namespace.
Definition: aabbox3d.h:12
unsigned int u32
32 bit unsigned variable.
Definition: irrTypes.h:58
Base class of most objects of the Irrlicht Engine.