Partager via


structure XMDECN4 (directxpackedvector.h)

Vecteur 4D pour stocker des valeurs signées et normalisées en tant que composants x-,y-et z- signés 10 bits et un composant w signé 2 bits.

Pour obtenir la liste des fonctionnalités supplémentaires telles que les constructeurs et les opérateurs disponibles XMDECN4 lorsque vous programmez en C++, consultez extensions XMDECN4.

 

Syntaxe

struct XMDECN4 {
  union {
    struct {
      int32_t x : 10;
      int32_t y : 10;
      int32_t z : 10;
      int32_t w : 2;
    };
             uint32_t v;
  };
  void      XMDECN4();
  void      XMDECN4(
    const XMDECN4 & unnamedParam1
  );
  XMDECN4 & operator=(
    const XMDECN4 & unnamedParam1
  );
  void      XMDECN4(
    XMDECN4 && unnamedParam1
  );
  XMDECN4 & operator=(
    XMDECN4 && unnamedParam1
  );
  void      XMDECN4(
    uint32_t Packed
  ) noexcept;
  void      XMDECN4(
    float _x,
    float _y,
    float _z,
    float _w
  ) noexcept;
  void      XMDECN4(
    const float *pArray
  ) noexcept;
  void      operator uint32_t() noexcept;
  XMDECN4 & operator=(
    uint32_t Packed
  ) noexcept;
};

Membres

x

Valeur entière signée dans la plage [-511, 511] décrivant la coordonnée x du vecteur.

y

Valeur entière signée dans la plage [-511, 511] décrivant la coordonnée y du vecteur.

z

Valeur entière signée dans la plage [-511, 511] décrivant la coordonnée z du vecteur.

w

Valeur entière signée dans la plage [-1, 1] décrivant la coordonnée w du vecteur.

v

Entier 32 bits non signé représentant le vecteur 4D.

void XMDECN4()

Constructeur par défaut pour XMDECN4.

Constructeur par défaut pour XMDECN4 .

Note Ce constructeur est disponible uniquement sous C++.
 

void XMDECN4( const XMDECN4 & unnamedParam1)

Constructeur pour XMDECN4.

Constructeur pour XMDECN4.

Note Ce constructeur est disponible uniquement sous C++.

XMDECN4 & operator=( const XMDECN4 & unnamedParam1)

void XMDECN4( XMDECN4 && unnamedParam1)

Constructeur pour XMDECN4.

Constructeur pour XMDECN4.

Note Ce constructeur est disponible uniquement sous C++.

XMDECN4 & operator=( XMDECN4 && unnamedParam1)

Affecte les données de composant vectoriel d’une instance de XMDECN4 à la instance actuelle de XMDECN4.

Cet opérateur affecte les données de composant vectoriel d’un instance de XMDECN4 à la instance actuelle de XMDECN4.

Note Cet opérateur n’est disponible que sous C++.

void XMDECN4( uint32_t Packed) noexcept

Initialise une nouvelle instance de à partir d’une XMDECN4uint32_t variable contenant des données de composant dans un format packed.

Ce constructeur initialise une nouvelle instance de XMDECN4 à partir d’une uint32_t variable contenant des données de composant dans un format packed.

Note Ce constructeur est disponible uniquement sous C++.
 

void XMDECN4( float _x, float _y, float _z, float _w) noexcept

Initialise un nouveau instance de à partir de XMDECN4 quatre arguments normalisésfloat.

Ce constructeur initialise une nouvelle instance de XMDECN4 à partir de quatre arguments normalisésfloat.

Note Ce constructeur est disponible uniquement sous C++.
 

void XMDECN4( const float *pArray) noexcept

Initialise une nouvelle instance de XMDECN4 à partir d’un argument de tableau à quatre élémentsfloat.

Ce constructeur initialise une nouvelle instance de XMDECN4 à partir d’un argument de tableau de quatre élémentsfloat.

Note Ce constructeur est disponible uniquement sous C++.

opérateur void uint32_t() noexcept

Retourne une instance de uint32_t contenir les composants du XMDECN4 instance dans un format packé.

Retourne une instance de uint32_t contenir les composants du instance XMDECN4 dans un format packé.

Note Cet opérateur n’est disponible que sous C++.
 

XMDECN4 & operator=( uint32_t Packed) noexcept

Cet opérateur affecte les données du composant vectoriel emballées dans un instance de uint32_t à la instance actuelle de XMDECN4.

Note Cet opérateur n’est disponible que sous C++.
 

Remarques

Les XMDECN4 constructeurs qui utilisent des arguments à virgule flottante nécessitent une entrée normalisée, qui doit se trouver dans la plage de [-1.0.-1.0]. Pendant l’instanciation, les entrées spécifiant les composants x, y et z sont ensuite multipliées par 511.0f, les résultats sont arrondis, puis attribués aux membres appropriés de XMDECN4.

XMDECN4peut être utilisé pour charger des instances de XMVECTOR à partir de valeurs normalisées, à l’aide de XMLoadDecN4, qui divise les composants x, y et z par 511.0f, arrondit le résultat, puis affecte les composants à un XMVECTOR instance.

XMVECTOR les instances contenant des valeurs normalisées peuvent être stockées dans XMDECN4 à l’aide de XMStoreDecN4, qui multiplie les composants x, y et z par 511.0f , arrondissant le résultat, avant d’affecter les valeurs aux membres appropriés XMDECN4 .

Noms: Utiliser DirectX ::P ackedVector

Configuration requise pour la plateforme

Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 avec le SDK Windows pour Windows 8. Pris en charge pour les applications de bureau Win32, les applications du Windows Store et Windows Phone 8 applications.

Configuration requise

Condition requise Valeur
En-tête directxpackedvector.h

Voir aussi

Structures de bibliothèque DirectXMath

XMDECN4 Extensions