Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

Lamp::Matrix33 Class Reference

3×3行列 More...

#include <Matrix33.h>

List of all members.

Public Member Functions

 Matrix33 ()
 コンストラクタ

 Matrix33 (float i00, float i01, float i02, float i10, float i11, float i12, float i20, float i21, float i22)
 コンストラクタ

 Matrix33 (const float *const source)
 コンストラクタ

void set (float s00, float s01, float s02, float s10, float s11, float s12, float s20, float s21, float s22)
 値の設定

void set (const float *const source)
 値の設定

void setZero ()
 ゼロ行列設定

void setUnit ()
 単位行列設定

void set (const Matrix34 &source)
 3×4行列の設定

void set (const Matrix44 &source)
 4×4行列の設定

void setScale (float scaleX, float scaleY, float scaleZ)
 スケールの設定

void setScale (const Vector3 &scale)
 スケールの設定

void addScale (float scaleX, float scaleY, float scaleZ)
 スケールの追加

void addScale (const Vector3 &scale)
 スケールの追加

void setRotationX (float radian)
 X軸回転の設定.

void addRotationX (float radian)
 X軸回転の追加.

void setRotationY (float radian)
 Y軸回転の設定.

void addRotationY (float radian)
 Y軸回転の追加.

void setRotationZ (float radian)
 Z軸回転の設定.

void addRotationZ (float radian)
 Z軸回転の追加.

void setRotationAxis (const Vector3 &axis, float radian)
 軸指定回転の設定

void addRotationAxis (const Vector3 &axis, float radian)
 軸指定回転の追加

void getRotationAxis (Vector3 *axis, float *radian) const
 軸指定回転の取得

void setRotationQuaternion (const Quaternion &quaternion)
 四元数回転の設定

void addRotationQuaternion (const Quaternion &quaternion)
 四元数回転の追加

Quaternion getRotationQuaternion () const
 四元数回転の取得

void setRotationXYZ (const Vector3 &radian)
 XYZ軸回転の設定.

void addRotationXYZ (const Vector3 &radian)
 XYZ軸回転の追加.

bool getRotationXYZ (Vector3 *radian) const
 XYZ軸回転の取得.

void setRotationXZY (const Vector3 &radian)
 XZY軸回転の設定.

void addRotationXZY (const Vector3 &radian)
 XZY軸回転の追加.

bool getRotationXZY (Vector3 *radian) const
 XZY軸回転の取得.

void setRotationYXZ (const Vector3 &radian)
 YXZ軸回転の設定.

void addRotationYXZ (const Vector3 &radian)
 YXZ軸回転の追加.

bool getRotationYXZ (Vector3 *radian) const
 YXZ軸回転の取得.

void setRotationYZX (const Vector3 &radian)
 YZX軸回転の設定.

void addRotationYZX (const Vector3 &radian)
 YZX軸回転の追加.

bool getRotationYZX (Vector3 *radian) const
 YZX軸回転の取得.

void setRotationZXY (const Vector3 &radian)
 ZXY軸回転の設定.

void addRotationZXY (const Vector3 &radian)
 ZXY軸回転の追加.

bool getRotationZXY (Vector3 *radian) const
 ZXY軸回転の取得.

void setRotationZYX (const Vector3 &radian)
 ZYX軸回転の設定.

void addRotationZYX (const Vector3 &radian)
 ZYX軸回転の追加.

bool getRotationZYX (Vector3 *radian) const
 ZYX軸回転の取得.

Matrix33 operator * (const Matrix33 &mtx) const
 行列乗算

Matrix33operator *= (Matrix33 mtx)
 代入行列乗算

Vector3 operator * (const Vector3 &vector) const
 ベクトル乗算

Matrix33 operator * (float value) const
 スカラー乗算

Matrix33operator *= (float value)
 スカラー乗算

void transpose ()
 転置

float determinant () const
 行列式

float invert ()
 逆行列

float invert (Matrix33 *invertMatrix) const
 逆行列

bool operator== (const Matrix33 &target) const
 行列が同じかどうか

bool epsilonEquals (const Matrix33 &target, float epsilon) const
 行列が同じかどうか

bool operator!= (const Matrix33 &target) const
 行列が同じでないかどうか

bool notEpsilonEquals (const Matrix33 &target, float epsilon) const
 行列が同じでないかどうか

String toString () const
 文字列化


Static Public Attributes

const Matrix33 zero
 ゼロ行列

const Matrix33 unit
 単位行列


Detailed Description

3×3行列

右手座標系を使用します。 このクラスは継承しないで下さい。

Definition at line 43 of file Matrix33.h.


Constructor & Destructor Documentation

Lamp::Matrix33::Matrix33  )  [inline]
 

コンストラクタ

このコンストラクタは初期値の設定を行わないため値は不定です。

Definition at line 96 of file Matrix33.h.

Referenced by operator *().

Lamp::Matrix33::Matrix33 float  i00,
float  i01,
float  i02,
float  i10,
float  i11,
float  i12,
float  i20,
float  i21,
float  i22
[inline]
 

コンストラクタ

Parameters:
i00 m00の初期値
i01 m01の初期値
i02 m02の初期値
i10 m10の初期値
i11 m11の初期値
i12 m12の初期値
i20 m20の初期値
i21 m21の初期値
i22 m22の初期値

Definition at line 110 of file Matrix33.h.

References m00, m01, m02, m10, m11, m12, m20, m21, and m22.

Lamp::Matrix33::Matrix33 const float *const  source  )  [inline, explicit]
 

コンストラクタ

Parameters:
source 初期値配列

Definition at line 123 of file Matrix33.h.

References m00, m01, m02, m10, m11, m12, m20, m21, and m22.


Member Function Documentation

void Lamp::Matrix33::addRotationAxis const Vector3 axis,
float  radian
[inline]
 

軸指定回転の追加

Parameters:
axis 回転軸
radian ラジアン単位での回転角度

Definition at line 336 of file Matrix33.h.

References setRotationAxis().

void Lamp::Matrix33::addRotationQuaternion const Quaternion quaternion  )  [inline]
 

四元数回転の追加

Parameters:
quaternion 四元数

Definition at line 422 of file Matrix33.h.

References setRotationQuaternion().

void Lamp::Matrix33::addRotationX float  radian  )  [inline]
 

X軸回転の追加.

Parameters:
radian ラジアン単位での回転角度

Definition at line 257 of file Matrix33.h.

References setRotationX().

Referenced by setRotationYXZ(), setRotationYZX(), setRotationZXY(), and setRotationZYX().

void Lamp::Matrix33::addRotationXYZ const Vector3 radian  )  [inline]
 

XYZ軸回転の追加.

Parameters:
radian 各軸におけるラジアン単位での回転角度

Definition at line 490 of file Matrix33.h.

References setRotationXYZ().

void Lamp::Matrix33::addRotationXZY const Vector3 radian  )  [inline]
 

XZY軸回転の追加.

Parameters:
radian 各軸におけるラジアン単位での回転角度

Definition at line 537 of file Matrix33.h.

References setRotationXZY().

void Lamp::Matrix33::addRotationY float  radian  )  [inline]
 

Y軸回転の追加.

Parameters:
radian ラジアン単位での回転角度

Definition at line 280 of file Matrix33.h.

References setRotationY().

Referenced by setRotationXZY(), setRotationZXY(), and setRotationZYX().

void Lamp::Matrix33::addRotationYXZ const Vector3 radian  )  [inline]
 

YXZ軸回転の追加.

Parameters:
radian 各軸におけるラジアン単位での回転角度

Definition at line 584 of file Matrix33.h.

References setRotationYXZ().

void Lamp::Matrix33::addRotationYZX const Vector3 radian  )  [inline]
 

YZX軸回転の追加.

Parameters:
radian 各軸におけるラジアン単位での回転角度

Definition at line 631 of file Matrix33.h.

References setRotationYZX().

void Lamp::Matrix33::addRotationZ float  radian  )  [inline]
 

Z軸回転の追加.

Parameters:
radian ラジアン単位での回転角度

Definition at line 303 of file Matrix33.h.

References setRotationZ().

Referenced by setRotationXZY(), setRotationYXZ(), and setRotationYZX().

void Lamp::Matrix33::addRotationZXY const Vector3 radian  )  [inline]
 

ZXY軸回転の追加.

Parameters:
radian 各軸におけるラジアン単位での回転角度

Definition at line 678 of file Matrix33.h.

References setRotationZXY().

void Lamp::Matrix33::addRotationZYX const Vector3 radian  )  [inline]
 

ZYX軸回転の追加.

Parameters:
radian 各軸におけるラジアン単位での回転角度

Definition at line 725 of file Matrix33.h.

References setRotationZYX().

void Lamp::Matrix33::addScale const Vector3 scale  )  [inline]
 

スケールの追加

Parameters:
scale スケール値

Definition at line 232 of file Matrix33.h.

References setScale(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

void Lamp::Matrix33::addScale float  scaleX,
float  scaleY,
float  scaleZ
[inline]
 

スケールの追加

Parameters:
scaleX Xスケール値
scaleY Yスケール値
scaleZ Zスケール値

Definition at line 222 of file Matrix33.h.

References setScale().

float Lamp::Matrix33::determinant  )  const [inline]
 

行列式

Returns:
行列式

Definition at line 866 of file Matrix33.h.

References m00, m01, m02, m10, m11, m12, m20, m21, and m22.

bool Lamp::Matrix33::epsilonEquals const Matrix33 target,
float  epsilon
const [inline]
 

行列が同じかどうか

Parameters:
target 比較する行列
epsilon 誤差
Returns:
誤差の範囲内で同じ値であればtrueを返す

Definition at line 953 of file Matrix33.h.

References Assert, m00, m01, m02, m10, m11, m12, m20, m21, and m22.

Referenced by Lamp::OrientedBox::epsilonEquals().

void Lamp::Matrix33::getRotationAxis Vector3 axis,
float *  radian
const [inline]
 

軸指定回転の取得

Parameters:
axis [out]回転軸を格納するベクトルへのポインタ
radian [out]ラジアン単位での回転角度を格納するfloatへのポインタ

Definition at line 347 of file Matrix33.h.

References m00, m01, m02, m10, m11, m12, m20, m21, m22, Lamp::Vector3::normalize(), Lamp::Vector3::set(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

Quaternion Lamp::Matrix33::getRotationQuaternion  )  const [inline]
 

四元数回転の取得

Returns:
回転を表す四元数

Definition at line 432 of file Matrix33.h.

References Lamp::Quaternion::array, m, m00, m01, m02, m10, m11, m12, m20, m21, m22, Lamp::Quaternion::w, Lamp::Quaternion::x, Lamp::Quaternion::y, and Lamp::Quaternion::z.

bool Lamp::Matrix33::getRotationXYZ Vector3 radian  )  const [inline]
 

XYZ軸回転の取得.

Parameters:
radian [out] 各軸におけるラジアン単位での回転角度
Returns:
答えが単一であればtrue

Definition at line 501 of file Matrix33.h.

References m00, m01, m10, m11, m20, m21, m22, Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

bool Lamp::Matrix33::getRotationXZY Vector3 radian  )  const [inline]
 

XZY軸回転の取得.

Parameters:
radian [out] 各軸におけるラジアン単位での回転角度
Returns:
答えが単一であればtrue

Definition at line 548 of file Matrix33.h.

References m00, m02, m10, m11, m12, m20, m22, Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

bool Lamp::Matrix33::getRotationYXZ Vector3 radian  )  const [inline]
 

YXZ軸回転の取得.

Parameters:
radian [out] 各軸におけるラジアン単位での回転角度
Returns:
答えが単一であればtrue

Definition at line 595 of file Matrix33.h.

References m00, m01, m10, m11, m20, m21, m22, Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

bool Lamp::Matrix33::getRotationYZX Vector3 radian  )  const [inline]
 

YZX軸回転の取得.

Parameters:
radian [out] 各軸におけるラジアン単位での回転角度
Returns:
答えが単一であればtrue

Definition at line 642 of file Matrix33.h.

References m00, m01, m02, m11, m12, m21, m22, Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

bool Lamp::Matrix33::getRotationZXY Vector3 radian  )  const [inline]
 

ZXY軸回転の取得.

Parameters:
radian [out] 各軸におけるラジアン単位での回転角度
Returns:
答えが単一であればtrue

Definition at line 689 of file Matrix33.h.

References m00, m02, m10, m11, m12, m20, m22, Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

bool Lamp::Matrix33::getRotationZYX Vector3 radian  )  const [inline]
 

ZYX軸回転の取得.

Parameters:
radian [out] 各軸におけるラジアン単位での回転角度
Returns:
答えが単一であればtrue

Definition at line 736 of file Matrix33.h.

References m00, m01, m02, m10, m12, m20, m22, Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

float Lamp::Matrix33::invert Matrix33 invertMatrix  )  const [inline]
 

逆行列

Parameters:
invertMatrix [out] 逆行列を格納する行列へのポインタ
Returns:
行列式

Definition at line 907 of file Matrix33.h.

References Assert, m00, m01, m02, m10, m11, m12, m20, m21, m22, and NULL.

float Lamp::Matrix33::invert  )  [inline]
 

逆行列

Returns:
行列式

Definition at line 877 of file Matrix33.h.

References Assert, m00, m01, m02, m10, m11, m12, m20, m21, and m22.

Referenced by Lamp::CharacterModel::buildDeformMatrixArray(), and Lamp::Plane::scaledTransform().

bool Lamp::Matrix33::notEpsilonEquals const Matrix33 target,
float  epsilon
const [inline]
 

行列が同じでないかどうか

Parameters:
target 比較する行列
epsilon 誤差
Returns:
誤差の範囲内で同じでない値であればtrueを返す

Definition at line 985 of file Matrix33.h.

References Assert, m00, m01, m02, m10, m11, m12, m20, m21, and m22.

Referenced by Lamp::OrientedBox::notEpsilonEquals().

Matrix33 Lamp::Matrix33::operator * float  value  )  const [inline]
 

スカラー乗算

Parameters:
value 乗算するスカラー
Returns:
乗算された行列

Definition at line 822 of file Matrix33.h.

References m00, m01, m02, m10, m11, m12, m20, m21, m22, and Matrix33().

Vector3 Lamp::Matrix33::operator * const Vector3 vector  )  const [inline]
 

ベクトル乗算

Parameters:
vector 乗算するベクトル
Returns:
乗算されたベクトル

Definition at line 810 of file Matrix33.h.

References m00, m01, m02, m10, m11, m12, m20, m21, m22, Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

Matrix33 Lamp::Matrix33::operator * const Matrix33 mtx  )  const [inline]
 

行列乗算

左側の行列から順に計算が適用されます。

Parameters:
mtx 乗算する行列
Returns:
乗算された行列

Definition at line 766 of file Matrix33.h.

References m00, m01, m02, m10, m11, m12, m20, m21, m22, and Matrix33().

Matrix33& Lamp::Matrix33::operator *= float  value  )  [inline]
 

スカラー乗算

Parameters:
value 乗算するスカラー
Returns:
乗算された行列

Definition at line 834 of file Matrix33.h.

References m00, m01, m02, m10, m11, m12, m20, m21, and m22.

Matrix33& Lamp::Matrix33::operator *= Matrix33  mtx  )  [inline]
 

代入行列乗算

左側の行列から順に計算が適用されます。

Parameters:
mtx 乗算する行列
Returns:
乗算された行列

Definition at line 786 of file Matrix33.h.

References m00, m01, m02, m10, m11, m12, m20, m21, and m22.

bool Lamp::Matrix33::operator!= const Matrix33 target  )  const [inline]
 

行列が同じでないかどうか

Parameters:
target 比較する行列
Returns:
同じでない値であればtrueを返す

Definition at line 972 of file Matrix33.h.

References m00, m01, m02, m10, m11, m12, m20, m21, and m22.

bool Lamp::Matrix33::operator== const Matrix33 target  )  const [inline]
 

行列が同じかどうか

Parameters:
target 比較する行列
Returns:
同じ値であればtrueを返す

Definition at line 940 of file Matrix33.h.

References m00, m01, m02, m10, m11, m12, m20, m21, and m22.

void Lamp::Matrix33::set const Matrix44 source  ) 
 

4×4行列の設定

Parameters:
source 設定元行列

Definition at line 56 of file Matrix33.cpp.

References Lamp::Matrix44::m00, Lamp::Matrix44::m01, Lamp::Matrix44::m02, Lamp::Matrix44::m10, Lamp::Matrix44::m11, Lamp::Matrix44::m12, Lamp::Matrix44::m20, Lamp::Matrix44::m21, Lamp::Matrix44::m22, and set().

void Lamp::Matrix33::set const Matrix34 source  ) 
 

3×4行列の設定

Parameters:
source 設定元行列

Definition at line 49 of file Matrix33.cpp.

References Lamp::Matrix34::m00, Lamp::Matrix34::m01, Lamp::Matrix34::m02, Lamp::Matrix34::m10, Lamp::Matrix34::m11, Lamp::Matrix34::m12, Lamp::Matrix34::m20, Lamp::Matrix34::m21, Lamp::Matrix34::m22, and set().

void Lamp::Matrix33::set const float *const  source  )  [inline]
 

値の設定

Parameters:
source 設定値配列

Definition at line 157 of file Matrix33.h.

References m00, m01, m02, m10, m11, m12, m20, m21, and m22.

void Lamp::Matrix33::set float  s00,
float  s01,
float  s02,
float  s10,
float  s11,
float  s12,
float  s20,
float  s21,
float  s22
[inline]
 

値の設定

Parameters:
s00 m00の設定値
s01 m01の設定値
s02 m02の設定値
s10 m10の設定値
s11 m11の設定値
s12 m12の設定値
s20 m20の設定値
s21 m21の設定値
s22 m22の設定値

Definition at line 144 of file Matrix33.h.

References m00, m01, m02, m10, m11, m12, m20, m21, and m22.

Referenced by Lamp::CharacterModel::buildDeformMatrixArray(), Lamp::Plane::scaledTransform(), Lamp::OrientedBox::set(), set(), setRotationAxis(), setRotationX(), setRotationY(), setRotationZ(), setScale(), setUnit(), setZero(), and Lamp::OrientedBox::transform().

void Lamp::Matrix33::setRotationAxis const Vector3 axis,
float  radian
[inline]
 

軸指定回転の設定

Parameters:
axis 回転軸
radian ラジアン単位での回転角度

Definition at line 315 of file Matrix33.h.

References Assert, Lamp::Vector3::isUnit(), set(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

Referenced by addRotationAxis().

void Lamp::Matrix33::setRotationQuaternion const Quaternion quaternion  )  [inline]
 

四元数回転の設定

Parameters:
quaternion 四元数

Definition at line 391 of file Matrix33.h.

References Assert, Lamp::Quaternion::isUnit(), m00, m01, m02, m10, m11, m12, m20, m21, m22, Lamp::Quaternion::w, Lamp::Quaternion::x, Lamp::Quaternion::y, and Lamp::Quaternion::z.

Referenced by addRotationQuaternion(), and Lamp::OrientedBox::setRotationQuaternion().

void Lamp::Matrix33::setRotationX float  radian  )  [inline]
 

X軸回転の設定.

Parameters:
radian ラジアン単位での回転角度

Definition at line 245 of file Matrix33.h.

References set().

Referenced by addRotationX(), and setRotationXZY().

void Lamp::Matrix33::setRotationXYZ const Vector3 radian  )  [inline]
 

XYZ軸回転の設定.

Parameters:
radian 各軸におけるラジアン単位での回転角度

Definition at line 466 of file Matrix33.h.

References m00, m01, m02, m10, m11, m12, m20, m21, m22, Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

Referenced by addRotationXYZ(), Lamp::OrientedBox::setRotationXYZ(), and Lamp::FirstPersonCameraController::windowProcedure().

void Lamp::Matrix33::setRotationXZY const Vector3 radian  )  [inline]
 

XZY軸回転の設定.

Parameters:
radian 各軸におけるラジアン単位での回転角度

Definition at line 527 of file Matrix33.h.

References addRotationY(), addRotationZ(), setRotationX(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

Referenced by addRotationXZY().

void Lamp::Matrix33::setRotationY float  radian  )  [inline]
 

Y軸回転の設定.

Parameters:
radian ラジアン単位での回転角度

Definition at line 268 of file Matrix33.h.

References set().

Referenced by addRotationY(), setRotationYXZ(), and setRotationYZX().

void Lamp::Matrix33::setRotationYXZ const Vector3 radian  )  [inline]
 

YXZ軸回転の設定.

Parameters:
radian 各軸におけるラジアン単位での回転角度

Definition at line 574 of file Matrix33.h.

References addRotationX(), addRotationZ(), setRotationY(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

Referenced by addRotationYXZ().

void Lamp::Matrix33::setRotationYZX const Vector3 radian  )  [inline]
 

YZX軸回転の設定.

Parameters:
radian 各軸におけるラジアン単位での回転角度

Definition at line 621 of file Matrix33.h.

References addRotationX(), addRotationZ(), setRotationY(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

Referenced by addRotationYZX().

void Lamp::Matrix33::setRotationZ float  radian  )  [inline]
 

Z軸回転の設定.

Parameters:
radian ラジアン単位での回転角度

Definition at line 291 of file Matrix33.h.

References set().

Referenced by addRotationZ(), setRotationZXY(), and setRotationZYX().

void Lamp::Matrix33::setRotationZXY const Vector3 radian  )  [inline]
 

ZXY軸回転の設定.

Parameters:
radian 各軸におけるラジアン単位での回転角度

Definition at line 668 of file Matrix33.h.

References addRotationX(), addRotationY(), setRotationZ(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

Referenced by addRotationZXY().

void Lamp::Matrix33::setRotationZYX const Vector3 radian  )  [inline]
 

ZYX軸回転の設定.

Parameters:
radian 各軸におけるラジアン単位での回転角度

Definition at line 715 of file Matrix33.h.

References addRotationX(), addRotationY(), setRotationZ(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

Referenced by addRotationZYX().

void Lamp::Matrix33::setScale const Vector3 scale  )  [inline]
 

スケールの設定

Parameters:
scale スケール値

Definition at line 212 of file Matrix33.h.

References setScale(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

void Lamp::Matrix33::setScale float  scaleX,
float  scaleY,
float  scaleZ
[inline]
 

スケールの設定

Parameters:
scaleX Xスケール値
scaleY Yスケール値
scaleZ Zスケール値

Definition at line 202 of file Matrix33.h.

References set().

Referenced by addScale(), and setScale().

String Lamp::Matrix33::toString  )  const [inline]
 

文字列化

Returns:
行列の文字列表記

Definition at line 1006 of file Matrix33.h.

References Lamp::String::format(), m00, m01, m02, m10, m11, m12, m20, m21, and m22.

void Lamp::Matrix33::transpose  )  [inline]
 

転置

m30、m31、m32は0クリアされます。

Definition at line 855 of file Matrix33.h.

References m01, m02, m10, m12, m20, and m21.

Referenced by Lamp::CharacterModel::buildDeformMatrixArray(), and Lamp::Plane::scaledTransform().


The documentation for this class was generated from the following files:
Generated on Wed Mar 16 10:29:48 2005 for Lamp by doxygen 1.3.2