OROCHI
 
Loading...
Searching...
No Matches
GxVector3d Struct Reference

3次元ベクトル(倍精度) More...

#include <GxVectord.h>

Inheritance diagram for GxVector3d:
Collaboration diagram for GxVector3d:

Public Member Functions

初期化
 GxVector3d (void)
 デフォルトコンストラクタ
 
GX_FORCE_INLINE GxVector3d (f64 x, f64 y, f64 z)
 コンストラクタ
 
GX_FORCE_INLINE GxVector3d (const GxDouble3 &double3)
 コンストラクタ
 
GX_FORCE_INLINE GxVector3d (const f64 *pDoubleArray)
 コンストラクタ
 
GX_FORCE_INLINE GxVector3d (const GxPoint2 &point, f64 z=0.0)
 コンストラクタ
 
GX_FORCE_INLINE GxVector3d (const GxVector2d &vector, f64 z=0.0)
 コンストラクタ
 
GX_FORCE_INLINE GxVector3d (const GxVector4d &vector)
 コンストラクタ
 
GX_FORCE_INLINE GxVector3d (const GxVector3d &vector)
 コピーコンストラクタ
 
操作
GX_FORCE_INLINE const GxVector3daddScalar (f64 scalar)
 スカラ加算
 
GX_FORCE_INLINE const GxVector3dsubScalar (f64 scalar)
 スカラ減算
 
GX_FORCE_INLINE const GxVector3dmulScalar (f64 scalar)
 スカラ乗算
 
GX_FORCE_INLINE const GxVector3ddivScalar (f64 scalar)
 スカラ除算
 
GX_FORCE_INLINE const GxVector3daddVector (const GxVector3d &vector)
 ベクトル加算
 
GX_FORCE_INLINE const GxVector3dsubVector (const GxVector3d &vector)
 ベクトル減算
 
GX_FORCE_INLINE const GxVector3dmulVector (const GxVector3d &vector)
 ベクトル乗算
 
GX_FORCE_INLINE const GxVector3ddivVector (const GxVector3d &vector)
 ベクトル除算
 
GX_FORCE_INLINE const GxVector3dnormalize (void)
 正規化する
 
GX_FORCE_INLINE const GxVector3dnormalizeEx (void)
 正規化する(長さ0に対応)
 

Public Attributes

メンバ変数
f64 _x
 X値
 
f64 _y
 Y値
 
f64 _z
 Z値
 

Static Public Attributes

定義
static constexpr u32 DIMENSION = 3
 次元数

 
static const GxVector3d ZERO
 (0, 0, 0)
 
static const GxVector3d ONE
 (1, 1, 1)
 
static const GxVector3d AXIS_X
 (1, 0, 0)
 
static const GxVector3d AXIS_Y
 (0, 1, 0)
 
static const GxVector3d AXIS_Z
 (0, 0, 1)
 
static const GxVector3d MIN
 最小値ベクトル
 
static const GxVector3d MAX
 最大値ベクトル
 

演算子

GX_FORCE_INLINE GxVector3doperator= (const GxVector3d &vector)
 代入
 
GX_FORCE_INLINE GxVector3doperator+= (f64 scalar)
 スカラ加算代入
 
GX_FORCE_INLINE GxVector3doperator-= (f64 scalar)
 スカラ減算代入
 
GX_FORCE_INLINE GxVector3doperator*= (f64 scalar)
 スカラ乗算代入
 
GX_FORCE_INLINE GxVector3doperator/= (f64 scalar)
 スカラ除算代入
 
GX_FORCE_INLINE GxVector3doperator+= (const GxVector3d &vector)
 ベクトル加算代入
 
GX_FORCE_INLINE GxVector3doperator-= (const GxVector3d &vector)
 ベクトル減算代入
 
GX_FORCE_INLINE GxVector3doperator*= (const GxVector3d &vector)
 ベクトル乗算代入
 
GX_FORCE_INLINE GxVector3doperator/= (const GxVector3d &vector)
 ベクトル除算代入
 
GX_FORCE_INLINE const GxVector3d operator+ (const GxVector3d &vector)
 正ベクトル
 
GX_FORCE_INLINE const GxVector3d operator- (const GxVector3d &vector)
 負ベクトル
 
GX_FORCE_INLINE const GxVector3d operator+ (const GxVector3d &vector, f64 scalar)
 スカラ加算
 
GX_FORCE_INLINE const GxVector3d operator- (const GxVector3d &vector, f64 scalar)
 スカラ減算
 
GX_INLINE const GxVector3d operator* (const GxVector3d &vector, f64 scalar)
 スカラ乗算
 
GX_FORCE_INLINE const GxVector3d operator* (f64 scalar, const GxVector3d &vector)
 スカラ乗算
 
GX_FORCE_INLINE const GxVector3d operator/ (const GxVector3d &vector, f64 scalar)
 スカラ除算
 
GX_FORCE_INLINE const GxVector3d operator+ (const GxVector3d &vector0, const GxVector3d &vector1)
 ベクトル加算
 
GX_FORCE_INLINE const GxVector3d operator- (const GxVector3d &vector0, const GxVector3d &vector1)
 ベクトル減算
 
GX_FORCE_INLINE const GxVector3d operator* (const GxVector3d &vector0, const GxVector3d &vector1)
 ベクトル乗算
 
GX_FORCE_INLINE const GxVector3d operator/ (const GxVector3d &vector0, const GxVector3d &vector1)
 ベクトル除算
 
GX_FORCE_INLINE b32 operator== (const GxVector3d &vector0, const GxVector3d &vector1)
 一致
 
GX_FORCE_INLINE b32 operator!= (const GxVector3d &vector0, const GxVector3d &vector1)
 不一致
 

アクセサ

GX_FORCE_INLINE const f64 & operator[] (u32 i) const
 const配列
 
GX_FORCE_INLINE f64 & operator[] (u32 i)
 配列
 
GX_FORCE_INLINE b32 isZeroVector (void) const
 ゼロベクトルかを取得
 
GX_FORCE_INLINE GxVector3d getXY (void) const
 XY要素のベクトルを取得
 
GX_FORCE_INLINE const GxVector3dgetXY (GxVector3d &dst) const
 XY要素のベクトルを取得
 
GX_FORCE_INLINE void setXY (const GxVector3d &vector)
 XY要素のベクトルを設定
 
GX_FORCE_INLINE GxVector3d getXZ (void) const
 XZ要素のベクトルを取得
 
GX_FORCE_INLINE const GxVector3dgetXZ (GxVector3d &dst) const
 XZ要素のベクトルを取得
 
GX_FORCE_INLINE void setXZ (const GxVector3d &vector)
 XZ要素のベクトルを設定
 
GX_FORCE_INLINE GxVector3d getYZ (void) const
 YZ要素のベクトルを取得
 
GX_FORCE_INLINE const GxVector3dgetYZ (GxVector3d &dst) const
 YZ要素のベクトルを取得
 
GX_FORCE_INLINE void setYZ (const GxVector3d &vector)
 YZ要素のベクトルを設定
 
GX_FORCE_INLINE f64 getLength (void) const
 長さを取得
 
GX_FORCE_INLINE f64 getLengthSquare (void) const
 長さの2乗を取得
 
GX_FORCE_INLINE void setLength (f64 length)
 長さを設定
 
GX_FORCE_INLINE void setLengthEx (f64 length)
 長さを設定(長さ0に対応)
 
GX_FORCE_INLINE GxVector3d getNormalize (void) const
 正規化ベクトルを取得
 
GX_FORCE_INLINE GxVector3d getNormalizeEx (void) const
 正規化ベクトルを取得(長さ0に対応)
 
constexpr f64 getMinimumValue (void) const
 最小要素を取得
 
constexpr f64 getMaximumValue (void) const
 最大要素を取得
 
static GX_FORCE_INLINE const GxVector3dgetAddScalar (GxVector3d &dst, const GxVector3d &vector, f64 scalar)
 スカラ加算を取得
 
static GX_FORCE_INLINE const GxVector3dgetSubScalar (GxVector3d &dst, const GxVector3d &vector, f64 scalar)
 スカラ減算を取得
 
static GX_FORCE_INLINE const GxVector3dgetMulScalar (GxVector3d &dst, const GxVector3d &vector, f64 scalar)
 スカラ乗算を取得
 
static GX_FORCE_INLINE const GxVector3dgetDivScalar (GxVector3d &dst, const GxVector3d &vector, f64 scalar)
 スカラ除算を取得
 
static GX_FORCE_INLINE const GxVector3dgetAddVector (GxVector3d &dst, const GxVector3d &vector0, const GxVector3d &vector1)
 ベクトル加算を取得
 
static GX_FORCE_INLINE const GxVector3dgetSubVector (GxVector3d &dst, const GxVector3d &vector0, const GxVector3d &vector1)
 ベクトル減算を取得
 
static GX_FORCE_INLINE const GxVector3dgetMulVector (GxVector3d &dst, const GxVector3d &vector0, const GxVector3d &vector1)
 ベクトル乗算を取得
 
static GX_FORCE_INLINE const GxVector3dgetDivVector (GxVector3d &dst, const GxVector3d &vector0, const GxVector3d &vector1)
 ベクトル除算を取得
 
static GX_FORCE_INLINE const GxVector3dgetNormalize (GxVector3d &dst, const GxVector3d &vector)
 正規化ベクトルを取得
 
static GX_FORCE_INLINE const GxVector3dgetNormalizeEx (GxVector3d &dst, const GxVector3d &vector)
 正規化ベクトルを取得(長さ0に対応)
 
static GX_FORCE_INLINE f64 getDot (const GxVector3d &vector0, const GxVector3d &vector1)
 内積を取得
 
static GX_FORCE_INLINE GxVector3d getCross (const GxVector3d &vector0, const GxVector3d &vector1)
 外積を取得
 
static GX_FORCE_INLINE const GxVector3dgetCross (GxVector3d &dst, const GxVector3d &vector0, const GxVector3d &vector1)
 外積を取得
 
static GX_FORCE_INLINE GxVector3d getCrossVector (const GxVector3d &vector)
 直交する単位ベクトルを取得
 
static GX_FORCE_INLINE const GxVector3dgetCrossVector (GxVector3d &dst, const GxVector3d &vector)
 直交する単位ベクトルを取得
 
static GX_FORCE_INLINE f64 getDistance (const GxVector3d &vector0, const GxVector3d &vector1)
 距離を取得
 
static GX_FORCE_INLINE f64 getDistanceSquare (const GxVector3d &vector0, const GxVector3d &vector1)
 距離の2乗を取得
 
static GX_FORCE_INLINE f64 getAngle (const GxVector3d &vector0, const GxVector3d &vector1)
 角度差を取得(符号なし radian)
 
static GX_FORCE_INLINE f64 getAngle (const GxVector3d &vector0, const GxVector3d &vector1, const GxVector3d &up)
 角度差を取得(符号つき radian)
 
static GX_FORCE_INLINE GxVector3d getMinimum (const GxVector3d &vector0, const GxVector3d &vector1)
 要素毎に最小値を選択
 
static GX_FORCE_INLINE const GxVector3dgetMinimum (GxVector3d &dst, const GxVector3d &vector0, const GxVector3d &vector1)
 要素毎に最小値を選択
 
static GX_FORCE_INLINE GxVector3d getMaximum (const GxVector3d &vector0, const GxVector3d &vector1)
 要素毎に最大値を選択
 
static GX_FORCE_INLINE const GxVector3dgetMaximum (GxVector3d &dst, const GxVector3d &vector0, const GxVector3d &vector1)
 要素毎に最大値を選択
 
static GX_FORCE_INLINE GxVector3d getLerp (const GxVector3d &vector0, const GxVector3d &vector1, f64 t)
 線形補間
 
static GX_FORCE_INLINE const GxVector3dgetLerp (GxVector3d &dst, const GxVector3d &vector0, const GxVector3d &vector1, f64 t)
 線形補間
 
static GX_FORCE_INLINE f64 getLineParam (const GxVector3d &checkPosition, const GxVector3d &startPosition, const GxVector3d &endPosition)
 指定した点が線分上のどこに位置するかのパラメータを返す
 
static GX_FORCE_INLINE GxVector3d getLinePosition (const GxVector3d &position, const GxVector3d &linePosition0, const GxVector3d &linePosition1)
 指定した点を直線上に下ろした点を取得
 
static GX_FORCE_INLINE const GxVector3dgetLinePosition (GxVector3d &dst, const GxVector3d &position, const GxVector3d &linePosition0, const GxVector3d &linePosition1)
 指定した点を直線上に下ろした点を取得
 
static GX_FORCE_INLINE GxVector3d getSegmentPosition (const GxVector3d &position, const GxVector3d &startPosition, const GxVector3d &endPosition)
 指定した点を線分上に下ろした点を取得
 
static GX_FORCE_INLINE const GxVector3dgetSegmentPosition (GxVector3d &dst, const GxVector3d &position, const GxVector3d &startPosition, const GxVector3d &endPosition)
 指定した点を線分上に下ろした点を取得
 
static GX_FORCE_INLINE b32 isSameDirectionLessEqual (const GxVector3d &vector0, const GxVector3d &vector1, f64 limitRadian=PI/2.0)
 ベクトルが同じ方向を向いているか(ラジアン指定/指定値以内なら(==も含む)同じ方向)
 
static GX_FORCE_INLINE b32 isSameDirectionLessThan (const GxVector3d &vector0, const GxVector3d &vector1, f64 limitRadian=PI/2.0)
 ベクトルが同じ方向を向いているか(ラジアン指定/指定値より小さければ(==は含まない)同じ方向)
 

Additional Inherited Members

- Static Public Member Functions inherited from GxStructBase
static GxRtti__getStaticRtti (void)
 

Detailed Description

3次元ベクトル(倍精度)

Constructor & Destructor Documentation

◆ GxVector3d() [1/7]

GX_FORCE_INLINE GxVector3d::GxVector3d ( f64 x,
f64 y,
f64 z )

コンストラクタ

Parameters
x[in] X値
y[in] Y値
z[in] Z値

◆ GxVector3d() [2/7]

GX_FORCE_INLINE GxVector3d::GxVector3d ( const GxDouble3 & double3)

コンストラクタ

Parameters
double3[in] XYZ値

◆ GxVector3d() [3/7]

GX_FORCE_INLINE GxVector3d::GxVector3d ( const f64 * pDoubleArray)

コンストラクタ

Parameters
pDoubleArray[in] XYZ値

◆ GxVector3d() [4/7]

GX_FORCE_INLINE GxVector3d::GxVector3d ( const GxPoint2 & point,
f64 z = 0.0 )

コンストラクタ

Parameters
point[in] XY値
z[in] Z値

◆ GxVector3d() [5/7]

GX_FORCE_INLINE GxVector3d::GxVector3d ( const GxVector2d & vector,
f64 z = 0.0 )

コンストラクタ

Parameters
vector[in] XY値
z[in] Z値

◆ GxVector3d() [6/7]

GX_FORCE_INLINE GxVector3d::GxVector3d ( const GxVector4d & vector)

コンストラクタ

Parameters
vector[in] XYZW値

◆ GxVector3d() [7/7]

GX_FORCE_INLINE GxVector3d::GxVector3d ( const GxVector3d & vector)

コピーコンストラクタ

Parameters
vector[in] XYZ値

Member Function Documentation

◆ addScalar()

GX_FORCE_INLINE const GxVector3d & GxVector3d::addScalar ( f64 scalar)

スカラ加算

Parameters
scalar[in] スカラ
Returns
自身の参照
Here is the caller graph for this function:

◆ addVector()

GX_FORCE_INLINE const GxVector3d & GxVector3d::addVector ( const GxVector3d & vector)

ベクトル加算

Parameters
vector[in] ベクトル
Returns
自身の参照
Here is the caller graph for this function:

◆ divScalar()

GX_FORCE_INLINE const GxVector3d & GxVector3d::divScalar ( f64 scalar)

スカラ除算

Parameters
scalar[in] スカラ
Returns
自身の参照
Here is the caller graph for this function:

◆ divVector()

GX_FORCE_INLINE const GxVector3d & GxVector3d::divVector ( const GxVector3d & vector)

ベクトル除算

Parameters
vector[in] ベクトル
Returns
自身の参照
Here is the caller graph for this function:

◆ getAddScalar()

GX_FORCE_INLINE const GxVector3d & GxVector3d::getAddScalar ( GxVector3d & dst,
const GxVector3d & vector,
f64 scalar )
static

スカラ加算を取得

Parameters
dst[out] 出力先
vector[in] ベクトル
scalar[in] スカラ
Returns
dstの参照

◆ getAddVector()

GX_FORCE_INLINE const GxVector3d & GxVector3d::getAddVector ( GxVector3d & dst,
const GxVector3d & vector0,
const GxVector3d & vector1 )
static

ベクトル加算を取得

Parameters
dst[out] 出力先
vector0[in] ベクトル
vector1[in] ベクトル
Returns
dstの参照

◆ getAngle() [1/2]

GX_FORCE_INLINE f64 GxVector3d::getAngle ( const GxVector3d & vector0,
const GxVector3d & vector1 )
static

角度差を取得(符号なし radian)

Parameters
vector0[in] ベクトル
vector1[in] ベクトル 長さ0のベクトルが渡されたときは 0.0 が返る
Returns
入力2ベクトルの角度差(符号なし radian)
Here is the call graph for this function:

◆ getAngle() [2/2]

GX_FORCE_INLINE f64 GxVector3d::getAngle ( const GxVector3d & vector0,
const GxVector3d & vector1,
const GxVector3d & up )
static

角度差を取得(符号つき radian)

Parameters
vector0[in] ベクトル
vector1[in] ベクトル
up[in] 上を表すベクトル 長さ0のベクトルが渡されたときは 0.0 が返る
Returns
入力2ベクトルの角度差(符号つき radian)
Here is the call graph for this function:

◆ getCross() [1/2]

GX_FORCE_INLINE GxVector3d GxVector3d::getCross ( const GxVector3d & vector0,
const GxVector3d & vector1 )
static

外積を取得

Parameters
vector0[in] ベクトル
vector1[in] ベクトル
Returns
外積
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getCross() [2/2]

GX_FORCE_INLINE const GxVector3d & GxVector3d::getCross ( GxVector3d & dst,
const GxVector3d & vector0,
const GxVector3d & vector1 )
static

外積を取得

Parameters
dst[out] 出力先
vector0[in] ベクトル
vector1[in] ベクトル
Returns
dstの参照

◆ getCrossVector() [1/2]

GX_FORCE_INLINE GxVector3d GxVector3d::getCrossVector ( const GxVector3d & vector)
static

直交する単位ベクトルを取得

Parameters
vector[in] ベクトル
Returns
単位ベクトル
Here is the call graph for this function:

◆ getCrossVector() [2/2]

GX_FORCE_INLINE const GxVector3d & GxVector3d::getCrossVector ( GxVector3d & dst,
const GxVector3d & vector )
static

直交する単位ベクトルを取得

Parameters
dst[in] 出力先
vector[in] ベクトル
Returns
dstの参照
Here is the call graph for this function:

◆ getDistance()

GX_FORCE_INLINE f64 GxVector3d::getDistance ( const GxVector3d & vector0,
const GxVector3d & vector1 )
static

距離を取得

Parameters
vector0[in] ベクトル
vector1[in] ベクトル
Returns
距離
Here is the call graph for this function:

◆ getDistanceSquare()

GX_FORCE_INLINE f64 GxVector3d::getDistanceSquare ( const GxVector3d & vector0,
const GxVector3d & vector1 )
static

距離の2乗を取得

Parameters
vector0[in] ベクトル
vector1[in] ベクトル
Returns
距離
Here is the caller graph for this function:

◆ getDivScalar()

GX_FORCE_INLINE const GxVector3d & GxVector3d::getDivScalar ( GxVector3d & dst,
const GxVector3d & vector,
f64 scalar )
static

スカラ除算を取得

Parameters
dst[out] 出力先
vector[in] ベクトル
scalar[in] スカラ
Returns
dstの参照

◆ getDivVector()

GX_FORCE_INLINE const GxVector3d & GxVector3d::getDivVector ( GxVector3d & dst,
const GxVector3d & vector0,
const GxVector3d & vector1 )
static

ベクトル除算を取得

Parameters
dst[out] 出力先
vector0[in] ベクトル
vector1[in] ベクトル
Returns
dstの参照

◆ getDot()

GX_FORCE_INLINE f64 GxVector3d::getDot ( const GxVector3d & vector0,
const GxVector3d & vector1 )
static

内積を取得

Parameters
vector0[in] ベクトル
vector1[in] ベクトル
Returns
内積
Here is the caller graph for this function:

◆ getLength()

GX_FORCE_INLINE f64 GxVector3d::getLength ( void ) const

長さを取得

Returns
長さ
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLengthSquare()

GX_FORCE_INLINE f64 GxVector3d::getLengthSquare ( void ) const

長さの2乗を取得

Returns
長さの2乗
Here is the caller graph for this function:

◆ getLerp() [1/2]

GX_FORCE_INLINE GxVector3d GxVector3d::getLerp ( const GxVector3d & vector0,
const GxVector3d & vector1,
f64 t )
static

線形補間

Parameters
vector0[in] ベクトル
vector1[in] ベクトル
t[in] 補間割合。0.0→vector0 1.0→vector1
Returns
補間値
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLerp() [2/2]

GX_FORCE_INLINE const GxVector3d & GxVector3d::getLerp ( GxVector3d & dst,
const GxVector3d & vector0,
const GxVector3d & vector1,
f64 t )
static

線形補間

Parameters
dst[out] 出力先
vector0[in] ベクトル
vector1[in] ベクトル
t[in] 補間割合。0.0→vector0 1.0→vector1
Returns
dstの参照

◆ getLineParam()

GX_FORCE_INLINE f64 GxVector3d::getLineParam ( const GxVector3d & checkPosition,
const GxVector3d & startPosition,
const GxVector3d & endPosition )
static

指定した点が線分上のどこに位置するかのパラメータを返す

Parameters
checkPosition[in] 調べたい点
startPosition[in] 線分開始点
endPosition[in] 線分終了点(startPositionと同じ位置にならないように注意)
Returns
線分のどこに位置するかのパラメータを返します。 0.0~1.0で線分上に乗っていることになります。 0.0でstartPositionの位置。 1.0でendPositionの位置。
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLinePosition() [1/2]

GX_FORCE_INLINE GxVector3d GxVector3d::getLinePosition ( const GxVector3d & position,
const GxVector3d & linePosition0,
const GxVector3d & linePosition1 )
static

指定した点を直線上に下ろした点を取得

Parameters
position[in] 調べたい点
linePosition0[in] 直線上の点
linePosition1[in] 直線上の点(linePosition0と同じ位置にならないように注意)
Returns
positionを直線上に下ろした点
Here is the call graph for this function:

◆ getLinePosition() [2/2]

GX_FORCE_INLINE const GxVector3d & GxVector3d::getLinePosition ( GxVector3d & dst,
const GxVector3d & position,
const GxVector3d & linePosition0,
const GxVector3d & linePosition1 )
static

指定した点を直線上に下ろした点を取得

Parameters
dst[out] 出力先
position[in] 調べたい点
linePosition0[in] 直線上の点
linePosition1[in] 直線上の点(linePosition0と同じ位置にならないように注意)
Returns
dstの参照
Here is the call graph for this function:

◆ getMaximum() [1/2]

GX_FORCE_INLINE GxVector3d GxVector3d::getMaximum ( const GxVector3d & vector0,
const GxVector3d & vector1 )
static

要素毎に最大値を選択

Parameters
vector0[in] ベクトル
vector1[in] ベクトル
Returns
入力ベクトルの各要素の大きいものを並べたベクトル
Here is the call graph for this function:

◆ getMaximum() [2/2]

GX_FORCE_INLINE const GxVector3d & GxVector3d::getMaximum ( GxVector3d & dst,
const GxVector3d & vector0,
const GxVector3d & vector1 )
static

要素毎に最大値を選択

Parameters
dst[out] 出力先
vector0[in] ベクトル
vector1[in] ベクトル
Returns
dstの参照

◆ getMinimum() [1/2]

GX_FORCE_INLINE GxVector3d GxVector3d::getMinimum ( const GxVector3d & vector0,
const GxVector3d & vector1 )
static

要素毎に最小値を選択

Parameters
vector0[in] ベクトル
vector1[in] ベクトル
Returns
入力ベクトルの各要素の小さいものを並べたベクトル
Here is the call graph for this function:

◆ getMinimum() [2/2]

GX_FORCE_INLINE const GxVector3d & GxVector3d::getMinimum ( GxVector3d & dst,
const GxVector3d & vector0,
const GxVector3d & vector1 )
static

要素毎に最小値を選択

Parameters
dst[out] 出力先
vector0[in] ベクトル
vector1[in] ベクトル
Returns
dstの参照

◆ getMulScalar()

GX_FORCE_INLINE const GxVector3d & GxVector3d::getMulScalar ( GxVector3d & dst,
const GxVector3d & vector,
f64 scalar )
static

スカラ乗算を取得

Parameters
dst[out] 出力先
vector[in] ベクトル
scalar[in] スカラ
Returns
dstの参照

◆ getMulVector()

GX_FORCE_INLINE const GxVector3d & GxVector3d::getMulVector ( GxVector3d & dst,
const GxVector3d & vector0,
const GxVector3d & vector1 )
static

ベクトル乗算を取得

Parameters
dst[out] 出力先
vector0[in] ベクトル
vector1[in] ベクトル
Returns
dstの参照

◆ getNormalize() [1/2]

GX_FORCE_INLINE const GxVector3d & GxVector3d::getNormalize ( GxVector3d & dst,
const GxVector3d & vector )
static

正規化ベクトルを取得

Parameters
dst[out] 出力先
vector[in] ベクトル
Returns
dstの参照
Here is the call graph for this function:

◆ getNormalize() [2/2]

GX_FORCE_INLINE GxVector3d GxVector3d::getNormalize ( void ) const

正規化ベクトルを取得

Returns
正規化ベクトル
Here is the call graph for this function:

◆ getNormalizeEx() [1/2]

GX_FORCE_INLINE const GxVector3d & GxVector3d::getNormalizeEx ( GxVector3d & dst,
const GxVector3d & vector )
static

正規化ベクトルを取得(長さ0に対応)

Parameters
dst[out] 出力先
vector[in] ベクトル
Returns
dstの参照
Here is the call graph for this function:

◆ getNormalizeEx() [2/2]

GX_FORCE_INLINE GxVector3d GxVector3d::getNormalizeEx ( void ) const

正規化ベクトルを取得(長さ0に対応)

Returns
正規化ベクトル
Here is the call graph for this function:

◆ getSegmentPosition() [1/2]

GX_FORCE_INLINE GxVector3d GxVector3d::getSegmentPosition ( const GxVector3d & position,
const GxVector3d & startPosition,
const GxVector3d & endPosition )
static

指定した点を線分上に下ろした点を取得

Parameters
position[in] 調べたい点
startPosition[in] 線分開始点
endPosition[in] 線分終了点(startPositionと同じ位置にならないように注意)
Returns
positionを線分上に下ろした点
Here is the call graph for this function:

◆ getSegmentPosition() [2/2]

GX_FORCE_INLINE const GxVector3d & GxVector3d::getSegmentPosition ( GxVector3d & dst,
const GxVector3d & position,
const GxVector3d & startPosition,
const GxVector3d & endPosition )
static

指定した点を線分上に下ろした点を取得

Parameters
dst[out] 出力先
position[in] 調べたい点
startPosition[in] 線分開始点
endPosition[in] 線分終了点(startPositionと同じ位置にならないように注意)
Returns
dstの参照
Here is the call graph for this function:

◆ getSubScalar()

GX_FORCE_INLINE const GxVector3d & GxVector3d::getSubScalar ( GxVector3d & dst,
const GxVector3d & vector,
f64 scalar )
static

スカラ減算を取得

Parameters
dst[out] 出力先
vector[in] ベクトル
scalar[in] スカラ
Returns
dstの参照

◆ getSubVector()

GX_FORCE_INLINE const GxVector3d & GxVector3d::getSubVector ( GxVector3d & dst,
const GxVector3d & vector0,
const GxVector3d & vector1 )
static

ベクトル減算を取得

Parameters
dst[out] 出力先
vector0[in] ベクトル
vector1[in] ベクトル
Returns
dstの参照

◆ getXY() [1/2]

GX_FORCE_INLINE const GxVector3d & GxVector3d::getXY ( GxVector3d & dst) const

XY要素のベクトルを取得

Parameters
dst[out] 出力先
Returns
dstの参照

◆ getXY() [2/2]

GX_FORCE_INLINE GxVector3d GxVector3d::getXY ( void ) const

XY要素のベクトルを取得

Returns
XY要素のベクトル
Here is the call graph for this function:

◆ getXZ() [1/2]

GX_FORCE_INLINE const GxVector3d & GxVector3d::getXZ ( GxVector3d & dst) const

XZ要素のベクトルを取得

Parameters
dst[out] 出力先
Returns
dstの参照

◆ getXZ() [2/2]

GX_FORCE_INLINE GxVector3d GxVector3d::getXZ ( void ) const

XZ要素のベクトルを取得

Returns
XZ要素のベクトル
Here is the call graph for this function:

◆ getYZ() [1/2]

GX_FORCE_INLINE const GxVector3d & GxVector3d::getYZ ( GxVector3d & dst) const

YZ要素のベクトルを取得

Parameters
dst[out] 出力先
Returns
dstの参照

◆ getYZ() [2/2]

GX_FORCE_INLINE GxVector3d GxVector3d::getYZ ( void ) const

YZ要素のベクトルを取得

Returns
YZ要素のベクトル
Here is the call graph for this function:

◆ isSameDirectionLessEqual()

GX_FORCE_INLINE b32 GxVector3d::isSameDirectionLessEqual ( const GxVector3d & vector0,
const GxVector3d & vector1,
f64 limitRadian = PI / 2.0 )
static

ベクトルが同じ方向を向いているか(ラジアン指定/指定値以内なら(==も含む)同じ方向)

Parameters
vector0[in] 調べたいベクトル(正規化してなくてもOK)
vector1[in] 調べたいベクトル(正規化してなくてもOK)
limitRadian[in] この角度以内であれば同じ方向とする
Returns
同じ方向を向いているならtrue
Here is the call graph for this function:

◆ isSameDirectionLessThan()

GX_FORCE_INLINE b32 GxVector3d::isSameDirectionLessThan ( const GxVector3d & vector0,
const GxVector3d & vector1,
f64 limitRadian = PI / 2.0 )
static

ベクトルが同じ方向を向いているか(ラジアン指定/指定値より小さければ(==は含まない)同じ方向)

Parameters
vector0[in] 調べたいベクトル(正規化してなくてもOK)
vector1[in] 調べたいベクトル(正規化してなくてもOK)
limitRadian[in] この角度より小さければ同じ方向とする
Returns
同じ方向を向いているならtrue
Here is the call graph for this function:

◆ isZeroVector()

GX_FORCE_INLINE b32 GxVector3d::isZeroVector ( void ) const

ゼロベクトルかを取得

Returns
ゼロベクトルならtrue
Here is the call graph for this function:

◆ mulScalar()

GX_FORCE_INLINE const GxVector3d & GxVector3d::mulScalar ( f64 scalar)

スカラ乗算

Parameters
scalar[in] スカラ
Returns
自身の参照
Here is the caller graph for this function:

◆ mulVector()

GX_FORCE_INLINE const GxVector3d & GxVector3d::mulVector ( const GxVector3d & vector)

ベクトル乗算

Parameters
vector[in] ベクトル
Returns
自身の参照
Here is the caller graph for this function:

◆ normalize()

GX_FORCE_INLINE const GxVector3d & GxVector3d::normalize ( void )

正規化する

Returns
自身の参照
Here is the call graph for this function:

◆ normalizeEx()

GX_FORCE_INLINE const GxVector3d & GxVector3d::normalizeEx ( void )

正規化する(長さ0に対応)

Returns
自身の参照
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator*=() [1/2]

GX_FORCE_INLINE GxVector3d & GxVector3d::operator*= ( const GxVector3d & vector)

ベクトル乗算代入

Parameters
vector[in] XYZ値
Returns
自身の参照
Here is the call graph for this function:

◆ operator*=() [2/2]

GX_FORCE_INLINE GxVector3d & GxVector3d::operator*= ( f64 scalar)

スカラ乗算代入

Parameters
scalar[in] スカラ
Returns
自身の参照
Here is the call graph for this function:

◆ operator+=() [1/2]

GX_FORCE_INLINE GxVector3d & GxVector3d::operator+= ( const GxVector3d & vector)

ベクトル加算代入

Parameters
vector[in] XYZ値
Returns
自身の参照
Here is the call graph for this function:

◆ operator+=() [2/2]

GX_FORCE_INLINE GxVector3d & GxVector3d::operator+= ( f64 scalar)

スカラ加算代入

Parameters
scalar[in] スカラ
Returns
自身の参照
Here is the call graph for this function:

◆ operator-=() [1/2]

GX_FORCE_INLINE GxVector3d & GxVector3d::operator-= ( const GxVector3d & vector)

ベクトル減算代入

Parameters
vector[in] XYZ値
Returns
自身の参照
Here is the call graph for this function:

◆ operator-=() [2/2]

GX_FORCE_INLINE GxVector3d & GxVector3d::operator-= ( f64 scalar)

スカラ減算代入

Parameters
scalar[in] スカラ
Returns
自身の参照
Here is the call graph for this function:

◆ operator/=() [1/2]

GX_FORCE_INLINE GxVector3d & GxVector3d::operator/= ( const GxVector3d & vector)

ベクトル除算代入

Parameters
vector[in] XYZ値
Returns
自身の参照
Here is the call graph for this function:

◆ operator/=() [2/2]

GX_FORCE_INLINE GxVector3d & GxVector3d::operator/= ( f64 scalar)

スカラ除算代入

Parameters
scalar[in] スカラ
Returns
自身の参照
Here is the call graph for this function:

◆ operator=()

GX_FORCE_INLINE GxVector3d & GxVector3d::operator= ( const GxVector3d & vector)

代入

Parameters
vector[in] XYZW値
Returns
自身の参照

◆ operator[]() [1/2]

GX_FORCE_INLINE f64 & GxVector3d::operator[] ( u32 i)

配列

Parameters
i[in] インデックス
Returns

◆ operator[]() [2/2]

GX_FORCE_INLINE const f64 & GxVector3d::operator[] ( u32 i) const

const配列

Parameters
i[in] インデックス
Returns

◆ setLength()

GX_FORCE_INLINE void GxVector3d::setLength ( f64 length)

長さを設定

Parameters
length[in] 長さ
Here is the call graph for this function:

◆ setLengthEx()

GX_FORCE_INLINE void GxVector3d::setLengthEx ( f64 length)

長さを設定(長さ0に対応)

Parameters
length[in] 長さ
Here is the call graph for this function:

◆ setXY()

GX_FORCE_INLINE void GxVector3d::setXY ( const GxVector3d & vector)

XY要素のベクトルを設定

Parameters
vector[in] ベクトル

◆ setXZ()

GX_FORCE_INLINE void GxVector3d::setXZ ( const GxVector3d & vector)

XZ要素のベクトルを設定

Parameters
vector[in] ベクトル

◆ setYZ()

GX_FORCE_INLINE void GxVector3d::setYZ ( const GxVector3d & vector)

YZ要素のベクトルを設定

Parameters
vector[in] ベクトル

◆ subScalar()

GX_FORCE_INLINE const GxVector3d & GxVector3d::subScalar ( f64 scalar)

スカラ減算

Parameters
scalar[in] スカラ
Returns
自身の参照
Here is the caller graph for this function:

◆ subVector()

GX_FORCE_INLINE const GxVector3d & GxVector3d::subVector ( const GxVector3d & vector)

ベクトル減算

Parameters
vector[in] ベクトル
Returns
自身の参照
Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ operator!=

GX_FORCE_INLINE b32 operator!= ( const GxVector3d & vector0,
const GxVector3d & vector1 )
friend

不一致

Parameters
vector0[in] XYZ値
vector1[in] XYZ値
Returns
不一致ならtrue

◆ operator* [1/3]

GX_INLINE const GxVector3d operator* ( const GxVector3d & vector,
f64 scalar )
friend

スカラ乗算

Parameters
vector[in] XYZ値
scalar[in] スカラ
Returns
演算結果

◆ operator* [2/3]

GX_FORCE_INLINE const GxVector3d operator* ( const GxVector3d & vector0,
const GxVector3d & vector1 )
friend

ベクトル乗算

Parameters
vector0[in] XYZ値
vector1[in] XYZ値
Returns
演算結果

◆ operator* [3/3]

GX_FORCE_INLINE const GxVector3d operator* ( f64 scalar,
const GxVector3d & vector )
friend

スカラ乗算

Parameters
scalar[in] スカラ
vector[in] XYZ値
Returns
演算結果

◆ operator+ [1/2]

GX_FORCE_INLINE const GxVector3d operator+ ( const GxVector3d & vector,
f64 scalar )
friend

スカラ加算

Parameters
vector[in] XYZ値
scalar[in] スカラ
Returns
演算結果

◆ operator+ [2/2]

GX_FORCE_INLINE const GxVector3d operator+ ( const GxVector3d & vector0,
const GxVector3d & vector1 )
friend

ベクトル加算

Parameters
vector0[in] XYZ値
vector1[in] XYZ値
Returns
演算結果

◆ operator- [1/2]

GX_FORCE_INLINE const GxVector3d operator- ( const GxVector3d & vector,
f64 scalar )
friend

スカラ減算

Parameters
vector[in] XYZ値
scalar[in] スカラ
Returns
演算結果

◆ operator- [2/2]

GX_FORCE_INLINE const GxVector3d operator- ( const GxVector3d & vector0,
const GxVector3d & vector1 )
friend

ベクトル減算

Parameters
vector0[in] XYZ値
vector1[in] XYZ値
Returns
演算結果

◆ operator/ [1/2]

GX_FORCE_INLINE const GxVector3d operator/ ( const GxVector3d & vector,
f64 scalar )
friend

スカラ除算

Parameters
vector[in] XYZ値
scalar[in] スカラ
Returns
演算結果

◆ operator/ [2/2]

GX_FORCE_INLINE const GxVector3d operator/ ( const GxVector3d & vector0,
const GxVector3d & vector1 )
friend

ベクトル除算

Parameters
vector0[in] XYZ値
vector1[in] XYZ値
Returns
演算結果

◆ operator==

GX_FORCE_INLINE b32 operator== ( const GxVector3d & vector0,
const GxVector3d & vector1 )
friend

一致

Parameters
vector0[in] XYZ値
vector1[in] XYZ値
Returns
一致ならtrue

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