ICF 3.0.5.47
Technical documentation of ICF Libraries
iproc::IProcessor Class Referenceabstract

Interface for all synchrone and asynchrone processors with "push data" model. More...

#include <IProcessor.h>

Inheritance diagram for iproc::IProcessor:
Collaboration diagram for iproc::IProcessor:

Public Types

enum  MessageId { MI_BAD_PARAMS = 0x16372620 , MI_PROCESSING_ERROR }
 
enum  ProcessorState { PS_UNKNOWN , PS_INITIALIZATION , PS_READY , PS_INVALID }
 State of processing. More...
 

Public Member Functions

virtual int GetProcessorState (const iprm::IParamsSet *paramsPtr) const =0
 Get state of this processor for processing of specified parameters.
 
virtual bool AreParamsAccepted (const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, const istd::IChangeable *outputPtr) const =0
 Check if specified parameter set is accepted for this processor.
 
virtual void InitProcessor (const iprm::IParamsSet *paramsPtr, bool doReset)=0
 Init processor and give him all or part of parameters.
 
virtual CTaskState DoProcessing (const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, istd::IChangeable *outputPtr, bool allowAsync=true, iproc::IProgressManager *progressManagerPtr=nullptr)=0
 Do synchronized processing.
 

Detailed Description

Interface for all synchrone and asynchrone processors with "push data" model.

Each task has its input object, output object and parameter set.

Definition at line 25 of file IProcessor.h.

Member Enumeration Documentation

◆ MessageId

Enumerator
MI_BAD_PARAMS 

Bad processor parameter.

MI_PROCESSING_ERROR 

Definition at line 28 of file IProcessor.h.

◆ ProcessorState

State of processing.

Enumerator
PS_UNKNOWN 

Processing state is unknown or not initialized.

PS_INITIALIZATION 

Processor is during initalisation.

PS_READY 

Processor is initialized and ready.

PS_INVALID 

Processor cannot be initialized.

Definition at line 40 of file IProcessor.h.

Member Function Documentation

◆ AreParamsAccepted()

virtual bool iproc::IProcessor::AreParamsAccepted ( const iprm::IParamsSet * paramsPtr,
const istd::IPolymorphic * inputPtr,
const istd::IChangeable * outputPtr ) const
pure virtual

Check if specified parameter set is accepted for this processor.

Parameters
paramsPtrpointer to parameter object or nullptr if general state is mean.
inputPtroptional input object typically being source object used to processing.
outputPtroptional output object storing processing result.
Returns
true, if this parameter are accepted for processing.

Implemented in icam::CCameraDelegatorComp, icam::CCameraMultiplexerComp, icam::CSelectionParamCameraComp, icamgui::CFileAcquisitionComp, iproc::TSyncProcessorWrap< icam::IBitmapAcquisition >, and iproc::TSyncProcessorWrap< iipr::IImageToFeatureProcessor >.

◆ DoProcessing()

virtual CTaskState iproc::IProcessor::DoProcessing ( const iprm::IParamsSet * paramsPtr,
const istd::IPolymorphic * inputPtr,
istd::IChangeable * outputPtr,
bool allowAsync = true,
iproc::IProgressManager * progressManagerPtr = nullptr )
pure virtual

Do synchronized processing.

Parameters
paramsPtrpointer to parameter object. Pointed object can be used till task is finished. It can be nullptr.
inputPtroptional input object typically being source object used to processing. Pointed object can be used till task is finished. It can be nullptr.
outputPtroptional output object storing processing result. Pointed object can be used till task is finished. It can be nullptr, but typically it means that there is nothing to do.
allowAsyncIf true, than asynchronously implementation is preferred and allowed.
Returns
state of processing task
See also
TaskState.

Implemented in icam::CCameraDelegatorComp, icam::CCameraMultiplexerComp, icam::CMultiCameraJoinerComp, icam::CProcessedCameraComp, icam::CSelectionParamCameraComp, icamgui::CFileAcquisitionComp, iipr::CBlobProcessorCompBase, and iipr::CCheckerboardPointGridExtractorComp.

◆ GetProcessorState()

virtual int iproc::IProcessor::GetProcessorState ( const iprm::IParamsSet * paramsPtr) const
pure virtual

Get state of this processor for processing of specified parameters.

Parameters
paramsPtrpointer to parameter object or nullptr if general state is mean.
Returns
state of this processor
See also
ProcessorState.

Implemented in icam::CCameraDelegatorComp, icam::CCameraMultiplexerComp, icam::CSelectionParamCameraComp, icamgui::CFileAcquisitionComp, iproc::TSyncProcessorWrap< icam::IBitmapAcquisition >, and iproc::TSyncProcessorWrap< iipr::IImageToFeatureProcessor >.

◆ InitProcessor()

virtual void iproc::IProcessor::InitProcessor ( const iprm::IParamsSet * paramsPtr,
bool doReset )
pure virtual

Init processor and give him all or part of parameters.

Please note, that initalizing will be also done automatically in method DoProcessing but it is recommended to use this method to avoid unpredictable waiting time during time critical processing.

Parameters
paramsPtrset of parameters controlling processing task. It can be nullptr.
doResettrue, if state of processor should be resetted before the initialization.

Implemented in icam::CCameraDelegatorComp, icam::CCameraMultiplexerComp, icam::CMultiCameraJoinerComp, icam::CProcessedCameraComp, icam::CSelectionParamCameraComp, icamgui::CFileAcquisitionComp, iproc::TSyncProcessorWrap< icam::IBitmapAcquisition >, and iproc::TSyncProcessorWrap< iipr::IImageToFeatureProcessor >.


The documentation for this class was generated from the following file:

© Witold Gantzke and Kirill Lepskiy