# IRdSurfaceIdIndexStream Interface Reference

Inherits IDispatch.

List of all members.

## Public Member Functions
HRESULT | GetNumIndices ([out, retval] RtDWORD *dwNumTripleIndices)
HRESULT | SetNumIndices ([in] RtDWORD dwNumMaterialIndices)
## Properties
RtDWORD * | index ([in] RtDWORD dwIndex)`[get]`
RtDWORD | index ([in] RtDWORD dwIndex)`[set]`

## Detailed Description

IRdSurfaceIdIndexStream:

- Holds per-triangle custom surface identification indices.
- These indices are primarily used by widgets to distinguish between various surfaces.
- The stream is part of IRdMesh and is stored in Triangle stream group.
- Stream is identified by STREAMID_TRIANGLES_SURFIDS id.

## Member Function Documentation

HRESULT IRdSurfaceIdIndexStream::GetNumIndices | ( | [out, retval] RtDWORD * | dwNumTripleIndices | ) |

Get number of triangles.

Returns:
  dwNumTripleIndices [out, retval] Returns number of triangles found.

  standard HRESULT processing can be applied to returned value.

HRESULT IRdSurfaceIdIndexStream::SetNumIndices | ( | [in] RtDWORD | dwNumMaterialIndices | ) |

Set number of triangles.

Parameters:

  | dwNumMaterialIndices | [in] Number of triangles to set the stream to.

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

## Property Documentation

RtDWORD * IRdSurfaceIdIndexStream::index([in] RtDWORD dwIndex)`[get]`

Get material index for i-th triangle.

Parameters:

  | dwIndex | [in] Triangle index.

Returns:
  index [out, retval] Returns value for corresponding Surface index.

  standard HRESULT processing can be applied to returned value.

RtDWORD IRdSurfaceIdIndexStream::index([in] RtDWORD dwIndex)`[set]`

Set material index for i-th triangle.

Parameters:

  | dwIndex | [in] Triangle index.
  | index | [in] Corresponding Surface index to set.

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