- Batch &append(uint);
- void append(const std::vector<uint> &);
- unsigned size() const { return indices.size(); }
- const std::vector<uint> &get_indices() const { return indices; }
+ ~Batch();
+
+ PrimitiveType get_type() const { return prim_type; }
+ void set_data_type(DataType);
+ DataType get_data_type() const { return data_type; }
+
+ Batch &append(unsigned);
+ void append(const std::vector<unsigned> &);
+ bool can_append(PrimitiveType);
+ void append(const Batch &);
+private:
+ void append_index(unsigned);
+ virtual unsigned get_data_size() const { return data.size(); }
+ virtual void upload_data() const;
+ unsigned get_index_size() const;
+public:
+ unsigned size() const { return data.size()/get_index_size(); }
+
+ unsigned get_index(unsigned) const;
+