Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

# Unigine::Math::hvec3 Struct

This class represents a vector of 3 half (16-bit float) components.

## hvec3 ( ) #

Default constructor. Produces a zero vector.

## hvec3 ( const hvec3 & v ) #

Constructor. Initializes the vector by copying a given source vector.

### Arguments

• const hvec3 & v - Source vector.

## hvec3 ( half x, half y, half z ) #

Constructor. Initializes the vector using given half values.

### Arguments

• half x - The first component of the hvec3 vector.
• half y - The second component of the hvec3 vector.
• half z - The third component of the hvec3 vector.

### Examples

Source code (UnigineScript)
``````hvec3(2.0, 3.0, 1.0);
/*
Creates a vector (2.0, 3.0, 1.0)
*/``````

## hvec3 ( half v ) #

Constructor. Initializes the vector using a given scalar value: x=v, y=v, z=v.

### Arguments

• half v - Scalar value.

### Examples

Source code (UnigineScript)
``````hvec3(1.0);
/*
Creates a vector (1.0, 1.0, 1.0)
*/``````

## hvec3 ( float v ) #

Constructor. Initializes the vector using a given scalar value: x=v, y=v, z=v.

### Arguments

• float v - Scalar value.

### Examples

Source code (UnigineScript)
``````hvec3(1.0);
/*
Creates a vector (1.0, 1.0, 1.0)
*/``````

## hvec3 ( const vec3 & v ) #

Constructor. Initializes the vector using a given vec3 source vector.

### Arguments

• const vec3 & v - Source vector.

## hvec3 ( const dvec3 & v ) #

Constructor. Initializes the vector using a given dvec3 source vector.

### Arguments

• const dvec3 & v - Source vector.

## const half *operator const Unigine::Math::half * ( ) #

Performs type conversion to const half *.

## const void *operator const void * ( ) #

Performs type conversion to const void *.

## half *operator Unigine::Math::half * ( ) #

Performs type conversion to half *.

## void *operator void * ( ) #

Performs type conversion to void *.

## hvec3 &operator= ( const hvec3 & v ) #

Performs vector assignment. Destination vector = Source vector.

### Arguments

• const hvec3 & v - Source vector.

Result.

## half &operator[] ( int i ) #

Performs array access to the vector item reference by using given item index.

### Arguments

• int i - Vector item index.

### Return value

Vector item reference.

## halfoperator[] ( int i ) #

Performs array access to the vector item by using given item index.

### Arguments

• int i - Vector item index.

### Return value

Vector item.
Last update: 2020-07-31