# IRdVertex Interface Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | Normalize ()
HRESULT | GetLength ([out, retval] RtFloat *pVal)
HRESULT | DotProduct ([in] RtFloat fCoef)
HRESULT | Add ([in] IRdVertex *pV)
HRESULT | Sub ([in] IRdVertex *pV)
HRESULT | GetDistanceFrom ([in] IRdVertex *pV,[out, retval] RtFloat *pVal)
HRESULT | SProduct ([in] IRdVertex *pV,[out, retval] RtFloat *pVal)
HRESULT | XProduct ([in] IRdVertex *pV,[out, retval] IRdVertex **pCross)
## Properties
RtFloat * | x`[get]`
RtFloat | x`[set]`
RtFloat * | y`[get]`
RtFloat | y`[set]`
RtFloat * | z`[get]`
RtFloat | z`[set]`

## Detailed Description

The IRdVertex object represents vector or point in 3D space

## Member Function Documentation

HRESULT IRdVertex::Normalize | ( |  | ) |

Normalizes vector to unit length

HRESULT IRdVertex::GetLength | ( | [out, retval] RtFloat * | pVal | ) |

Returns length of vector

Parameters:

  | pVal | length of vector

HRESULT IRdVertex::DotProduct | ( | [in] RtFloat | fCoef | ) |

Multiplies vector by scalar coefficient

Parameters:

  | fCoef | scalar coefficient

HRESULT IRdVertex::Add | ( | [in] IRdVertex * | pV | ) |

Adds vector

Parameters:

  | pV | vector to add

HRESULT IRdVertex::Sub | ( | [in] IRdVertex * | pV | ) |

Subtracts vector

Parameters:

  | pV | vector to subtract

HRESULT IRdVertex::GetDistanceFrom | ( | [in] IRdVertex * | pV,
|  | [out, retval] RtFloat * | pVal |
| ) |  |  |

Returns distance from given point

Parameters:

  | pV | point
  | pVal | distance

HRESULT IRdVertex::SProduct | ( | [in] IRdVertex * | pV,
|  | [out, retval] RtFloat * | pVal |
| ) |  |  |

Returns dot product with an arbitrary vector

Parameters:

  | pV | vector
  | pVal | dot product

HRESULT IRdVertex::XProduct | ( | [in] IRdVertex * | pV,
|  | [out, retval] IRdVertex ** | pCross |
| ) |  |  |

Returns cross product with an arbitrary vector

Parameters:

  | pV | vector
  | pCross | cross product

## Property Documentation

RtFloat* IRdVertex::x`[get]`

Gets x coordinate

Parameters:

  | pVal | x coordinate

RtFloat IRdVertex::x`[set]`

Sets x coordinate

Parameters:

  | pVal | x coordinate

RtFloat* IRdVertex::y`[get]`

Gets y coordinate

Parameters:

  | pVal | y coordinate

RtFloat IRdVertex::y`[set]`

Sets y coordinate

Parameters:

  | pVal | y coordinate

RtFloat* IRdVertex::z`[get]`

Gets z coordinate

Parameters:

  | pVal | z coordinate

RtFloat IRdVertex::z`[set]`

Sets z coordinate

Parameters:

  | pVal | z coordinate