12GX_CORE_NAMESPACE_BEGIN()
34 static constexpr u32 DIMENSION = 2;
61 GX_FORCE_INLINE
GxVector2d(
const f64* pDoubleArray);
77 GX_FORCE_INLINE
GxVector2d& operator += (f64 scalar);
79 GX_FORCE_INLINE
GxVector2d& operator -= (f64 scalar);
81 GX_FORCE_INLINE
GxVector2d& operator *= (f64 scalar);
83 GX_FORCE_INLINE
GxVector2d& operator /= (f64 scalar);
126 GX_FORCE_INLINE
const f64& operator[](u32 i)
const;
128 GX_FORCE_INLINE f64& operator[](u32 i);
130 GX_FORCE_INLINE
b32 isZeroVector(
void)
const;
132 GX_FORCE_INLINE f64 getLength(
void)
const;
134 GX_FORCE_INLINE f64 getLengthSquare(
void)
const;
136 GX_FORCE_INLINE
void setLength(f64 length);
138 GX_FORCE_INLINE
void setLengthEx(f64 length);
140 GX_FORCE_INLINE
GxVector2d getNormalize(
void)
const;
142 GX_FORCE_INLINE
GxVector2d getNormalizeEx(
void)
const;
194 GX_FORCE_INLINE
const GxVector2d& addScalar(f64 scalar);
196 GX_FORCE_INLINE
const GxVector2d& subScalar(f64 scalar);
198 GX_FORCE_INLINE
const GxVector2d& mulScalar(f64 scalar);
200 GX_FORCE_INLINE
const GxVector2d& divScalar(f64 scalar);
211 GX_FORCE_INLINE
const GxVector2d& normalize(
void);
213 GX_FORCE_INLINE
const GxVector2d& normalizeEx(
void);
269 GX_FORCE_INLINE
GxVector3d(f64 x, f64 y, f64 z);
273 GX_FORCE_INLINE
GxVector3d(
const f64* pDoubleArray);
342 GX_FORCE_INLINE
const f64&
operator[](u32 i)
const;
366 GX_FORCE_INLINE f64
getLength(
void)
const;
370 GX_FORCE_INLINE
void setLength(f64 length);
533 GX_FORCE_INLINE
GxVector4d(f64 x, f64 y, f64 z, f64 w);
537 GX_FORCE_INLINE
GxVector4d(
const f64* pDoubleArray);
606 GX_FORCE_INLINE
const f64&
operator[](u32 i)
const;
612 GX_FORCE_INLINE f64
getLength(
void)
const;
616 GX_FORCE_INLINE
void setLength(f64 length);
710GX_CORE_NAMESPACE_END()
GX_FORCE_INLINE const GxColor operator*(const GxColor color, f32 scalar)
Definition GxColor.inl:202
GX_FORCE_INLINE b32 operator==(const GxColor color0, const GxColor color1)
Definition GxColor.inl:274
GX_FORCE_INLINE const GxColor operator/(const GxColor color, f32 scalar)
Definition GxColor.inl:226
GX_FORCE_INLINE const GxColor operator+(const GxColor color, u32 scalar)
Definition GxColor.inl:178
GX_FORCE_INLINE b32 operator!=(const GxColor color0, const GxColor color1)
Definition GxColor.inl:285
GX_FORCE_INLINE const GxColor operator-(const GxColor color, u32 scalar)
Definition GxColor.inl:190
ストリーム書き込みクラス
Definition GxStreamWriter.h:19
色(HDR)
Definition GxColor.h:241
2次元浮動小数点数(倍精度)クラス
Definition GxStruct.h:207
3次元浮動小数点数(倍精度)クラス
Definition GxStruct.h:276
4次元浮動小数点数(倍精度)クラス
Definition GxStruct.h:338
座標
Definition GxStruct.h:867
2次元ベクトル(倍精度)
Definition GxVectord.h:25
constexpr f64 getMaximumValue(void) const
最大要素を取得
Definition GxVectord.h:146
f64 _y
Y値
Definition GxVectord.h:226
constexpr f64 getMinimumValue(void) const
最小要素を取得
Definition GxVectord.h:144
f64 _x
X値
Definition GxVectord.h:225
3次元ベクトル(倍精度)
Definition GxVectord.h:235
GX_FORCE_INLINE GxVector3d & operator-=(f64 scalar)
スカラ減算代入
Definition GxVectord.inl:1046
GX_FORCE_INLINE const GxVector3d & divScalar(f64 scalar)
スカラ除算
Definition GxVectord.inl:2155
friend GX_FORCE_INLINE const GxVector3d operator-(const GxVector3d &vector)
負ベクトル
Definition GxVectord.h:311
GX_FORCE_INLINE GxVector3d getYZ(void) const
YZ要素のベクトルを取得
Definition GxVectord.inl:1340
GX_FORCE_INLINE const GxVector3d & addScalar(f64 scalar)
スカラ加算
Definition GxVectord.inl:2113
static GX_FORCE_INLINE GxVector3d getLerp(const GxVector3d &vector0, const GxVector3d &vector1, f64 t)
線形補間
Definition GxVectord.inl:1928
friend GX_FORCE_INLINE b32 operator!=(const GxVector3d &vector0, const GxVector3d &vector1)
不一致
Definition GxVectord.inl:1243
GX_FORCE_INLINE const GxVector3d & normalizeEx(void)
正規化する(長さ0に対応)
Definition GxVectord.inl:2263
static GX_FORCE_INLINE GxVector3d getMinimum(const GxVector3d &vector0, const GxVector3d &vector1)
要素毎に最小値を選択
Definition GxVectord.inl:1869
GX_FORCE_INLINE const GxVector3d & mulScalar(f64 scalar)
スカラ乗算
Definition GxVectord.inl:2141
friend GX_FORCE_INLINE const GxVector3d operator/(const GxVector3d &vector, f64 scalar)
スカラ除算
Definition GxVectord.inl:1172
GX_FORCE_INLINE const GxVector3d & mulVector(const GxVector3d &vector)
ベクトル乗算
Definition GxVectord.inl:2199
f64 _y
Y値
Definition GxVectord.h:487
static GX_FORCE_INLINE GxVector3d getSegmentPosition(const GxVector3d &position, const GxVector3d &startPosition, const GxVector3d &endPosition)
指定した点を線分上に下ろした点を取得
Definition GxVectord.inl:2030
GX_FORCE_INLINE const GxVector3d & normalize(void)
正規化する
Definition GxVectord.inl:2226
static GX_FORCE_INLINE f64 getAngle(const GxVector3d &vector0, const GxVector3d &vector1)
角度差を取得(符号なし radian)
Definition GxVectord.inl:1825
GX_FORCE_INLINE void setYZ(const GxVector3d &vector)
YZ要素のベクトルを設定
Definition GxVectord.inl:1363
static GX_FORCE_INLINE const GxVector3d & getMulVector(GxVector3d &dst, const GxVector3d &vector0, const GxVector3d &vector1)
ベクトル乗算を取得
Definition GxVectord.inl:1620
GX_FORCE_INLINE f64 getLengthSquare(void) const
長さの2乗を取得
Definition GxVectord.inl:1391
GX_FORCE_INLINE void setLengthEx(f64 length)
長さを設定(長さ0に対応)
Definition GxVectord.inl:1436
static GX_FORCE_INLINE GxVector3d getLinePosition(const GxVector3d &position, const GxVector3d &linePosition0, const GxVector3d &linePosition1)
指定した点を直線上に下ろした点を取得
Definition GxVectord.inl:2000
static GX_FORCE_INLINE const GxVector3d & getMulScalar(GxVector3d &dst, const GxVector3d &vector, f64 scalar)
スカラ乗算を取得
Definition GxVectord.inl:1554
static GX_FORCE_INLINE const GxVector3d & getSubVector(GxVector3d &dst, const GxVector3d &vector0, const GxVector3d &vector1)
ベクトル減算を取得
Definition GxVectord.inl:1604
static const GxVector3d MIN
最小値ベクトル
Definition GxVectord.h:256
static const GxVector3d ZERO
(0, 0, 0)
Definition GxVectord.h:246
GX_FORCE_INLINE const GxVector3d & subScalar(f64 scalar)
スカラ減算
Definition GxVectord.inl:2127
static GX_FORCE_INLINE const GxVector3d & getAddScalar(GxVector3d &dst, const GxVector3d &vector, f64 scalar)
スカラ加算を取得
Definition GxVectord.inl:1522
GxVector3d(void)
デフォルトコンストラクタ
Definition GxVectord.h:267
GX_FORCE_INLINE GxVector3d & operator*=(f64 scalar)
スカラ乗算代入
Definition GxVectord.inl:1057
f64 _x
X値
Definition GxVectord.h:486
GX_FORCE_INLINE GxVector3d getNormalizeEx(void) const
正規化ベクトルを取得(長さ0に対応)
Definition GxVectord.inl:1493
GX_FORCE_INLINE const f64 & operator[](u32 i) const
const配列
Definition GxVectord.inl:1253
GX_FORCE_INLINE f64 getLength(void) const
長さを取得
Definition GxVectord.inl:1382
constexpr f64 getMinimumValue(void) const
最小要素を取得
Definition GxVectord.h:378
friend GX_FORCE_INLINE b32 operator==(const GxVector3d &vector0, const GxVector3d &vector1)
一致
Definition GxVectord.inl:1232
GX_FORCE_INLINE b32 isZeroVector(void) const
ゼロベクトルかを取得
Definition GxVectord.inl:1373
static GX_FORCE_INLINE f64 getDistanceSquare(const GxVector3d &vector0, const GxVector3d &vector1)
距離の2乗を取得
Definition GxVectord.inl:1809
constexpr f64 getMaximumValue(void) const
最大要素を取得
Definition GxVectord.h:380
static const GxVector3d MAX
最大値ベクトル
Definition GxVectord.h:258
GX_FORCE_INLINE void setXZ(const GxVector3d &vector)
XZ要素のベクトルを設定
Definition GxVectord.inl:1330
GX_FORCE_INLINE GxVector3d getNormalize(void) const
正規化ベクトルを取得
Definition GxVectord.inl:1460
static GX_FORCE_INLINE const GxVector3d & getAddVector(GxVector3d &dst, const GxVector3d &vector0, const GxVector3d &vector1)
ベクトル加算を取得
Definition GxVectord.inl:1588
friend GX_INLINE const GxVector3d operator*(const GxVector3d &vector, f64 scalar)
スカラ乗算
Definition GxVectord.inl:1148
static GX_FORCE_INLINE GxVector3d getCrossVector(const GxVector3d &vector)
直交する単位ベクトルを取得
Definition GxVectord.inl:1757
static const GxVector3d AXIS_Y
(0, 1, 0)
Definition GxVectord.h:252
f64 _z
Z値
Definition GxVectord.h:488
GX_FORCE_INLINE GxVector3d getXZ(void) const
XZ要素のベクトルを取得
Definition GxVectord.inl:1306
static GX_FORCE_INLINE f64 getDot(const GxVector3d &vector0, const GxVector3d &vector1)
内積を取得
Definition GxVectord.inl:1718
GX_FORCE_INLINE void setXY(const GxVector3d &vector)
XY要素のベクトルを設定
Definition GxVectord.inl:1296
static GX_FORCE_INLINE f64 getLineParam(const GxVector3d &checkPosition, const GxVector3d &startPosition, const GxVector3d &endPosition)
指定した点が線分上のどこに位置するかのパラメータを返す
Definition GxVectord.inl:1962
static GX_FORCE_INLINE b32 isSameDirectionLessEqual(const GxVector3d &vector0, const GxVector3d &vector1, f64 limitRadian=PI/2.0)
ベクトルが同じ方向を向いているか(ラジアン指定/指定値以内なら(==も含む)同じ方向)
Definition GxVectord.inl:2045
static GX_FORCE_INLINE b32 isSameDirectionLessThan(const GxVector3d &vector0, const GxVector3d &vector1, f64 limitRadian=PI/2.0)
ベクトルが同じ方向を向いているか(ラジアン指定/指定値より小さければ(==は含まない)同じ方向)
Definition GxVectord.inl:2080
friend GX_FORCE_INLINE const GxVector3d operator+(const GxVector3d &vector)
正ベクトル
Definition GxVectord.h:309
static constexpr u32 DIMENSION
次元数
Definition GxVectord.h:244
static const GxVector3d AXIS_X
(1, 0, 0)
Definition GxVectord.h:250
static GX_FORCE_INLINE const GxVector3d & getDivVector(GxVector3d &dst, const GxVector3d &vector0, const GxVector3d &vector1)
ベクトル除算を取得
Definition GxVectord.inl:1636
GX_FORCE_INLINE GxVector3d & operator=(const GxVector3d &vector)
代入
Definition GxVectord.inl:1022
static const GxVector3d ONE
(1, 1, 1)
Definition GxVectord.h:248
static GX_FORCE_INLINE GxVector3d getMaximum(const GxVector3d &vector0, const GxVector3d &vector1)
要素毎に最大値を選択
Definition GxVectord.inl:1898
GX_FORCE_INLINE const GxVector3d & subVector(const GxVector3d &vector)
ベクトル減算
Definition GxVectord.inl:2185
static GX_FORCE_INLINE const GxVector3d & getSubScalar(GxVector3d &dst, const GxVector3d &vector, f64 scalar)
スカラ減算を取得
Definition GxVectord.inl:1538
GX_FORCE_INLINE GxVector3d & operator/=(f64 scalar)
スカラ除算代入
Definition GxVectord.inl:1068
static GX_FORCE_INLINE GxVector3d getCross(const GxVector3d &vector0, const GxVector3d &vector1)
外積を取得
Definition GxVectord.inl:1729
GX_FORCE_INLINE void setLength(f64 length)
長さを設定
Definition GxVectord.inl:1400
static GX_FORCE_INLINE f64 getDistance(const GxVector3d &vector0, const GxVector3d &vector1)
距離を取得
Definition GxVectord.inl:1798
GX_FORCE_INLINE const GxVector3d & divVector(const GxVector3d &vector)
ベクトル除算
Definition GxVectord.inl:2213
static const GxVector3d AXIS_Z
(0, 0, 1)
Definition GxVectord.h:254
GX_FORCE_INLINE GxVector3d & operator+=(f64 scalar)
スカラ加算代入
Definition GxVectord.inl:1035
GX_FORCE_INLINE const GxVector3d & addVector(const GxVector3d &vector)
ベクトル加算
Definition GxVectord.inl:2171
GX_FORCE_INLINE GxVector3d getXY(void) const
XY要素のベクトルを取得
Definition GxVectord.inl:1272
static GX_FORCE_INLINE const GxVector3d & getDivScalar(GxVector3d &dst, const GxVector3d &vector, f64 scalar)
スカラ除算を取得
Definition GxVectord.inl:1570
4次元ベクトル(倍精度)
Definition GxVectord.h:497
static const GxVector4d ZERO
(0, 0, 0, 0)
Definition GxVectord.h:508
GX_FORCE_INLINE const GxVector4d & normalizeEx(void)
正規化する(長さ0に対応)
Definition GxVectord.inl:3249
GX_FORCE_INLINE GxVector4d getNormalize(void) const
正規化ベクトルを取得
Definition GxVectord.inl:2727
static GX_FORCE_INLINE const GxVector4d & getAddScalar(GxVector4d &dst, const GxVector4d &vector, f64 scalar)
スカラ加算を取得
Definition GxVectord.inl:2779
static GX_FORCE_INLINE GxVector4d getMinimum(const GxVector4d &vector0, const GxVector4d &vector1)
要素毎に最小値を選択
Definition GxVectord.inl:2997
GX_FORCE_INLINE GxVector4d & operator+=(f64 scalar)
スカラ加算代入
Definition GxVectord.inl:2399
friend GX_FORCE_INLINE b32 operator==(const GxVector4d &vector0, const GxVector4d &vector1)
一致
Definition GxVectord.inl:2596
GX_FORCE_INLINE GxVector4d & operator-=(f64 scalar)
スカラ減算代入
Definition GxVectord.inl:2410
GX_FORCE_INLINE void setLength(f64 length)
長さを設定
Definition GxVectord.inl:2664
friend GX_FORCE_INLINE const GxVector4d operator+(const GxVector4d &vector)
正ベクトル
Definition GxVectord.h:573
GX_FORCE_INLINE const f64 & operator[](u32 i) const
const配列
Definition GxVectord.inl:2617
constexpr f64 getMinimumValue(void) const
最小要素を取得
Definition GxVectord.h:624
GX_FORCE_INLINE const GxVector4d & divScalar(f64 scalar)
スカラ除算
Definition GxVectord.inl:3136
static GX_FORCE_INLINE const GxVector4d & getMulVector(GxVector4d &dst, const GxVector4d &vector0, const GxVector4d &vector1)
ベクトル乗算を取得
Definition GxVectord.inl:2883
static GX_FORCE_INLINE GxVector4d getLerp(const GxVector4d &vector0, const GxVector4d &vector1, f64 t)
線形補間
Definition GxVectord.inl:3060
friend GX_FORCE_INLINE b32 operator!=(const GxVector4d &vector0, const GxVector4d &vector1)
不一致
Definition GxVectord.inl:2607
GxVector4d(void)
デフォルトコンストラクタ
Definition GxVectord.h:531
GX_FORCE_INLINE const GxVector4d & mulVector(const GxVector4d &vector)
ベクトル乗算
Definition GxVectord.inl:3183
static const GxVector4d MAX
最大値ベクトル
Definition GxVectord.h:522
static GX_FORCE_INLINE f64 getDot(const GxVector4d &vector0, const GxVector4d &vector1)
内積を取得
Definition GxVectord.inl:2986
friend GX_FORCE_INLINE const GxVector4d operator-(const GxVector4d &vector)
負ベクトル
Definition GxVectord.h:575
GX_FORCE_INLINE const GxVector4d & divVector(const GxVector4d &vector)
ベクトル除算
Definition GxVectord.inl:3198
static GX_FORCE_INLINE GxVector4d getMaximum(const GxVector4d &vector0, const GxVector4d &vector1)
要素毎に最大値を選択
Definition GxVectord.inl:3028
static const GxVector4d AXIS_W
(0, 0, 0, 1)
Definition GxVectord.h:518
GX_FORCE_INLINE void setLengthEx(f64 length)
長さを設定(長さ0に対応)
Definition GxVectord.inl:2701
static GX_FORCE_INLINE const GxVector4d & getAddVector(GxVector4d &dst, const GxVector4d &vector0, const GxVector4d &vector1)
ベクトル加算を取得
Definition GxVectord.inl:2849
GX_FORCE_INLINE const GxVector4d & normalize(void)
正規化する
Definition GxVectord.inl:3212
static GX_FORCE_INLINE const GxVector4d & getDivScalar(GxVector4d &dst, const GxVector4d &vector, f64 scalar)
スカラ除算を取得
Definition GxVectord.inl:2830
friend GX_FORCE_INLINE const GxVector4d operator*(const GxVector4d &vector, f64 scalar)
スカラ乗算
Definition GxVectord.inl:2512
f64 _w
W値
Definition GxVectord.h:705
constexpr f64 getMaximumValue(void) const
最大要素を取得
Definition GxVectord.h:626
GX_FORCE_INLINE b32 isZeroVector(void) const
ゼロベクトルかを取得
Definition GxVectord.inl:2636
GX_FORCE_INLINE GxVector4d getNormalizeEx(void) const
正規化ベクトルを取得(長さ0に対応)
Definition GxVectord.inl:2760
GX_FORCE_INLINE const GxVector4d & subVector(const GxVector4d &vector)
ベクトル減算
Definition GxVectord.inl:3168
static GX_FORCE_INLINE const GxVector4d & getSubVector(GxVector4d &dst, const GxVector4d &vector0, const GxVector4d &vector1)
ベクトル減算を取得
Definition GxVectord.inl:2866
static GX_FORCE_INLINE const GxVector4d & getDivVector(GxVector4d &dst, const GxVector4d &vector0, const GxVector4d &vector1)
ベクトル除算を取得
Definition GxVectord.inl:2900
GX_FORCE_INLINE const GxVector4d & mulScalar(f64 scalar)
スカラ乗算
Definition GxVectord.inl:3121
GX_FORCE_INLINE GxVector4d & operator/=(f64 scalar)
スカラ除算代入
Definition GxVectord.inl:2432
static constexpr u32 DIMENSION
次元数
Definition GxVectord.h:506
static const GxVector4d MIN
最小値ベクトル
Definition GxVectord.h:520
GX_FORCE_INLINE const GxVector4d & addVector(const GxVector4d &vector)
ベクトル加算
Definition GxVectord.inl:3153
static const GxVector4d AXIS_X
(1, 0, 0, 0)
Definition GxVectord.h:512
GX_FORCE_INLINE GxVector4d & operator=(const GxVector3d &vector)
代入
Definition GxVectord.inl:2371
f64 _x
X値
Definition GxVectord.h:702
GX_FORCE_INLINE const GxVector4d & subScalar(f64 scalar)
スカラ減算
Definition GxVectord.inl:3106
static GX_FORCE_INLINE const GxVector4d & getSubScalar(GxVector4d &dst, const GxVector4d &vector, f64 scalar)
スカラ減算を取得
Definition GxVectord.inl:2796
friend GX_FORCE_INLINE const GxVector4d operator/(const GxVector4d &vector, f64 scalar)
スカラ除算
Definition GxVectord.inl:2536
static const GxVector4d AXIS_Z
(0, 0, 1, 0)
Definition GxVectord.h:516
GX_FORCE_INLINE GxVector4d & operator*=(f64 scalar)
スカラ乗算代入
Definition GxVectord.inl:2421
f64 _z
Z値
Definition GxVectord.h:704
static GX_FORCE_INLINE const GxVector4d & getMulScalar(GxVector4d &dst, const GxVector4d &vector, f64 scalar)
スカラ乗算を取得
Definition GxVectord.inl:2813
GX_FORCE_INLINE const GxVector4d & addScalar(f64 scalar)
スカラ加算
Definition GxVectord.inl:3091
f64 _y
Y値
Definition GxVectord.h:703
static const GxVector4d AXIS_Y
(0, 1, 0, 0)
Definition GxVectord.h:514
GX_FORCE_INLINE f64 getLength(void) const
長さを取得
Definition GxVectord.inl:2645
static const GxVector4d ONE
(1, 1, 1, 1)
Definition GxVectord.h:510
GX_FORCE_INLINE f64 getLengthSquare(void) const
長さの2乗を取得
Definition GxVectord.inl:2654
32bitブーリアン
Definition GxDefine.h:173