return *this;
}
-void Batch::append(const vector<unsigned> &ind)
+Batch &Batch::append(const vector<unsigned> &ind)
{
if(ind.empty())
- return;
+ return *this;
data.reserve(data.size()+ind.size()*get_index_size());
for(vector<unsigned>::const_iterator i=ind.begin(); i!=ind.end(); ++i)
update_offset();
dirty = true;
+
+ return *this;
}
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");
}
if(other.data.empty())
- return;
+ return *this;
if(prim_type==POINTS || prim_type==LINES || prim_type==TRIANGLES || prim_type==QUADS)
;
update_offset();
dirty = true;
+
+ return *this;
}
void Batch::append_index(unsigned i)
DataType get_data_type() const { return data_type; }
Batch &append(unsigned);
- void append(const std::vector<unsigned> &);
+ Batch &append(const std::vector<unsigned> &);
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(); }