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


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

4D-вектор для хранения неподписанных нормализованных значений в виде 16-разрядных целых чисел со знаком (тип uint16_t).

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

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

Синтаксис

struct XMUSHORTN4 {
  union {
    struct {
      uint16_t x;
      uint16_t y;
      uint16_t z;
      uint16_t w;
    };
    uint64_t v;
  };
  void         XMUSHORTN4();
  void         XMUSHORTN4(
    const XMUSHORTN4 & unnamedParam1
  );
  XMUSHORTN4 & operator=(
    const XMUSHORTN4 & unnamedParam1
  );
  void         XMUSHORTN4(
    XMUSHORTN4 && unnamedParam1
  );
  XMUSHORTN4 & operator=(
    XMUSHORTN4 && unnamedParam1
  );
  void         XMUSHORTN4(
    uint64_t Packed
  ) noexcept;
  void         XMUSHORTN4(
    uint16_t _x,
    uint16_t _y,
    uint16_t _z,
    uint16_t _w
  ) noexcept;
  void         XMUSHORTN4(
    const uint16_t *pArray
  ) noexcept;
  void         XMUSHORTN4(
    float _x,
    float _y,
    float _z,
    float _w
  ) noexcept;
  void         XMUSHORTN4(
    const float *pArray
  ) noexcept;
  XMUSHORTN4 & operator=(
    uint64_t Packed
  ) noexcept;
};

Члены

x

16-битовое целое число без знака в диапазоне [0–65535], описывающее координату X вектора.

y

16-битовое целое число без знака в диапазоне [0–65535], описывающее координату Y вектора.

z

16-битовое целое число без знака в диапазоне [0–65535], описывающее Z-координату вектора.

w

16-битовое целое число без знака в диапазоне [0–65535], описывающее w-координату вектора.

v

void XMUSHORTN4()

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

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

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

void XMUSHORTN4( const XMUSHORTN4 & unnamedParam1)

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

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

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

XMUSHORTN4 & operator=( const XMUSHORTN4 & unnamedParam1)

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

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

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

void XMUSHORTN4( XMUSHORTN4 && unnamedParam1)

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

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

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

XMUSHORTN4 & operator=( XMUSHORTN4 && unnamedParam1)

void XMUSHORTN4( uint64_t Упаковано) noexcept

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

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

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

void XMUSHORTN4( uint16_t _x, uint16_t _y, uint16_t _z, uint16_t _w) noexcept

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

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

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

void XMUSHORTN4( const uint16_t *pArray) noexcept

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

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

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

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

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

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

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

void XMUSHORTN4( const float *pArray) noexcept

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

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

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

XMUSHORTN4 & operator=( uint64_t Packed) noexcept

Комментарии

Эти XMUSHORTN4 конструкторы, использующие аргументы с плавающей запятой, требуют нормализованных входных данных, которые должны находиться в диапазоне [0,0–1,0]. Во время создания экземпляра данные умножаются на 65535,0f, результаты округляются, а затем присваиваются соответствующим членам XMUSHORTN4.

Вы можете использовать для XMUSHORTN4 загрузки экземпляров XMVECTOR из нормализованных значений с помощью XMLoadUShortN4, который делит каждый компонент 65535.0f, округляет результат и затем назначает компоненты экземпляру XMVECTOR .

Экземпляры, содержащие нормализованные значения, можно хранить XMVECTOR в XMUSHORTN4 с помощью XMStoreUShortN4, который умножает каждый компонент на 65535.0f, а затем округляет результат перед назначением значений соответствующим XMUSHORTN4 членам.

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

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

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

Требования

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

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

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

Расширения XMUSHORTN4