ランタイム
Mix::Vector4 Class Reference

4次元浮動小数点ベクトルクラス More...

#include <Vector4.h>

Public Member Functions

 Vector4 (void)
 コンストラクタ More...
 
 Vector4 (const Vector4 &v)
 コンストラクタ More...
 
 Vector4 (const Vector3 &v)
 コンストラクタ More...
 
 Vector4 (Float32 vx, Float32 vy, Float32 vz)
 コンストラクタ More...
 
 Vector4 (Float32 vx, Float32 vy, Float32 vz, Float32 vw)
 コンストラクタ More...
 
Boolean operator== (const Vector4 &v) const
 等価比較 More...
 
Boolean operator!= (const Vector4 &v) const
 等価比較 More...
 
Vector4operator= (const Vector4 &v)
 代入 More...
 
Vector4operator= (const Vector3 &v)
 代入 More...
 
Vector4operator+= (const Vector4 &v)
 代入加算 More...
 
Vector4operator-= (const Vector4 &v)
 代入減算 More...
 
Vector4operator*= (const Vector4 &v)
 代入乗算 More...
 
Vector4operator*= (Float32 s)
 代入乗算 More...
 
Vector4operator/= (const Vector4 &v)
 代入除算 More...
 
Vector4operator/= (Float32 s)
 代入除算 More...
 
Vector4 operator+ (const Vector4 &v) const
 加算 More...
 
Vector4 operator- (const Vector4 &v) const
 減算 More...
 
Vector4 operator* (const Vector4 &v) const
 乗算 More...
 
Vector4 operator* (Float32 s) const
 乗算 More...
 
Vector4 operator/ (const Vector4 &v) const
 除算 More...
 
Vector4 operator/ (Float32 s) const
 除算 More...
 
Vector4 operator+ (void) const
 正の符号として扱います More...
 
Vector4 operator- (void) const
 符号を反転します More...
 
void Set (Float32 vx, Float32 vy, Float32 vz, Float32 vw)
 ベクトルを設定します More...
 
Float32 Normalize (void)
 正規化します More...
 
Vector4 ToNormalize (Float32 *pLength=NULL) const
 正規化したベクトルを取得します More...
 
void Saturate (void)
 0.0f〜1.0f に飽和します More...
 
Vector4 ToSaturate (void) const
 0.0f〜1.0f に飽和したベクトルを取得します More...
 
Float32 GetLengthSqr (void) const
 長さの2乗を取得します More...
 
Float32 GetLength (void) const
 長さを取得します More...
 
Float32 GetLengthF (void) const
 長さを取得します More...
 

Static Public Member Functions

static Float32 Dot (const Vector4 &lv, const Vector4 &rv)
 二つのベクトルの内積を返します More...
 
static Vector4 Cross (const Vector4 &lv, const Vector4 &rv)
 二つのベクトルの外積を返します More...
 
static Vector4 Rand (void)
 乱数( 0.0f〜1.0f )を取得します More...
 
static Vector4 Rand (const Vector4 &v)
 乱数( 0.0f〜v )を取得します More...
 
static Vector4 Rand (const Vector4 &v0, const Vector4 &v1)
 乱数( v0〜v1 )を取得します More...
 
static Vector4 Min (const Vector4 &v0, const Vector4 &v1)
 二つのベクトルの最小値を取得します More...
 
static Vector4 Max (const Vector4 &v0, const Vector4 &v1)
 二つのベクトルの最大値を取得します More...
 
static Vector4 Lerp (const Vector4 &vs, const Vector4 &ve, Float32 t)
 線形補間をします More...
 
static Vector4 Slerp (const Vector4 &vs, const Vector4 &ve, Float32 t)
 球面線形補間をします More...
 
static const Vector4Zero (void)
 初期値( 0.0, 0.0, 0.0, 1.0 )を取得します More...
 
static const Vector4XAxis (void)
 X軸( 1.0, 0.0, 0.0, 1.0 )を取得します More...
 
static const Vector4YAxis (void)
 Y軸( 0.0, 1.0, 0.0, 1.0 )を取得します More...
 
static const Vector4ZAxis (void)
 Z軸( 0.0, 0.0, 1.0, 1.0 )を取得します More...
 

Public Attributes

union {
   struct {
      Float32   x
 X座標 More...
 
      Float32   y
 Y座標 More...
 
      Float32   z
 Z座標 More...
 
      Float32   w
 W座標 More...
 
   } 
 
   struct {
      Float32   r
 R成分 More...
 
      Float32   g
 G成分 More...
 
      Float32   b
 B成分 More...
 
      Float32   a
 A成分 More...
 
   } 
 
   Float32   data [4]
 データ More...
 
}; 
 

Friends

const Vector4 operator* (Float32 s, const Vector4 &v)
 乗算 More...
 
const Vector4 operator/ (Float32 s, const Vector4 &v)
 除算 More...
 

Detailed Description

4次元浮動小数点ベクトルクラス

Constructor & Destructor Documentation

Mix::Vector4::Vector4 ( void  )

コンストラクタ

Mix::Vector4::Vector4 ( const Vector4 v)

コンストラクタ

Parameters
[in]vベクトル
Mix::Vector4::Vector4 ( const Vector3 v)

コンストラクタ

Parameters
[in]vベクトル
Mix::Vector4::Vector4 ( Float32  vx,
Float32  vy,
Float32  vz 
)

コンストラクタ

Parameters
[in]vxX座標
[in]vyY座標
[in]vzZ座標
Mix::Vector4::Vector4 ( Float32  vx,
Float32  vy,
Float32  vz,
Float32  vw 
)

コンストラクタ

Parameters
[in]vxX座標
[in]vyY座標
[in]vzZ座標
[in]vwW座標

Member Function Documentation

Boolean Mix::Vector4::operator== ( const Vector4 v) const

等価比較

Parameters
[in]v比較するベクトル
Returns
値が等しい場合は True を返します
Boolean Mix::Vector4::operator!= ( const Vector4 v) const

等価比較

Parameters
[in]v比較するベクトル
Returns
値が等しくない場合は True を返します
Vector4& Mix::Vector4::operator= ( const Vector4 v)

代入

Parameters
[in]v代入する値
Returns
代入されたベクトルを返します
Vector4& Mix::Vector4::operator= ( const Vector3 v)

代入

Parameters
[in]v代入する値
Returns
代入されたベクトルを返します
Vector4& Mix::Vector4::operator+= ( const Vector4 v)

代入加算

Parameters
[in]v代入加算する値
Returns
代入加算されたベクトルを返します
Vector4& Mix::Vector4::operator-= ( const Vector4 v)

代入減算

Parameters
[in]v代入減算する値
Returns
代入減算されたベクトルを返します
Vector4& Mix::Vector4::operator*= ( const Vector4 v)

代入乗算

Parameters
[in]v代入乗算する値
Returns
代入乗算されたベクトルを返します
Vector4& Mix::Vector4::operator*= ( Float32  s)

代入乗算

Parameters
[in]s代入乗算する値
Returns
代入乗算されたベクトルを返します
Vector4& Mix::Vector4::operator/= ( const Vector4 v)

代入除算

Parameters
[in]v代入除算する値
Returns
代入除算されたベクトルを返します
Vector4& Mix::Vector4::operator/= ( Float32  s)

代入除算

Parameters
[in]s代入除算する値
Returns
代入除算されたベクトルを返します
Vector4 Mix::Vector4::operator+ ( const Vector4 v) const

加算

Parameters
[in]v加算する値
Returns
加算されたベクトルを返します
Vector4 Mix::Vector4::operator- ( const Vector4 v) const

減算

Parameters
[in]v減算する値
Returns
減算されたベクトルを返します
Vector4 Mix::Vector4::operator* ( const Vector4 v) const

乗算

Parameters
[in]v乗算する値
Returns
乗算されたベクトルを返します
Vector4 Mix::Vector4::operator* ( Float32  s) const

乗算

Parameters
[in]s乗算する値
Returns
乗算されたベクトルを返します
Vector4 Mix::Vector4::operator/ ( const Vector4 v) const

除算

Parameters
[in]v除算する値
Returns
除算されたベクトルを返します
Vector4 Mix::Vector4::operator/ ( Float32  s) const

除算

Parameters
[in]s除算する値
Returns
除算されたベクトルを返します
Vector4 Mix::Vector4::operator+ ( void  ) const

正の符号として扱います

Returns
ベクトルを返します
Vector4 Mix::Vector4::operator- ( void  ) const

符号を反転します

Returns
符号を反転したベクトルを返します
void Mix::Vector4::Set ( Float32  vx,
Float32  vy,
Float32  vz,
Float32  vw 
)

ベクトルを設定します

Parameters
[in]vxX座標
[in]vyY座標
[in]vzZ座標
[in]vwW座標
Float32 Mix::Vector4::Normalize ( void  )

正規化します

Returns
正規化する前のベクトルの長さを返します
Vector4 Mix::Vector4::ToNormalize ( Float32 pLength = NULL) const

正規化したベクトルを取得します

Parameters
[out]pLength正規化する前のベクトルの長さ
Returns
正規化したベクトルを表す Mix::Vector4 クラスを返します
void Mix::Vector4::Saturate ( void  )

0.0f〜1.0f に飽和します

Vector4 Mix::Vector4::ToSaturate ( void  ) const

0.0f〜1.0f に飽和したベクトルを取得します

Returns
飽和したベクトルを表す Mix::Vector4 クラスを返します
Float32 Mix::Vector4::GetLengthSqr ( void  ) const

長さの2乗を取得します

Returns
長さの2乗を返します
Float32 Mix::Vector4::GetLength ( void  ) const

長さを取得します

Returns
長さを返します
Float32 Mix::Vector4::GetLengthF ( void  ) const

長さを取得します

Returns
長さを返します
Note
平方根を求める際に Mix::SqrtF を使用しています
static Float32 Mix::Vector4::Dot ( const Vector4 lv,
const Vector4 rv 
)
static

二つのベクトルの内積を返します

Parameters
[in]lvベクトル1
[in]rvベクトル2
Returns
内積を返します
static Vector4 Mix::Vector4::Cross ( const Vector4 lv,
const Vector4 rv 
)
static

二つのベクトルの外積を返します

Parameters
[in]lvベクトル1
[in]rvベクトル2
Returns
外積を返します
static Vector4 Mix::Vector4::Rand ( void  )
static

乱数( 0.0f〜1.0f )を取得します

Returns
乱数を表す Mix::Vector4 クラスを返します
static Vector4 Mix::Vector4::Rand ( const Vector4 v)
static

乱数( 0.0f〜v )を取得します

Parameters
[in]v乱数の範囲を表す x::Vector4 クラス
Returns
乱数を表す Mix::Vector4 クラスを返します
static Vector4 Mix::Vector4::Rand ( const Vector4 v0,
const Vector4 v1 
)
static

乱数( v0〜v1 )を取得します

Parameters
[in]v0乱数の開始値を表す Mix::Vector4 クラス
[in]v1乱数の終了値を表す Mix::Vector4 クラス
Returns
乱数を表す Mix::Vector4 クラスを返します
static Vector4 Mix::Vector4::Min ( const Vector4 v0,
const Vector4 v1 
)
static

二つのベクトルの最小値を取得します

Parameters
[in]v0ベクトル
[in]v1ベクトル
Returns
ベクトルの最小値を表す Mix::Vector4 クラスを返します
static Vector4 Mix::Vector4::Max ( const Vector4 v0,
const Vector4 v1 
)
static

二つのベクトルの最大値を取得します

Parameters
[in]v0ベクトル
[in]v1ベクトル
Returns
ベクトルの最大値を表す Mix::Vector4 クラスを返します
static Vector4 Mix::Vector4::Lerp ( const Vector4 vs,
const Vector4 ve,
Float32  t 
)
static

線形補間をします

Parameters
[in]vs線形補間を開始するベクトルを表す Mix::Vector4 クラス
[in]ve線形補間を終了するベクトルを表す Mix::Vector4 クラス
[in]t補間係数( 0.0f〜1.0f )
Returns
線形補間されたベクトルを表す Mix::Vector4 クラスを返します
static Vector4 Mix::Vector4::Slerp ( const Vector4 vs,
const Vector4 ve,
Float32  t 
)
static

球面線形補間をします

Parameters
[in]vs補間を開始するベクトルを表す Mix::Vector4 クラス
[in]ve補間を終了するベクトルを表す Mix::Vector4 クラス
[in]t補間係数( 0.0f〜1.0f )
Returns
補間されたベクトルを表す Mix::Vector4 を返します
static const Vector4& Mix::Vector4::Zero ( void  )
inlinestatic

初期値( 0.0, 0.0, 0.0, 1.0 )を取得します

Returns
初期値を表す Mix::Vector4 クラスを返します
static const Vector4& Mix::Vector4::XAxis ( void  )
inlinestatic

X軸( 1.0, 0.0, 0.0, 1.0 )を取得します

Returns
X軸を表す Mix::Vector4 クラスを返します
static const Vector4& Mix::Vector4::YAxis ( void  )
inlinestatic

Y軸( 0.0, 1.0, 0.0, 1.0 )を取得します

Returns
Y軸を表す Mix::Vector4 クラスを返します
static const Vector4& Mix::Vector4::ZAxis ( void  )
inlinestatic

Z軸( 0.0, 0.0, 1.0, 1.0 )を取得します

Returns
Z軸を表す Mix::Vector4 クラスを返します

Friends And Related Function Documentation

const Vector4 operator* ( Float32  s,
const Vector4 v 
)
friend

乗算

Parameters
[in]s乗算先の値
[in]v乗算元の値
Returns
乗算されたベクトルを返します
const Vector4 operator/ ( Float32  s,
const Vector4 v 
)
friend

除算

Parameters
[in]s除算先の値
[in]v除算元の値
Returns
除算されたベクトルを返します

Member Data Documentation

Float32 Mix::Vector4::x

X座標

Float32 Mix::Vector4::y

Y座標

Float32 Mix::Vector4::z

Z座標

Float32 Mix::Vector4::w

W座標

Float32 Mix::Vector4::r

R成分

Float32 Mix::Vector4::g

G成分

Float32 Mix::Vector4::b

B成分

Float32 Mix::Vector4::a

A成分

Float32 Mix::Vector4::data[4]

データ

union { ... }

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