XMXDEC4 structure (directxpackedvector.h)

A 4D vector with x-,y-, and z- components represented as 10 bit signed integer values, and the w-component as a 2 bit unsigned integer value.

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

Syntax

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

Members

x

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

y

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

z

Signed integer value in the range [-511, 511] describing the z-coordinate of the vector.

w

Unsigned integer value in the range [0, 3] describing the w-coordinate of the vector.

v

Unsigned 32-bit integer representing the 4D vector.

void XMXDEC4()

Default constructor for XMXDEC4.

Default constructor for XMXDEC4 .

Note  This constructor is only available under C++.
 

void XMXDEC4( const XMXDEC4 & unnamedParam1)

A constructor for XMXDEC4.

A constructor for XMXDEC4.

Note  This constructor is only available under C++.

XMXDEC4 & operator=( const XMXDEC4 & unnamedParam1)

void XMXDEC4( XMXDEC4 && unnamedParam1)

A constructor for XMXDEC4.

A constructor for XMXDEC4.

Note  This constructor is only available under C++.

XMXDEC4 & operator=( XMXDEC4 && unnamedParam1)

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

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

Note  This operator is only available under C++.

void XMXDEC4( uint32_t Packed) noexcept

Initializes a new instance of XMXDEC4 from a uint32_t6 variable containing component data in a packed format.

This constructor initializes a new instance of XMXDEC4 from a uint32_t variable containing component data in a packed format.

Note  This constructor is only available under C++.
 

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

Initializes a new instance of XMXDEC4 from four float arguments.

This constructor initializes a new instance of XMXDEC4 from four float arguments.

Note  This constructor is only available under C++.
 

void XMXDEC4( const float *pArray) noexcept

Initializes a new instance of XMXDEC4 from a four element float array argument.

This constructor initializes a new instance of XMXDEC4 from a four element float array argument.

Note  This constructor is only available under C++.

void operator uint32_t() noexcept

Returns an instance of uint32_t containing the components of the XMXDEC4 instance in a packed format.

This operator returns an instance of uint32_t containing the components of the XMXDEC4 instance in a packed format.

Note  This operator is only available under C++.
 

XMXDEC4 & operator=( uint32_t Packed) noexcept

Assigns the vector component data packed in an instance of uint32_t to the current instance of XMXDEC4.

This operator assigns the vector component data packed in an instance of uint32_t to the current instance of XMXDEC4.

Note  This operator is only available under C++.
 

Remarks

XMXDEC4 can be loaded into instances of XMVECTOR by using XMLoadXDec4.

Instances of XMVECTOR can be stored into an instance of XMXDEC4 with XMStoreXDec4.

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

XMXDEC4 Extensions