Función XMU555::XMU555(constfloat*,bool) (directxpackedvector.h)
Inicializa una nueva instancia de XMU555 desde una matriz de tres elementos float
y un bool
argumento.
Este constructor inicializa una nueva instancia de XMU555 desde una matriz de tres elementos float
(especificando x, y- y z-components) y un bool
argumento (especificando un componente w).
Sintaxis
void XMU555(
const float *pArray,
bool _w
) noexcept;
Parámetros
pArray
Matriz de punto flotante de tres elementos que contiene 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.0, 31.0 |
s | pArray[1] | 0.0, 31.0 |
z | pArray[2] | 0.0, 31.0 |
w | _W | 0.0, 1.0 |
Los argumentos para los constructores se sujetarán al intervalo permitido antes de la asignación al miembro adecuado de XMU555.
El siguiente pseudocódigo 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.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)));
Requisitos
Plataforma de destino | Windows |
Encabezado | directxpackedvector.h |