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

#include <BasicMath.hpp>

Public Member Functions

Vector2 operator- (const Vector2< T > &right) const
 
Vector2operator-= (const Vector2< T > &right)
 
Vector2 operator- () const
 
Vector2 operator+ (const Vector2< T > &right) const
 
Vector2operator+= (const Vector2< T > &right)
 
Vector2 operator* (T s) const
 
Vector2 operator* (const Vector2 &right) const
 
Vector2operator*= (const Vector2 &right)
 
Vector2operator*= (T s)
 
Vector2 operator* (const Matrix2x2< T > &m) const
 
Vector2 operator/ (const Vector2 &right) const
 
Vector2operator/= (const Vector2 &right)
 
Vector2 operator/ (T s) const
 
Vector2operator/= (T s)
 
bool operator== (const Vector2 &right) const
 
bool operator!= (const Vector2 &right) const
 
Vector2 operator< (const Vector2 &right) const
 
Vector2 operator> (const Vector2 &right) const
 
Vector2 operator<= (const Vector2 &right) const
 
Vector2 operator>= (const Vector2 &right) const
 
T * Data ()
 
const T * Data () const
 
T & operator[] (size_t index)
 
const T & operator[] (size_t index) const
 
 Vector2 ()
 
 Vector2 (T _x, T _y)
 
template<typename Y >
Vector2< Y > Recast () const
 

Static Public Member Functions

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

Public Attributes

union {
   struct {
      T   x
 
      T   y
 
   } 
 
   struct {
      T   r
 
      T   g
 
   } 
 
   struct {
      T   u
 
      T   v
 
   } 
 
}; 
 

Constructor & Destructor Documentation

◆ Vector2() [1/2]

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

◆ Vector2() [2/2]

template<class T >
Diligent::Vector2< T >::Vector2 ( _x,
_y 
)
inline

Member Function Documentation

◆ Data() [1/2]

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

◆ Data() [2/2]

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

◆ MakeVector()

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

◆ operator!=()

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

◆ operator*() [1/3]

template<class T >
Vector2 Diligent::Vector2< T >::operator* ( const Matrix2x2< T > &  m) const
inline

◆ operator*() [2/3]

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

◆ operator*() [3/3]

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

◆ operator*=() [1/2]

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

◆ operator*=() [2/2]

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

◆ operator+()

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

◆ operator+=()

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

◆ operator-() [1/2]

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

◆ operator-() [2/2]

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

◆ operator-=()

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

◆ operator/() [1/2]

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

◆ operator/() [2/2]

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

◆ operator/=() [1/2]

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

◆ operator/=() [2/2]

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

◆ operator<()

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

◆ operator<=()

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

◆ operator==()

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

◆ operator>()

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

◆ operator>=()

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

◆ operator[]() [1/2]

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

◆ operator[]() [2/2]

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

◆ Recast()

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

Member Data Documentation

◆ @1

union { ... }

◆ g

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

◆ r

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

◆ u

template<class T >
T Diligent::Vector2< T >::u

◆ v

template<class T >
T Diligent::Vector2< T >::v

◆ x

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

◆ y

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

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