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.