Поделиться через


Функция XMU555::XMU555(constuint8_t*,bool) (directxpackedvector.h)

Инициализирует новый экземпляр XMU555 из массива из трех элементов int8_t и одного bool аргумента.

Этот конструктор инициализирует новый экземпляр XMU555 из массива трех элементов int8_t (с указанием x-, y- и z-components) и одного <bool аргумента (задающего w-компонент).

Примечание Это доступно только для разработки на основе C++.

Синтаксис

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

См. также раздел

XMU555

Конструкторы XMU555