# IRdNormalsStream Interface Reference

Inherits IDispatch.

List of all members.

## Public Member Functions
HRESULT | GetNumNormals ([out, retval] RtDWORD *dwNumNormals)
HRESULT | SetNumNormals ([in] RtDWORD dwNumNormals)
HRESULT | GetNumVertexNormals ([out, retval] RtDWORD *dwNumVertices)
HRESULT | SetNumVertexNormals ([in] RtDWORD dwNumVertexNormals)
## Properties
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

IRdNormalsStream specifies vertex normals data stream to vertex normals index stream (IRdTriangleNormalsStream).

The stream is part of IRdMesh and is stored in Custom stream group. Stream is identified by STREAMID_NORMALS id.

## Member Function Documentation

HRESULT IRdNormalsStream::GetNumNormals | ( | [out, retval] RtDWORD * | dwNumNormals | ) |

Get number of normals.

Returns:
  dwNumNormals [out,retval] Returns value of number of normals found.

  standard HRESULT processing can be applied to returned value.

HRESULT IRdNormalsStream::SetNumNormals | ( | [in] RtDWORD | dwNumNormals | ) |

Set number of normals.

Parameters:

  | dwNumNormals | [in] Set value for number of normals.

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

HRESULT IRdNormalsStream::GetNumVertexNormals | ( | [out, retval] RtDWORD * | dwNumVertices | ) |

Get number of normals. Deprecated. Use GetNumNormals instead.

HRESULT IRdNormalsStream::SetNumVertexNormals | ( | [in] RtDWORD | dwNumVertexNormals | ) |

Set number of normals. Deprecated. Use SetNumNormals instead.

## Property Documentation

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

Get X coordinate of i-th normal.

Parameters:

  | dwIndex | [in] Index item.

Returns:
  pVal [out, retval] Filled with X coordinate.

  standard HRESULT processing can be applied to returned value.

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

Set X coordinate of i-th normal.

Parameters:

  | dwIndex | [in] Index item.
  | newVal | [in] Filled with X coordinate.

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

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

Get Y coordinate of i-th normal.

Parameters:

  | dwIndex | Index item.

Returns:
  pVal [out, retval] Filled with Y coordinate.

  standard HRESULT processing can be applied to returned value.

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

Set Y coordinate of i-th normal.

Parameters:

  | dwIndex | [in] Index item.
  | newVal | [in] Filled with Y coordinate.

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

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

Get Z coordinate of i-th normal.

Parameters:

  | dwIndex | [in] Index item.

Returns:
  pVal [out, retval] Filled with Z coordinate.

  standard HRESULT processing can be applied to returned value.

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

Set Z coordinate of i-th normal.

Parameters:

  | dwIndex | [in] Index item.
  | newVal | [in] Filled with Z coordinate.

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