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