Share via


función XMUDEC4::XMUDEC4(constfloat*) (directxpackedvector.h)

Inicializa una nueva instancia de XMUDEC4 a partir de un argumento de matriz de cuatro elementos float .

Este constructor inicializa una nueva instancia de XMUDEC4 a partir de un argumento de matriz de cuatro elementos float .

Nota Este constructor solo está disponible en C++.

Sintaxis

void XMUDEC4(
  const float *pArray
) noexcept;

Parámetros

pArray

Matriz de punto flotante de cuatro elementos que contiene los valores usados para inicializar los cuatro componentes de una nueva instancia de XMUDEC4.

Valor devuelto

None

Observaciones

Como XMUDEC4 representa un vector entero de cuatro componentes, la parte fraccionarcional de un elemento de pArray se truncará.

Los elementos de matriz se asignan a los componentes vectoriales de una nueva instancia de XMUDEC4 de la siguiente manera:

XMUDEC4 miembro Elemento Array Intervalo
x pArray[0] -0.0, 1023.0
y pArray[1] -0.0, 1023.0
z pArray[2] -0.0, 1023.0
w pArray[3] 0, 3

Los elementos de pArray se sujetarán al intervalo permitido antes de la asignación al miembro adecuado de XMUDEC4.

El pseudocódigo siguiente muestra el funcionamiento de este constructor, que aprovecha la unión de los cuatro componentes del vector de XMUDEC4 con una instancia de uint32_t en la definición de la estructura:

XMUDEC4 instance;
_x1=min( max( pArray[0], 0.0 ), 1023.0 );
_y1=min( max( pArray[1], 0.0 ), 1023.0 );
_z1=min( max( pArray[2], 0.0 ), 1023.0 );
_w1=min( max( pArray[3], 0.0 ), 3.0 );

instance.v =  ( (uint32_t)_w1 << 30) |
              (((uint32_t)_z1 & 0x3FF) << 20) |
              (((uint32_t)_y1 & 0x3FF) << 10) |
              (((uint32_t)_x1 & 0x3FF));

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado directxpackedvector.h

Consulte también

XMUDEC4

Constructores de XMUDEC4