The IAAFVaryingValue interface is implemented by objects that specify a parameter whose value changes during the operation group. More...
Public Member Functions | |
HRESULT | Initialize ([in] IAAFParameterDef *pParameterDef,[in] IAAFInterpolationDef *pInterpolation) |
Initializes a new varying value object to be identified with the given the given parameter definition and interpolation definition. | |
HRESULT | AddControlPoint ([in] IAAFControlPoint *pControlPoint) |
Adds a control point to the AAFVaryingValue object. | |
HRESULT | GetControlPoints ([out, retval] IEnumAAFControlPoints **ppEnum) |
Return an enumerator for the list of IAAFControlPoints. | |
HRESULT | CountControlPoints ([out] aafUInt32 *pResult) |
This function returns the number of control points in the sequence. | |
HRESULT | GetControlPointAt ([in] aafUInt32 index,[out, retval] IAAFControlPoint **ppControlPoint) |
This function retrieves the input control point at the given index in the given sequence. | |
HRESULT | RemoveControlPointAt ([in] aafUInt32 index) |
This function removes the input control point at the given index in the given sequence. | |
HRESULT | GetInterpolationDefinition ([out] IAAFInterpolationDef **ppInterpolation) |
Places the InterpolationDefinition object attached to this VaryingValue into the *ppInterpolation argument. | |
HRESULT | GetValueBufLen ([out] aafInt32 *pLen) |
Returns the length of buffer required for the GetInterpolatedValue() method. | |
HRESULT | GetInterpolatedValue ([in] aafRational_t inputValue,[in] aafInt32 valueSize,[out, size_is(valueSize), length_is(*bytesRead)] aafDataBuffer_t pValue,[out] aafInt32 *bytesRead) |
Writes the interpolated value of the IAAFVaryingValue at a given position into the pValue buffer. |
The IAAFVaryingValue interface is implemented by objects that specify a parameter whose value changes during the operation group.
The actual values are stored in one or more IAAFControlPoints. For parameters which are constant in value during the operation group, use IAAFConstantValue.
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
Objects that implement IAAFVaryingValue also implement the following interfaces:
HRESULT IAAFVaryingValue::AddControlPoint | ( | [in] IAAFControlPoint * | pControlPoint | ) |
Adds a control point to the AAFVaryingValue object.
The point will be sorted by time order, not the order in which the points were added.
Succeeds if all of the following are true:
If this method fails no state will be changed.
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
pControlPoint | [in] pointer to IAAFControlPoint object |
HRESULT IAAFVaryingValue::CountControlPoints | ( | [out] aafUInt32 * | pResult | ) |
This function returns the number of control points in the sequence.
Succeeds if all of the following are true:
If this method fails no state is changed.
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_NOT_INITIALIZED
AAFRESULT_NULL_PARAM
pResult | [out] Number of control points |
HRESULT IAAFVaryingValue::GetControlPointAt | ( | [in] aafUInt32 | index, |
[out, retval] IAAFControlPoint ** | ppControlPoint | ||
) |
This function retrieves the input control point at the given index in the given sequence.
Succeeds if all of the following are true:
If this method fails nothing will be written to *ppControlPoint.
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_NOT_INITIALIZED
AAFRESULT_NULL_PARAM
AAFRESULT_BADINDEX
index | [in] index of control point to retrieve |
ppControlPoint | [out, retval] Retrieved control point |
HRESULT IAAFVaryingValue::GetControlPoints | ( | [out, retval] IEnumAAFControlPoints ** | ppEnum | ) |
Return an enumerator for the list of IAAFControlPoints.
The list will be returned in time order, not the order in which the points were added.
Succeeds if all of the following are true:
If this method fails nothing will be written to *ppEnum.
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
ppEnum | [out,retval] Parameter definition enumeration |
HRESULT IAAFVaryingValue::GetInterpolatedValue | ( | [in] aafRational_t | inputValue, |
[in] aafInt32 | valueSize, | ||
[out, size_is(valueSize), length_is(*bytesRead)] aafDataBuffer_t | pValue, | ||
[out] aafInt32 * | bytesRead | ||
) |
Writes the interpolated value of the IAAFVaryingValue at a given position into the pValue buffer.
The buffer is allocated by the caller, and the size of the buffer is given by valueSize.
Caller may call GetValueBufLen() to determine the required buffer size.
Succeeds if all of the following are true:
If this method fails nothing will be written to *pValue.
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
AAFRESULT_SMALLBUF
inputValue | [in] Position along the operation group |
valueSize | [in] Size of preallocated buffer |
pValue | [out,size_is(valueSize),length_is(*bytesRead)] Preallocated buffer to hold value |
bytesRead | [out] Number of actual bytes read |
HRESULT IAAFVaryingValue::GetInterpolationDefinition | ( | [out] IAAFInterpolationDef ** | ppInterpolation | ) |
Places the InterpolationDefinition object attached to this VaryingValue into the *ppInterpolation argument.
If none exists yet, NULL is placed into the *ppInterpolation argument.
The returned InterpolationDefinition 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_NOT_INITIALIZED
AAFRESULT_NULL_PARAM
ppInterpolation | [out] Returned InterpolationDefinition object |
HRESULT IAAFVaryingValue::GetValueBufLen | ( | [out] aafInt32 * | pLen | ) |
Returns the length of buffer required for the GetInterpolatedValue() method.
The value is placed into the location specified by pLen.
Succeeds if all of the following are true:
If this method fails nothing will be written to *pLen.
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
pLen | [out] Mob Name |
HRESULT IAAFVaryingValue::Initialize | ( | [in] IAAFParameterDef * | pParameterDef, |
[in] IAAFInterpolationDef * | pInterpolation | ||
) |
Initializes a new varying value object to be identified with the given the given parameter definition and interpolation definition.
This method must be called after allocation, and before any other method can be called.
Succeeds if:
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_ALREADY_INITIALIZED
AAFRESULT_NULL_PARAM
pParameterDef | [in] Parameter definition for this object (this determines the type of the varying value) |
pInterpolation | [in] InterpolationDefinition object |
HRESULT IAAFVaryingValue::RemoveControlPointAt | ( | [in] aafUInt32 | index | ) |
This function removes the input control point at the given index in the given sequence.
Control points already existing at indices higher than the given index will be moved to the next lower index to accommodate.
Succeeds if all of the following are true:
If this method fails no state will be changed.
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_NOT_INITIALIZED
AAFRESULT_BADINDEX
index | [in] index of control point to remove |