Freigeben über


XMU555::XMU555(constfloat*,bool)-Funktion (directxpackedvector.h)

Initialisiert eine neue instance von XMU555 aus einem Array mit drei Elementen float und einem bool Argument.

Dieser Konstruktor initialisiert eine neue instance von XMU555 aus einem drei Elementarray float (unter Angabe von x-, y- und z-Komponenten) und einem bool Argument (angabe einer w-Komponente).

Hinweis Dies ist nur für die C++-basierte Entwicklung verfügbar.

Syntax

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

Parameter

pArray

Drei Element-Gleitkommaarray mit den Werten, die zum Initialisieren der x-, y- und z-Komponenten eines neuen instance von XMU555 verwendet werden.

_w

Der Wert der w-Komponente der instance.

Rückgabewert

Keine

Bemerkungen

Arrayelemente und das argument _w werden den Vektorkomponenten einer neuen instance von XMU555 wie folgt zugeordnet:

XMU555-Member Argument Bereich
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

Argumente für die Konstruktoren werden vor der Zuweisung an den entsprechenden Member von XMU555 in den zulässigen Bereich eingespannt.

Der folgende Pseudocode veranschaulicht die Operation dieses Konstruktors, der die Vereinigung der vier Komponenten des XMU555-Vektors mit einer instance von uint16_t in der Definition der -Struktur nutzt:

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

Anforderungen

   
Zielplattform Windows
Kopfzeile directxpackedvector.h

Weitere Informationen

XMU555

XMU555-Konstruktoren