Condividi tramite


Funzione XMSHORTN4::XMSHORTN4(constfloat*) (directxpackedvector.h)

Inizializza una nuova istanza di XMSHORTN4 da un argomento di matrice di quattro elementi float .

Questo costruttore inizializza una nuova istanza di XMSHORTN4 da un oggetto da un argomento matrice di quattro elementi float .

Nota Questo costruttore è disponibile solo in C++.

Sintassi

void XMSHORTN4(
  const float *pArray
) noexcept;

Parametri

pArray

Matrice a virgola mobile a quattro elementi contenente i valori utilizzati per inizializzare i quattro componenti di una nuova istanza di XMSHORTN4.

Valore restituito

nessuno

Osservazioni

Gli elementi di matrice vengono mappati ai componenti vettoriali di una nuova istanza di XMSHORTN4 come indicato di seguito:

Componente vettore Elemento Array Intervallo Descrizione
x pArray[0] -1.0, 1.0 Durante la creazione di un'istanza, pArray[0] è bloccato tra -1 e 1, moltiplicato per 32767.0f e assegnato a x.
y pArray[1] -1.0, 1.0 Durante la creazione di un'istanza, pArray[1] viene bloccato tra -1 e 1, moltiplicato per 32767.0f e quindi assegnato a y.
z pArray[2] -1.0, 1.0 Durante la creazione di un'istanza, pArray[2] viene bloccato tra -1 e 1, moltiplicato per 32767.0f e quindi assegnato a z.
w pArray[3] -1.0, 1.0 Durante la creazione di un'istanza, pArray[3] viene bloccato tra -1 e 1, moltiplicato per 32767.0f e quindi assegnato a w.

Lo pseudocodice seguente illustra l'operazione di questo costruttore:

XMSHORTN4 instance;
_x1=min( max( pArray[0], -1.0 ), 1.0 );
_y1=min( max( pArray[1], -1.0 ), 1.0 );
_z1=min( max( pArray[2], -1.0 ), 1.0 );
_w1=min( max( pArray[3], -1.0 ), 1.0 );
_x1 = round( _x1 * 32767.0f);
_y1 = round( _y1 * 32767.0f);
_z1 = round( _z1 * 32767.0f);
_w1 = round( _w1 * 32767.0f);
instance._x = _x1;
instance._y = _y1;
instance._z = _z1;
instance._w = _w1;

Requisiti

   
Piattaforma di destinazione Windows
Intestazione directxpackedvector.h

Vedi anche

XMSHORTN4

Costruttori XMSHORTN4