Функция XMU555::XMU555(constfloat*,bool) (directxpackedvector.h)
Инициализирует новый экземпляр XMU555 из массива из трех элементов float
и одного bool
аргумента.
Этот конструктор инициализирует новый экземпляр XMU555 из трехэлементного float
массива (с указанием x-, y- и z-component) и одного bool
аргумента (с указанием w-компонента).
Синтаксис
void XMU555(
const float *pArray,
bool _w
) noexcept;
Параметры
pArray
Массив с плавающей запятой из трех элементов, содержащий значения, используемые для инициализации компонентов x, y и z нового экземпляра XMU555.
_w
Значение w-компонента экземпляра.
Возвращаемое значение
None
Remarks
Элементы массива и аргумент _w сопоставляются с компонентами вектора нового экземпляра XMU555 следующим образом:
Элемент XMU555 | Аргумент | Диапазон |
---|---|---|
x | pArray[0] | 0.0, 31.0 |
y | pArray[1] | 0.0, 31.0 |
z | pArray[2] | 0.0, 31.0 |
w | _Ж | 0.0, 1.0 |
Аргументы конструкторов будут зажаты в допустимом диапазоне перед назначением соответствующему члену XMU555.
Следующий псевдокод демонстрирует работу этого конструктора, который использует объединение четырех компонентов вектора XMU555 с экземпляром uint16_t в определении структуры:
XMU555 instance;
_x1=min( max( pArray[0], 0.0 ), 31.0 );
_y1=min( max( pArray[1], 0.0 ), 31.0 );
_z1=min( max( pArray[2], 0.0 ), 31.0 );
_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 |