Partager via


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

Initialise une nouvelle instance de XMU555 à partir d’un tableau de trois éléments float et d’un argumentbool.

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

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

Syntaxe

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

Paramètres

pArray

Tableau à virgule flottante à trois é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 tableaux 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.0, 31.0
y pArray[1] 0.0, 31.0
z pArray[2] 0.0, 31.0
w _W 0.0, 1.0

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

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

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

Spécifications

   
Plateforme cible Windows
En-tête directxpackedvector.h

Voir aussi

XMU555

Constructeurs XMU555