OpenViBE Documentation
IAlgorithm Class Reference

Abstract algorithm, base element of §OpenViBE§ processing objectsThis class should be derived by any plugin that is related to data processing. It basically has a parameterable interface contained in the IAlgorithmContext object. This interface stores several typed parameters which can be modified either by outside world in order to provide input paramters to this algorithm or by this algorithm itself in order to produce output parameters. More...

Inheritance diagram for IAlgorithm:
IPluginObject IObject

List of all members.

Public Member Functions

virtual OpenViBE::boolean initialize (OpenViBE::Kernel::IAlgorithmContext &rAlgorithmContext)
 Initializes this algorithm.
virtual OpenViBE::boolean uninitialize (OpenViBE::Kernel::IAlgorithmContext &rAlgorithmContext)
 Unitializes this algorithm.
virtual OpenViBE::boolean process (OpenViBE::Kernel::IAlgorithmContext &rAlgorithmContext)=0
 Effectively executes this algorithm.

Detailed Description

Abstract algorithm, base element of §OpenViBE§ processing objects

This class should be derived by any plugin that is related to data processing. It basically has a parameterable interface contained in the IAlgorithmContext object. This interface stores several typed parameters which can be modified either by outside world in order to provide input paramters to this algorithm or by this algorithm itself in order to produce output parameters.

Author:
Yann Renard (INRIA/IRISA)
Date:
2007-11-06 This is the heart of the extension mechanism of the §OpenViBE§ platform.
See also:
OpenViBE::Kernel::IAlgorithmDesc
OpenViBE::Kernel::IAlgorithmContext
Todo:
details about building new plugins

Member Function Documentation

virtual OpenViBE::boolean initialize ( OpenViBE::Kernel::IAlgorithmContext rAlgorithmContext) [inline, virtual]

Initializes this algorithm.

Parameters:
rAlgorithmContext[in] : the execution context for this algorithm
Returns:
true in case of success.
false in case of error.
virtual OpenViBE::boolean uninitialize ( OpenViBE::Kernel::IAlgorithmContext rAlgorithmContext) [inline, virtual]

Unitializes this algorithm.

Parameters:
rAlgorithmContext[in] : the extecution context for this algorithm
Returns:
true in case of success.
false in case of error.
virtual OpenViBE::boolean process ( OpenViBE::Kernel::IAlgorithmContext rAlgorithmContext) [pure virtual]

Effectively executes this algorithm.

Parameters:
rAlgorithmContext[in] : the extecution context for this algorithm
Returns:
true in case of success.
false in case of error.

When called, this function should get its "input" parameters, do stuffs with them and finally produce "ouput" parameters.