20 #if !defined(__MITSUBA_RENDER_RENDERQUEUE_H_)
21 #define __MITSUBA_RENDER_RENDERQUEUE_H_
23 #include <mitsuba/mitsuba.h>
46 virtual void refreshEvent(
const RenderJob *job);
49 virtual void finishJobEvent(
const RenderJob *job,
bool cancelled);
77 void removeJob(
RenderJob *thr,
bool wasCancelled);
92 void waitLeft(
size_t njobs)
const;
104 void signalFinishJob(
const RenderJob *job,
bool cancelled);
105 void signalRefresh(
const RenderJob *job);
114 unsigned int startTime;
116 inline JobRecord() { }
117 inline JobRecord(
unsigned int startTime)
118 : startTime(startTime) {
122 std::map<RenderJob *, JobRecord> m_jobs;
123 mutable std::vector<RenderJob *> m_joinList;
127 std::vector<RenderListener *> m_listeners;
Render queue - used to keep track of a number of scenes that are simultaneously being rendered...
Definition: renderqueue.h:65
size_t getJobCount() const
Return the current number of jobs in the queue.
Definition: renderqueue.h:71
#define MTS_DECLARE_CLASS()
This macro must be used in the initial definition in classes that derive from Object.
Definition: class.h:158
Reference counting helper.
Definition: ref.h:40
Storage for an image sub-block (a.k.a render bucket)
Definition: imageblock.h:40
Work unit that specifies a rectangular region in an image.
Definition: rectwu.h:33
Coordinates the process of rendering a single image.
Definition: renderjob.h:37
Parent of all Mitsuba classes.
Definition: object.h:38
Abstract render listener - can be used to react to progress messages (e.g. in a GUI) ...
Definition: renderqueue.h:33