The AAFInterpolator interface describes the calls of a plugin which handles interpolating between two IAAFControlPoints in an IAAFVaryingValue. More...
Public Member Functions | |
HRESULT | GetNumTypesSupported ([out] aafUInt32 *pCount) |
Each interpolator plugin will support a given number of interpolator. | |
HRESULT | GetIndexedSupportedType ([in] aafUInt32 index,[out] IAAFTypeDef **ppType) |
Each interpolator plugin will support a given number of interpolator. | |
HRESULT | GetTypeDefinition ([out] IAAFTypeDef **ppTypeDef) |
Places the data definition object attached to this interpolator into the ppTypeDef argument. | |
HRESULT | SetTypeDefinition ([in] IAAFTypeDef *pTypeDef) |
Sets the data definition of this interpolator to be the given one. | |
HRESULT | GetParameter ([out] IAAFParameter **ppParameter) |
Places the parameter object attached to this interpolator into the ppParameter argument. | |
HRESULT | SetParameter ([in] IAAFParameter *pParameter) |
Sets the parmeter of this interpolator to be the given one. | |
HRESULT | InterpolateOne ([in] aafRational_t *pInputValue,[in] aafUInt32 valueSize,[out, size_is(valueSize), length_is(*bytesRead)] aafDataBuffer_t pValue,[out] aafUInt32 *bytesRead) |
Interpolates between known control points on the value, and. | |
HRESULT | InterpolateMany ([in] aafRational_t *pStartInputValue,[in] aafRational_t *pInputStep,[in] aafUInt32 generateCount,[out] aafMemPtr_t pOutputValue,[out] aafUInt32 *pResultCount) |
Interpolates between known control points on the value, and. |
The AAFInterpolator interface describes the calls of a plugin which handles interpolating between two IAAFControlPoints in an IAAFVaryingValue.
There will be one InterpolatorDefinition for each method of interpolation (ex: Step, Linear, Log) supported, so that the SDK can call GetIndexedSupportedType() repeatedly in order to find out what types this interpolator suppports.
The AAFPluginManager keeps a copy of each interpolator in a table, along with cached copies of pertinant metadata about the interpolator.
In addition to the specific error results listed for each method, all methods in this interface may also return one of the following values:
AAFRESULT_NOMEMORY
Definition at line 3552 of file AAFPlugin.idl.
HRESULT IAAFInterpolator::GetIndexedSupportedType | ( | [in] aafUInt32 | index, |
[out] IAAFTypeDef ** | ppType | ||
) |
Each interpolator plugin will support a given number of interpolator.
types for a given number of data types. This call returns one of the data types supported using an index. The index value should be between 0 and one less than the value returned by GetNumTypesSupported(). The number of flavours is returned by GetNumTypesSupported(), and cached by the AAFPluginManager.
An interpolator is expected to support all data types for each interpolation method which the interpolator supports.
This method should return only the following codes. If more than one of the listed errors is in effect, it should return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
AAFRESULT_OUT_OF_RANGE
index | [in] Which flavour to get the ID for |
ppType | [out] The returned type definition |
HRESULT IAAFInterpolator::GetNumTypesSupported | ( | [out] aafUInt32 * | pCount | ) |
Each interpolator plugin will support a given number of interpolator.
types for a given number of data types. This call returns the number of data types supported, so that the SDK can call GetIndexedSupportedType() repeatedly in order to find out what types this interpolator suppports.
An interpolator is expected to support all data types for each interpolation method which the interpolator supports.
This method should return only the following codes. If more than one of the listed errors is in effect, it should return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pCount | [out] Number of data types supported |
HRESULT IAAFInterpolator::GetParameter | ( | [out] IAAFParameter ** | ppParameter | ) |
Places the parameter object attached to this interpolator into the ppParameter argument.
If none exists yet, NULL is placed into the ppParameter argument.
The returned parameter object, if it exists, is AddRef()ed before it is returned.
Succeeds if all of the following are true:
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
ppParameter | [out] Returned data definition object |
HRESULT IAAFInterpolator::GetTypeDefinition | ( | [out] IAAFTypeDef ** | ppTypeDef | ) |
Places the data definition object attached to this interpolator into the ppTypeDef argument.
If none exists yet, NULL is placed into the ppTypeDef argument.
The returned data definition object, if it exists, is AddRef()ed before it is returned.
Succeeds if all of the following are true:
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
ppTypeDef | [out] Returned data definition object |
HRESULT IAAFInterpolator::InterpolateMany | ( | [in] aafRational_t * | pStartInputValue, |
[in] aafRational_t * | pInputStep, | ||
[in] aafUInt32 | generateCount, | ||
[out] aafMemPtr_t | pOutputValue, | ||
[out] aafUInt32 * | pResultCount | ||
) |
Interpolates between known control points on the value, and.
creates an array of new AAFControlPoint which which can be imagined to exist at the given inputValue. While InterpolateOne() generates a single point, this function starts at a given offset and generates interpolations until either generateCount is reached, or the next result would have an input value of greater than one. Succeeds if all of the following are true:
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_INPUT_RANGE
AAFRESULT_NULL_PARAM
pStartInputValue | [in] Input values are from 0 (effect start), to 1 (effect end) inclusive. |
pInputStep | [in] Amount to add to *pStartInputValue to get the next point to interpolate |
generateCount | [in] The number of points to interpolate |
pOutputValue | [out] an array of generated control points |
pResultCount | [out] The number of points actually generated |
HRESULT IAAFInterpolator::InterpolateOne | ( | [in] aafRational_t * | pInputValue, |
[in] aafUInt32 | valueSize, | ||
[out, size_is(valueSize), length_is(*bytesRead)] aafDataBuffer_t | pValue, | ||
[out] aafUInt32 * | bytesRead | ||
) |
Interpolates between known control points on the value, and.
creates a new AAFControlPoint which which can be imagined to exist at the given inputValue. Succeeds if all of the following are true:
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_INPUT_RANGE
AAFRESULT_NULL_PARAM
pInputValue | [in] Input values are from 0 (effect start), to 1 (effect end) inclusive. |
valueSize | [in] Size of preallocated buffer |
pValue | [out, size_is(valueSize),length_is(*bytesRead)] A generated control point |
bytesRead | [out] The number of bytes actually transferred |
HRESULT IAAFInterpolator::SetParameter | ( | [in] IAAFParameter * | pParameter | ) |
Sets the parmeter of this interpolator to be the given one.
Succeeds if all of the following are true:
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pParameter | [in] Parameter object |
HRESULT IAAFInterpolator::SetTypeDefinition | ( | [in] IAAFTypeDef * | pTypeDef | ) |
Sets the data definition of this interpolator to be the given one.
Succeeds if all of the following are true:
This method will return the following codes. If more than one of the listed errors is in effect, it will return the first one encountered in the order given below:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pTypeDef | [in] Data definition object |