X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fbatch.cpp;h=56c25efb592e990e7438eae5932c53b4b9af7b72;hb=cdefdb4b0f94613c2b41757fb33ae155efa9a205;hp=c68beab908f8dc2a07c699a8b7bd6a9e41b5f35c;hpb=97818e67b2543a6075c13e6bf22c296757b975e5;p=libs%2Fgl.git diff --git a/source/core/batch.cpp b/source/core/batch.cpp index c68beab9..56c25efb 100644 --- a/source/core/batch.cpp +++ b/source/core/batch.cpp @@ -47,8 +47,7 @@ namespace GL { Batch::Batch(PrimitiveType t): BatchBackend(t), prim_type(t), - index_type(VOID), - max_index(0) + index_type(VOID) { set_index_type(UNSIGNED_SHORT); } @@ -73,6 +72,16 @@ void Batch::set_index_type(DataType t) mark_dirty(); } +void Batch::set_patch_size(unsigned s) +{ + if(prim_type!=PATCHES) + throw invalid_operation("Batch::set_patch_size"); + if(s<1) + throw invalid_argument("Batch::set_patch_size"); + + patch_size = s; +} + Batch &Batch::append(unsigned i) { append_index(i); @@ -176,6 +185,7 @@ Batch::Loader::Loader(Batch &b): DataFile::ObjectLoader(b) { add("indices", &Loader::indices); + add("patch_size", &Loader::patch_size); } void Batch::Loader::indices(const vector &ind) @@ -183,5 +193,10 @@ void Batch::Loader::indices(const vector &ind) obj.append(ind); } +void Batch::Loader::patch_size(unsigned s) +{ + obj.set_patch_size(s); +} + } // namespace GL } // namespace Msp