Функция XMU555::XMU555(constuint8_t*,bool) (directxpackedvector.h)
Инициализирует новый экземпляр XMU555 из массива из трех элементов int8_t
и одного bool
аргумента.
Этот конструктор инициализирует новый экземпляр XMU555 из массива трех элементов int8_t
(с указанием x-, y- и z-components) и одного <bool
аргумента (задающего w-компонент).
Синтаксис
void XMU555(
const uint8_t *pArray,
bool _w
) noexcept;
Параметры
pArray
Массив символов из трех элементов, содержащий значения, используемые для инициализации компонентов x, y и z нового экземпляра XMU555.
_w
Значение w-компонента экземпляра.
Возвращаемое значение
None
Remarks
Элементы массива и аргумент _w сопоставляются с компонентами вектора нового экземпляра XMU555 следующим образом:
Элемент XMU555 | Аргумент | Диапазон |
---|---|---|
x | pArray[0] | 0, 31 |
y | pArray[1] | 0, 31 |
z | pArray[2] | 0, 31 |
w | _Ж | 0, 1 |
Аргументы конструкторов будут прижаты к допустимому диапазону перед присвоением соответствующему члену XMU555.
Следующий псевдокод демонстрирует работу этого конструктора, который использует объединение четырех компонентов вектора XMU555 с экземпляром uint16_t в определении структуры:
XMU555 instance;
_x1=min( max( pArray[0], 0 ), 31 );
_y1=min( max( pArray[1], 0 ), 31 );
_z1=min( max( pArray[2], 0 ), 31 );
_w1=min( max( _w, 0 ), 1 );
instance.v = (((uint16_t)_w1 ? 0x8000 : 0) |
(((uint16_t)_z1 & 0x1F) << 10) |
(((uint16_t)_y1 & 0x1F) << 5) |
(((uint16_t)_x1 & 0x1F)));
Требования
Целевая платформа | Windows |
Header | directxpackedvector.h |