X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpartcache.h;h=8099676f95d177ecc3855bf00006db2a3aa11263;hb=6d9570c97584758e3cfcac6827d439b7fb844cf4;hp=4eef1166d1d9e75f0bc39bd27b087350e8cbf3c1;hpb=01d30637b393b2f8a932b1d943076db580b1e951;p=libs%2Fgltk.git diff --git a/source/partcache.h b/source/partcache.h index 4eef116..8099676 100644 --- a/source/partcache.h +++ b/source/partcache.h @@ -3,6 +3,7 @@ #include #include +#include "mspgltk_api.h" namespace Msp { namespace GLtk { @@ -11,15 +12,17 @@ class Part; struct CachedPart { - const Part *part; - const GL::Texture2D *texture; - GL::Mesh *mesh; + const Part *part = nullptr; + const GL::Texture2D *texture = nullptr; + GL::Mesh *mesh = nullptr; - CachedPart(); + CachedPart() = default; + CachedPart(CachedPart &&); + CachedPart &operator=(CachedPart &&); ~CachedPart(); }; -class PartCache +class MSPGLTK_API PartCache { public: class Rebuild @@ -35,14 +38,12 @@ public: typedef std::list PartList; private: - bool rebuilding; + bool rebuilding = false; PartList parts; PartList::iterator next; PartList::iterator current; public: - PartCache(); - void begin_rebuild(); void insert_special(const Part &); GL::Mesh &create_mesh(const Part &, const GL::Texture2D &);