Pioneer
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Friends | List of all members
vector3< T > Class Template Reference

#include <vector3.h>

Public Member Functions

 vector3 ()=default
 
 vector3 (const vector2f &v, T t)
 
 vector3 (const T vals[3])
 
 vector3 (T val)
 
 vector3 (T _x, T _y, T _z)
 
 vector3 (const vector3< typename other_floating_type< T >::type > &v)
 
 vector3 (const typename other_floating_type< T >::type vals[3])
 
const T & operator[] (const size_t i) const
 
T & operator[] (const size_t i)
 
vector3 operator+ (const vector3 &a) const
 
vector3operator+= (const vector3 &a)
 
vector3operator-= (const vector3 &a)
 
vector3operator*= (const float a)
 
vector3operator*= (const double a)
 
vector3operator/= (const float a)
 
vector3operator/= (const double a)
 
vector3 operator- (const vector3 &a) const
 
vector3 operator- () const
 
bool operator== (const vector3 &a) const
 
bool ExactlyEqual (const vector3 &a) const
 
vector3 Cross (const vector3 &b) const
 
Dot (const vector3 &b) const
 
Length () const
 
LengthSqr () const
 
vector3 Lerp (const vector3 &b, const double percent) const
 
vector3 Normalized () const
 
vector3 NormalizedSafe () const
 
void Print () const
 
void ArbRotateAroundPoint (const vector3 &o, const vector3 &__v, T ang)
 
void ArbRotate (const vector3 &__v, T ang)
 
void xy (const vector2< T > &v2)
 
void xz (const vector2< T > &v2)
 
void yz (const vector2< T > &v2)
 
vector2< T > xy ()
 
vector2< T > xz ()
 
vector2< T > yz ()
 
vector2< T > yx ()
 
vector2< T > zx ()
 

Public Attributes

x
 
y
 
z
 

Friends

vector3 operator+ (const vector3 &a, const T &scalar)
 
vector3 operator+ (const T scalar, const vector3 &a)
 
vector3 operator- (const vector3 &a, const T &scalar)
 
vector3 operator- (const T scalar, const vector3 &a)
 
vector3 operator* (const vector3 &a, const vector3 &b)
 
vector3 operator* (const vector3 &a, const T scalar)
 
vector3 operator* (const T scalar, const vector3 &a)
 
vector3 operator/ (const vector3 &a, const float scalar)
 
vector3 operator/ (const vector3 &a, const double scalar)
 
vector3 operator/ (const T scalar, const vector3 &a)
 

Constructor & Destructor Documentation

◆ vector3() [1/7]

template<typename T >
vector3< T >::vector3 ( )
default

◆ vector3() [2/7]

template<typename T >
vector3< T >::vector3 ( const vector2f v,
t 
)

◆ vector3() [3/7]

template<typename T >
vector3< T >::vector3 ( const T  vals[3])
explicit

◆ vector3() [4/7]

template<typename T >
vector3< T >::vector3 ( val)
explicit

◆ vector3() [5/7]

template<typename T >
vector3< T >::vector3 ( _x,
_y,
_z 
)

◆ vector3() [6/7]

template<typename T >
vector3< T >::vector3 ( const vector3< typename other_floating_type< T >::type > &  v)
explicit

◆ vector3() [7/7]

template<typename T >
vector3< T >::vector3 ( const typename other_floating_type< T >::type  vals[3])
explicit

Member Function Documentation

◆ ArbRotate()

template<typename T >
void vector3< T >::ArbRotate ( const vector3< T > &  __v,
ang 
)
inline

◆ ArbRotateAroundPoint()

template<typename T >
void vector3< T >::ArbRotateAroundPoint ( const vector3< T > &  o,
const vector3< T > &  __v,
ang 
)
inline

◆ Cross()

template<typename T >
vector3 vector3< T >::Cross ( const vector3< T > &  b) const
inline
Here is the call graph for this function:

◆ Dot()

template<typename T >
T vector3< T >::Dot ( const vector3< T > &  b) const
inline

◆ ExactlyEqual()

template<typename T >
bool vector3< T >::ExactlyEqual ( const vector3< T > &  a) const
inline
Here is the call graph for this function:

◆ Length()

template<typename T >
T vector3< T >::Length ( ) const
inline

◆ LengthSqr()

template<typename T >
T vector3< T >::LengthSqr ( ) const
inline

◆ Lerp()

template<typename T >
vector3 vector3< T >::Lerp ( const vector3< T > &  b,
const double  percent 
) const
inline

◆ Normalized()

template<typename T >
vector3 vector3< T >::Normalized ( ) const
inline
Here is the call graph for this function:

◆ NormalizedSafe()

template<typename T >
vector3 vector3< T >::NormalizedSafe ( ) const
inline
Here is the call graph for this function:

◆ operator*=() [1/2]

template<typename T >
vector3 & vector3< T >::operator*= ( const double  a)
inline

◆ operator*=() [2/2]

template<typename T >
vector3 & vector3< T >::operator*= ( const float  a)
inline

◆ operator+()

template<typename T >
vector3 vector3< T >::operator+ ( const vector3< T > &  a) const
inline
Here is the call graph for this function:

◆ operator+=()

template<typename T >
vector3 & vector3< T >::operator+= ( const vector3< T > &  a)
inline

◆ operator-() [1/2]

template<typename T >
vector3 vector3< T >::operator- ( ) const
inline
Here is the call graph for this function:

◆ operator-() [2/2]

template<typename T >
vector3 vector3< T >::operator- ( const vector3< T > &  a) const
inline
Here is the call graph for this function:

◆ operator-=()

template<typename T >
vector3 & vector3< T >::operator-= ( const vector3< T > &  a)
inline

◆ operator/=() [1/2]

template<typename T >
vector3 & vector3< T >::operator/= ( const double  a)
inline

◆ operator/=() [2/2]

template<typename T >
vector3 & vector3< T >::operator/= ( const float  a)
inline

◆ operator==()

template<typename T >
bool vector3< T >::operator== ( const vector3< T > &  a) const
inline
Here is the call graph for this function:

◆ operator[]() [1/2]

template<typename T >
T & vector3< T >::operator[] ( const size_t  i)
inline

◆ operator[]() [2/2]

template<typename T >
const T & vector3< T >::operator[] ( const size_t  i) const
inline

◆ Print()

template<typename T >
void vector3< T >::Print ( ) const
inline

◆ xy() [1/2]

template<typename T >
vector2< T > vector3< T >::xy ( )
inline

◆ xy() [2/2]

template<typename T >
void vector3< T >::xy ( const vector2< T > &  v2)
inline

◆ xz() [1/2]

template<typename T >
vector2< T > vector3< T >::xz ( )
inline

◆ xz() [2/2]

template<typename T >
void vector3< T >::xz ( const vector2< T > &  v2)
inline

◆ yx()

template<typename T >
vector2< T > vector3< T >::yx ( )
inline

◆ yz() [1/2]

template<typename T >
vector2< T > vector3< T >::yz ( )
inline

◆ yz() [2/2]

template<typename T >
void vector3< T >::yz ( const vector2< T > &  v2)
inline

◆ zx()

template<typename T >
vector2< T > vector3< T >::zx ( )
inline

Friends And Related Symbol Documentation

◆ operator* [1/3]

template<typename T >
vector3 operator* ( const T  scalar,
const vector3< T > &  a 
)
friend

◆ operator* [2/3]

template<typename T >
vector3 operator* ( const vector3< T > &  a,
const T  scalar 
)
friend

◆ operator* [3/3]

template<typename T >
vector3 operator* ( const vector3< T > &  a,
const vector3< T > &  b 
)
friend

◆ operator+ [1/2]

template<typename T >
vector3 operator+ ( const T  scalar,
const vector3< T > &  a 
)
friend

◆ operator+ [2/2]

template<typename T >
vector3 operator+ ( const vector3< T > &  a,
const T &  scalar 
)
friend

◆ operator- [1/2]

template<typename T >
vector3 operator- ( const T  scalar,
const vector3< T > &  a 
)
friend

◆ operator- [2/2]

template<typename T >
vector3 operator- ( const vector3< T > &  a,
const T &  scalar 
)
friend

◆ operator/ [1/3]

template<typename T >
vector3 operator/ ( const T  scalar,
const vector3< T > &  a 
)
friend

◆ operator/ [2/3]

template<typename T >
vector3 operator/ ( const vector3< T > &  a,
const double  scalar 
)
friend

◆ operator/ [3/3]

template<typename T >
vector3 operator/ ( const vector3< T > &  a,
const float  scalar 
)
friend

Member Data Documentation

◆ x

template<typename T >
T vector3< T >::x

◆ y

template<typename T >
T vector3< T >::y

◆ z

template<typename T >
T vector3< T >::z

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