From: Mikko Rasa Date: Sun, 22 Apr 2018 08:50:27 +0000 (+0300) Subject: Make all forms of Batch::append return a reference to itself X-Git-Url: http://git.tdb.fi/?a=commitdiff_plain;h=3ba81ebaaec0c271d68cc12afbea86c394c3403d;p=libs%2Fgl.git Make all forms of Batch::append return a reference to itself --- diff --git a/source/batch.cpp b/source/batch.cpp index 741d5a49..89b8f48f 100644 --- a/source/batch.cpp +++ b/source/batch.cpp @@ -103,10 +103,10 @@ Batch &Batch::append(unsigned i) return *this; } -void Batch::append(const vector &ind) +Batch &Batch::append(const vector &ind) { if(ind.empty()) - return; + return *this; data.reserve(data.size()+ind.size()*get_index_size()); for(vector::const_iterator i=ind.begin(); i!=ind.end(); ++i) @@ -114,6 +114,8 @@ void Batch::append(const vector &ind) update_offset(); dirty = true; + + return *this; } bool Batch::can_append(PrimitiveType other_type) @@ -126,7 +128,7 @@ bool Batch::can_append(PrimitiveType other_type) return true; } -void Batch::append(const Batch &other) +Batch &Batch::append(const Batch &other) { if(other.prim_type!=prim_type) throw invalid_argument("Batch::append"); @@ -141,7 +143,7 @@ void Batch::append(const Batch &other) } if(other.data.empty()) - return; + return *this; if(prim_type==POINTS || prim_type==LINES || prim_type==TRIANGLES || prim_type==QUADS) ; @@ -176,6 +178,8 @@ void Batch::append(const Batch &other) update_offset(); dirty = true; + + return *this; } void Batch::append_index(unsigned i) diff --git a/source/batch.h b/source/batch.h index 0d05d6d4..10c61a28 100644 --- a/source/batch.h +++ b/source/batch.h @@ -50,9 +50,9 @@ public: DataType get_data_type() const { return data_type; } Batch &append(unsigned); - void append(const std::vector &); + Batch &append(const std::vector &); bool can_append(PrimitiveType); - void append(const Batch &); + Batch &append(const Batch &); private: void append_index(unsigned); virtual unsigned get_data_size() const { return data.size(); }