Rhino C++ API
8.13
|
#include <RhRdkNewPostEffectPlugIn.h>
Classes | |
class | IJob |
Public Member Functions | |
virtual void * | EVF (const wchar_t *, void *)=0 |
virtual bool | RunPostEffect (IJob &job, IRhRdkPostEffectPipeline &pepl, const IRhRdkPostEffect &pe, const ON_4iRect &rect, const ON_SimpleArray< UUID > &aChanId, void *pExtension)=0 |
Protected Member Functions | |
virtual | ~IRhRdkPostEffectThreadEngine () |
This class allows post effects to run asynchronously (off of the main thread) by queuing jobs that run on a worker thread. It is implemented by the RDK. Example usage:
bool CMyPostEffect::Execute(IRhRdkPostEffectPipeline& pepl, const ON_4iRect& rect) const { CMyPostEffectJob job(*this); // Implements IRhRdkPostEffectThreadEngine::IJob ON_SimpleArray<UUID> aChanId; aChanId.Append(IRhRdkRenderWindow::chanRGBA); aChanId.Append(...); return pepl.ThreadEngine().RunPostEffect(job, pepl, *this, rect, aChanId, nullptr); }
|
inlineprotectedvirtual |
|
pure virtual |
Emergency virtual function for future expansion.
|
pure virtual |
Called from a post effect's Execute() method to run the post effect asynchronously. Post effects are queued as 'jobs' and run in sequence on a worker thread.
job | is the job that will be executed asynchronously (on a thread). The job is copied so that ownership of 'job' remains with the caller. Note that IJob& job should be const and this will be corrected the next time we can break the SDK. |
pepl | is the post effect pipeline that was passed to the post effect's Execute() method. |
pe | is the post effect being executed. |
rect | is the rectangle that was passed to the post effect's Execute() method. |
aChanId | is an array of channel identifiers to the channels the post effect will process. |
pExtension | is for future expansion and should be passed as nullptr. |