Lumino
ln::Vector4 Struct Reference

4次元のベクトルを定義します。 More...

#include <Vector4.hpp>

Public Member Functions

constexpr Vector4 () noexcept
 すべての要素を 0.0 に設定してインスタンスを初期化します。
 
constexpr Vector4 (float x, float y, float z, float w) noexcept
 指定した値を使用してインスタンスを初期化します。
 
constexpr Vector4 (const Vector2 &vec, float z, float w) noexcept
 Vector2 と z, w 値を指定してインスタンスを初期化します。
 
constexpr Vector4 (const Vector3 &vec, float w) noexcept
 Vector3 と w 値を指定してインスタンスを初期化します。
 
void set (float x, float y, float z, float w)
 各要素に値を設定します。
 
float * data () noexcept
 Returns pointer to the first element. More...
 
const float * data () const noexcept
 Returns pointer to the first element. More...
 
const Vector2xy () const
 このベクトルの X Y 要素を Vector2 として返します。
 
const Vector3xyz () const
 このベクトルの X Y Z 要素を Vector3 として返します。
 
float length () const
 ベクトルの長さを返します。
 
float lengthSquared () const
 ベクトルの長さの 2 乗を返します。
 
void clamp (float min_xyzw, float max_xyzw)
 このベクトルを指定された最大値と最小値の範囲にクランプします。
 
void clamp (const Vector4 &minVec, const Vector4 &maxVec)
 このベクトルを指定された最大値と最小値の範囲にクランプします。 More...
 
bool isNaNOrInf () const
 要素のいずれかが NaN または Inf かを判別します。
 

Static Public Member Functions

static Vector4 normalize (const Vector4 &vec)
 指定ベクトルを正規化したベクトルを返します。 More...
 
static float dot (const Vector4 &vec1, const Vector4 &vec2)
 2つのベクトルの内積を計算します。 More...
 
static Vector4 min (const Vector4 &vec1, const Vector4 &vec2)
 2つのベクトルの最小値で構成されるベクトルを返します。 More...
 
static Vector4 max (const Vector4 &vec1, const Vector4 &vec2)
 2つのベクトルの最大値で構成されるベクトルを返します。 More...
 
static Vector4 transform (const Vector4 &vec, const Matrix &mat)
 指定された行列を使用してベクトルを座標変換します。 More...
 
static Vector4 lerp (const Vector4 &start, const Vector4 &end, float t)
 2 つのベクトル間の線形補間を行います。 More...
 
static Vector4 hermite (const Vector4 &v1, const Vector4 &a1, const Vector4 &v2, const Vector4 &a2, float t)
 指定されたベクトルを使用して エルミートスプライン補間を実行します。 More...
 
static Vector4 catmullRom (const Vector4 &vec1, const Vector4 &vec2, const Vector4 &vec3, const Vector4 &vec4, float t)
 指定されたベクトルを使用して Catmull-Rom 補間を行います。 More...
 

Public Attributes

float x
 X 要素
 
float y
 Y 要素
 
float z
 Z 要素
 
float w
 W 要素
 

Static Public Attributes

static const Vector4 Zero
 Vector4(0, 0, 0, 0)
 

Detailed Description

4次元のベクトルを定義します。

Member Function Documentation

◆ catmullRom()

static Vector4 ln::Vector4::catmullRom ( const Vector4 vec1,
const Vector4 vec2,
const Vector4 vec3,
const Vector4 vec4,
float  t 
)
static

指定されたベクトルを使用して Catmull-Rom 補間を行います。

Parameters
[in]vec1: 1番目の位置
[in]vec2: 2番目の位置 (t = 0.0 のときの値)
[in]vec3: 3番目の位置 (t = 1.0 のときの値)
[in]vec4: 4番目の位置
[in]t: 加重係数
Returns
補間結果のベクトル t は通常、0.0~1.0 を指定します。

◆ clamp()

void ln::Vector4::clamp ( const Vector4 minVec,
const Vector4 maxVec 
)

このベクトルを指定された最大値と最小値の範囲にクランプします。

Parameters
[in]minVec: 最小値
[in]maxVec: 最大値

◆ data() [1/2]

float* ln::Vector4::data ( )
inlinenoexcept

Returns pointer to the first element.

◆ data() [2/2]

const float* ln::Vector4::data ( ) const
inlinenoexcept

Returns pointer to the first element.

◆ dot()

static float ln::Vector4::dot ( const Vector4 vec1,
const Vector4 vec2 
)
static

2つのベクトルの内積を計算します。

Parameters
[in]vec1: 処理の基になるベクトル
[in]vec2: 処理の基になるベクトル
Returns
2つのベクトルの内積

◆ hermite()

static Vector4 ln::Vector4::hermite ( const Vector4 v1,
const Vector4 a1,
const Vector4 v2,
const Vector4 a2,
float  t 
)
static

指定されたベクトルを使用して エルミートスプライン補間を実行します。

Parameters
[in]v1: 開始ベクトル
[in]a1: 開始ベクトルの接線ベクトル(速度)
[in]v2: 終了ベクトル
[in]a2: 終了ベクトルの接線ベクトル(速度)
[in]t: 加重係数
Returns
補間結果の値 t は通常、0.0~1.0 を指定します。

◆ lerp()

static Vector4 ln::Vector4::lerp ( const Vector4 start,
const Vector4 end,
float  t 
)
static

2 つのベクトル間の線形補間を行います。

Parameters
[in]start: 開始ベクトル (t = 0.0 のときの値)
[in]end: 終了ベクトル (t = 1.0 のときの値)
[in]t: 加重係数
Returns
補間結果のベクトル t は通常、0.0~1.0 を指定します。

◆ max()

static Vector4 ln::Vector4::max ( const Vector4 vec1,
const Vector4 vec2 
)
static

2つのベクトルの最大値で構成されるベクトルを返します。

Parameters
[in]vec1: 処理の基になるベクトル
[in]vec2: 処理の基になるベクトル
Returns
最大値から作成されたベクトル

◆ min()

static Vector4 ln::Vector4::min ( const Vector4 vec1,
const Vector4 vec2 
)
static

2つのベクトルの最小値で構成されるベクトルを返します。

Parameters
[in]vec1: 処理の基になるベクトル
[in]vec2: 処理の基になるベクトル
Returns
最小値から作成されたベクトル

◆ normalize()

static Vector4 ln::Vector4::normalize ( const Vector4 vec)
static

指定ベクトルを正規化したベクトルを返します。

Parameters
[in]vec: 処理の基になるベクトル
Returns
正規化されたベクトル

◆ transform()

static Vector4 ln::Vector4::transform ( const Vector4 vec,
const Matrix mat 
)
static

指定された行列を使用してベクトルを座標変換します。

Parameters
[in]vec: 処理の基になるベクトル
[in]mat: 処理の基になる行列
Returns
変換されたベクトル

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