Condividi tramite


Funzione XMU555::XMU555(constfloat*,bool) (directxpackedvector.h)

Inizializza una nuova istanza di XMU555 da una matrice di tre elementi float e un bool argomento.

Questo costruttore inizializza una nuova istanza di XMU555 da una matrice di tre elementi float (specificando x-, y e z-components) e un bool argomento (specificando un componente w).

Nota Questa funzionalità è disponibile solo per lo sviluppo basato su C++.

Sintassi

void XMU555(
  const float *pArray,
  bool        _w
) noexcept;

Parametri

pArray

Matrice a virgola mobile di tre elementi contenente i valori usati per inizializzare i componenti x-, y e z di una nuova istanza di XMU555.

_w

Valore del componente w-component dell'istanza.

Valore restituito

nessuno

Osservazioni

Gli elementi della matrice e l'argomento _w vengono mappati ai componenti vettoriali di una nuova istanza di XMU555 come indicato di seguito:

Membro XMU555 Argomento Intervallo
x pArray[0] 0.0, 31.0
y pArray[1] 0.0, 31.0
z pArray[2] 0.0, 31.0
w _W 0.0, 1.0

Gli argomenti ai costruttori verranno bloccati nell'intervallo consentito prima dell'assegnazione al membro appropriato di XMU555.

Lo pseudocode seguente illustra l'operazione di questo costruttore, che sfrutta l'unione dei quattro componenti del vettore XMU555 con un'istanza di uint16_t nella definizione della struttura:

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

Requisiti

   
Piattaforma di destinazione Windows
Intestazione directxpackedvector.h

Vedi anche

XMU5555

Costruttori XMU555