#ifndef __CONSUMER_H__ #define __CONSUMER_H__ #include "Thread.hxx" #include "Pool.hxx" #include "../camera/PerspectiveCamera.hxx" #include "../Scene.hxx" #include <string> class Consumer : public Thread { private: static Mutex mtx; Pool<std::pair<unsigned int, unsigned int> > * pool; std::string id; size_t num_items; Camera& camera; Scene scene; Vec3f *image; protected: virtual void run(); public: Consumer(Pool<std::pair<unsigned int, unsigned int> > * pool, std::string id, Camera& camera, Scene& scene, Vec3f image[]) : pool(pool), id(id), num_items(0), camera(camera), scene(scene), image(image) {}; void consume(size_t); }; #endif