sead
Loading...
Searching...
No Matches
sead::Vector3< T > Class Template Reference

#include <seadVector.h>

Inherits sead::Policies< T >::Vec3Base.

Public Types

typedef T ValueType

Public Member Functions

constexpr Vector3 ()
constexpr Vector3 (const Vector3 &other)=default
constexpr Vector3 (T x_, T y_, T z_)
constexpr Vector3 (const Vec2 &vec2, T z_)
Self operator* (T t) const
Self operator/ (T t) const
Self operator+ (const Self &v) const
Self operator- (const Self &v) const
Self operator- () const
Selfoperator*= (T t)
Selfoperator/= (T t)
Selfoperator+= (const Self &v)
Selfoperator-= (const Self &v)
Selfoperator= (const Self &v)
bool operator== (const Self &v) const
bool operator!= (const Self &v) const
dot (const Self &t) const
squaredLength () const
length () const
squaredDistance (const Self &v) const
distance (const Self &v) const
void add (const Self &a)
void multScalar (T t)
void divScalar (T t)
normalize ()
setNormalize (const Self &v)
void set (const Self &v)
void set (T x_, T y_, T z_)
void set (const Vec2 &vec2, T z_)
void setAdd (const Self &a, const Self &b)
void setSub (const Self &a, const Self &b)
void setCross (const Self &a, const Self &b)
void setLerp (const Self &a, const Self &b, f32 ratio)
void setMul (const Mtx34 &m, const Self &v)
void setRotate (const Mtx33 &m, const Self &v)
void setRotate (const Mtx34 &m, const Self &v)
void setMulAndDivByW (const Mtx44 &m, const Self &v)
void setScaleAdd (T t, const Self &a, const Self &b)
const Vector3< f32 > zero (0.0f, 0.0f, 0.0f)
const Vector3< f32 > ex (1.0f, 0.0f, 0.0f)
const Vector3< f32 > ey (0.0f, 1.0f, 0.0f)
const Vector3< f32 > ez (0.0f, 0.0f, 1.0f)
const Vector3< f32 > ones (1.0f, 1.0f, 1.0f)

Static Public Attributes

static const Vector3 zero
static const Vector3 ex
static const Vector3 ey
static const Vector3 ez
static const Vector3 ones

Private Types

typedef Vector3< T > Self
typedef Vector2< T > Vec2
typedef Matrix33< T > Mtx33
typedef Matrix34< T > Mtx34
typedef Matrix44< T > Mtx44

Additional Inherited Members

Public Attributes inherited from sead::Policies< T >::Vec3Base
x
y
z

Member Typedef Documentation

◆ Self

template<typename T>
typedef Vector3<T> sead::Vector3< T >::Self
private

◆ Vec2

template<typename T>
typedef Vector2<T> sead::Vector3< T >::Vec2
private

◆ Mtx33

template<typename T>
typedef Matrix33<T> sead::Vector3< T >::Mtx33
private

◆ Mtx34

template<typename T>
typedef Matrix34<T> sead::Vector3< T >::Mtx34
private

◆ Mtx44

template<typename T>
typedef Matrix44<T> sead::Vector3< T >::Mtx44
private

◆ ValueType

template<typename T>
typedef T sead::Vector3< T >::ValueType

Constructor & Destructor Documentation

◆ Vector3() [1/4]

template<typename T>
sead::Vector3< T >::Vector3 ( )
inlineconstexpr

◆ Vector3() [2/4]

template<typename T>
sead::Vector3< T >::Vector3 ( const Vector3< T > & other)
constexprdefault

◆ Vector3() [3/4]

template<typename T>
sead::Vector3< T >::Vector3 ( T x_,
T y_,
T z_ )
inlineconstexpr

◆ Vector3() [4/4]

template<typename T>
sead::Vector3< T >::Vector3 ( const Vec2 & vec2,
T z_ )
inlineconstexpr

Member Function Documentation

◆ operator*()

template<typename T>
Vector3< T > sead::Vector3< T >::operator* ( T t) const
inline

◆ operator/()

template<typename T>
Vector3< T > sead::Vector3< T >::operator/ ( T t) const
inline

◆ operator+()

template<typename T>
Vector3< T > sead::Vector3< T >::operator+ ( const Self & v) const
inline

◆ operator-() [1/2]

template<typename T>
Vector3< T > sead::Vector3< T >::operator- ( const Self & v) const
inline

◆ operator-() [2/2]

template<typename T>
Vector3< T > sead::Vector3< T >::operator- ( ) const
inline

◆ operator*=()

template<typename T>
Vector3< T > & sead::Vector3< T >::operator*= ( T t)
inline

◆ operator/=()

template<typename T>
Vector3< T > & sead::Vector3< T >::operator/= ( T t)
inline

◆ operator+=()

template<typename T>
Vector3< T > & sead::Vector3< T >::operator+= ( const Self & v)
inline

◆ operator-=()

template<typename T>
Vector3< T > & sead::Vector3< T >::operator-= ( const Self & v)
inline

◆ operator=()

template<typename T>
Vector3< T > & sead::Vector3< T >::operator= ( const Self & v)
inline

◆ operator==()

template<typename T>
bool sead::Vector3< T >::operator== ( const Self & v) const
inline

◆ operator!=()

template<typename T>
bool sead::Vector3< T >::operator!= ( const Self & v) const
inline

◆ dot()

template<typename T>
T sead::Vector3< T >::dot ( const Self & t) const
inline

◆ squaredLength()

template<typename T>
T sead::Vector3< T >::squaredLength ( ) const
inline

◆ length()

template<typename T>
T sead::Vector3< T >::length ( ) const
inline

◆ squaredDistance()

template<typename T>
T sead::Vector3< T >::squaredDistance ( const Self & v) const
inline

◆ distance()

template<typename T>
T sead::Vector3< T >::distance ( const Self & v) const
inline

◆ add()

template<typename T>
void sead::Vector3< T >::add ( const Self & a)
inline

◆ multScalar()

template<typename T>
void sead::Vector3< T >::multScalar ( T t)
inline

◆ divScalar()

template<typename T>
void sead::Vector3< T >::divScalar ( T t)

◆ normalize()

template<typename T>
T sead::Vector3< T >::normalize ( )
inline

◆ setNormalize()

template<typename T>
T sead::Vector3< T >::setNormalize ( const Self & v)
inline

◆ set() [1/3]

template<typename T>
void sead::Vector3< T >::set ( const Self & v)
inline

◆ set() [2/3]

template<typename T>
void sead::Vector3< T >::set ( T x_,
T y_,
T z_ )
inline

◆ set() [3/3]

template<typename T>
void sead::Vector3< T >::set ( const Vec2 & vec2,
T z_ )
inline

◆ setAdd()

template<typename T>
void sead::Vector3< T >::setAdd ( const Self & a,
const Self & b )
inline

◆ setSub()

template<typename T>
void sead::Vector3< T >::setSub ( const Self & a,
const Self & b )
inline

◆ setCross()

template<typename T>
void sead::Vector3< T >::setCross ( const Self & a,
const Self & b )
inline

◆ setLerp()

template<typename T>
void sead::Vector3< T >::setLerp ( const Self & a,
const Self & b,
f32 ratio )
inline

◆ setMul()

template<typename T>
void sead::Vector3< T >::setMul ( const Mtx34 & m,
const Self & v )
inline

◆ setRotate() [1/2]

template<typename T>
void sead::Vector3< T >::setRotate ( const Mtx33 & m,
const Self & v )
inline

◆ setRotate() [2/2]

template<typename T>
void sead::Vector3< T >::setRotate ( const Mtx34 & m,
const Self & v )
inline

◆ setMulAndDivByW()

template<typename T>
void sead::Vector3< T >::setMulAndDivByW ( const Mtx44 & m,
const Self & v )

◆ setScaleAdd()

template<typename T>
void sead::Vector3< T >::setScaleAdd ( T t,
const Self & a,
const Self & b )
inline

◆ zero()

const Vector3< f32 > sead::Vector3< f32 >::zero ( 0. 0f,
0. 0f,
0. 0f )

◆ ex()

const Vector3< f32 > sead::Vector3< f32 >::ex ( 1. 0f,
0. 0f,
0. 0f )

◆ ey()

const Vector3< f32 > sead::Vector3< f32 >::ey ( 0. 0f,
1. 0f,
0. 0f )

◆ ez()

const Vector3< f32 > sead::Vector3< f32 >::ez ( 0. 0f,
0. 0f,
1. 0f )

◆ ones()

const Vector3< f32 > sead::Vector3< f32 >::ones ( 1. 0f,
1. 0f,
1. 0f )

Member Data Documentation

◆ zero

template<typename T>
const Vector3 sead::Vector3< T >::zero
static

◆ ex

template<typename T>
const Vector3 sead::Vector3< T >::ex
static

◆ ey

template<typename T>
const Vector3 sead::Vector3< T >::ey
static

◆ ez

template<typename T>
const Vector3 sead::Vector3< T >::ez
static

◆ ones

template<typename T>
const Vector3 sead::Vector3< T >::ones
static