forked from Mirrorlandia_minetest/irrlicht
Add IVertexBuffer::setValue. Add comments.
Same as in IIndexBuffer. Needed as replacement for non const operator[] which can't be done for this interface (as type is dynamic). git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6344 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
parent
dd36699ad2
commit
57bcc52ca1
@ -25,6 +25,7 @@ namespace scene
|
||||
virtual u32 size() const =0;
|
||||
|
||||
virtual void push_back (const video::S3DVertex &element) =0;
|
||||
virtual void setValue(u32 index, const video::S3DVertex &value) =0;
|
||||
virtual video::S3DVertex& operator [](const u32 index) const =0;
|
||||
virtual video::S3DVertex& getLast() =0;
|
||||
virtual void set_used(u32 usedNow) =0;
|
||||
@ -47,6 +48,9 @@ namespace scene
|
||||
virtual void push_back (const video::S3DVertex &element) IRR_OVERRIDE
|
||||
{Vertices.push_back((T&)element);}
|
||||
|
||||
virtual void setValue(u32 index, const video::S3DVertex &value) IRR_OVERRIDE
|
||||
{Vertices[index] = (T&)value;}
|
||||
|
||||
virtual video::S3DVertex& operator [](const u32 index) const IRR_OVERRIDE
|
||||
{return (video::S3DVertex&)Vertices[index];}
|
||||
|
||||
@ -149,6 +153,11 @@ namespace scene
|
||||
Vertices->push_back(element);
|
||||
}
|
||||
|
||||
virtual void setValue(u32 index, const video::S3DVertex &value) IRR_OVERRIDE
|
||||
{
|
||||
Vertices->setValue(index, value);
|
||||
}
|
||||
|
||||
virtual video::S3DVertex& operator [](const u32 index) const IRR_OVERRIDE
|
||||
{
|
||||
return (*Vertices)[index];
|
||||
|
@ -20,24 +20,33 @@ namespace scene
|
||||
{
|
||||
public:
|
||||
|
||||
//! Pointer to first element
|
||||
virtual void* getData() =0;
|
||||
|
||||
//! Same as getData()
|
||||
virtual void* pointer() =0;
|
||||
|
||||
virtual video::E_INDEX_TYPE getType() const =0;
|
||||
virtual void setType(video::E_INDEX_TYPE IndexType) =0;
|
||||
|
||||
//! Number of bytes per element
|
||||
virtual u32 stride() const =0;
|
||||
|
||||
//! Number of elements
|
||||
virtual u32 size() const =0;
|
||||
|
||||
virtual void push_back (const u32 &element) =0;
|
||||
|
||||
//! Set value at index.
|
||||
/** Buffer must be already large enough. This is basically the non const version of operator [] */
|
||||
virtual void setValue(u32 index, u32 value) =0;
|
||||
|
||||
virtual u32 operator [](u32 index) const =0;
|
||||
virtual u32 getLast() =0;
|
||||
virtual void setValue(u32 index, u32 value) =0;
|
||||
virtual void set_used(u32 usedNow) =0;
|
||||
virtual void reallocate(u32 new_size, bool canShrink=true) =0;
|
||||
virtual u32 allocated_size() const=0;
|
||||
|
||||
virtual void* pointer() =0;
|
||||
|
||||
//! get the current hardware mapping hint
|
||||
virtual E_HARDWARE_MAPPING getHardwareMappingHint() const =0;
|
||||
|
||||
|
@ -21,6 +21,9 @@ namespace scene
|
||||
//! Pointer to first element of vertex data
|
||||
virtual void* getData() =0;
|
||||
|
||||
//! Same as getData() and real type returned is not always video::S3DVertex* but depends on type
|
||||
virtual video::S3DVertex* pointer() =0;
|
||||
|
||||
virtual video::E_VERTEX_TYPE getType() const =0;
|
||||
virtual void setType(video::E_VERTEX_TYPE vertexType) =0;
|
||||
|
||||
@ -30,17 +33,23 @@ namespace scene
|
||||
//! Number of elements
|
||||
virtual u32 size() const =0;
|
||||
|
||||
//! Add vertex to end. Note that depending on vertex type this will be one of the types derived from video::S3DVertex.
|
||||
//! Add vertex to end.
|
||||
//* Note that depending on vertex type reference has to be one of the types derived from video::S3DVertex. */
|
||||
virtual void push_back(const video::S3DVertex &element) =0;
|
||||
|
||||
//! Set value at index.
|
||||
/** Depending on vertex type reference has to be one of the types derived from video::S3DVertex.
|
||||
Buffer must be already large enough. This is basically the non const version of operator [] */
|
||||
virtual void setValue(u32 index, const video::S3DVertex &value) =0;
|
||||
|
||||
// Note that the reference can also be to one of the derived types
|
||||
virtual video::S3DVertex& operator [](const u32 index) const =0;
|
||||
virtual video::S3DVertex& getLast() =0;
|
||||
|
||||
virtual void set_used(u32 usedNow) =0;
|
||||
virtual void reallocate(u32 new_size, bool canShrink=true) =0;
|
||||
virtual u32 allocated_size() const =0;
|
||||
|
||||
//! Same as getData() - not sure why we got 2, should probably deprecate (and we don't always have video::S3DVertex*, so just confusing)
|
||||
virtual video::S3DVertex* pointer() =0;
|
||||
|
||||
//! get the current hardware mapping hint
|
||||
virtual E_HARDWARE_MAPPING getHardwareMappingHint() const =0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user