UT_Matrix4 Class Reference

#include <UT_Matrix4.h>

List of all members.

Public Types

enum  applyType {
  BEFORE = 1, EQUAL = 2, AFTER = 4, BEFORE_EQUAL = 4,
  AFTER_EQUAL = 6
}

Public Member Functions

 UT_Matrix4 ()
 Construct uninitialized matrix.
 UT_Matrix4 (fpreal val)
 Construct identity matrix, multipled by scalar.
 UT_Matrix4 (fpreal32 val00, fpreal32 val01, fpreal32 val02, fpreal32 val03, fpreal32 val10, fpreal32 val11, fpreal32 val12, fpreal32 val13, fpreal32 val20, fpreal32 val21, fpreal32 val22, fpreal32 val23, fpreal32 val30, fpreal32 val31, fpreal32 val32, fpreal32 val33)
 UT_Matrix4 (const UT_DMatrix4 &m)
 Conversion constructor.
UT_Matrix4operator= (const UT_DMatrix4 &m)
UT_Matrix4operator= (const UT_SymMatrix4 &m)
 Conversion from a symmetric to a non symmetric matrix.
UT_Matrix4 operator- () const
UT_Matrix4operator+= (const UT_Matrix4 &m)
UT_Matrix4operator-= (const UT_Matrix4 &m)
UT_Matrix4operator*= (const UT_Matrix4 &m)
unsigned operator== (const UT_Matrix4 &m) const
unsigned operator!= (const UT_Matrix4 &m) const
UT_Matrix4operator= (fpreal v)
UT_Matrix4operator*= (fpreal scalar)
UT_Matrix4operator/= (fpreal scalar)
UT_Matrix4operator= (const UT_Vector4 &vec)
UT_Matrix4operator+= (const UT_Vector4 &vec)
UT_Matrix4operator-= (const UT_Vector4 &vec)
void leftMult (const UT_Matrix4 &m)
void preMultiply (const UT_Matrix4 &m)
fpreal coFactor (int k, int l) const
fpreal determinant () const
fpreal determinant3 () const
 Compute determinant of the upper-left 3x3 sub-matrix.
fpreal trace () const
int invertKramer (void)
int invertKramer (UT_Matrix4 &m) const
void instance (const UT_Vector3 &p, const UT_Vector3 &v, fpreal s, const UT_Vector3 *s3, const UT_Vector3 *up, const UT_Quaternion *q, const UT_Vector3 *tr, const UT_Quaternion *orient)
void transpose (void)
UT_Matrix4 transpose (void) const
unsigned isEqual (const UT_Matrix4 &m, fpreal tolerance=UT_FTOLERANCE) const
void rotate (UT_Vector3 &axis, fpreal theta, int norm=1)
UT_Matrix4 rotate (UT_Vector3 &axis, fpreal theta, int norm=1) const
void rotate (UT_Axis3::axis a, fpreal theta)
UT_Matrix4 rotate (UT_Axis3::axis a, fpreal theta) const
void prerotate (UT_Vector3 &axis, fpreal theta, int norm=1)
UT_Matrix4 prerotate (UT_Vector3 &axis, fpreal theta, int norm=1) const
void prerotate (UT_Axis3::axis a, fpreal theta)
UT_Matrix4 prerotate (UT_Axis3::axis a, fpreal theta) const
void rotate (fpreal rx, fpreal ry, fpreal rz, const UT_XformOrder &ord)
UT_Matrix4 rotate (fpreal rx, fpreal ry, fpreal rz, const UT_XformOrder &ord) const
void prerotate (fpreal rx, fpreal ry, fpreal rz, const UT_XformOrder &ord)
UT_Matrix4 prerotate (fpreal rx, fpreal ry, fpreal rz, const UT_XformOrder &ord) const
void scale (fpreal sx, fpreal sy, fpreal sz, fpreal sw=1.0f)
UT_Matrix4 scale (fpreal sx, fpreal sy, fpreal sz, fpreal sw=1.0f) const
void prescale (fpreal sx, fpreal sy, fpreal sz, fpreal sw=1.0f)
UT_Matrix4 prescale (fpreal sx, fpreal sy, fpreal sz, fpreal sw=1.0f) const
void shear (fpreal s_xy, fpreal s_xz, fpreal s_yz)
void translate (fpreal dx, fpreal dy, fpreal dz=0.0f)
UT_Matrix4 translate (fpreal dx, fpreal dy, fpreal dz=0.0f) const
void pretranslate (fpreal dx, fpreal dy, fpreal dz=0.0f)
UT_Matrix4 pretranslate (fpreal dx, fpreal dy, fpreal dz=0.0f) const
void changeSpace (UT_Vector3 &iSrc, UT_Vector3 &jSrc, UT_Vector3 &iDest, UT_Vector3 &jDest, int norm=1)
UT_Matrix4 changeSpace (UT_Vector3 &iSrc, UT_Vector3 &jSrc, UT_Vector3 &iDest, UT_Vector3 &jDest, int norm=1) const
void xform (const UT_XformOrder &order, fpreal tx=0.0f, fpreal ty=0.0f, fpreal tz=0.0f, fpreal rx=0.0f, fpreal ry=0.0f, fpreal rz=0.0f, fpreal sx=1.0f, fpreal sy=1.0f, fpreal sz=1.0f, fpreal px=0.0f, fpreal py=0.0f, fpreal pz=0.0f, int reverse=0)
UT_Matrix4 xform (const UT_XformOrder &order, fpreal tx=0.0f, fpreal ty=0.0f, fpreal tz=0.0f, fpreal rx=0.0f, fpreal ry=0.0f, fpreal rz=0.0f, fpreal sx=1.0f, fpreal sy=1.0f, fpreal sz=1.0f, fpreal px=0.0f, fpreal py=0.0f, fpreal pz=0.0f, int reverse=0) const
void xform (const UT_XformOrder &order, fpreal tx, fpreal ty, fpreal tz, fpreal rx, fpreal ry, fpreal rz, fpreal sx, fpreal sy, fpreal sz, fpreal s_xy, fpreal s_xz, fpreal s_yz, fpreal px, fpreal py, fpreal pz, int reverse=0)
void xform (const UT_XformOrder &order, applyType type, char limit, fpreal tx, fpreal ty, fpreal tz, fpreal rx, fpreal ry, fpreal rz, fpreal sx, fpreal sy, fpreal sz, fpreal px, fpreal py, fpreal pz)
void rotate (const UT_XformOrder &order, applyType type, char limit, fpreal rx, fpreal ry, fpreal rz)
void getTranslates (UT_Vector3 &translates) const
void setTranslates (const UT_Vector3 &translates)
int explode (const UT_XformOrder &order, UT_Vector3 &r, UT_Vector3 &s, UT_Vector3 &t, UT_Vector3 *shears=0) const
int explode (const UT_XformOrder &order, UT_Vector3 &r, UT_Vector3 &s, UT_Vector3 &t, const UT_Vector3 &p, UT_Vector3 *shears=0) const
int explode2D (const UT_XformOrder &order, float &r, UT_Vector2 &s, UT_Vector2 &t, float *shears=0) const
int explode2D (const UT_XformOrder &order, float &r, UT_Vector2 &s, UT_Vector2 &t, const UT_Vector2 &p, float *shears=0) const
void extractRotate (UT_Matrix3 &dst) const
void stretch (UT_Vector3 &v, fpreal amount, int norm=1)
UT_Matrix4 stretch (UT_Vector3 &v, fpreal amount, int norm=1) const
fpreal dot (unsigned i, unsigned j) const
void outerproductUpdate (fpreal b, const UT_Vector4 &v1, const UT_Vector4 &v2)
void identity ()
 Set the matrix to identity.
void zero ()
 Set the matrix to zero.
int isIdentity () const
fpreal getEuclideanNorm () const
fpreal getEuclideanNorm2 () const
 Euclidean norm squared.
int save (ostream &os, int binary) const
bool load (UT_IStream &is)
void outAsciiNoName (ostream &os) const
 UT_Matrix4 (const fpreal32 m[4][4])
 Construct a deep copy of the input row-major data.
 UT_Matrix4 (const fpreal64 m[4][4])
 Construct a deep copy of the input row-major data.
UT_Matrix4operator= (const UT_Matrix3 &m)
UT_Matrix4operator= (const UT_DMatrix3 &m)
int invert (fpreal tol=0.0F)
 Invert this matrix and return 0 if OK, 1 if singular.
int invertDouble ()
 Invert this matrix and return 0 if OK, 1 if singular.
int invert (UT_Matrix4 &m) const
int invertDouble (UT_Matrix4 &m) const
const float * data (void) const
 Return the raw matrix data.
float * data (void)
 Return the raw matrix data.
float & operator() (unsigned row, unsigned col)
 Return a matrix entry. No bounds checking on subscripts.
float operator() (unsigned row, unsigned col) const
 Return a matrix entry. No bounds checking on subscripts.
float * operator() (unsigned row)
 Return a matrix row. No bounds checking on subscript.
const float * operator() (unsigned row) const
 Return a matrix row. No bounds checking on subscript.
UT_Vector4 operator[] (unsigned row) const
 Return a matrix row. No bounds checking on subscript.

Static Public Member Functions

static UT_Matrix4 rotationMat (UT_Vector3 &axis, fpreal theta, int norm=1)
static UT_Matrix4 rotationMat (UT_Axis3::axis a, fpreal theta)
static const UT_Matrix4getIdentityMatrix ()

Public Attributes

float matx [4][4]

Friends

ostream & operator<< (ostream &os, const UT_Matrix4 &v)


Detailed Description

This class implements a 4x4 fpreal matrix in row-major order.

Most of Houdini operates with row vectors that are left-multiplied with matrices. e.g., z = v * M As a result, translation data is in row 3 of the matrix, rather than column 3.

This convention, combined with row-major order, is directly compatible with OpenGL matrix requirements.

Examples:

POP/POP_LocalForce.C, SIM/SIM_SolverSNOW.C, SOP/MSS_CustomBrushState.h, SOP/SOP_Flatten.C, and SOP/SOP_HDKObject.C.

Definition at line 62 of file UT_Matrix4.h.


Member Enumeration Documentation

Enumerator:
BEFORE 
EQUAL 
AFTER 
BEFORE_EQUAL 
AFTER_EQUAL 

Definition at line 522 of file UT_Matrix4.h.


Constructor & Destructor Documentation

UT_Matrix4::UT_Matrix4 (  )  [inline]

Construct uninitialized matrix.

Definition at line 66 of file UT_Matrix4.h.

UT_Matrix4::UT_Matrix4 ( fpreal  val  )  [inline, explicit]

Construct identity matrix, multipled by scalar.

Definition at line 71 of file UT_Matrix4.h.

UT_Matrix4::UT_Matrix4 ( const fpreal32  m[4][4]  )  [inline, explicit]

Construct a deep copy of the input row-major data.

Definition at line 80 of file UT_Matrix4.h.

UT_Matrix4::UT_Matrix4 ( const fpreal64  m[4][4]  )  [inline, explicit]

Construct a deep copy of the input row-major data.

Definition at line 94 of file UT_Matrix4.h.

UT_Matrix4::UT_Matrix4 ( fpreal32  val00,
fpreal32  val01,
fpreal32  val02,
fpreal32  val03,
fpreal32  val10,
fpreal32  val11,
fpreal32  val12,
fpreal32  val13,
fpreal32  val20,
fpreal32  val21,
fpreal32  val22,
fpreal32  val23,
fpreal32  val30,
fpreal32  val31,
fpreal32  val32,
fpreal32  val33 
) [inline]

This constructor is for convenience; in many situations, it's less efficient than the array-based constructors.

Definition at line 112 of file UT_Matrix4.h.

UT_Matrix4::UT_Matrix4 ( const UT_DMatrix4 m  )  [explicit]

Conversion constructor.


Member Function Documentation

UT_Matrix4 UT_Matrix4::changeSpace ( UT_Vector3 iSrc,
UT_Vector3 jSrc,
UT_Vector3 iDest,
UT_Vector3 jDest,
int  norm = 1 
) const

void UT_Matrix4::changeSpace ( UT_Vector3 iSrc,
UT_Vector3 jSrc,
UT_Vector3 iDest,
UT_Vector3 jDest,
int  norm = 1 
)

fpreal UT_Matrix4::coFactor ( int  k,
int  l 
) const

float* UT_Matrix4::data ( void   )  [inline]

Return the raw matrix data.

Definition at line 609 of file UT_Matrix4.h.

const float* UT_Matrix4::data ( void   )  const [inline]

Return the raw matrix data.

Definition at line 608 of file UT_Matrix4.h.

fpreal UT_Matrix4::determinant (  )  const [inline]

Definition at line 268 of file UT_Matrix4.h.

fpreal UT_Matrix4::determinant3 (  )  const [inline]

Compute determinant of the upper-left 3x3 sub-matrix.

Definition at line 276 of file UT_Matrix4.h.

fpreal UT_Matrix4::dot ( unsigned  i,
unsigned  j 
) const [inline]

Definition at line 574 of file UT_Matrix4.h.

int UT_Matrix4::explode ( const UT_XformOrder order,
UT_Vector3 r,
UT_Vector3 s,
UT_Vector3 t,
const UT_Vector3 p,
UT_Vector3 shears = 0 
) const

int UT_Matrix4::explode ( const UT_XformOrder order,
UT_Vector3 r,
UT_Vector3 s,
UT_Vector3 t,
UT_Vector3 shears = 0 
) const

int UT_Matrix4::explode2D ( const UT_XformOrder order,
float &  r,
UT_Vector2 s,
UT_Vector2 t,
const UT_Vector2 p,
float *  shears = 0 
) const

int UT_Matrix4::explode2D ( const UT_XformOrder order,
float &  r,
UT_Vector2 s,
UT_Vector2 t,
float *  shears = 0 
) const

void UT_Matrix4::extractRotate ( UT_Matrix3 dst  )  const

fpreal UT_Matrix4::getEuclideanNorm (  )  const [inline]

Euclidean or Frobenius norm of a matrix. Does sqrt(sum(a_ij ^2))

Definition at line 644 of file UT_Matrix4.h.

fpreal UT_Matrix4::getEuclideanNorm2 (  )  const

Euclidean norm squared.

static const UT_Matrix4& UT_Matrix4::getIdentityMatrix (  )  [static]

void UT_Matrix4::getTranslates ( UT_Vector3 translates  )  const [inline]

Definition at line 712 of file UT_Matrix4.h.

void UT_Matrix4::identity (  )  [inline]

Set the matrix to identity.

Examples:
SOP/MSS_CustomBrushState.C.

Definition at line 586 of file UT_Matrix4.h.

void UT_Matrix4::instance ( const UT_Vector3 p,
const UT_Vector3 v,
fpreal  s,
const UT_Vector3 s3,
const UT_Vector3 up,
const UT_Quaternion q,
const UT_Vector3 tr,
const UT_Quaternion orient 
)

int UT_Matrix4::invert ( UT_Matrix4 m  )  const

Invert the matrix and return 0 if OK, 1 if singular. Puts the inverted matrix in m, and leaves this matrix unchanged.

int UT_Matrix4::invert ( fpreal  tol = 0.0F  ) 

Invert this matrix and return 0 if OK, 1 if singular.

Examples:
SIM/SIM_SolverSNOW.C.

int UT_Matrix4::invertDouble ( UT_Matrix4 m  )  const

Invert the matrix and return 0 if OK, 1 if singular. Puts the inverted matrix in m, and leaves this matrix unchanged.

int UT_Matrix4::invertDouble (  ) 

Invert this matrix and return 0 if OK, 1 if singular.

int UT_Matrix4::invertKramer ( UT_Matrix4 m  )  const

int UT_Matrix4::invertKramer ( void   ) 

unsigned UT_Matrix4::isEqual ( const UT_Matrix4 m,
fpreal  tolerance = UT_FTOLERANCE 
) const [inline]

Definition at line 338 of file UT_Matrix4.h.

int UT_Matrix4::isIdentity (  )  const [inline]

Definition at line 590 of file UT_Matrix4.h.

void UT_Matrix4::leftMult ( const UT_Matrix4 m  ) 

bool UT_Matrix4::load ( UT_IStream is  ) 

unsigned UT_Matrix4::operator!= ( const UT_Matrix4 m  )  const [inline]

Definition at line 215 of file UT_Matrix4.h.

const float* UT_Matrix4::operator() ( unsigned  row  )  const [inline]

Return a matrix row. No bounds checking on subscript.

Definition at line 633 of file UT_Matrix4.h.

float* UT_Matrix4::operator() ( unsigned  row  )  [inline]

Return a matrix row. No bounds checking on subscript.

Definition at line 628 of file UT_Matrix4.h.

float UT_Matrix4::operator() ( unsigned  row,
unsigned  col 
) const [inline]

Return a matrix entry. No bounds checking on subscripts.

Definition at line 619 of file UT_Matrix4.h.

float& UT_Matrix4::operator() ( unsigned  row,
unsigned  col 
) [inline]

Return a matrix entry. No bounds checking on subscripts.

Definition at line 614 of file UT_Matrix4.h.

UT_Matrix4& UT_Matrix4::operator*= ( fpreal  scalar  )  [inline]

Definition at line 229 of file UT_Matrix4.h.

UT_Matrix4& UT_Matrix4::operator*= ( const UT_Matrix4 m  ) 

UT_Matrix4 & UT_Matrix4::operator+= ( const UT_Vector4 vec  )  [inline]

Definition at line 688 of file UT_Matrix4.h.

UT_Matrix4& UT_Matrix4::operator+= ( const UT_Matrix4 m  )  [inline]

Definition at line 165 of file UT_Matrix4.h.

UT_Matrix4 UT_Matrix4::operator- (  )  const [inline]

Definition at line 156 of file UT_Matrix4.h.

UT_Matrix4 & UT_Matrix4::operator-= ( const UT_Vector4 vec  )  [inline]

Definition at line 700 of file UT_Matrix4.h.

UT_Matrix4& UT_Matrix4::operator-= ( const UT_Matrix4 m  )  [inline]

Definition at line 180 of file UT_Matrix4.h.

UT_Matrix4& UT_Matrix4::operator/= ( fpreal  scalar  )  [inline]

Definition at line 244 of file UT_Matrix4.h.

UT_Matrix4 & UT_Matrix4::operator= ( const UT_Vector4 vec  )  [inline]

Definition at line 678 of file UT_Matrix4.h.

UT_Matrix4& UT_Matrix4::operator= ( fpreal  v  )  [inline]

Definition at line 221 of file UT_Matrix4.h.

UT_Matrix4& UT_Matrix4::operator= ( const UT_SymMatrix4 m  )  [inline]

Conversion from a symmetric to a non symmetric matrix.

Definition at line 145 of file UT_Matrix4.h.

UT_Matrix4& UT_Matrix4::operator= ( const UT_DMatrix4 m  ) 

UT_Matrix4& UT_Matrix4::operator= ( const UT_DMatrix3 m  ) 

Conversion operator that expands a 3x3 into a 4x4 matrix by adding a row and column of zeroes, except the diagonal element which is 1.

UT_Matrix4& UT_Matrix4::operator= ( const UT_Matrix3 m  ) 

Conversion operator that expands a 3x3 into a 4x4 matrix by adding a row and column of zeroes, except the diagonal element which is 1.

unsigned UT_Matrix4::operator== ( const UT_Matrix4 m  )  const [inline]

Definition at line 199 of file UT_Matrix4.h.

UT_Vector4 UT_Matrix4::operator[] ( unsigned  row  )  const [inline]

Return a matrix row. No bounds checking on subscript.

Definition at line 728 of file UT_Matrix4.h.

void UT_Matrix4::outAsciiNoName ( ostream &  os  )  const

void UT_Matrix4::outerproductUpdate ( fpreal  b,
const UT_Vector4 v1,
const UT_Vector4 v2 
)

void UT_Matrix4::preMultiply ( const UT_Matrix4 m  )  [inline]

Definition at line 261 of file UT_Matrix4.h.

UT_Matrix4 UT_Matrix4::prerotate ( fpreal  rx,
fpreal  ry,
fpreal  rz,
const UT_XformOrder ord 
) const

void UT_Matrix4::prerotate ( fpreal  rx,
fpreal  ry,
fpreal  rz,
const UT_XformOrder ord 
)

UT_Matrix4 UT_Matrix4::prerotate ( UT_Axis3::axis  a,
fpreal  theta 
) const

void UT_Matrix4::prerotate ( UT_Axis3::axis  a,
fpreal  theta 
)

UT_Matrix4 UT_Matrix4::prerotate ( UT_Vector3 axis,
fpreal  theta,
int  norm = 1 
) const

void UT_Matrix4::prerotate ( UT_Vector3 axis,
fpreal  theta,
int  norm = 1 
)

UT_Matrix4 UT_Matrix4::prescale ( fpreal  sx,
fpreal  sy,
fpreal  sz,
fpreal  sw = 1.0f 
) const

void UT_Matrix4::prescale ( fpreal  sx,
fpreal  sy,
fpreal  sz,
fpreal  sw = 1.0f 
) [inline]

Examples:
SOP/MSS_CustomBrushState.C.

Definition at line 411 of file UT_Matrix4.h.

UT_Matrix4 UT_Matrix4::pretranslate ( fpreal  dx,
fpreal  dy,
fpreal  dz = 0.0f 
) const

void UT_Matrix4::pretranslate ( fpreal  dx,
fpreal  dy,
fpreal  dz = 0.0f 
) [inline]

Definition at line 459 of file UT_Matrix4.h.

void UT_Matrix4::rotate ( const UT_XformOrder order,
applyType  type,
char  limit,
fpreal  rx,
fpreal  ry,
fpreal  rz 
)

UT_Matrix4 UT_Matrix4::rotate ( fpreal  rx,
fpreal  ry,
fpreal  rz,
const UT_XformOrder ord 
) const

void UT_Matrix4::rotate ( fpreal  rx,
fpreal  ry,
fpreal  rz,
const UT_XformOrder ord 
)

UT_Matrix4 UT_Matrix4::rotate ( UT_Axis3::axis  a,
fpreal  theta 
) const

void UT_Matrix4::rotate ( UT_Axis3::axis  a,
fpreal  theta 
)

UT_Matrix4 UT_Matrix4::rotate ( UT_Vector3 axis,
fpreal  theta,
int  norm = 1 
) const

void UT_Matrix4::rotate ( UT_Vector3 axis,
fpreal  theta,
int  norm = 1 
)

static UT_Matrix4 UT_Matrix4::rotationMat ( UT_Axis3::axis  a,
fpreal  theta 
) [static]

static UT_Matrix4 UT_Matrix4::rotationMat ( UT_Vector3 axis,
fpreal  theta,
int  norm = 1 
) [static]

int UT_Matrix4::save ( ostream &  os,
int  binary 
) const

UT_Matrix4 UT_Matrix4::scale ( fpreal  sx,
fpreal  sy,
fpreal  sz,
fpreal  sw = 1.0f 
) const

void UT_Matrix4::scale ( fpreal  sx,
fpreal  sy,
fpreal  sz,
fpreal  sw = 1.0f 
) [inline]

Definition at line 394 of file UT_Matrix4.h.

void UT_Matrix4::setTranslates ( const UT_Vector3 translates  )  [inline]

Definition at line 720 of file UT_Matrix4.h.

void UT_Matrix4::shear ( fpreal  s_xy,
fpreal  s_xz,
fpreal  s_yz 
) [inline]

Definition at line 428 of file UT_Matrix4.h.

UT_Matrix4 UT_Matrix4::stretch ( UT_Vector3 v,
fpreal  amount,
int  norm = 1 
) const

void UT_Matrix4::stretch ( UT_Vector3 v,
fpreal  amount,
int  norm = 1 
)

fpreal UT_Matrix4::trace (  )  const [inline]

Definition at line 286 of file UT_Matrix4.h.

UT_Matrix4 UT_Matrix4::translate ( fpreal  dx,
fpreal  dy,
fpreal  dz = 0.0f 
) const

void UT_Matrix4::translate ( fpreal  dx,
fpreal  dy,
fpreal  dz = 0.0f 
) [inline]

Examples:
SOP/MSS_CustomBrushState.C, and SOP/SOP_Flatten.C.

Definition at line 444 of file UT_Matrix4.h.

UT_Matrix4 UT_Matrix4::transpose ( void   )  const

void UT_Matrix4::transpose ( void   )  [inline]

Definition at line 325 of file UT_Matrix4.h.

void UT_Matrix4::xform ( const UT_XformOrder order,
applyType  type,
char  limit,
fpreal  tx,
fpreal  ty,
fpreal  tz,
fpreal  rx,
fpreal  ry,
fpreal  rz,
fpreal  sx,
fpreal  sy,
fpreal  sz,
fpreal  px,
fpreal  py,
fpreal  pz 
)

void UT_Matrix4::xform ( const UT_XformOrder order,
fpreal  tx,
fpreal  ty,
fpreal  tz,
fpreal  rx,
fpreal  ry,
fpreal  rz,
fpreal  sx,
fpreal  sy,
fpreal  sz,
fpreal  s_xy,
fpreal  s_xz,
fpreal  s_yz,
fpreal  px,
fpreal  py,
fpreal  pz,
int  reverse = 0 
)

UT_Matrix4 UT_Matrix4::xform ( const UT_XformOrder order,
fpreal  tx = 0.0f,
fpreal  ty = 0.0f,
fpreal  tz = 0.0f,
fpreal  rx = 0.0f,
fpreal  ry = 0.0f,
fpreal  rz = 0.0f,
fpreal  sx = 1.0f,
fpreal  sy = 1.0f,
fpreal  sz = 1.0f,
fpreal  px = 0.0f,
fpreal  py = 0.0f,
fpreal  pz = 0.0f,
int  reverse = 0 
) const

void UT_Matrix4::xform ( const UT_XformOrder order,
fpreal  tx = 0.0f,
fpreal  ty = 0.0f,
fpreal  tz = 0.0f,
fpreal  rx = 0.0f,
fpreal  ry = 0.0f,
fpreal  rz = 0.0f,
fpreal  sx = 1.0f,
fpreal  sy = 1.0f,
fpreal  sz = 1.0f,
fpreal  px = 0.0f,
fpreal  py = 0.0f,
fpreal  pz = 0.0f,
int  reverse = 0 
)

void UT_Matrix4::zero (  )  [inline]

Set the matrix to zero.

Definition at line 588 of file UT_Matrix4.h.


Friends And Related Function Documentation

ostream& operator<< ( ostream &  os,
const UT_Matrix4 v 
) [friend]

Definition at line 659 of file UT_Matrix4.h.


Member Data Documentation

float UT_Matrix4::matx[4][4]

Definition at line 667 of file UT_Matrix4.h.


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

Generated on Fri May 25 00:10:50 2012 for HDK by  doxygen 1.5.9