Función XMU555::XMU555(constuint8_t*,bool) (directxpackedvector.h)
Inicializa una nueva instancia de XMU555 a partir de una matriz de tres elementos int8_t
y un bool
argumento.
Este constructor inicializa una nueva instancia de XMU555 a partir de una matriz de tres elementos int8_t
(especificando x,y- y z-components) y un <bool
argumento (especificando un componente w).
Sintaxis
void XMU555(
const uint8_t *pArray,
bool _w
) noexcept;
Parámetros
pArray
Tres matrices de caracteres de elemento que contienen los valores usados para inicializar los componentes x, y- y z de una nueva instancia de XMU555.
_w
Valor del componente w de la instancia.
Valor devuelto
Ninguno
Observaciones
Los elementos de matriz y el argumento _w se asignan a los componentes vectoriales de una nueva instancia de XMU555 de la siguiente manera:
Miembro XMU555 | Argumento | Intervalo |
---|---|---|
x | pArray[0] | 0, 31 |
s | pArray[1] | 0, 31 |
z | pArray[2] | 0, 31 |
w | _W | 0, 1 |
Los argumentos de los constructores se restringirán al intervalo permitido antes de la asignación al miembro adecuado de XMU555.
El pseudocódigo siguiente muestra el funcionamiento de este constructor, que aprovecha la unión de los cuatro componentes del vector XMU555 con una instancia de uint16_t en la definición de la estructura:
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)));
Requisitos
Plataforma de destino | Windows |
Encabezado | directxpackedvector.h |