XMSHORTN2 structure (directxpackedvector.h)

A 2D vector for storing signed, normalized values as signed 16-bit integers (type int16_t).

For a list of more functionality such as constructors and operators that are available using XMSHORTN2 when you are programming in C++, see XMSHORTN2 Extensions.

Note  See DirectXMath Library Type Equivalences for information about equivalent D3DDECLTYPE, D3DFORMAT, and DXGI_FORMAT objects.
 

Syntax

struct XMSHORTN2 {
  union {
    struct {
      int16_t x;
      int16_t y;
    };
    uint32_t v;
  };
  void        XMSHORTN2();
  void        XMSHORTN2(
    const XMSHORTN2 & unnamedParam1
  );
  XMSHORTN2 & operator=(
    const XMSHORTN2 & unnamedParam1
  );
  void        XMSHORTN2(
    XMSHORTN2 && unnamedParam1
  );
  XMSHORTN2 & operator=(
    XMSHORTN2 && unnamedParam1
  );
  void        XMSHORTN2(
    uint32_t Packed
  ) noexcept;
  void        XMSHORTN2(
    int16_t _x,
    int16_t _y
  ) noexcept;
  void        XMSHORTN2(
    const int16_t *pArray
  ) noexcept;
  void        XMSHORTN2(
    float _x,
    float _y
  ) noexcept;
  void        XMSHORTN2(
    const float *pArray
  ) noexcept;
  XMSHORTN2 & operator=(
    uint32_t Packed
  ) noexcept;
};

Members

x

Signed integer in the range [-32767, 32767] describing the x coordinate of the vector.

y

Signed integer in the range [-32767, 32767] describing the y coordinate of the vector.

v

void XMSHORTN2()

Default constructor for XMSHORTN2.

Default constructor for XMSHORTN2.

Note  This constructor is only available under C++.
 

void XMSHORTN2( const XMSHORTN2 & unnamedParam1)

A constructor for XMSHORTN2.

A constructor for XMSHORTN2.

Note  This constructor is only available under C++.

XMSHORTN2 & operator=( const XMSHORTN2 & unnamedParam1)

Assigns the vector component data from one instance of XMSHORTN2 to the current instance of XMSHORTN2.

This operator assigns the vector component data from one instance of XMSHORTN2 to the current instance of XMSHORTN2.

Note  This operator is only available for C++ based development.

void XMSHORTN2( XMSHORTN2 && unnamedParam1)

A constructor for XMSHORTN2.

A constructor for XMSHORTN2.

Note  This constructor is only available under C++.

XMSHORTN2 & operator=( XMSHORTN2 && unnamedParam1)

void XMSHORTN2( uint32_t Packed) noexcept

A constructor for XMSHORTN2.

A constructor for XMSHORTN2.

Note  This constructor is only available under C++.

void XMSHORTN2( int16_t _x, int16_t _y) noexcept

Initializes a new instance of XMSHORTN2 from two int16_t arguments.

This constructor initializes a new instance of XMSHORTN2 from two int16_t arguments.

Note  This constructor is only available under C++.
 

void XMSHORTN2( const int16_t *pArray) noexcept

Initializes a new instance of XMSHORTN2 from a two element int16_t array argument.

This constructor initializes a new instance of XMSHORTN2 from a two element int16_t array argument.

Note  This constructor is only available under C++.

void XMSHORTN2( float _x, float _y) noexcept

Initializes a new instance of XMSHORTN2 from two normalized float arguments.

This constructor initializes a new instance of XMSHORTN2 from two normalized float arguments.

Note  This constructor is only available under C++.
 

void XMSHORTN2( const float *pArray) noexcept

Initializes a new instance of XMSHORTN2 from a two element float array argument.

This constructor initializes a new instance of XMSHORTN2 from a two element float array argument.

Note  This constructor is only available under C++.

XMSHORTN2 & operator=( uint32_t Packed) noexcept

Remarks

Those XMSHORTN2 constructors using floating point arguments require normalized input, which must be in the range of [-1.0.-1.0]. During instantiation, data is multiplied by 32767.0f, results are rounded, and then assigned to the appropriate members of XMSHORTN2.

You can use XMSHORTN2 to load instances of XMVECTOR from normalized values by using XMLoadShortN2, which divides each component 32767.0f, rounds the result, and then assigns the components to an XMVECTOR instance.

You can store XMVECTOR instances containing normalized values into XMSHORTN2 using XMStoreShortN2, which multiplies each component by 32767.0f, rounding the result, before assigning the values to the appropriate XMSHORTN2 members.

Namespace: Use DirectX::PackedVector

Platform Requirements

Microsoft Visual Studio 2010 or Microsoft Visual Studio 2012 with the Windows SDK for Windows 8. Supported for Win32 desktop apps, Windows Store apps, and Windows Phone 8 apps.

Requirements

Requirement Value
Header directxpackedvector.h

See also

DirectXMath Library Structures

XMSHORTN2 Extensions