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

#include <BasicMath.hpp>

Public Member Functions

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

Static Public Member Functions

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

Public Attributes

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

Constructor & Destructor Documentation

◆ Vector3() [1/2]

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

◆ Vector3() [2/2]

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

Member Function Documentation

◆ Data() [1/2]

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

◆ Data() [2/2]

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

◆ MakeVector()

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

◆ operator Vector2< T >()

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

◆ operator!=()

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

◆ operator*() [1/4]

template<class T >
Vector3 Diligent::Vector3< T >::operator* ( const Matrix3x3< T > &  m) const
inline

◆ operator*() [2/4]

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

◆ operator*() [3/4]

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

◆ operator*() [4/4]

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

◆ operator*=() [1/2]

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

◆ operator*=() [2/2]

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

◆ operator+()

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

◆ operator+=()

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

◆ operator-() [1/2]

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

◆ operator-() [2/2]

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

◆ operator-=()

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

◆ operator/() [1/2]

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

◆ operator/() [2/2]

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

◆ operator/=() [1/2]

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

◆ operator/=() [2/2]

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

◆ operator<()

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

◆ operator<=()

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

◆ operator==()

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

◆ operator>()

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

◆ operator>=()

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

◆ operator[]() [1/2]

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

◆ operator[]() [2/2]

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

◆ Recast()

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

Member Data Documentation

◆ @9

union { ... }

◆ b

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

◆ g

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

◆ r

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

◆ u

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

◆ v

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

◆ w

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

◆ x

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

◆ y

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

◆ z

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

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