NW4F Sys
Loading...
Searching...
No Matches
nw::math::VEC3 Struct Reference

#include <math_Vector3.h>

Inherits nw::math::VEC3_.

Public Types

typedef VEC3 self_type
typedef f32 value_type

Public Member Functions

 VEC3 ()
 VEC3 (const f32 *p)
 VEC3 (const VEC3_ &v)
 VEC3 (f32 fx, f32 fy, f32 fz)
 operator f32 * ()
 operator const f32 * () const
f32 * ToF32 ()
const f32 * ToF32 () const
template<typename ToPtr>
ToPtr Cast ()
template<typename ToPtr>
ToPtr Cast () const
self_typeoperator+= (const self_type &rhs)
self_typeoperator-= (const self_type &rhs)
self_typeoperator*= (const self_type &rhs)
self_typeoperator*= (f32 f)
self_typeoperator/= (f32 f)
self_type operator+ () const
self_type operator- () const
self_type operator+ (const self_type &rhs) const
self_type operator- (const self_type &rhs) const
self_type operator* (f32 f) const
self_type operator/ (f32 f) const
self_typeLerp (const VEC3 &lhs, const VEC3 &rhs, f32 t)
f32 Dot (const VEC3 &vec) const
f32 LengthSquare () const
f32 Length () const
self_typeNormalize ()
self_typeSetNormalize (const VEC3 &src)
self_typeSafeNormalize (const VEC3 &alt)
self_typeSetSafeNormalize (const VEC3 &src, const VEC3 &alt)
f32 DistanceSquare (const VEC3 &vec)
f32 Distance (const VEC3 &vec)
self_typeSetMaximize (const VEC3 &lhs, const VEC3 &rhs)
self_typeSetMinimize (const VEC3 &lhs, const VEC3 &rhs)
self_typeCross (const VEC3 &rhs)
self_typeSetCross (const VEC3 &lhs, const VEC3 &rhs)
NW_MATH_INLINE self_typeSetTransform (const MTX34 &pM, const VEC3 &src)
self_typeTransform (const MTX34 &pM)
NW_MATH_INLINE self_typeSetTransform (const MTX44 &pM, const VEC3 &src)
self_typeTransform (const MTX44 &pM)
NW_MATH_INLINE self_typeSetTransformNormal (const MTX34 &pM, const VEC3 &src)
self_typeTransformNormal (const MTX34 &pM)
void Set (f32 fx, f32 fy, f32 fz)
void Set (const self_type &value)
bool operator== (const self_type &rhs) const
bool operator!= (const self_type &rhs) const
bool IsZero () const

Static Public Member Functions

static const VEC3Zero ()

Static Public Attributes

static const int DIMENSION = 3

Additional Inherited Members

Public Attributes inherited from nw::math::VEC3_
f32 x
f32 y
f32 z

Member Typedef Documentation

◆ self_type

◆ value_type

Constructor & Destructor Documentation

◆ VEC3() [1/4]

nw::math::VEC3::VEC3 ( )
inline

◆ VEC3() [2/4]

nw::math::VEC3::VEC3 ( const f32 * p)
inlineexplicit

◆ VEC3() [3/4]

nw::math::VEC3::VEC3 ( const VEC3_ & v)
inlineexplicit

◆ VEC3() [4/4]

nw::math::VEC3::VEC3 ( f32 fx,
f32 fy,
f32 fz )
inline

Member Function Documentation

◆ Zero()

const VEC3 & nw::math::VEC3::Zero ( )
inlinestatic

◆ operator f32 *()

nw::math::VEC3::operator f32 * ( )
inline

◆ operator const f32 *()

nw::math::VEC3::operator const f32 * ( ) const
inline

◆ ToF32() [1/2]

f32 * nw::math::VEC3::ToF32 ( )
inline

◆ ToF32() [2/2]

const f32 * nw::math::VEC3::ToF32 ( ) const
inline

◆ Cast() [1/2]

template<typename ToPtr>
ToPtr nw::math::VEC3::Cast ( )
inline

◆ Cast() [2/2]

template<typename ToPtr>
ToPtr nw::math::VEC3::Cast ( ) const
inline

◆ operator+=()

self_type & nw::math::VEC3::operator+= ( const self_type & rhs)
inline

◆ operator-=()

self_type & nw::math::VEC3::operator-= ( const self_type & rhs)
inline

◆ operator*=() [1/2]

self_type & nw::math::VEC3::operator*= ( const self_type & rhs)
inline

◆ operator*=() [2/2]

self_type & nw::math::VEC3::operator*= ( f32 f)
inline

◆ operator/=()

self_type & nw::math::VEC3::operator/= ( f32 f)
inline

◆ operator+() [1/2]

self_type nw::math::VEC3::operator+ ( ) const
inline

◆ operator-() [1/2]

self_type nw::math::VEC3::operator- ( ) const
inline

◆ operator+() [2/2]

self_type nw::math::VEC3::operator+ ( const self_type & rhs) const
inline

◆ operator-() [2/2]

self_type nw::math::VEC3::operator- ( const self_type & rhs) const
inline

◆ operator*()

self_type nw::math::VEC3::operator* ( f32 f) const
inline

◆ operator/()

self_type nw::math::VEC3::operator/ ( f32 f) const
inline

◆ Lerp()

self_type & nw::math::VEC3::Lerp ( const VEC3 & lhs,
const VEC3 & rhs,
f32 t )
inline

◆ Dot()

f32 nw::math::VEC3::Dot ( const VEC3 & vec) const
inline

◆ LengthSquare()

f32 nw::math::VEC3::LengthSquare ( ) const
inline

◆ Length()

f32 nw::math::VEC3::Length ( ) const
inline

◆ Normalize()

self_type & nw::math::VEC3::Normalize ( )
inline

◆ SetNormalize()

self_type & nw::math::VEC3::SetNormalize ( const VEC3 & src)
inline

◆ SafeNormalize()

self_type & nw::math::VEC3::SafeNormalize ( const VEC3 & alt)
inline

◆ SetSafeNormalize()

self_type & nw::math::VEC3::SetSafeNormalize ( const VEC3 & src,
const VEC3 & alt )
inline

◆ DistanceSquare()

f32 nw::math::VEC3::DistanceSquare ( const VEC3 & vec)
inline

◆ Distance()

f32 nw::math::VEC3::Distance ( const VEC3 & vec)
inline

◆ SetMaximize()

self_type & nw::math::VEC3::SetMaximize ( const VEC3 & lhs,
const VEC3 & rhs )
inline

◆ SetMinimize()

self_type & nw::math::VEC3::SetMinimize ( const VEC3 & lhs,
const VEC3 & rhs )
inline

◆ Cross()

self_type & nw::math::VEC3::Cross ( const VEC3 & rhs)
inline

◆ SetCross()

self_type & nw::math::VEC3::SetCross ( const VEC3 & lhs,
const VEC3 & rhs )
inline

◆ SetTransform() [1/2]

NW_MATH_INLINE VEC3 & nw::math::VEC3::SetTransform ( const MTX34 & pM,
const VEC3 & src )

◆ Transform() [1/2]

self_type & nw::math::VEC3::Transform ( const MTX34 & pM)
inline

◆ SetTransform() [2/2]

NW_MATH_INLINE VEC3 & nw::math::VEC3::SetTransform ( const MTX44 & pM,
const VEC3 & src )

◆ Transform() [2/2]

self_type & nw::math::VEC3::Transform ( const MTX44 & pM)
inline

◆ SetTransformNormal()

NW_MATH_INLINE VEC3 & nw::math::VEC3::SetTransformNormal ( const MTX34 & pM,
const VEC3 & src )

◆ TransformNormal()

self_type & nw::math::VEC3::TransformNormal ( const MTX34 & pM)
inline

◆ Set() [1/2]

void nw::math::VEC3::Set ( f32 fx,
f32 fy,
f32 fz )
inline

◆ Set() [2/2]

void nw::math::VEC3::Set ( const self_type & value)
inline

◆ operator==()

bool nw::math::VEC3::operator== ( const self_type & rhs) const
inline

◆ operator!=()

bool nw::math::VEC3::operator!= ( const self_type & rhs) const
inline

◆ IsZero()

bool nw::math::VEC3::IsZero ( ) const
inline

Member Data Documentation

◆ DIMENSION

const int nw::math::VEC3::DIMENSION = 3
static