Diligent Engine  v.2.4.g
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Diligent::Vector4< T > Struct Template Reference

#include <BasicMath.hpp>

Public Member Functions

Vector4 operator- (const Vector4 &right) const
 
Vector4 operator- () const
 
Vector4operator-= (const Vector4< T > &right)
 
Vector4 operator+ (const Vector4 &right) const
 
Vector4operator+= (const Vector4< T > &right)
 
Vector4 operator* (T s) const
 
Vector4operator*= (T s)
 
Vector4 operator* (const Vector4 &right) const
 
Vector4operator*= (const Vector4 &right)
 
Vector4 operator/ (T s) const
 
Vector4operator/= (T s)
 
Vector4 operator/ (const Vector4 &right) const
 
Vector4operator/= (const Vector4 &right)
 
bool operator== (const Vector4 &right) const
 
bool operator!= (const Vector4 &right) const
 
Vector4 operator* (const Matrix4x4< T > &m) const
 
Vector4operator= (const Vector3< T > &v3)
 
Vector4operator= (const Vector4 &)=default
 
Vector4 operator< (const Vector4 &right) const
 
Vector4 operator> (const Vector4 &right) const
 
Vector4 operator<= (const Vector4 &right) const
 
Vector4 operator>= (const Vector4 &right) const
 
T * Data ()
 
const T * Data () const
 
T & operator[] (size_t index)
 
const T & operator[] (size_t index) const
 
 Vector4 ()
 
 Vector4 (T _x, T _y, T _z, T _w)
 
 Vector4 (const Vector3< T > &v3, T _w)
 
template<typename Y >
Vector4< Y > Recast () const
 
 operator Vector3< T > () const
 

Static Public Member Functions

template<typename Y >
static Vector4 MakeVector (const Y &vals)
 

Public Attributes

union {
   struct {
      T   x
 
      T   y
 
      T   z
 
      T   w
 
   } 
 
   struct {
      T   r
 
      T   g
 
      T   b
 
      T   a
 
   } 
 
}; 
 

Constructor & Destructor Documentation

◆ Vector4() [1/3]

template<class T >
Diligent::Vector4< T >::Vector4 ( )
inline

◆ Vector4() [2/3]

template<class T >
Diligent::Vector4< T >::Vector4 ( _x,
_y,
_z,
_w 
)
inline

◆ Vector4() [3/3]

template<class T >
Diligent::Vector4< T >::Vector4 ( const Vector3< T > &  v3,
_w 
)
inline

Member Function Documentation

◆ Data() [1/2]

template<class T >
T* Diligent::Vector4< T >::Data ( )
inline

◆ Data() [2/2]

template<class T >
const T* Diligent::Vector4< T >::Data ( ) const
inline

◆ MakeVector()

template<class T >
template<typename Y >
static Vector4 Diligent::Vector4< T >::MakeVector ( const Y &  vals)
inlinestatic

◆ operator Vector3< T >()

template<class T >
Diligent::Vector4< T >::operator Vector3< T > ( ) const
inline

◆ operator!=()

template<class T >
bool Diligent::Vector4< T >::operator!= ( const Vector4< T > &  right) const
inline

◆ operator*() [1/3]

template<class T >
Vector4 Diligent::Vector4< T >::operator* ( const Matrix4x4< T > &  m) const
inline

◆ operator*() [2/3]

template<class T >
Vector4 Diligent::Vector4< T >::operator* ( const Vector4< T > &  right) const
inline

◆ operator*() [3/3]

template<class T >
Vector4 Diligent::Vector4< T >::operator* ( s) const
inline

◆ operator*=() [1/2]

template<class T >
Vector4& Diligent::Vector4< T >::operator*= ( const Vector4< T > &  right)
inline

◆ operator*=() [2/2]

template<class T >
Vector4& Diligent::Vector4< T >::operator*= ( s)
inline

◆ operator+()

template<class T >
Vector4 Diligent::Vector4< T >::operator+ ( const Vector4< T > &  right) const
inline

◆ operator+=()

template<class T >
Vector4& Diligent::Vector4< T >::operator+= ( const Vector4< T > &  right)
inline

◆ operator-() [1/2]

template<class T >
Vector4 Diligent::Vector4< T >::operator- ( ) const
inline

◆ operator-() [2/2]

template<class T >
Vector4 Diligent::Vector4< T >::operator- ( const Vector4< T > &  right) const
inline

◆ operator-=()

template<class T >
Vector4& Diligent::Vector4< T >::operator-= ( const Vector4< T > &  right)
inline

◆ operator/() [1/2]

template<class T >
Vector4 Diligent::Vector4< T >::operator/ ( const Vector4< T > &  right) const
inline

◆ operator/() [2/2]

template<class T >
Vector4 Diligent::Vector4< T >::operator/ ( s) const
inline

◆ operator/=() [1/2]

template<class T >
Vector4& Diligent::Vector4< T >::operator/= ( const Vector4< T > &  right)
inline

◆ operator/=() [2/2]

template<class T >
Vector4& Diligent::Vector4< T >::operator/= ( s)
inline

◆ operator<()

template<class T >
Vector4 Diligent::Vector4< T >::operator< ( const Vector4< T > &  right) const
inline

◆ operator<=()

template<class T >
Vector4 Diligent::Vector4< T >::operator<= ( const Vector4< T > &  right) const
inline

◆ operator=() [1/2]

template<class T >
Vector4& Diligent::Vector4< T >::operator= ( const Vector3< T > &  v3)
inline

◆ operator=() [2/2]

template<class T >
Vector4& Diligent::Vector4< T >::operator= ( const Vector4< T > &  )
default

◆ operator==()

template<class T >
bool Diligent::Vector4< T >::operator== ( const Vector4< T > &  right) const
inline

◆ operator>()

template<class T >
Vector4 Diligent::Vector4< T >::operator> ( const Vector4< T > &  right) const
inline

◆ operator>=()

template<class T >
Vector4 Diligent::Vector4< T >::operator>= ( const Vector4< T > &  right) const
inline

◆ operator[]() [1/2]

template<class T >
T& Diligent::Vector4< T >::operator[] ( size_t  index)
inline

◆ operator[]() [2/2]

template<class T >
const T& Diligent::Vector4< T >::operator[] ( size_t  index) const
inline

◆ Recast()

template<class T >
template<typename Y >
Vector4<Y> Diligent::Vector4< T >::Recast ( ) const
inline

Member Data Documentation

◆ @17

union { ... }

◆ a

template<class T >
T Diligent::Vector4< T >::a

◆ b

template<class T >
T Diligent::Vector4< T >::b

◆ g

template<class T >
T Diligent::Vector4< T >::g

◆ r

template<class T >
T Diligent::Vector4< T >::r

◆ w

template<class T >
T Diligent::Vector4< T >::w

◆ x

template<class T >
T Diligent::Vector4< T >::x

◆ y

template<class T >
T Diligent::Vector4< T >::y

◆ z

template<class T >
T Diligent::Vector4< T >::z

The documentation for this struct was generated from the following file: