Public Member Functions | Public Attributes | Friends
IceMaths::Matrix4x4 Class Reference

#include <OPC_IceHook.h>

List of all members.

Public Member Functions

float CoFactor (udword row, udword col) const
 Computes a cofactor. Used for matrix inversion.
inline_ void Copy (const Matrix4x4 &source)
 Copy from a Matrix4x4.
float Determinant () const
 Computes the determinant of the matrix.
inline_ void GetCol (const udword c, HPoint &p) const
 Returns a column.
inline_ void GetCol (const udword c, Point &p) const
 Returns a column.
inline_ void GetRow (const udword r, HPoint &p) const
 Returns a row.
inline_ void GetRow (const udword r, Point &p) const
 Returns a row.
inline_ const HPointGetRow (const udword r) const
 Returns a row.
inline_ HPointGetRow (const udword r)
 Returns a row.
inline_ const HPointGetTrans () const
 Returns the translation part of the matrix.
inline_ void GetTrans (Point &p) const
 Gets the translation part of the matrix.
inline_ void Identity ()
 Sets the identity matrix.
Matrix4x4Invert ()
 Inverts the matrix. Determinant must be different from zero, else matrix can't be inverted.
inline_ bool IsIdentity () const
 Checks for identity.
inline_ BOOL IsValid () const
 Checks matrix validity.
inline_ Matrix4x4 ()
 Empty constructor.
inline_ Matrix4x4 (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 m30, float m31, float m32, float m33)
 Constructor from 16 values.
inline_ Matrix4x4 (const Matrix4x4 &mat)
 Copy constructor.
inline_ operator Matrix3x3 () const
 Casts a Matrix4x4 to a Matrix3x3.
 operator PR () const
 Casts a Matrix4x4 to a PR.
 operator Quat () const
 Casts a Matrix4x4 to a Quat.
inline_ Matrix4x4 operator* (const Matrix4x4 &mat) const
 Operator for Matrix4x4 Mul = Matrix4x4 * Matrix4x4;.
inline_ HPoint operator* (const HPoint &v) const
 Operator for HPoint Mul = Matrix4x4 * HPoint;.
inline_ Point operator* (const Point &v) const
 Operator for Point Mul = Matrix4x4 * Point;.
inline_ Matrix4x4 operator* (float s) const
 Operator for Matrix4x4 Scale = Matrix4x4 * float;.
Matrix4x4operator*= (const Matrix4x4 &mat)
 Operator for Matrix4x4 *= Matrix4x4;.
inline_ Matrix4x4operator*= (float s)
 Operator for Matrix4x4 *= float;.
inline_ Matrix4x4 operator+ (const Matrix4x4 &mat) const
 Operator for Matrix4x4 Plus = Matrix4x4 + Matrix4x4;.
inline_ Matrix4x4operator+= (const Matrix4x4 &mat)
 Operator for Matrix4x4 += Matrix4x4;.
inline_ Matrix4x4 operator- (const Matrix4x4 &mat) const
 Operator for Matrix4x4 Minus = Matrix4x4 - Matrix4x4;.
inline_ Matrix4x4operator-= (const Matrix4x4 &mat)
 Operator for Matrix4x4 -= Matrix4x4;.
inline_ Matrix4x4 operator/ (float s) const
 Operator for Matrix4x4 Div = Matrix4x4 / float;.
inline_ Matrix4x4operator/= (float s)
 Operator for Matrix4x4 /= float;.
inline_ const HPointoperator[] (int row) const
inline_ HPointoperator[] (int row)
Matrix4x4Rot (float angle, Point &p1, Point &p2)
 Makes a rotation matrix about an arbitrary axis.
void RotX (float angle)
 Sets a rotation matrix around the X axis.
void RotY (float angle)
 Sets a rotation matrix around the Y axis.
void RotZ (float angle)
 Sets a rotation matrix around the Z axis.
void Scale (const Point &p)
 Scales from a Point. Each row is multiplied by a component.
void Scale (float sx, float sy, float sz)
 Scales from floats. Each row is multiplied by a value.
inline_ Matrix4x4Set (float m00, float m01, float m02, float m10, float m11, float m12, float m20, float m21, float m22)
 Assign values (rotation only)
inline_ Matrix4x4Set (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 m30, float m31, float m32, float m33)
 Assign values.
inline_ void SetCol (const udword c, const HPoint &p)
 Sets a column.
inline_ void SetCol (const udword c, const Point &p)
 Sets a column.
inline_ void SetRow (const udword r, const HPoint &p)
 Sets a row.
inline_ void SetRow (const udword r, const Point &p)
 Sets a row.
inline_ void SetScale (const Point &p)
 Sets the scale from a Point. The point is put on the diagonal.
inline_ void SetScale (float sx, float sy, float sz)
 Sets the scale from floats. Values are put on the diagonal.
inline_ void SetTrans (const Point &p)
 Sets the translation part of the matrix, from a Point.
inline_ void SetTrans (const HPoint &p)
 Sets the translation part of the matrix, from a HPoint.
inline_ void SetTrans (float tx, float ty, float tz)
 Sets the translation part of the matrix, from floats.
inline_ float Trace () const
 Computes the trace. The trace is the sum of the 4 diagonal components.
inline_ float Trace3x3 () const
 Computes the trace of the upper 3x3 matrix.
void Transpose ()
 Transposes the matrix.
inline_ void Zero ()
 Clears the matrix.
inline_ ~Matrix4x4 ()
 Destructor.

Public Attributes

float m [4][4]

Friends

inline_ friend Matrix4x4 operator* (float s, const Matrix4x4 &mat)
 Operator for Matrix4x4 Scale = float * Matrix4x4;.
inline_ friend Matrix4x4 operator/ (float s, const Matrix4x4 &mat)
 Operator for Matrix4x4 Div = float / Matrix4x4;.

Detailed Description

Definition at line 22 of file OPC_IceHook.h.


Constructor & Destructor Documentation

Empty constructor.

Definition at line 29 of file OPC_IceHook.h.

inline_ IceMaths::Matrix4x4::Matrix4x4 ( 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  m30,
float  m31,
float  m32,
float  m33 
) [inline]

Constructor from 16 values.

Definition at line 31 of file OPC_IceHook.h.

Copy constructor.

Definition at line 42 of file OPC_IceHook.h.

Destructor.

Definition at line 44 of file OPC_IceHook.h.


Member Function Documentation

float Matrix4x4::CoFactor ( udword  row,
udword  col 
) const

Computes a cofactor. Used for matrix inversion.

Definition at line 80 of file IceMatrix4x4.cpp.

Copy from a Matrix4x4.

Definition at line 70 of file OPC_IceHook.h.

float Matrix4x4::Determinant ( ) const

Computes the determinant of the matrix.

Definition at line 93 of file IceMatrix4x4.cpp.

inline_ void IceMaths::Matrix4x4::GetCol ( const udword  c,
HPoint p 
) const [inline]

Returns a column.

Definition at line 86 of file OPC_IceHook.h.

inline_ void IceMaths::Matrix4x4::GetCol ( const udword  c,
Point p 
) const [inline]

Returns a column.

Definition at line 88 of file OPC_IceHook.h.

inline_ void IceMaths::Matrix4x4::GetRow ( const udword  r,
HPoint p 
) const [inline]

Returns a row.

Definition at line 74 of file OPC_IceHook.h.

inline_ void IceMaths::Matrix4x4::GetRow ( const udword  r,
Point p 
) const [inline]

Returns a row.

Definition at line 76 of file OPC_IceHook.h.

Returns a row.

Definition at line 78 of file OPC_IceHook.h.

Returns a row.

Definition at line 80 of file OPC_IceHook.h.

Returns the translation part of the matrix.

Definition at line 96 of file OPC_IceHook.h.

Gets the translation part of the matrix.

Definition at line 98 of file OPC_IceHook.h.

Sets the identity matrix.

Definition at line 175 of file OPC_IceHook.h.

Inverts the matrix. Determinant must be different from zero, else matrix can't be inverted.

Definition at line 104 of file IceMatrix4x4.cpp.

inline_ bool IceMaths::Matrix4x4::IsIdentity ( ) const [inline]

Checks for identity.

Definition at line 177 of file OPC_IceHook.h.

Checks matrix validity.

Definition at line 202 of file OPC_IceHook.h.

inline_ IceMaths::Matrix4x4::operator Matrix3x3 ( ) const [inline]

Casts a Matrix4x4 to a Matrix3x3.

Definition at line 245 of file OPC_IceHook.h.

IceMaths::Matrix4x4::operator PR ( ) const

Casts a Matrix4x4 to a PR.

IceMaths::Matrix4x4::operator Quat ( ) const

Casts a Matrix4x4 to a Quat.

inline_ Matrix4x4 IceMaths::Matrix4x4::operator* ( const Matrix4x4 mat) const [inline]

Operator for Matrix4x4 Mul = Matrix4x4 * Matrix4x4;.

Definition at line 279 of file OPC_IceHook.h.

inline_ HPoint IceMaths::Matrix4x4::operator* ( const HPoint v) const [inline]

Operator for HPoint Mul = Matrix4x4 * HPoint;.

Definition at line 304 of file OPC_IceHook.h.

inline_ Point IceMaths::Matrix4x4::operator* ( const Point v) const [inline]

Operator for Point Mul = Matrix4x4 * Point;.

Definition at line 307 of file OPC_IceHook.h.

inline_ Matrix4x4 IceMaths::Matrix4x4::operator* ( float  s) const [inline]

Operator for Matrix4x4 Scale = Matrix4x4 * float;.

Definition at line 315 of file OPC_IceHook.h.

Matrix4x4& IceMaths::Matrix4x4::operator*= ( const Matrix4x4 mat) [inline]

Operator for Matrix4x4 *= Matrix4x4;.

Definition at line 377 of file OPC_IceHook.h.

inline_ Matrix4x4& IceMaths::Matrix4x4::operator*= ( float  s) [inline]

Operator for Matrix4x4 *= float;.

Definition at line 409 of file OPC_IceHook.h.

inline_ Matrix4x4 IceMaths::Matrix4x4::operator+ ( const Matrix4x4 mat) const [inline]

Operator for Matrix4x4 Plus = Matrix4x4 + Matrix4x4;.

Definition at line 259 of file OPC_IceHook.h.

inline_ Matrix4x4& IceMaths::Matrix4x4::operator+= ( const Matrix4x4 mat) [inline]

Operator for Matrix4x4 += Matrix4x4;.

Definition at line 357 of file OPC_IceHook.h.

inline_ Matrix4x4 IceMaths::Matrix4x4::operator- ( const Matrix4x4 mat) const [inline]

Operator for Matrix4x4 Minus = Matrix4x4 - Matrix4x4;.

Definition at line 269 of file OPC_IceHook.h.

inline_ Matrix4x4& IceMaths::Matrix4x4::operator-= ( const Matrix4x4 mat) [inline]

Operator for Matrix4x4 -= Matrix4x4;.

Definition at line 367 of file OPC_IceHook.h.

inline_ Matrix4x4 IceMaths::Matrix4x4::operator/ ( float  s) const [inline]

Operator for Matrix4x4 Div = Matrix4x4 / float;.

Definition at line 335 of file OPC_IceHook.h.

inline_ Matrix4x4& IceMaths::Matrix4x4::operator/= ( float  s) [inline]

Operator for Matrix4x4 /= float;.

Definition at line 419 of file OPC_IceHook.h.

inline_ const HPoint& IceMaths::Matrix4x4::operator[] ( int  row) const [inline]

Definition at line 429 of file OPC_IceHook.h.

inline_ HPoint& IceMaths::Matrix4x4::operator[] ( int  row) [inline]

Definition at line 430 of file OPC_IceHook.h.

Matrix4x4& IceMaths::Matrix4x4::Rot ( float  angle,
Point p1,
Point p2 
)

Makes a rotation matrix about an arbitrary axis.

void IceMaths::Matrix4x4::RotX ( float  angle) [inline]

Sets a rotation matrix around the X axis.

Definition at line 215 of file OPC_IceHook.h.

void IceMaths::Matrix4x4::RotY ( float  angle) [inline]

Sets a rotation matrix around the Y axis.

Definition at line 217 of file OPC_IceHook.h.

void IceMaths::Matrix4x4::RotZ ( float  angle) [inline]

Sets a rotation matrix around the Z axis.

Definition at line 219 of file OPC_IceHook.h.

Scales from a Point. Each row is multiplied by a component.

Definition at line 112 of file OPC_IceHook.h.

void IceMaths::Matrix4x4::Scale ( float  sx,
float  sy,
float  sz 
) [inline]

Scales from floats. Each row is multiplied by a value.

Definition at line 119 of file OPC_IceHook.h.

inline_ Matrix4x4& IceMaths::Matrix4x4::Set ( float  m00,
float  m01,
float  m02,
float  m10,
float  m11,
float  m12,
float  m20,
float  m21,
float  m22 
) [inline]

Assign values (rotation only)

Definition at line 47 of file OPC_IceHook.h.

inline_ Matrix4x4& IceMaths::Matrix4x4::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,
float  m30,
float  m31,
float  m32,
float  m33 
) [inline]

Assign values.

Definition at line 57 of file OPC_IceHook.h.

Sets a column.

Definition at line 90 of file OPC_IceHook.h.

Sets a column.

Definition at line 92 of file OPC_IceHook.h.

Sets a row.

Definition at line 82 of file OPC_IceHook.h.

Sets a row.

Definition at line 84 of file OPC_IceHook.h.

Sets the scale from a Point. The point is put on the diagonal.

Definition at line 108 of file OPC_IceHook.h.

inline_ void IceMaths::Matrix4x4::SetScale ( float  sx,
float  sy,
float  sz 
) [inline]

Sets the scale from floats. Values are put on the diagonal.

Definition at line 110 of file OPC_IceHook.h.

Sets the translation part of the matrix, from a Point.

Definition at line 100 of file OPC_IceHook.h.

Sets the translation part of the matrix, from a HPoint.

Definition at line 102 of file OPC_IceHook.h.

inline_ void IceMaths::Matrix4x4::SetTrans ( float  tx,
float  ty,
float  tz 
) [inline]

Sets the translation part of the matrix, from floats.

Definition at line 104 of file OPC_IceHook.h.

inline_ float IceMaths::Matrix4x4::Trace ( ) const [inline]

Computes the trace. The trace is the sum of the 4 diagonal components.

Definition at line 169 of file OPC_IceHook.h.

inline_ float IceMaths::Matrix4x4::Trace3x3 ( ) const [inline]

Computes the trace of the upper 3x3 matrix.

Definition at line 171 of file OPC_IceHook.h.

Transposes the matrix.

Definition at line 225 of file OPC_IceHook.h.

Clears the matrix.

Definition at line 173 of file OPC_IceHook.h.


Friends And Related Function Documentation

inline_ friend Matrix4x4 operator* ( float  s,
const Matrix4x4 mat 
) [friend]

Operator for Matrix4x4 Scale = float * Matrix4x4;.

Definition at line 325 of file OPC_IceHook.h.

inline_ friend Matrix4x4 operator/ ( float  s,
const Matrix4x4 mat 
) [friend]

Operator for Matrix4x4 Div = float / Matrix4x4;.

Definition at line 347 of file OPC_IceHook.h.


Member Data Documentation

Definition at line 434 of file OPC_IceHook.h.


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


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Thu Apr 11 2019 03:30:22