18 namespace artec {
namespace sdk {
namespace base
23 struct AlgorithmWorkset;
virtual const char * getDebugName() const =0
Returns short job name for debug purposes.
virtual ErrorCode process(int threadIndex)=0
Executes the algorithm's processing.
ErrorCode ABASESDK_LINK_SPEC executeJob(IJob *job, const AlgorithmWorkset *workset)
Synchronously execute a job in several threads.
Interface that represents a basic multithreaded work item; Used by executeJob and launchJob...
Workset for algorithm parameters.
virtual ErrorCode finish()=0
Sums everything up in the end.
ErrorCode ABASESDK_LINK_SPEC launchJob(IJob *job, const AlgorithmWorkset *workset, IJobObserver *jobObserver)
Asynchronously launch a job in several threads.
virtual unsigned int getThreadsRequired() const =0
Returns the required number of threads.
virtual ErrorCode reset()=0
Cleans the environment up.
#define ABASESDK_LINK_SPEC
Interface that implements reference counting and life-time management.
virtual ErrorCode start(const AlgorithmWorkset *runSet)=0
Sets the environment up, makes a processing schedule.