# IRfMeshSetDisp Interface Reference

Inherits IDispatch.

List of all members.

## Public Member Functions
HRESULT | GetVertexNormals ([out, retval] VARIANT *ppStream)
HRESULT | RecalculateNormals (void)
HRESULT | GetFacesUnities ([out, retval] VARIANT *ppOutStream)
HRESULT | GetSuperfacesUnities ([out, retval] VARIANT *ppOutStream)
HRESULT | GetTrianglesNeighbors ([out, retval] VARIANT *ppNeighbors)
HRESULT | CreateFaceNormals ()
HRESULT | CreateAutofacetFaceNormals (RtFloat angle)
HRESULT | GetVertexTopologyInfo ([out, retval] VARIANT *ppInfoStream)
HRESULT | GetVertexTopologyData ([out, retval] VARIANT *ppDataStream)
HRESULT | CreateVertexNormals ()
HRESULT | GetEdgeNeighbors ([out, retval] VARIANT *ppNeighbors)

## Detailed Description

IRfMeshSetDisp is a scriptable version of IRfMeshSet function set.

## Member Function Documentation

HRESULT IRfMeshSetDisp::GetVertexNormals | ( | [out, retval] VARIANT * | ppStream | ) |

Attach stream with calculated normals for vertices:

Remarks:
  Requires:
  - STREAMID_VERTEXES_COORDINATES stream.
  - STREAMID_TRIANGLES_INDICES stream.

  Creates:

  - Vertex normals stream.

Returns:
  ppStream [out,retval] Returned vertex normals stream.

  standard HRESULT processing can be applied to returned value.

HRESULT IRfMeshSetDisp::RecalculateNormals | ( | void |  | ) |

Attach Recalculate face normals. Call after modification of vertex/edges/triangles buffers

Returns:
  standard HRESULT processing can be applied to returned value

HRESULT IRfMeshSetDisp::GetFacesUnities | ( | [out, retval] VARIANT * | ppOutStream | ) |

Create face unities stream that for each triangle specifies face index.

Returns:
  ppOutStream [out,retval] Stream is returned.

  standard HRESULT processing can be applied to returned value

HRESULT IRfMeshSetDisp::GetSuperfacesUnities | ( | [out, retval] VARIANT * | ppOutStream | ) |

Create super face unities stream:

- Face boundaries are defined by edge transform stream and edge flags stream.
- Each triangle specifies a superface index.

Remarks:
  Note, that this stream is available only during point edit mode.

Returns:
  ppOutStream [out,retval] Returned stream.

  standard HRESULT processing can be applied to returned value.

HRESULT IRfMeshSetDisp::GetTrianglesNeighbors | ( | [out, retval] VARIANT * | ppNeighbors | ) |

Creates stream containing three neighbours of each triangle:

- Each neighbour is represented as index of triangle.
- Index equal to number of triangles means that there is no neighbour in that direction.

Remarks:
  Requires:
  - STREAMID_VERTEXES_COORDINATES stream.
  - STREAMID_TRIANGLES_INDICES stream.

  Returns:

  - STREAMID_TRIANGLES_TRIANGLENEIGHS stream.

Returns:
  ppNeighbors [out,retval] Returned stream.

  standard HRESULT processing can be applied to returned value.

HRESULT IRfMeshSetDisp::CreateFaceNormals | ( |  | ) |

Creates face normals streams.

- Calculated normals replace normal stream in attached mesh.

Remarks:
  Requires:
  - STREAMID_TRIANGLES_FACEEDGES stream.

  Creates:

  - Triangle normal indices stream.
  - Custom normals stream.

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

HRESULT IRfMeshSetDisp::CreateAutofacetFaceNormals | ( | RtFloat | angle | ) |

Creates face normals streams for autofacet smoothing.

Remarks:
  Requires:
  - STREAMID_TRIANGLES_FACEEDGES stream.

  Creates:

  - Triangle normal indices stream.
  - Custom normals stream.

Parameters:

  | angle | [in] Smoothing angle in radians

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

HRESULT IRfMeshSetDisp::GetVertexTopologyInfo | ( | [out, retval] VARIANT * | ppInfoStream | ) |

Create streams with vertex topology information.

- For each vertex, adjacent triangles are listed.
- Use in combination with GetVertexTopologyData to get full vertex topology information.

Returns:
  ppInfoStream [out,retval] Returns a read-only vertex stream that specifies index and count into data stream for each vertex.

  standard HRESULT processing can be applied to returned value.

HRESULT IRfMeshSetDisp::GetVertexTopologyData | ( | [out, retval] VARIANT * | ppDataStream | ) |

Create streams with vertex topology information.

- For each vertex, adjacent triangles are listed.

Returns:
  ppDataStream [out,retval] Returns read only stream with lists of triangles.

  standard HRESULT processing can be applied to returned value.

HRESULT IRfMeshSetDisp::CreateVertexNormals | ( |  | ) |

Creates smooth vertex normals streams by creating triangle normal indices and custom normals stream.

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

HRESULT IRfMeshSetDisp::GetEdgeNeighbors | ( | [out, retval] VARIANT * | ppNeighbors | ) |

Creates stream containing neighbor triangle-edges of each edge.

- Each neighbor is represented as index of 3*triangle + edge index.
- A value of -1 means that edge has no neighboring triangles.

Remarks:
  Requires:
  - STREAMID_VERTEXES_COORDINATES stream.
  - STREAMID_TRIANGLES_INDICES stream.

Returns:
  ppNeighbors [out,retval] Returns STREAMID_TRIANGLES_TRIANGLENEIGHS stream.

  standard HRESULT processing can be applied to returned value