Поделиться через


структура XMDECN4 (directxpackedvector.h)

4D-вектор для хранения подписанных нормализованных значений в виде 10-разрядных компонентов x-, y-, и z- и 2-битного подписанного w-компонента.

Список дополнительных функций, таких как конструкторы и операторы, доступные при XMDECN4 программировании на C++, см. в разделе расширения XMDECN4.

Примечание Сведения об эквивалентных объектах D3DDECLTYPE, D3DFORMAT и DXGI_FORMAT см. в статье Эквивалентность типов библиотеки DirectXMath.
 

Синтаксис

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

Члены

x

Целочисленное значение со знаком в диапазоне [-511, 511], описывающее координату X вектора.

y

Целочисленное значение со знаком в диапазоне [-511, 511], описывающее координату Y вектора.

z

Целочисленное значение со знаком в диапазоне [-511, 511], описывающее z-координату вектора.

w

Целочисленное значение со знаком в диапазоне [-1, 1], описывающее w-координату вектора.

v

32-разрядное целое число без знака, представляющее вектор 4D.

void XMDECN4()

Конструктор по умолчанию для XMDECN4.

Конструктор по умолчанию для XMDECN4 .

Примечание Этот конструктор доступен только в C++.
 

void XMDECN4( const XMDECN4 & unnamedParam1)

Конструктор для XMDECN4.

Конструктор для XMDECN4.

Примечание Этот конструктор доступен только в C++.

XMDECN4 & operator=( const XMDECN4 & unnamedParam1)

void XMDECN4( XMDECN4 && unnamedParam1)

Конструктор для XMDECN4.

Конструктор для XMDECN4.

Примечание Этот конструктор доступен только в C++.

XMDECN4 & operator=( XMDECN4 && unnamedParam1)

Назначает данные компонента вектора из одного экземпляра XMDECN4 текущему экземпляру XMDECN4.

Этот оператор назначает данные компонента вектора из одного экземпляра XMDECN4 текущему экземпляру XMDECN4.

Примечание Этот оператор доступен только в C++.

void XMDECN4( uint32_t Упакованы) noexcept

Инициализирует новый экземпляр XMDECN4 из переменной uint32_t , содержащей данные компонента в упакованном формате.

Этот конструктор инициализирует новый экземпляр XMDECN4 из переменной uint32_t , содержащей данные компонента в упакованном формате.

Примечание Этот конструктор доступен только в C++.
 

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

Инициализирует новый экземпляр из XMDECN4 четырех нормализованных float аргументов.

Этот конструктор инициализирует новый экземпляр XMDECN4 из четырех нормализованных float аргументов.

Примечание Этот конструктор доступен только в C++.
 

void XMDECN4( const float *pArray) noexcept

Инициализирует новый экземпляр XMDECN4 из аргумента массива с четырьмя элементами float .

Этот конструктор инициализирует новый экземпляр XMDECN4 из аргумента массива четырех элементов float .

Примечание Этот конструктор доступен только в C++.

Оператор void uint32_t() noexcept

Возвращает экземпляр класса , uint32_t содержащий компоненты экземпляра XMDECN4 в упакованном формате.

Возвращает экземпляр класса , uint32_t содержащий компоненты экземпляра XMDECN4 в упакованном формате.

Примечание Этот оператор доступен только в C++.
 

XMDECN4 & operator=( uint32_t Упакованы) noexcept

Этот оператор назначает данные компонента вектора, упакованные в экземпляр uint32_t , текущему экземпляру XMDECN4.

Примечание Этот оператор доступен только в C++.
 

Комментарии

Для конструкторов XMDECN4 , использующих аргументы с плавающей запятой, требуются нормализованные входные данные, которые должны находиться в диапазоне [-1.0.-1.0]. Во время создания экземпляра входные данные, указывающие компоненты x, y и z, умножаются на 511,0f, результаты округляются и присваиваются соответствующим членам XMDECN4.

XMDECN4 можно использовать для загрузки экземпляров XMVECTOR из нормализованных значений с помощью XMLoadDecN4, который делит x-, y-, и z-компоненты на 511,0f, округляет результат, а затем назначает компоненты экземпляру XMVECTOR .

XMVECTOR Экземпляры, содержащие нормализованные значения, можно хранить в XMDECN4 с помощью XMStoreDecN4, который умножает x-, y-и z-компоненты на 511,0f, округляя результат, прежде чем присваивать значения соответствующим XMDECN4 членам.

Пространства имен: Использование DirectX::P ackedVector

Требования к платформе

Microsoft Visual Studio 2010 или Microsoft Visual Studio 2012 с Windows SDK для Windows 8. Поддерживается для классических приложений Win32, приложений Магазина Windows и приложений Windows Phone 8.

Требования

Требование Значение
Заголовок directxpackedvector.h

См. также раздел

Структуры библиотек DirectXMath

Расширения XMDECN4