Partager via


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

Initialise une nouvelle instance de XMU555 à partir d’un tableau à trois éléments int8_t et d’un bool argument.

Ce constructeur initialise une nouvelle instance de XMU555 à partir d’un tableau à trois éléments int8_t (en spécifiant les composants x, y et z) et d’un <bool argument (en spécifiant un composant w).

Note Ce n’est disponible que pour le développement basé sur C++.

Syntaxe

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

Paramètres

pArray

Tableau de trois caractères d’éléments contenant les valeurs utilisées pour initialiser les composants x, y- et z d’une nouvelle instance de XMU555.

_w

Valeur du composant w du instance.

Valeur de retour

None

Notes

Les éléments de tableau et l’argument _w sont mappés aux composants vectoriels d’une nouvelle instance de XMU555 comme suit :

Membre XMU555 Argument Plage
x pArray[0] 0, 31
y pArray[1] 0, 31
z pArray[2] 0, 31
w _W 0, 1

Les arguments des constructeurs seront limités à la plage autorisée avant l’affectation au membre approprié de XMU555.

Le pseudocode suivant illustre l’opération de ce constructeur, qui tire parti de l’union des quatre composants du vecteur XMU555 avec un instance de uint16_t dans la définition de la structure :

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

Spécifications

   
Plateforme cible Windows
En-tête directxpackedvector.h

Voir aussi

XMU555

Constructeurs XMU555