]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/vertexarray.h
Use default member initializers for simple types
[libs/gl.git] / source / core / vertexarray.h
index 107d1851f8a70b99a2d5bb24533034a86cc1c883..d80b2786db4d996f04b74d9514b3baaa1fecbf61 100644 (file)
@@ -1,21 +1,15 @@
 #ifndef MSP_GL_VERTEXARRAY_H_
 #define MSP_GL_VERTEXARRAY_H_
 
-#include <climits>
 #include <vector>
-#include <msp/core/refptr.h>
 #include <msp/datafile/loader.h>
 #include "bufferable.h"
-#include "datatype.h"
-#include "primitivetype.h"
 #include "vertexarraybuilder.h"
 #include "vertexformat.h"
 
 namespace Msp {
 namespace GL {
 
-class Buffer;
-
 /**
 Stores vertex data.
 
@@ -37,13 +31,13 @@ public:
 
 private:
        VertexFormat format;
-       std::vector<float> data;
-       unsigned stride;
+       std::vector<char> data;
+       unsigned stride = 0;
 
        VertexArray(const VertexArray &);
        VertexArray &operator=(const VertexArray &);
 public:
-       VertexArray();
+       VertexArray() = default;
 
        /// Construct a VertexArray and set its format.
        VertexArray(const VertexFormat &);
@@ -60,18 +54,18 @@ public:
        void reserve(unsigned);
 
        /// Append a new vertex at the end of the array and return its location.
-       float *append();
+       char *append();
 
        /// Returns the location of a vertex for modification.
-       float *modify(unsigned);
+       char *modify(unsigned);
 private:
        virtual unsigned get_data_size() const;
        virtual const void *get_data_pointer() const { return &data[0]; }
 
 public:
        unsigned size() const { return data.size()/stride; }
-       const std::vector<float> &get_data() const { return data; }
-       const float *operator[](unsigned i) const { return &data[0]+i*stride; }
+       const std::vector<char> &get_data() const { return data; }
+       const char *operator[](unsigned i) const { return &data[0]+i*stride; }
 };
 
 } // namespace GL