arsa  2.7
IVertexBuffer.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_VERTEX_BUFFER_H_INCLUDED__
6 #define __I_VERTEX_BUFFER_H_INCLUDED__
7 
8 #include "IReferenceCounted.h"
9 #include "irrArray.h"
10 #include "S3DVertex.h"
11 
12 namespace irr
13 {
14 namespace scene
15 {
16 
17  class IVertexBuffer : public virtual IReferenceCounted
18  {
19  public:
20  virtual void* getData() =0;
21  virtual video::E_VERTEX_TYPE getType() const =0;
22  virtual void setType(video::E_VERTEX_TYPE vertexType) =0;
23  virtual u32 stride() const =0;
24  virtual u32 size() const =0;
25  virtual void push_back(const video::S3DVertex &element) =0;
26  virtual video::S3DVertex& operator [](const u32 index) const =0;
27  virtual video::S3DVertex& getLast() =0;
28  virtual void set_used(u32 usedNow) =0;
29  virtual void reallocate(u32 new_size) =0;
30  virtual u32 allocated_size() const =0;
31  virtual video::S3DVertex* pointer() =0;
32 
34  virtual E_HARDWARE_MAPPING getHardwareMappingHint() const =0;
35 
37  virtual void setHardwareMappingHint( E_HARDWARE_MAPPING NewMappingHint ) =0;
38 
40  virtual void setDirty() =0;
41 
43 
44  virtual u32 getChangedID() const = 0;
45  };
46 
47 
48 } // end namespace scene
49 } // end namespace irr
50 
51 #endif
52 
virtual u32 size() const =0
virtual E_HARDWARE_MAPPING getHardwareMappingHint() const =0
get the current hardware mapping hint
virtual void push_back(const video::S3DVertex &element)=0
virtual u32 getChangedID() const =0
Get the currently used ID for identification of changes.
virtual u32 stride() const =0
Everything in the Irrlicht Engine can be found in this namespace.
Definition: CARSADPad.h:6
virtual u32 allocated_size() const =0
virtual void * getData()=0
unsigned int u32
32 bit unsigned variable.
Definition: irrTypes.h:62
virtual video::E_VERTEX_TYPE getType() const =0
standard vertex used by the Irrlicht engine.
Definition: S3DVertex.h:44
virtual video::S3DVertex * pointer()=0
virtual void set_used(u32 usedNow)=0
GLuint index
virtual video::S3DVertex & getLast()=0
virtual video::S3DVertex & operator [](const u32 index) const =0
Base class of most objects of the Irrlicht Engine.
virtual void reallocate(u32 new_size)=0
E_VERTEX_TYPE
Enumeration for all vertex types there are.
Definition: S3DVertex.h:18
virtual void setType(video::E_VERTEX_TYPE vertexType)=0
virtual void setHardwareMappingHint(E_HARDWARE_MAPPING NewMappingHint)=0
set the hardware mapping hint, for driver
virtual void setDirty()=0
flags the meshbuffer as changed, reloads hardware buffers