| Irrlicht 3D Engine |

IIndexBuffer.h
Go to the documentation of this file.

    00001 // Copyright (C) 2008-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_INDEX_BUFFER_H_INCLUDED__
    00006 #define __I_INDEX_BUFFER_H_INCLUDED__
    00007
    00008 #include "IReferenceCounted.h"
    00009 #include "irrArray.h"
    00010
    00011 #include "SVertexIndex.h"
    00012
    00013 namespace irr
    00014 {
    00015
    00016 namespace video
    00017 {
    00018
    00019 }
    00020
    00021 namespace scene
    00022 {
    00023
    00024     class IIndexBuffer : public virtual IReferenceCounted
    00025     {
    00026     public:
    00027
    00028         virtual void* getData() =0;
    00029
    00030         virtual video::E_INDEX_TYPE getType() const =0;
    00031         virtual void setType(video::E_INDEX_TYPE IndexType) =0;
    00032
    00033         virtual u32 stride() const =0;
    00034
    00035         virtual u32 size() const =0;
    00036         virtual void push_back (const u32 &element) =0;
    00037         virtual u32 operator [](u32 index) const =0;
    00038         virtual u32 getLast() =0;
    00039         virtual void setValue(u32 index, u32 value) =0;
    00040         virtual void set_used(u32 usedNow) =0;
    00041         virtual void reallocate(u32 new_size) =0;
    00042         virtual u32 allocated_size() const=0;
    00043
    00044         virtual void* pointer() =0;
    00045
    00047         virtual E_HARDWARE_MAPPING getHardwareMappingHint() const =0;
    00048
    00050         virtual void setHardwareMappingHint( E_HARDWARE_MAPPING NewMappingHint ) =0;
    00051
    00053         virtual void setDirty() = 0;
    00054
    00056
    00057         virtual u32 getChangedID() const = 0;
    00058     };
    00059
    00060
    00061 } // end namespace scene
    00062 } // end namespace irr
    00063
    00064 #endif
    00065