NW4F G3d
Loading...
Searching...
No Matches
nw::g3d::math::Mtx34 Class Reference

#include <g3d_Matrix34.h>

Inherits nw::g3d::math::Mtx34_t.

Public Member Functions

Mtx34Set (float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23)
Mtx34Set (const float *a)
Mtx34Set (const Mtx34 &m)
Mtx34Set (const Vec3 &x, const Vec3 &y, const Vec3 &z, const Vec3 &w)
Mtx34Zero ()
Mtx34Identity ()
Mtx34Neg (const Mtx34 &m)
Mtx34SetS (const Vec3 &s)
Mtx34SetR (const Vec3 &r)
Mtx34SetR (const Quat &r)
Mtx34SetT (const Vec3 &t)
Mtx34SetSR (const Vec3 &s, const Vec3 &r)
Mtx34SetSR (const Vec3 &s, const Quat &r)
Mtx34Add (const Mtx34 &lhs, const Mtx34 &rhs)
Mtx34Sub (const Mtx34 &lhs, const Mtx34 &rhs)
Mtx34Mul (const Mtx34 &lhs, const Mtx34 &rhs)
Mtx34Mul (const Mtx34 &lhs, float rhs)
Mtx34Div (const Mtx34 &lhs, float rhs)
Mtx34Transpose (const Mtx34 &m)
Mtx34Adjugate (const Mtx34 &m)
Mtx34Cofactor (const Mtx34 &m)
Mtx34Inverse (float *pDet, const Mtx34 &m)
Mtx34InvTranspose (float *pDet, const Mtx34 &m)
Mtx34ScaleBases (const Mtx34 &m, const Vec3 &s)
Mtx34LookAt (const Vec3 &camPos, const Vec3 &camUp, const Vec3 &target)
Mtx34TexProjFrustum (float l, float r, float b, float t, float n)
Mtx34TexProjPerspective (float fovy, float aspect)
Mtx34TexProjOrtho (float l, float r, float b, float t)

Static Public Member Functions

static Mtx34 Make (float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23)
static Mtx34Cast (float *a)
static const Mtx34Cast (const float *a)
static float Det (const Mtx34 &m)
static float ExtractBaseScale (const Mtx34 &m, int axis)
static float ExtractBaseScaleSq (const Mtx34 &m, int axis)

Additional Inherited Members

Public Types inherited from nw::g3d::math::Mtx34_t
enum  { DIM_MAJOR = 3 , DIM_MINOR = 4 , DIM = DIM_MAJOR * DIM_MINOR , DIM_PS = DIM / 2 }
Public Attributes inherited from nw::g3d::math::Mtx34_t
union { 
   struct { 
      float   m00 
      float   m01 
      float   m02 
      float   m03 
      float   m10 
      float   m11 
      float   m12 
      float   m13 
      float   m20 
      float   m21 
      float   m22 
      float   m23 
   } 
   float   a [DIM
   float   m [DIM_MAJOR][DIM_MINOR
   Vec4   v [DIM_MAJOR
}; 

Member Function Documentation

◆ Make()

NW_G3D_MATH_INLINE Mtx34 nw::g3d::math::Mtx34::Make ( float m00,
float m01,
float m02,
float m03,
float m10,
float m11,
float m12,
float m13,
float m20,
float m21,
float m22,
float m23 )
static

◆ Cast() [1/2]

NW_G3D_MATH_INLINE Mtx34 * nw::g3d::math::Mtx34::Cast ( float * a)
static

◆ Cast() [2/2]

NW_G3D_MATH_INLINE const Mtx34 * nw::g3d::math::Mtx34::Cast ( const float * a)
static

◆ Set() [1/4]

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Set ( float m00,
float m01,
float m02,
float m03,
float m10,
float m11,
float m12,
float m13,
float m20,
float m21,
float m22,
float m23 )

◆ Set() [2/4]

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Set ( const float * a)

◆ Set() [3/4]

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Set ( const Mtx34 & m)

◆ Set() [4/4]

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Set ( const Vec3 & x,
const Vec3 & y,
const Vec3 & z,
const Vec3 & w )

◆ Zero()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Zero ( )

◆ Identity()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Identity ( )

◆ Neg()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Neg ( const Mtx34 & m)

◆ SetS()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::SetS ( const Vec3 & s)

◆ SetR() [1/2]

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::SetR ( const Vec3 & r)

◆ SetR() [2/2]

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::SetR ( const Quat & r)

◆ SetT()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::SetT ( const Vec3 & t)

◆ SetSR() [1/2]

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::SetSR ( const Vec3 & s,
const Vec3 & r )

◆ SetSR() [2/2]

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::SetSR ( const Vec3 & s,
const Quat & r )

◆ Add()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Add ( const Mtx34 & lhs,
const Mtx34 & rhs )

◆ Sub()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Sub ( const Mtx34 & lhs,
const Mtx34 & rhs )

◆ Mul() [1/2]

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Mul ( const Mtx34 & lhs,
const Mtx34 & rhs )

◆ Mul() [2/2]

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Mul ( const Mtx34 & lhs,
float rhs )

◆ Div()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Div ( const Mtx34 & lhs,
float rhs )

◆ Det()

NW_G3D_MATH_INLINE float nw::g3d::math::Mtx34::Det ( const Mtx34 & m)
static

◆ Transpose()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Transpose ( const Mtx34 & m)

◆ Adjugate()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Adjugate ( const Mtx34 & m)

◆ Cofactor()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Cofactor ( const Mtx34 & m)

◆ Inverse()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::Inverse ( float * pDet,
const Mtx34 & m )

◆ InvTranspose()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::InvTranspose ( float * pDet,
const Mtx34 & m )

◆ ScaleBases()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::ScaleBases ( const Mtx34 & m,
const Vec3 & s )

◆ ExtractBaseScale()

NW_G3D_MATH_INLINE float nw::g3d::math::Mtx34::ExtractBaseScale ( const Mtx34 & m,
int axis )
static

◆ ExtractBaseScaleSq()

NW_G3D_MATH_INLINE float nw::g3d::math::Mtx34::ExtractBaseScaleSq ( const Mtx34 & m,
int axis )
static

◆ LookAt()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::LookAt ( const Vec3 & camPos,
const Vec3 & camUp,
const Vec3 & target )

◆ TexProjFrustum()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::TexProjFrustum ( float l,
float r,
float b,
float t,
float n )

◆ TexProjPerspective()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::TexProjPerspective ( float fovy,
float aspect )

◆ TexProjOrtho()

NW_G3D_MATH_INLINE Mtx34 & nw::g3d::math::Mtx34::TexProjOrtho ( float l,
float r,
float b,
float t )