AAFA Developer Support

Public Member Functions
IAAFVaryingValue Interface Reference

The IAAFVaryingValue interface is implemented by objects that specify a parameter whose value changes during the operation group. More...

List of all members.

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.

Detailed Description

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:

Definition at line 34003 of file AAF.idl.


Member Function Documentation

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:

  • the pControlPoint pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pControlPoint is null.
Parameters:
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:

  • this object has already been initialized.
  • the pResult pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NOT_INITIALIZED

AAFRESULT_NULL_PARAM

  • pResult is null.
Parameters:
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:

  • this object has already been initialized.
  • the ppControlPoint pointer is valid.
  • index is less than the value returned by CountControlPoints().

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NOT_INITIALIZED

AAFRESULT_NULL_PARAM

  • pControlPoint is null.

AAFRESULT_BADINDEX

Parameters:
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:

  • the ppEnum pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • ppEnum is null.
Parameters:
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:

  • the pValue pointer is valid.
  • valueSize indicates the buffer is large enough to hold the name.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pValue arg is NULL.

AAFRESULT_SMALLBUF

  • valueSize indicates the buffer is too small to hold the value.
Parameters:
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:

  • the ppInterpolation pointer is valid.
  • A valid InterpolationDefinition exists.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NOT_INITIALIZED

AAFRESULT_NULL_PARAM

  • ppInterpolation is null.
Parameters:
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:

  • the pLen pointer is valid.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NULL_PARAM

  • pLen arg is NULL.
Parameters:
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:

  • Initialize() has not yet been called on this object.
  • pParameterDef and pInterpolation are a valid pointers.

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_ALREADY_INITIALIZED

AAFRESULT_NULL_PARAM

  • pParameterDef or pInterpolation arg is NULL.
Parameters:
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:

  • this object has already been initialized.
  • index is less than the value returned by CountControlPoints().

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

  • succeeded. (This is the only code indicating success.)

AAFRESULT_NOT_INITIALIZED

AAFRESULT_BADINDEX

Parameters:
index[in] index of control point to remove

Generated on Wed Jul 4 2012 22:13:32 for AAF COM API by doxygen 1.7.4