Compartir a través de


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).

Nota Esto solo está disponible para el desarrollo basado en C++.

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

Consulte también

XMU555

Constructores XMU555