# IRdWeightBlend Interface Reference

Inherits IRsObject.

List of all members.

## Public Member Functions
HRESULT | AddWeight ([in] RtFloat x,[in] RtFloat y,[out, retval] RtDWORD *pdwId)
HRESULT | AddClonedWeight ([in] RtFloat x,[in] RtFloat y,[in] RtDWORD id)
HRESULT | RemoveWeight ([in] RtDWORD id)
HRESULT | GetWeightCount ([out, retval] RtDWORD *pCnt)
HRESULT | GetWeightId ([in] RtDWORD index,[out, retval] RtDWORD *pdwId)
HRESULT | GetWeight ([in] RtDWORD id,[out] RtFloat *pX,[out] RtFloat *pY)
HRESULT | SetWeight ([in] RtDWORD id,[in] RtFloat x,[in] RtFloat y)
HRESULT | SetLastId ([in] RtDWORD id)
HRESULT | SetPos ([in] RtFloat x,[in] RtFloat y)
HRESULT | GetPos ([out] RtFloat *pX,[out] RtFloat *pY)
HRESULT | GetBlendingWeights ([out] RtTripleIndex *pIDs,[out] RtVector3f *pWeights)
HRESULT | GetSelectedId ([out, retval] RtDWORD *pdwId)
HRESULT | SetSelectedId ([in] RtDWORD dwId)

## Detailed Description

This interface provides an access to data object which holds dots and weights data for pose/morph/animation blending panel. It holds array of dots with their position and numeric identifier

## Member Function Documentation

HRESULT IRdWeightBlend::AddWeight | ( | [in] RtFloat | x,
|  | [in] RtFloat | y,
|  | [out, retval] RtDWORD * | pdwId |
| ) |  |  |

Adds new dot on specified position and returns its id

Parameters:

  | x | - X coordinate (between 0 and 1 inclusive)
  | y | - Y coordinate (between 0 and 1 inclusive)

Returns:
  identifier of new dot which has been added

HRESULT IRdWeightBlend::AddClonedWeight | ( | [in] RtFloat | x,
|  | [in] RtFloat | y,
|  | [in] RtDWORD | id |
| ) |  |  |

Adds cloned dot with Id specified, so no new id is generated. Used while cloning instances

Parameters:

  | x | - X coordinate (between 0 and 1 inclusive)
  | y | - Y coordinate (between 0 and 1 inclusive)
  | id | - Id of dot to be added

HRESULT IRdWeightBlend::RemoveWeight | ( | [in] RtDWORD | id | ) |

Removes weight dot with specified Id

Parameters:

  | id | - Id of dot to remove

HRESULT IRdWeightBlend::GetWeightCount | ( | [out, retval] RtDWORD * | pCnt | ) |

Returns the number of currently existing dots

Returns:
  number of dots

HRESULT IRdWeightBlend::GetWeightId | ( | [in] RtDWORD | index,
|  | [out, retval] RtDWORD * | pdwId |
| ) |  |  |

Returns the Id of dot at specified index

Parameters:

  | index | - index of dot

Returns:
  id of dot

HRESULT IRdWeightBlend::GetWeight | ( | [in] RtDWORD | id,
|  | [out] RtFloat * | pX,
|  | [out] RtFloat * | pY |
| ) |  |  |

Returns the coordinates of dot with specified Id. Coordinates are in interval (0..1) inclusive

Parameters:

  | id | - id of dot
  | pX | - returned x position of dot
  | pY | - returned y position of dot

HRESULT IRdWeightBlend::SetWeight | ( | [in] RtDWORD | id,
|  | [in] RtFloat | x,
|  | [in] RtFloat | y |
| ) |  |  |

Sets the coordinates of specified dot. Coordinates are in interval (0..1) inclusive

Parameters:

  | id | - id of dot to setup
  | x | - desired x position
  | y | - desired y position

HRESULT IRdWeightBlend::SetLastId | ( | [in] RtDWORD | id | ) |

Sets the last generated Id. Used internally for cloning. When new dot is generated, it has id which equals last_id + 1

Parameters:

  | id | - id to set

HRESULT IRdWeightBlend::SetPos | ( | [in] RtFloat | x,
|  | [in] RtFloat | y |
| ) |  |  |

Sets the current coordinates of blending pointer. Coordinates are in interval (0..1) inclusive

Parameters:

  | x | - desired x position
  | y | - desired y position

HRESULT IRdWeightBlend::GetPos | ( | [out] RtFloat * | pX,
|  | [out] RtFloat * | pY |
| ) |  |  |

Reads the current coordinates of blending pointer. Coordinates are in interval (0..1) inclusive

Parameters:

  | pX | - returned X position
  | pY | - returned Y position

HRESULT IRdWeightBlend::GetBlendingWeights | ( | [out] RtTripleIndex * | pIDs,
|  | [out] RtVector3f * | pWeights |
| ) |  |  |

Calculates current blending weights based on pointer position

Parameters:

  | - | pIDs triple of Ids of nearest triangle. may contain -1 index if no available dot found
  | - | pWeights barycentric weights of triangle vertices

HRESULT IRdWeightBlend::GetSelectedId | ( | [out, retval] RtDWORD * | pdwId | ) |

Returns Id of currently selected dot

Returns:
  currently selected dot

HRESULT IRdWeightBlend::SetSelectedId | ( | [in] RtDWORD | dwId | ) |

Sets currently selected dot. Specify -1 for clearing selection

Parameters:

  | id | - dot to select