ランタイム
Mix::Matrix3x3 Class Reference

3x3行列クラス More...

#include <Matrix3x3.h>

Public Member Functions

 Matrix3x3 (void)
 コンストラクタ More...
 
 Matrix3x3 (Float32 _m00, Float32 _m01, Float32 _m02, Float32 _m10, Float32 _m11, Float32 _m12, Float32 _m20, Float32 _m21, Float32 _m22)
 コンストラクタ More...
 
 Matrix3x3 (const Matrix3x3 &mat)
 コピーコンストラクタ More...
 
 ~Matrix3x3 (void)
 デストラクタ More...
 
void SetScaling (Float32 s)
 スケールを設定します More...
 
void SetScaling (const Mix::Vector2 &s)
 スケール変換を設定します More...
 
void SetSkew (const Mix::Vector2 &s)
 スキューを設定します More...
 
void SetRotation (Float32 theta)
 回転を設定します More...
 
void SetTranslation (const Mix::Vector2 &t)
 平行移動を設定します More...
 
Mix::Vector3 GetColumn (UInt32 index) const
 指定した列のベクトルを取得します More...
 
void SetColumn (UInt32 index, const Mix::Vector3 &v)
 指定した列にベクトルを設定します More...
 
Mix::Vector3 GetRow (UInt32 index) const
 指定した行のベクトルを取得します More...
 
void SetRow (UInt32 index, const Mix::Vector3 &v)
 指定した行にベクトルを設定します More...
 
Boolean Inverse (void)
 自身を逆行列にします More...
 
Mix::Matrix3x3 ToInverse (void) const
 自身の逆行列を返します More...
 
void Transpose (void)
 自身を転置行列にします More...
 
Mix::Matrix3x3 ToTranspose (void) const
 自身の転置行列を返します More...
 
void Transform (Mix::Vector2 *vectors, UInt32 count) const
 複数のベクトルをまとめて変換します More...
 
void Transform (Mix::Vector3 *vectors, UInt32 count) const
 複数のベクトルをまとめて変換します More...
 
void Transform (const Mix::Vector2 *srcVectors, Mix::Vector2 *dstVectors, UInt32 count) const
 複数のベクトルをまとめて変換します More...
 
void Transform (const Mix::Vector3 *srcVectors, Mix::Vector3 *dstVectors, UInt32 count) const
 複数のベクトルをまとめて変換します More...
 
void TransformSR (Mix::Vector2 *vectors, UInt32 count) const
 複数のベクトルをまとめて変換します ( 移動は行いません ) More...
 
void TransformSR (Mix::Vector3 *vectors, UInt32 count) const
 複数のベクトルをまとめて変換します ( 移動は行いません ) More...
 
void TransformSR (const Mix::Vector2 *srcVectors, Mix::Vector2 *dstVectors, UInt32 count) const
 複数のベクトルをまとめて変換します ( 移動は行いません ) More...
 
void TransformSR (const Mix::Vector3 *srcVectors, Mix::Vector3 *dstVectors, UInt32 count) const
 複数のベクトルをまとめて変換します ( 移動は行いません ) More...
 
Boolean operator== (const Matrix3x3 &mat) const
 等価比較 More...
 
Boolean operator!= (const Matrix3x3 &mat) const
 等価比較 More...
 
Matrix3x3operator= (const Matrix3x3 &mat)
 代入 More...
 
Matrix3x3operator*= (const Matrix3x3 &mat)
 代入乗算 More...
 
Matrix3x3 operator* (const Matrix3x3 &mat) const
 乗算 More...
 
Vector2 operator* (const Vector2 &v) const
 ベクトルの変換 More...
 
Vector3 operator* (const Vector3 &v) const
 ベクトルの変換 More...
 

Static Public Member Functions

static Matrix3x3 Zero (void)
 全ての要素が 0.0f の行列を取得します More...
 
static const Matrix3x3Identity (void)
 単位行列を取得します More...
 

Public Attributes

union {
   struct {
      Float32   m00
 要素 ( 0, 0 ) の値 More...
 
      Float32   m01
 要素 ( 0, 1 ) の値 More...
 
      Float32   m02
 要素 ( 0, 2 ) の値 More...
 
      Float32   m10
 要素 ( 1, 0 ) の値 More...
 
      Float32   m11
 要素 ( 1, 1 ) の値 More...
 
      Float32   m12
 要素 ( 1, 2 ) の値 More...
 
      Float32   m20
 要素 ( 2, 0 ) の値 More...
 
      Float32   m21
 要素 ( 2, 1 ) の値 More...
 
      Float32   m22
 要素 ( 2, 2 ) の値 More...
 
   } 
 
   Float32   m [3][3]
 行列の要素 More...
 
}; 
 

Friends

const Vector2 operator* (const Vector2 &v, const Matrix3x3 &mat)
 ベクトルを変換します More...
 
const Vector3 operator* (const Vector3 &v, const Matrix3x3 &mat)
 ベクトルを変換します More...
 

Detailed Description

3x3行列クラス

Constructor & Destructor Documentation

Mix::Matrix3x3::Matrix3x3 ( void  )

コンストラクタ

Mix::Matrix3x3::Matrix3x3 ( Float32  _m00,
Float32  _m01,
Float32  _m02,
Float32  _m10,
Float32  _m11,
Float32  _m12,
Float32  _m20,
Float32  _m21,
Float32  _m22 
)

コンストラクタ

Parameters
[in]_m00要素 m[0][0] の値
[in]_m01要素 m[0][1] の値
[in]_m02要素 m[0][2] の値
[in]_m10要素 m[1][0] の値
[in]_m11要素 m[1][1] の値
[in]_m12要素 m[1][2] の値
[in]_m20要素 m[2][0] の値
[in]_m21要素 m[2][1] の値
[in]_m22要素 m[2][2] の値
Mix::Matrix3x3::Matrix3x3 ( const Matrix3x3 mat)

コピーコンストラクタ

Parameters
[in]mat行列
Mix::Matrix3x3::~Matrix3x3 ( void  )

デストラクタ

Member Function Documentation

void Mix::Matrix3x3::SetScaling ( Float32  s)

スケールを設定します

Parameters
[in]sスケーリング
void Mix::Matrix3x3::SetScaling ( const Mix::Vector2 s)

スケール変換を設定します

Parameters
[in]sスケーリングを表す Mix::Vector2 クラス
void Mix::Matrix3x3::SetSkew ( const Mix::Vector2 s)

スキューを設定します

Parameters
[in]sスキューを表す Mix::Vector2 クラス
void Mix::Matrix3x3::SetRotation ( Float32  theta)

回転を設定します

Parameters
[in]theta回転角度( ラジアン単位 )
void Mix::Matrix3x3::SetTranslation ( const Mix::Vector2 t)

平行移動を設定します

Parameters
[in]t移動を表す Mix::Vector2 クラス
Mix::Vector3 Mix::Matrix3x3::GetColumn ( UInt32  index) const

指定した列のベクトルを取得します

Parameters
[in]index行のインデックス( 0〜2 )
Returns
行のベクトルを表す Mix::Vector4 クラスを返します
void Mix::Matrix3x3::SetColumn ( UInt32  index,
const Mix::Vector3 v 
)

指定した列にベクトルを設定します

Parameters
[in]index行のインデックス( 0〜2 )
[in]vベクトルを表す Mix::Vector3 クラス
Mix::Vector3 Mix::Matrix3x3::GetRow ( UInt32  index) const

指定した行のベクトルを取得します

Parameters
[in]index行のインデックス( 0〜3 )
Returns
ベクトルを表す Mix::Vector4 クラスを返します
void Mix::Matrix3x3::SetRow ( UInt32  index,
const Mix::Vector3 v 
)

指定した行にベクトルを設定します

Parameters
[in]index行のインデックス( 0〜3 )
[in]vベクトルを表す Mix::Vector3 クラス
Boolean Mix::Matrix3x3::Inverse ( void  )

自身を逆行列にします

Returns
成功した場合は True を返します
Mix::Matrix3x3 Mix::Matrix3x3::ToInverse ( void  ) const

自身の逆行列を返します

Returns
自身の逆行列を表す Mix::Matrix3x3 クラス
void Mix::Matrix3x3::Transpose ( void  )

自身を転置行列にします

Mix::Matrix3x3 Mix::Matrix3x3::ToTranspose ( void  ) const

自身の転置行列を返します

Returns
自身の転置行列を表す Mix::Matrix3x3 クラス
void Mix::Matrix3x3::Transform ( Mix::Vector2 vectors,
UInt32  count 
) const

複数のベクトルをまとめて変換します

Parameters
[in,out]vectors変換するベクトルを表す Mix::Vector2 クラスのポインタ
[in]count変換するベクトルの数
void Mix::Matrix3x3::Transform ( Mix::Vector3 vectors,
UInt32  count 
) const

複数のベクトルをまとめて変換します

Parameters
[in,out]vectors変換するベクトルを表す Mix::Vector3 クラスのポインタ
[in]count変換するベクトルの数
Note
xy だけを変換します。
void Mix::Matrix3x3::Transform ( const Mix::Vector2 srcVectors,
Mix::Vector2 dstVectors,
UInt32  count 
) const

複数のベクトルをまとめて変換します

Parameters
[in]srcVectors変換するベクトルを表す Mix::Vector2 クラスの配列
[out]dstVectors変換後のベクトルを渡す Mix::Vector2 クラスの配列
[in]count変換するベクトルの数
void Mix::Matrix3x3::Transform ( const Mix::Vector3 srcVectors,
Mix::Vector3 dstVectors,
UInt32  count 
) const

複数のベクトルをまとめて変換します

Parameters
[in]srcVectors変換するベクトルを表す Mix::Vector3 クラスの配列
[out]dstVectors変換後のベクトルを渡す Mix::Vector3 クラスの配列
[in]count変換するベクトルの数
Note
xy だけを変換します。
void Mix::Matrix3x3::TransformSR ( Mix::Vector2 vectors,
UInt32  count 
) const

複数のベクトルをまとめて変換します ( 移動は行いません )

Parameters
[in,out]vectors変換するベクトルを表す Mix::Vector2 クラスのポインタ
[in]count変換するベクトルの数
void Mix::Matrix3x3::TransformSR ( Mix::Vector3 vectors,
UInt32  count 
) const

複数のベクトルをまとめて変換します ( 移動は行いません )

Parameters
[in,out]vectors変換するベクトルを表す Mix::Vector3 クラスのポインタ
[in]count変換するベクトルの数
Note
xy だけを変換します。
void Mix::Matrix3x3::TransformSR ( const Mix::Vector2 srcVectors,
Mix::Vector2 dstVectors,
UInt32  count 
) const

複数のベクトルをまとめて変換します ( 移動は行いません )

Parameters
[in]srcVectors変換するベクトルを表す Mix::Vector2 クラスの配列
[out]dstVectors変換後のベクトルを渡す Mix::Vector2 クラスの配列
[in]count変換するベクトルの数
void Mix::Matrix3x3::TransformSR ( const Mix::Vector3 srcVectors,
Mix::Vector3 dstVectors,
UInt32  count 
) const

複数のベクトルをまとめて変換します ( 移動は行いません )

Parameters
[in]srcVectors変換するベクトルを表す Mix::Vector3 クラスの配列
[out]dstVectors変換後のベクトルを渡す Mix::Vector3 クラスの配列
[in]count変換するベクトルの数
Note
xy だけを変換します。
Boolean Mix::Matrix3x3::operator== ( const Matrix3x3 mat) const

等価比較

Parameters
[in]mat比較する行列
Returns
値が等しい場合は True を返します
Boolean Mix::Matrix3x3::operator!= ( const Matrix3x3 mat) const

等価比較

Parameters
[in]mat比較する行列
Returns
値が等しくない場合は True を返します
Matrix3x3& Mix::Matrix3x3::operator= ( const Matrix3x3 mat)

代入

Parameters
[in]mat代入元行列
Returns
結果
Matrix3x3& Mix::Matrix3x3::operator*= ( const Matrix3x3 mat)

代入乗算

Parameters
[in]mat乗算元行列
Returns
結果
Matrix3x3 Mix::Matrix3x3::operator* ( const Matrix3x3 mat) const

乗算

Parameters
[in]mat乗算元の行列
Returns
乗算後の行列
Vector2 Mix::Matrix3x3::operator* ( const Vector2 v) const

ベクトルの変換

Parameters
[in]v変換するベクトル
Returns
変換後のベクトル
Vector3 Mix::Matrix3x3::operator* ( const Vector3 v) const

ベクトルの変換

Parameters
[in]v変換するベクトル
Returns
変換後のベクトル
static Matrix3x3 Mix::Matrix3x3::Zero ( void  )
inlinestatic

全ての要素が 0.0f の行列を取得します

Returns
行列を表す Matrix3x3 クラスを返します
static const Matrix3x3& Mix::Matrix3x3::Identity ( void  )
inlinestatic

単位行列を取得します

Returns
単に行列を表す Matrix3x3 クラスを返します

Friends And Related Function Documentation

const Vector2 operator* ( const Vector2 v,
const Matrix3x3 mat 
)
friend

ベクトルを変換します

Parameters
[in]v変換するベクトル
[in]mat変換行列
Returns
変換後のベクトル
const Vector3 operator* ( const Vector3 v,
const Matrix3x3 mat 
)
friend

ベクトルを変換します

Parameters
[in]v変換するベクトル
[in]mat変換行列
Returns
変換後のベクトル

Member Data Documentation

Float32 Mix::Matrix3x3::m00

要素 ( 0, 0 ) の値

Float32 Mix::Matrix3x3::m01

要素 ( 0, 1 ) の値

Float32 Mix::Matrix3x3::m02

要素 ( 0, 2 ) の値

Float32 Mix::Matrix3x3::m10

要素 ( 1, 0 ) の値

Float32 Mix::Matrix3x3::m11

要素 ( 1, 1 ) の値

Float32 Mix::Matrix3x3::m12

要素 ( 1, 2 ) の値

Float32 Mix::Matrix3x3::m20

要素 ( 2, 0 ) の値

Float32 Mix::Matrix3x3::m21

要素 ( 2, 1 ) の値

Float32 Mix::Matrix3x3::m22

要素 ( 2, 2 ) の値

Float32 Mix::Matrix3x3::m[3][3]

行列の要素

union { ... }

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