ランタイム
Mix::Vector3 Class Reference

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

#include <Vector3.h>

Public Member Functions

 Vector3 (void)
 コンストラクタ More...
 
 Vector3 (const Vector3 &v)
 コンストラクタ More...
 
 Vector3 (const Vector4 &v)
 コンストラクタ More...
 
 Vector3 (Float32 vx, Float32 vy, Float32 vz)
 コンストラクタ More...
 
Boolean operator== (const Vector3 &v) const
 等価比較 More...
 
Boolean operator!= (const Vector3 &v) const
 等価比較 More...
 
Vector3operator= (const Vector3 &v)
 代入 More...
 
Vector3operator= (const Vector4 &v)
 代入 More...
 
Vector3operator+= (const Vector3 &v)
 代入加算 More...
 
Vector3operator-= (const Vector3 &v)
 代入減算 More...
 
Vector3operator*= (const Vector3 &v)
 代入乗算 More...
 
Vector3operator*= (Float32 s)
 代入乗算 More...
 
Vector3operator/= (const Vector3 &v)
 代入除算 More...
 
Vector3operator/= (Float32 s)
 代入除算 More...
 
Vector3 operator+ (const Vector3 &v) const
 加算 More...
 
Vector3 operator- (const Vector3 &v) const
 減算 More...
 
Vector3 operator* (const Vector3 &v) const
 乗算 More...
 
Vector3 operator* (Float32 s) const
 乗算 More...
 
Vector3 operator/ (const Vector3 &v) const
 除算 More...
 
Vector3 operator/ (Float32 s) const
 除算 More...
 
Vector3 operator+ (void) const
 正の符号として扱います More...
 
Vector3 operator- (void) const
 符号を反転します More...
 
void Set (Float32 vx, Float32 vy, Float32 vz)
 ベクトルを設定します More...
 
Float32 Normalize (void)
 正規化します More...
 
Vector3 ToNormalize (Float32 *pLength=NULL) const
 正規化したベクトルを取得します More...
 
void Saturate (void)
 0.0f〜1.0f に飽和します More...
 
Vector3 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 Vector3 &l, const Vector3 &r)
 二つのベクトルの内積を返します More...
 
static Vector3 Cross (const Vector3 &l, const Vector3 &r)
 二つのベクトルの外積を返します More...
 
static Vector3 Rand (void)
 乱数( 0.0f〜1.0f )を取得します More...
 
static Vector3 Rand (const Vector3 &v)
 乱数( 0.0f〜v )を取得します More...
 
static Vector3 Rand (const Vector3 &v0, const Vector3 &v1)
 乱数( v0〜v1 )を取得します More...
 
static Vector3 Min (const Vector3 &v0, const Vector3 &v1)
 二つのベクトルの最小値を取得します More...
 
static Vector3 Max (const Vector3 &v0, const Vector3 &v1)
 二つのベクトルの最大値を取得します More...
 
static Vector3 Lerp (const Vector3 &vs, const Vector3 &ve, Float32 t)
 線形補間をします More...
 
static Vector3 Slerp (const Vector3 &vs, const Vector3 &ve, Float32 t)
 球面線形補間をします More...
 
static const Vector3Zero (void)
 初期値( 0.0f, 0.0f, 0.0f )を取得します More...
 
static const Vector3XAxis (void)
 X軸( 1.0f, 0.0f, 0.0f )を取得します More...
 
static const Vector3YAxis (void)
 Y軸( 0.0f, 1.0f, 0.0f )を取得します More...
 
static const Vector3ZAxis (void)
 Z軸( 0.0f, 0.0f, 1.0f )を取得します More...
 

Public Attributes

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

Friends

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

Detailed Description

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

Constructor & Destructor Documentation

Mix::Vector3::Vector3 ( void  )

コンストラクタ

Mix::Vector3::Vector3 ( const Vector3 v)

コンストラクタ

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

コンストラクタ

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

コンストラクタ

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

Member Function Documentation

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

等価比較

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

等価比較

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

代入

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

代入

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

代入加算

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

代入減算

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

代入乗算

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

代入乗算

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

代入除算

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

代入除算

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

加算

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

減算

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

乗算

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

乗算

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

除算

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

除算

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

正の符号として扱います

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

符号を反転します

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

ベクトルを設定します

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

Here is the caller graph for this function:

Float32 Mix::Vector3::Normalize ( void  )

正規化します

Returns
正規化する前の長さ
Vector3 Mix::Vector3::ToNormalize ( Float32 pLength = NULL) const

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

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

0.0f〜1.0f に飽和します

Vector3 Mix::Vector3::ToSaturate ( void  ) const

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

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

長さの2乗を取得します

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

長さを取得します

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

長さを取得します

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

線形補間をします

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

球面線形補間をします

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

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

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

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

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

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

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

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

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

Friends And Related Function Documentation

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

乗算

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

除算

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

Member Data Documentation

Float32 Mix::Vector3::x

X座標

Float32 Mix::Vector3::y

Y座標

Float32 Mix::Vector3::z

Z座標

Float32 Mix::Vector3::r

R成分

Float32 Mix::Vector3::g

G成分

Float32 Mix::Vector3::b

B成分

Float32 Mix::Vector3::data[3]

データ

union { ... }

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