--- /dev/null
+#include "mesh.h"
+#include "meshbuilder.h"
+
+namespace Msp {
+namespace GL {
+
+MeshBuilder::MeshBuilder(Mesh &m):
+ PrimitiveBuilder(m.vertices),
+ mesh(m),
+ batch(0)
+{ }
+
+MeshBuilder::~MeshBuilder()
+{
+ mesh.check_buffers(Mesh::VERTEX_BUFFER);
+}
+
+void MeshBuilder::auto_offset()
+{
+ offset(mesh.get_vertices().size());
+}
+
+void MeshBuilder::begin_()
+{
+ batch = new Batch(type);
+}
+
+void MeshBuilder::end_()
+{
+ mesh.add_batch(*batch);
+ delete batch;
+ batch = 0;
+}
+
+void MeshBuilder::element_(unsigned i)
+{
+ batch->append(i);
+}
+
+} // namespace GL
+} // namespace Msp