# IRdVertexSkinStream Interface Reference

Inherits IDispatch.

List of all members.

## Public Member Functions
HRESULT | GetNumVertices ([out, retval] RtDWORD *dwNumVertices)
HRESULT | SetNumVertices ([in] RtDWORD dwNumVertices)
## Properties
RtUlong * | Matrix ([in] RtDWORD dwIndex,[in] RtDWORD dwWeight)`[get]`
RtUlong | Matrix ([in] RtDWORD dwIndex,[in] RtDWORD dwWeight)`[set]`
RtFloat * | Weight ([in] RtDWORD dwIndex,[in] RtDWORD dwWeight)`[get]`
RtFloat | Weight ([in] RtDWORD dwIndex,[in] RtDWORD dwWeight)`[set]`
RtFloat * | x ([in] RtDWORD dwIndex)`[get]`
RtFloat | x ([in] RtDWORD dwIndex)`[set]`
RtFloat * | y ([in] RtDWORD dwIndex)`[get]`
RtFloat | y ([in] RtDWORD dwIndex)`[set]`
RtFloat * | z ([in] RtDWORD dwIndex)`[get]`
RtFloat | z ([in] RtDWORD dwIndex)`[set]`

## Detailed Description

IRdVertexSkinStream:

- Specifies base vertex position
- Per vertex skin weights and skin matrices; Indices for skinning.
- The stream is part of IRdMesh and is stored in Vertex stream group.
- Stream is identified by STREAMID_VERTEXES_SKIN id.

## Member Function Documentation

HRESULT IRdVertexSkinStream::GetNumVertices | ( | [out, retval] RtDWORD * | dwNumVertices | ) |

Get number of vertices.

Returns:
  dwNumVertices [out,retval] Number of vertices found in stream.

  standard HRESULT processing can be applied to returned value.

HRESULT IRdVertexSkinStream::SetNumVertices | ( | [in] RtDWORD | dwNumVertices | ) |

Set number of vertices.

Parameters:

  | dwNumVertices | [in] Number of vertices to set stream size to.

Returns:
  standard HRESULT processing can be applied to returned value.

## Property Documentation

RtUlong* IRdVertexSkinStream::Matrix([in] RtDWORD dwIndex, [in] RtDWORD dwWeight)`[get]`

Get vertex skin matrix index.

- Each skin weight is stored as vertex index and vertex weight.
- Stream is used if number of weight painted vertices < 1/2 of all mesh vertices.
- Otherwise IRdSkinWeightDirect stream is used for saving memory.

Remarks:
  In order to get at skin matrix index value, we need to use both the Vertex Index and Weight Index.

Parameters:

  | dwIndex | [in] Vertex index in stream.
  | dwWeightId | [in] Weight index in skin weight stream.

Returns:
  pVal [out,retval] Returned vertex skin matrix index value.

  standard HRESULT processing can be applied to returned value.

RtUlong IRdVertexSkinStream::Matrix([in] RtDWORD dwIndex, [in] RtDWORD dwWeight)`[set]`

Set vertex skin matrix index.

Parameters:

  | dwIndex | [in] Vertex index in stream.
  | dwWeightId | [in] Weight index in stream.
  | newVal | [in] New skin matrix index value to set.

Returns:
  standard HRESULT processing can be applied to returned value.

RtFloat* IRdVertexSkinStream::Weight([in] RtDWORD dwIndex, [in] RtDWORD dwWeight)`[get]`

Get vertex skin weight.

Parameters:

  | dwIndex | [in] Vertex index.
  | dwWeightId | [in] Weight index.

Returns:
  pVal [out,retval] Returned weight value.

  standard HRESULT processing can be applied to returned value.

RtFloat IRdVertexSkinStream::Weight([in] RtDWORD dwIndex, [in] RtDWORD dwWeight)`[set]`

Set vertex skin weight.

Parameters:

  | dwIndex | [in] Vertex index.
  | dwWeightId | [in] Weight index.
  | newVal | [in] New weight value to set.

Returns:
  standard HRESULT processing can be applied to returned value.

RtFloat* IRdVertexSkinStream::x([in] RtDWORD dwIndex)`[get]`

Get x-coordinate of i-th vertex.

Parameters:

  | dwIndex | [in] Vertex index.

Returns:
  pVal [out,retval] Returned x-coordinate value.

  standard HRESULT processing can be applied to returned value.

RtFloat IRdVertexSkinStream::x([in] RtDWORD dwIndex)`[set]`

Set x-coordinate of i-th vertex.

Parameters:

  | dwIndex | [in] Vertex index.
  | newVal | [in] New x-coordinate value to set.

Returns:
  standard HRESULT processing can be applied to returned value.

RtFloat* IRdVertexSkinStream::y([in] RtDWORD dwIndex)`[get]`

Get y-coordinate of i-th vertex.

Parameters:

  | dwIndex | [in] Vertex index.

Returns:
  pVal [out,retval] Returned y-coordinate value.

  standard HRESULT processing can be applied to returned value.

RtFloat IRdVertexSkinStream::y([in] RtDWORD dwIndex)`[set]`

Set y-coordinate of i-th vertex.

Parameters:

  | dwIndex | [in] Vertex index.
  | newVal | [in] New y-coordinate value to set.

Returns:
  standard HRESULT processing can be applied to returned value.

RtFloat* IRdVertexSkinStream::z([in] RtDWORD dwIndex)`[get]`

Get z-coordinate of i-th vertex.

Parameters:

  | dwIndex | [in] Vertex index.

Returns:
  pVal [out,retval] Returned z-coordinate value.

  standard HRESULT processing can be applied to returned value.

RtFloat IRdVertexSkinStream::z([in] RtDWORD dwIndex)`[set]`

Set z-coordinate of i-th vertex.

Parameters:

  | dwIndex | [in] Vertex index.
  | newVal | [in] New z-coordinate value to set.

Returns:
  standard HRESULT processing can be applied to returned value.