Condividi tramite


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

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

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

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

Sintassi

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

Parametri

pArray

Matrice di caratteri a 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, 31
y pArray[1] 0, 31
z pArray[2] 0, 31
w _W 0, 1

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

Lo pseudocodice 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 ), 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)));

Requisiti

   
Piattaforma di destinazione Windows
Intestazione directxpackedvector.h

Vedi anche

XMU555

Costruttori XMU555