# IRdUVSelection Interface Reference

Inherits IRsObject.

List of all members.

## Public Member Functions
HRESULT | FromMeshSelection ([in] RtDWORD uv_set,[in] IRdMeshSelection *pSelection,[in] IRdMesh *pSourceMesh)
HRESULT | ToMeshSelection ([in] IRdMesh *pTargetMesh,[out, retval] IRdMeshSelection **ppSelection)
HRESULT | SelectUVVertex ([in] RtDWORD geometry_vertex,[in] RtDWORD uv_vertex)
HRESULT | GetNumSelectedFaceTriangles ([out, retval] RtUlong *pCnt)
HRESULT | GetNumSelectedTriangles ([out, retval] RtUlong *pCnt)
HRESULT | GetNumSelectedEdges ([out, retval] RtUlong *pCnt)
HRESULT | GetNumSelectedVertices ([out, retval] RtUlong *pCnt)
HRESULT | GetNumSelectedUVVertices ([out, retval] RtUlong *pCnt)
HRESULT | EnumerateSelectedFaceTriangles ([out] RtUlong *pCnt,[out] RtFaceTriangleSelection **ppSel)
HRESULT | EnumerateSelectedTriangles ([out] RtUlong *pCnt,[out] RtTriangleSelection **ppSel)
HRESULT | EnumerateSelectedEdges ([out] RtUlong *pCnt,[out] RtEdgeSelection **ppSel)
HRESULT | EnumerateSelectedVertices ([out] RtUlong *pCnt,[out] RtVertexSelection **ppSel)
HRESULT | EnumerateSelectedUVVertices ([out] RtUlong *pCnt,[out] RtUVVertexSelection **ppSel)
HRESULT | SelectFaceTriangle ([in] RtUlong index)
HRESULT | SelectTriangle ([in] RtUlong index)
HRESULT | SelectEdge ([in] RtUlong tri_index,[in] RtUlong edge_index)
HRESULT | SelectVertex ([in] RtUlong index,[in] RtFloat weight)
HRESULT | CopyContentsTo ([in] IRdUVSelection *pTarget)
HRESULT | IsSelectedFaceTriangle ([in] RtUlong index,[out, retval] RtBool *pSelected)
HRESULT | IsSelectedTriangle ([in] RtUlong index,[out, retval] RtBool *pSelected)
HRESULT | IsSelectedEdge ([in] RtUlong tri_index,[in] RtUlong edge_index,[out, retval] RtBool *pSelected)
HRESULT | IsSelectedVertex ([in] RtUlong index,[out, retval] RtBool *pSelected)
HRESULT | IsSelectedUVVertex ([in] RtUlong geom_vertex,[in] RtUlong uv_vertex,[out, retval] RtBool *pSelected)
HRESULT | DeselectFaceTriangle ([in] RtUlong index)
HRESULT | DeselectTriangle ([in] RtUlong index)
HRESULT | DeselectEdge ([in] RtUlong tri_index,[in] RtUlong edge_index)
HRESULT | DeselectVertex ([in] RtUlong index)
HRESULT | DeselectUVVertex ([in] RtUlong geom_index,[in] RtUlong uv_index)
HRESULT | MergeWith ([in] IRdUVSelection *pSrc)
HRESULT | Subtract ([in] IRdUVSelection *pSrc)
HRESULT | Clear ()
HRESULT | IsEmpty ([out, retval] RtBool *pEmpty)
HRESULT | DeselectUVVertices ()

## Detailed Description

This is the data object to represent UV selection.

- Aside from mesh selection, UV selection remembers UV vertices, since single geometry vertex can have multiple UV vertices selected (one for each adjacent triangle).
- Selected UV vertices contain mapping to geometry vertices.

## Member Function Documentation

HRESULT IRdUVSelection::FromMeshSelection | ( | [in] RtDWORD | uv_set,
|  | [in] IRdMeshSelection * | pSelection,
|  | [in] IRdMesh * | pSourceMesh |
| ) |  |  |

FromMeshSelection: Fills the selection from mesh selection.

Parameters:

  | uv_set | [in] .
  | pSelection | [in] .
  | pSourceMesh | [in] .

HRESULT IRdUVSelection::ToMeshSelection | ( | [in] IRdMesh * | pTargetMesh,
|  | [out, retval] IRdMeshSelection ** | ppSelection |
| ) |  |  |

ToMeshSelection: Converts the selection to mesh selection.

Parameters:

  | pTargetMesh | [in] Name of target mesh selection.

Returns:
  ppSelection [out,retval] Returns converted selection as mesh selection.

HRESULT IRdUVSelection::SelectUVVertex | ( | [in] RtDWORD | geometry_vertex,
|  | [in] RtDWORD | uv_vertex |
| ) |  |  |

SelectUVVertex: Selects single UV vertex.

Parameters:

  | geometry_vertex | [in] Geometry vertex index value.
  | uv_vertex | [in] UV vertex index value.

HRESULT IRdUVSelection::GetNumSelectedFaceTriangles | ( | [out, retval] RtUlong * | pCnt | ) |

GetNumSelectedFaceTriangles: Returns number of selected face triangles.

Returns:
  pCnt [out,retval] Returns number of selected face triangles.

HRESULT IRdUVSelection::GetNumSelectedTriangles | ( | [out, retval] RtUlong * | pCnt | ) |

GetNumSelectedTriangles: Returns number of seleced triangles.

Returns:
  pCnt [out,retval] Returns number of selected triangles.

HRESULT IRdUVSelection::GetNumSelectedEdges | ( | [out, retval] RtUlong * | pCnt | ) |

GetNumSelectedEdges: Returns number of selected edges.

Returns:
  pCnt [out,retval] Returns number of selected edges.

HRESULT IRdUVSelection::GetNumSelectedVertices | ( | [out, retval] RtUlong * | pCnt | ) |

GetNumSelectedVertices: Returns number of selected geometry vertices.

Returns:
  pCnt [out,retval] Returns number of selected geometry vertices.

HRESULT IRdUVSelection::GetNumSelectedUVVertices | ( | [out, retval] RtUlong * | pCnt | ) |

GetNumSelectedUVVertices: Returns number of selected UV vertices.

Returns:
  pCnt [out,retval] Returns number of selected UV vertices.

HRESULT IRdUVSelection::EnumerateSelectedFaceTriangles | ( | [out] RtUlong * | pCnt,
|  | [out] RtFaceTriangleSelection ** | ppSel |
| ) |  |  |

EnumerateSelectedFaceTriangles: Returns number and list of selected face triangles.

- Buffer must be freed afterwards.

Parameters:

  | pCnt | [out] Number of selected face triangles.
  | ppSel | [out] List.

HRESULT IRdUVSelection::EnumerateSelectedTriangles | ( | [out] RtUlong * | pCnt,
|  | [out] RtTriangleSelection ** | ppSel |
| ) |  |  |

EnumerateSelectedTriangles: Returns number and list of selected triangles.

- Buffer must be freed afterwards.

Parameters:

  | pCnt | [out] Number of selected triangles.
  | ppSel | [out] List.

HRESULT IRdUVSelection::EnumerateSelectedEdges | ( | [out] RtUlong * | pCnt,
|  | [out] RtEdgeSelection ** | ppSel |
| ) |  |  |

EnumerateSelectedEdges: Returns number and list of selected edges.

- Buffer must be freed afterwards.

Parameters:

  | pCnt | [out] Number of selected edges.
  | ppSel | [out] List.

HRESULT IRdUVSelection::EnumerateSelectedVertices | ( | [out] RtUlong * | pCnt,
|  | [out] RtVertexSelection ** | ppSel |
| ) |  |  |

EnumerateSelectedVertices: Returns number and list of selected geometry vertices.

- Buffer must be freed afterwards.

Parameters:

  | pCnt | [out] Number of selected geometry vertices.
  | ppSel | [out] List.

HRESULT IRdUVSelection::EnumerateSelectedUVVertices | ( | [out] RtUlong * | pCnt,
|  | [out] RtUVVertexSelection ** | ppSel |
| ) |  |  |

EnumerateSelectedUVVertices: Returns number and list of selected UV vertices.

- Buffer must be freed afterwards.

Parameters:

  | pCnt | [out] Number of selected UV vertices.
  | ppSel | [out] List.

HRESULT IRdUVSelection::SelectFaceTriangle | ( | [in] RtUlong | index | ) |

SelectFaceTriangle: Selects single face triangle with specified index.

Parameters:

  | index | [in] Index of desired face triangle to select.

HRESULT IRdUVSelection::SelectTriangle | ( | [in] RtUlong | index | ) |

SelectTriangle: Selects single trianlge with specified index.

Parameters:

  | index | [in] Index of desired triangle to select.

HRESULT IRdUVSelection::SelectEdge | ( | [in] RtUlong | tri_index,
|  | [in] RtUlong | edge_index |
| ) |  |  |

SelectEdge: Selects single edge with specified triangle and edge index:

- 0=ij
- 1=jk
- 2=ki

Parameters:

  | tri_index | [in] Triangle index value.
  | edge_index | [in] Edge value to select.

HRESULT IRdUVSelection::SelectVertex | ( | [in] RtUlong | index,
|  | [in] RtFloat | weight |
| ) |  |  |

SelectVertex: Selects specified geometry vertex.

Parameters:

  | index | [in] Geometry index of desired vertex.
  | weight | [in] Weight value of specified vertex.

HRESULT IRdUVSelection::CopyContentsTo | ( | [in] IRdUVSelection * | pTarget | ) |

CopyContentsTo: Copies the selection to another instance with replacing the content.

Parameters:

  | pTarget | [in] Name of instance to copy selection to.

HRESULT IRdUVSelection::IsSelectedFaceTriangle | ( | [in] RtUlong | index,
|  | [out, retval] RtBool * | pSelected |
| ) |  |  |

IsSelectedFaceTriangle: Returns true if face triangle with specified index is selected.

Parameters:

  | index | [in] Face triangle index value.

Returns:
  pSelected [out,retval] Returns true if specified face triangle is selected.

HRESULT IRdUVSelection::IsSelectedTriangle | ( | [in] RtUlong | index,
|  | [out, retval] RtBool * | pSelected |
| ) |  |  |

IsSelectedTriangle: Returns true if triangle with specified index is selected.

Parameters:

  | index | [in] Triangle index value.

Returns:
  pSelected [out,retval] Returns true if specified triangle is selected.

HRESULT IRdUVSelection::IsSelectedEdge | ( | [in] RtUlong | tri_index,
|  | [in] RtUlong | edge_index,
|  | [out, retval] RtBool * | pSelected |
| ) |  |  |

IsSelectedEdge: Returns true if edge with specified triangle and edge index is selected.

Parameters:

  | tri_index | [in] Triangle index value.
  | edge_index | [in] Edge index value.

Returns:
  pSelected [out,retval] Returns true if specified edge is selected.

HRESULT IRdUVSelection::IsSelectedVertex | ( | [in] RtUlong | index,
|  | [out, retval] RtBool * | pSelected |
| ) |  |  |

IsSelectedVertex: Returns true if geometry vertex with specified index is selected.

Parameters:

  | index | [in] Index of geometry vertex to test for selected.

Returns:
  pSelected [out,retval] Returns true if specified vertex is selected.

HRESULT IRdUVSelection::IsSelectedUVVertex | ( | [in] RtUlong | geom_vertex,
|  | [in] RtUlong | uv_vertex,
|  | [out, retval] RtBool * | pSelected |
| ) |  |  |

IsSelectedUVVertex: Returns true if UV with specified index is selected.

Parameters:

  | geom_vertex | [in] Index value for vertex.
  | uv_vertex | [in] UV index of vertex.

Returns:
  pSelected [out,retval] Returns true if the specified vertex is selected.

HRESULT IRdUVSelection::DeselectFaceTriangle | ( | [in] RtUlong | index | ) |

DeselectFaceTriangle: Deselects face triangle.

Parameters:

  | index | [in] Index of face triangle to deselect.

HRESULT IRdUVSelection::DeselectTriangle | ( | [in] RtUlong | index | ) |

DeselectTriangle: Deselects triangle.

Parameters:

  | index | [in] Index value of triangle to be deselected.

HRESULT IRdUVSelection::DeselectEdge | ( | [in] RtUlong | tri_index,
|  | [in] RtUlong | edge_index |
| ) |  |  |

DeselectEdge: Deselects edge.

Parameters:

  | tri_index | [in] Triangle index value.
  | edge_index | [in] Edge index value to be deselected.

HRESULT IRdUVSelection::DeselectVertex | ( | [in] RtUlong | index | ) |

DeselectVertex: Deselects geometry vertex.

Parameters:

  | index | [in] Index of geometry vertex to deselect.

HRESULT IRdUVSelection::DeselectUVVertex | ( | [in] RtUlong | geom_index,
|  | [in] RtUlong | uv_index |
| ) |  |  |

DeselectUVVertex: Deselects UV vertex.

Parameters:

  | geom_index | [in] Index of the geometry of selection.
  | uv_index | [in] Index of the UV of selection.

HRESULT IRdUVSelection::MergeWith | ( | [in] IRdUVSelection * | pSrc | ) |

MergeWith: Performs the union with two selections.

- It is assumed that selections belong to same mesh.
- Results are stored to this instance.

Parameters:

  | pSrc | [in] Union operation on the two selections.

HRESULT IRdUVSelection::Subtract | ( | [in] IRdUVSelection * | pSrc | ) |

Subtract:

Parameters:

  | pSrc | [in] Deselects all elements which are selected in pSrc selection (selection difference).

HRESULT IRdUVSelection::Clear | ( |  | ) |

Clear: Clears the selection.

HRESULT IRdUVSelection::IsEmpty | ( | [out, retval] RtBool * | pEmpty | ) |

IsEmpty:

Returns:
  pEmpty [out,retval] Returns true if no elements are selected.

HRESULT IRdUVSelection::DeselectUVVertices | ( |  | ) |

DeselectUVVertices: Deselects all UV vertices.