Partager via


Fonction XMU555 ::XMU555(uint8_t,uint8_t,uint8_t,bool) (directxpackedvector.h)

Initialise une nouvelle instance de XMU555 à partir de trois int8_t et un bool arguments.

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

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

Syntaxe

void XMU555(
  uint8_t _x,
  uint8_t _y,
  uint8_t _z,
  bool    _w
) noexcept;

Paramètres

_x

Valeur de la coordonnée x du vecteur, membre x du nouveau instance XMU555.

L’ampleur de cet argument sera limitée à une plage de [0, 31].

_y

Valeur de la coordonnée y du vecteur, le membre y du nouveau instance XMU555.

L’ampleur de cet argument sera limitée à une plage de [0, 31].

_z

Valeur de la coordonnée z du vecteur, le membre z du nouveau instance XMU555.

L’ampleur de cet argument sera limitée à une plage de [0, 31].

_w

Valeur de la coordonnée w du vecteur, le <membre wdcml :mark type="member">w</wdcml :mark> du nouveau instance XMU555.

L’ampleur de cet argument sera limitée à une plage de [0, 1].

Valeur de retour

None

Remarques

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( _x, 0 ), 31 );
_y1=min( max( _y, 0 ), 31 );
_z1=min( max( _z, 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));

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête directxpackedvector.h

Voir aussi

XMU555

Constructeurs XMU555