IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Member Functions | Protected Member Functions | List of all members
ipsdk::processor::BaseIterativeAsync2Processor Class Referenceabstract

Base class for asynchronous processors using iteratively two providers. More...

#include <BaseIterativeAsync2Processor.h>

Inheritance diagram for ipsdk::processor::BaseIterativeAsync2Processor:
ipsdk::processor::BaseAsyncProcessor ipsdk::processor::BaseProcessor ipsdk::core::BaseComplexAction ipsdk::core::BaseAction ipsdk::SerializationObjectWithGuid ipsdk::BaseToolTip ipsdk::BaseSerializationObject ipsdk::BaseDynamicObject

Public Member Functions

virtual ~BaseIterativeAsync2Processor ()=0
 Destructor.
 
eProcessorType getProcessorType () const
 retrieve processor type
 
- Public Member Functions inherited from ipsdk::processor::BaseAsyncProcessor
virtual ~BaseAsyncProcessor ()=0
 Destructor.
 
ipUInt32 getCurIterIdx () const
 Returns the index of current iteration.
 
ipsdk::ipReal64 getProgress (ElementInfosCounter &eic) const
 retrieve processor progress Returns a negative value if the information is unavailable
 
ipsdk::ipBool supportGpu () const
 returns true if the processor supports GPU devices
 
- Public Member Functions inherited from ipsdk::processor::BaseProcessor
virtual ~BaseProcessor ()=0
 Destructor.
 
BoolResult init (const eProcessorRulePolicy rulePolicy=eProcessorRulePolicy::ePRP_DisableSubRules)
 initialization of object More...
 
const eProcessorRulePolicygetProcessorRulePolicy () const
 retrieve processor rule policy More...
 
std::string getFullInfoStr () const
 retrieve full processor informations string including attributes tooltip, rules and initialization informations More...
 
const BaseRulegetGlobalRule () const
 retrieve global rule associated to processor class More...
 
const ProcessorDispatchPolicygetDispatchPolicy () const
 retrieve dispatch policy associated to processor More...
 
void restrictDispatchPolicy (const ProcessorDispatchPolicy &policy)
 method allowing to restrict dispatch policy associated to processor More...
 
bool isProgressAvailable () const
 method indicating if the processor progression is available More...
 
ipsdk::processor::eProcessorProgressAvailability getProgressAvailability () const
 method indicating the processor progression availability type More...
 
ipsdk::ipUInt64 getTotalNbIterations () const
 method indicating the processor total number of iterations Returns 0 for unknown number of iterations (ITER_ASYNC and REP_ASYNC) More...
 
bool existsHeaderKey (const std::string &key) const
 check whether a given key exists into header
 
ItemNames getHeaderKeys () const
 retrieve header key list
 
const BaseDataItemgetHeaderItem (const std::string &key) const
 retrieve a header item given associated key More...
 
BaseDataItemgetHeaderItem (const std::string &key)
 retrieve a header item given associated key More...
 
void addHeaderItem (const std::string &key, const DataItemPtr &pItem)
 add data item to header given associated key More...
 
void removeHeaderItem (const std::string &key)
 remove item from header given associated key More...
 
void clearHeader ()
 check whether a given key exists into header
 
ipUInt32 getNbAttributes () const
 retrieve number of attributes associated to processor More...
 
const BaseAttributegetAttribute (ipUInt32 index) const
 retrieve an attribute given its index More...
 
BaseAttributegetAttribute (ipUInt32 index)
 retrieve an attribute given its index More...
 
bool existsAttribute (const std::string &attributeName) const
 test whether a given named attribute exists More...
 
StringVector getAttributeNameColl () const
 retrieve attribute names collection More...
 
const BaseAttributegetAttribute (const std::string &attributeName) const
 retrieve an attribute given its name More...
 
BaseAttributegetAttribute (const std::string &attributeName)
 retrieve an attribute given its name More...
 
bool hasOutputInitializer (const std::string &attributeName) const
 check whether a given attribute has en output initializer More...
 
const BaseOutputInitializergetOutputInitializer (const std::string &attributeName) const
 retrieve output initializer associated to a given attribute More...
 
- Public Member Functions inherited from ipsdk::core::BaseComplexAction
virtual ~BaseComplexAction ()=0
 Destructor.
 
bool isComplexAction () const
 retrieve action main complexity flag
 
- Public Member Functions inherited from ipsdk::core::BaseAction
virtual ~BaseAction ()=0
 Destructor.
 
bool isInit () const
 retrieve object initialization flag
 
eExecutionStatus getStatus () const
 check for action execution status More...
 
const ePrioritygetActionPriority () const
 get priority associated to action (default : ePriority::eP_Normal)
 
void setActionPriority (const BasePriority &actionPriority)
 set priority associated to action More...
 
void addCompletionCB (const ActionCompletionCB &completionCB)
 add a completion callback for execution completion notifications More...
 
ExecResult run (const eSynchroType &synchroType=eSynchroType::eST_Default)
 launch execution More...
 
void requestCancellation ()
 action execution cancellation request More...
 
bool isCancellationRequested () const
 check whether a cancellation has been requested More...
 
void waitForCompletion ()
 method allowing to wait for execution end More...
 
ExecResult getActionResult () const
 retrieve action execution result More...
 
double getFullActionDuration () const
 retrieve elasped execution duration between call to run and termination More...
 
double getExecutionActionDuration () const
 retrieve elasped execution duration for action (waits not taken into account) More...
 
BoolResult clear ()
 clear of execution data More...
 
bool hasSocketGuid () const
 check whether action has an associated socket guid
 
void setSocketGuid (const Guid &socketGuid)
 set socket guid associated to action
 
const GuidgetSocketGuid () const
 access to socket guid associated to action More...
 
- Public Member Functions inherited from ipsdk::SerializationObjectWithGuid
const GuidgetGuid () const
 retrieve object guid
 
 SerializationObjectWithGuid ()
 
virtual ~SerializationObjectWithGuid ()=0
 
- Public Member Functions inherited from ipsdk::BaseSerializationObject
 BaseSerializationObject ()
 Default constructor.
 
virtual ~BaseSerializationObject ()=0
 destructor
 
- Public Member Functions inherited from ipsdk::BaseDynamicObject
virtual const std::string & getClassName () const
 method allowing to retrieve object class name
 
virtual BaseDynamicObjectcreateNew () const =0
 method allowing to create new instance of current object type
 
virtual DynamicObjectPtr createShared () const =0
 method allowing to create new shared instance of current object type
 
virtual bool hasCopySupport () const =0
 check whether objet has copy support
 
virtual BaseDynamicObjectduplicate () const =0
 method allowing to duplicate current object More...
 
virtual DynamicObjectPtr duplicateShared () const =0
 method allowing shared duplication of current object More...
 
 BaseDynamicObject ()
 
virtual ~BaseDynamicObject ()=0
 
- Public Member Functions inherited from ipsdk::BaseToolTip
virtual const std::string & getObjectName () const =0
 retrieve object name
 
virtual const std::string & getToolTip () const =0
 retrieve object tool tip
 
 BaseToolTip ()
 
virtual ~BaseToolTip ()=0
 

Protected Member Functions

 BaseIterativeAsync2Processor ()
 Constructor.
 
virtual ipUInt32 retrieveNbIter ()=0
 method allowing to retrieve number of iterations associated to asynchronous processing in derived class More...
 
virtual RetrievalResult retrieveFirstProvider (const core::BasePriority &priority, const ipUInt32 curNbIter, core::ActionProviderPtr &pProvider)=0
 method allowing to retrieve first provider associated to asynchronous processing in derived class More...
 
virtual RetrievalResult retrieveSecondProvider (const core::BasePriority &priority, const ipUInt32 curNbIter, core::ActionProviderPtr &pProvider)=0
 method allowing to retrieve second provider associated to asynchronous processing in derived class More...
 
- Protected Member Functions inherited from ipsdk::processor::BaseAsyncProcessor
 BaseAsyncProcessor ()
 Constructor.
 
virtual core::ExecResult preProcess ()
 method called before processing More...
 
virtual core::ExecResult postProcess ()
 method called after processing More...
 
- Protected Member Functions inherited from ipsdk::processor::BaseProcessor
 BaseProcessor ()
 Constructor.
 
virtual BoolResult initDerived (AttributeColl &attributeColl, OutputInitializerColl &outputInitializerColl, ProcessorDispatchPolicy &dispatchPolicy, RulePtr &pGlobalRule, const eProcessorRulePolicy &rulePolicy)=0
 initialization method in derived classes More...
 
- Protected Member Functions inherited from ipsdk::core::BaseComplexAction
 BaseComplexAction ()
 Constructor.
 
ExecResult execInitProcess ()
 method allowing to execute init process
 
ExecResult execEndProcess ()
 method allowing to execute end process
 
- Protected Member Functions inherited from ipsdk::core::BaseAction
 BaseAction ()
 Constructor.
 
bool isSynchronismForced () const
 retrieve flag indicating whether action should be executed synchronously More...
 
BoolResult initBase (const BasePriority &defaultPriority=NormalPriority())
 base class initialization method This method should be called by derived class during their initialization. Derived class should call this method before any update of derived data More...
 
virtual BoolResult cleanOnErrorDerived (const eCleanReason &cleanReason)
 method called to clean execution data after an error in derived class This method is called on three cases : More...
 
void notifyCompletion (const ExecResult &bCompletionResult)
 method used by derived classes to notify of execution completion after an assynchronous run in derived class More...
 
ExecResultDerived toExecResultDerived (const ExecResult &execResult) const
 method allowing to transform an ExecResult to an ExecResultDerived
 
virtual void clearIntermediateData ()
 method allowing to clear intermediate data for object
 
- Protected Member Functions inherited from ipsdk::BaseSerializationObject
virtual BoolResult write (BaseOArchive &ar) const
 method allowing to ensure serialization write part for object
 
virtual BoolResult read (BaseIArchive &ar)
 method allowing to ensure serialization read part for object
 
- Protected Member Functions inherited from ipsdk::BaseDynamicObject
virtual void initCtorCopy (const BaseDynamicObject &object)
 
virtual void copy (const BaseDynamicObject &object)
 method allowing to copy data from another object
 

Additional Inherited Members

- Static Public Member Functions inherited from ipsdk::BaseSerializationObject
static ipUInt32 getVersion ()
 method allowing to retrieve class version information for serialization
 
- Static Public Member Functions inherited from ipsdk::BaseDynamicObject
static const std::string & getTypeName ()
 method allowing to retrieve name associated to class
 
- Protected Types inherited from ipsdk::processor::BaseProcessor
typedef std::vector< AttributePtrAttributeColl
 collection of attributes
 
typedef std::map< std::string, OutputInitializerPtrOutputInitializerColl
 collection of output attribute initializers
 
- Protected Types inherited from ipsdk::core::BaseAction
enum  eCleanReason { eCR_Failure, eCR_Exception, eCR_Cancellation }
 Enumerate describing clean reason. More...
 
enum  eExecutionResultDerived { eERD_Success, eERD_Failure, eERD_Canceled, eERD_Running }
 Enumerate describing execution status after call to runDerived. More...
 
typedef ProcessingResult< eExecutionResultDerivedExecResultDerived
 returned type for runDerived method
 
- Protected Attributes inherited from ipsdk::processor::BaseAsyncProcessor
ipUInt32 _curNbIter
 flag to inform if the processor can use GPU devices for calculation More...
 
- Protected Attributes inherited from ipsdk::processor::BaseProcessor
eProcessorProgressAvailability _processorProgressAvailability
 Progression availability.
 
ipUInt32 _nbIter
 expected number of iterations for provider execution (0 if unknown)
 
- Protected Attributes inherited from ipsdk::SerializationObjectWithGuid
Guid _guid
 guid associated to object
 

Detailed Description

Base class for asynchronous processors using iteratively two providers.

Author
E. Noirfalise
Date
2014/05/21

Member Function Documentation

◆ retrieveNbIter()

virtual ipUInt32 ipsdk::processor::BaseIterativeAsync2Processor::retrieveNbIter ( )
protectedpure virtual

method allowing to retrieve number of iterations associated to asynchronous processing in derived class

Note
this method will be called once after call to initProcess

◆ retrieveFirstProvider()

virtual RetrievalResult ipsdk::processor::BaseIterativeAsync2Processor::retrieveFirstProvider ( const core::BasePriority priority,
const ipUInt32  curNbIter,
core::ActionProviderPtr pProvider 
)
protectedpure virtual

method allowing to retrieve first provider associated to asynchronous processing in derived class

Returns
provider retrieval result.
Note
On success provider pointer must not be null nor uninitialized

◆ retrieveSecondProvider()

virtual RetrievalResult ipsdk::processor::BaseIterativeAsync2Processor::retrieveSecondProvider ( const core::BasePriority priority,
const ipUInt32  curNbIter,
core::ActionProviderPtr pProvider 
)
protectedpure virtual

method allowing to retrieve second provider associated to asynchronous processing in derived class

Returns
provider retrieval result.
Note
On success provider pointer must not be null nor uninitialized

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