X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fvertexarray.h;h=60e035f9a6ad429cef54bee4aaa1832d38fb4e08;hb=be6ffe96ecb4707599fe1a6f620c348760213d46;hp=55ee8d24ae10cb1bff4a4259c3f32d4d1f88aec4;hpb=d493917dbc215cd6ba3f8773a52a289d9f14380d;p=libs%2Fgl.git diff --git a/source/core/vertexarray.h b/source/core/vertexarray.h index 55ee8d24..60e035f9 100644 --- a/source/core/vertexarray.h +++ b/source/core/vertexarray.h @@ -1,21 +1,15 @@ #ifndef MSP_GL_VERTEXARRAY_H_ #define MSP_GL_VERTEXARRAY_H_ -#include #include -#include #include #include "bufferable.h" -#include "datatype.h" -#include "primitivetype.h" #include "vertexarraybuilder.h" #include "vertexformat.h" namespace Msp { namespace GL { -class Buffer; - /** Stores vertex data. @@ -38,12 +32,12 @@ public: private: VertexFormat format; std::vector data; - unsigned stride; + unsigned stride = 0; VertexArray(const VertexArray &); VertexArray &operator=(const VertexArray &); public: - VertexArray(); + VertexArray() = default; /// Construct a VertexArray and set its format. VertexArray(const VertexFormat &); @@ -57,21 +51,21 @@ public: void clear(); /// Reserve space for vertices. - void reserve(unsigned); + void reserve(std::size_t n); /// Append a new vertex at the end of the array and return its location. char *append(); /// Returns the location of a vertex for modification. - char *modify(unsigned); + char *modify(std::size_t); private: - virtual unsigned get_data_size() const; + virtual std::size_t get_data_size() const; virtual const void *get_data_pointer() const { return &data[0]; } public: - unsigned size() const { return data.size()/stride; } + std::size_t size() const { return data.size()/stride; } const std::vector &get_data() const { return data; } - const char *operator[](unsigned i) const { return &data[0]+i*stride; } + const char *operator[](std::size_t i) const { return &data[0]+i*stride; } }; } // namespace GL