CTR-Pia
5.4.3
Game Communication Engine
|
線形の評価関数を用いて3次元ベクトルを補間するReckoningStrategyクラスです。 [詳細]
構成 | |
struct | SampleValue |
値と停止フラグをセットにした構造体です。 [詳細] | |
struct | Work |
推測の計算のための事前計算結果を保持しておく構造体です。 [詳細] | |
Public 型 | |
typedef ReckoningCloneElementBase::SampleAccessor < Sample > | Accessor |
標本値バッファへのアクセサです。 | |
typedef SampleValue | Sample |
実際に送受信される標本値の型です。 | |
typedef bool | SetValueArg |
SetValue() 呼び出し時に、 CheckSample(), MakeSample() に渡すデータの型です。 | |
typedef Vector3f | Value |
SetValue(), GetValue() で設定/取得する値の型です。 | |
Public メソッド | |
Simple3dReckoningStrategy (float threshold) | |
デフォルトコンストラクタです。 | |
bool | CheckSample (bool *pIsReliable, const Value &value, const SetValueArg *cpSetValueArg, const Accessor &accessor, nn::pia::clone::ClockValue clock, const Work *cpWork) const |
SetValue() で設定した値 value を標本値として採用するかどうかを判定します。 | |
bool | Estimate (Value *pValue, const Accessor &accessor, nn::pia::clone::ClockValue clock, const Work *cpWork) const |
推測値を計算します。 | |
float | GetThreshold () |
SetValue() で設定した値 value を標本値として採用するかどうかを判定する際に使用する閾値の値を返します。 | |
void | MakeSample (Sample *pSample, const Value &value, const SetValueArg *cpSetValueArg, const Accessor &accessor, nn::pia::clone::ClockValue clock, const Work *cpWork) const |
標本値として保存する値を計算します。 | |
void | OnUpdateSample (const Accessor &accessor, int index, Work *pWork) const |
標本値が追加された場合に呼び出されます。 | |
void | SetThreshold (float threshold) |
SetValue() で設定した値 value を標本値として採用するかどうかを判定する際に使用する閾値の値を設定します。 | |
void | Trace (uint64_t flag) const |
デバッグに有用な情報をプリントします。 | |
Static Public 変数 | |
static const uint32_t | BufferSize = 10 |
標本値を保持しておくバッファのサイズです。 | |
線形の評価関数を用いて3次元ベクトルを補間するReckoningStrategyクラスです。
nn::pia::reckoning::Simple3dReckoningStrategy::Simple3dReckoningStrategy | ( | float | threshold | ) |
デフォルトコンストラクタです。
[in] | threshold | 判定の際に用いる閾値の値 |
bool nn::pia::reckoning::Simple3dReckoningStrategy::CheckSample | ( | bool * | pIsReliable, |
const Value & | value, | ||
const SetValueArg * | cpSetValueArg, | ||
const Accessor & | accessor, | ||
nn::pia::clone::ClockValue | clock, | ||
const Work * | cpWork | ||
) | const |
SetValue() で設定した値 value を標本値として採用するかどうかを判定します。
[out] | pIsReliable | 標本値の送信にあたり到達保証をする必要があるかどうかを出力します。 |
[in] | value | SetValue() で設定した値を与えます。 |
[in] | cpSetValueArg | SetValue() の第2引数に設定した値を与えます。valueが停止しているかどうかのフラグを与えます。 |
[in] | accessor | 標本値バッファへのアクセサです。 |
[in] | clock | 現在の時刻を渡します。 |
[in] | cpWork | 推測の計算のための事前計算結果を渡します。 |
bool nn::pia::reckoning::Simple3dReckoningStrategy::Estimate | ( | Value * | pValue, |
const Accessor & | accessor, | ||
nn::pia::clone::ClockValue | clock, | ||
const Work * | cpWork | ||
) | const |
推測値を計算します。
[out] | pValue | 推測値を出力します。 |
[in] | accessor | 標本値バッファへのアクセサです。 |
[in] | clock | 現在の時刻を与えます。 |
[in] | cpWork | 推測の計算のための事前計算結果を与えます。 |
|
inline |
SetValue() で設定した値 value を標本値として採用するかどうかを判定する際に使用する閾値の値を返します。
void nn::pia::reckoning::Simple3dReckoningStrategy::MakeSample | ( | Sample * | pSample, |
const Value & | value, | ||
const SetValueArg * | cpSetValueArg, | ||
const Accessor & | accessor, | ||
nn::pia::clone::ClockValue | clock, | ||
const Work * | cpWork | ||
) | const |
標本値として保存する値を計算します。
CheckSample() で標本値として採用するよう判定され、実際にバッファが確保できた場合に呼び出されます。
[out] | pSample | 標本値を出力します。 |
[in] | value | SetValue() で設定した値を与えます。 |
[in] | cpSetValueArg | SetValue() の第2引数に設定した値を与えます。valueが停止しているかどうかのフラグを与えます。 |
[in] | accessor | 標本値バッファへのアクセサです。 |
[in] | clock | 現在の時刻を渡します。 |
[in] | cpWork | 推測の計算のための事前計算結果を渡します。 |
void nn::pia::reckoning::Simple3dReckoningStrategy::OnUpdateSample | ( | const Accessor & | accessor, |
int | index, | ||
Work * | pWork | ||
) | const |
標本値が追加された場合に呼び出されます。
推測の計算のために使用するパラメータを更新します。
[in] | accessor | 標本値バッファへのアクセサです。 |
[in] | index | 標本値のインデックスです。 |
[in] | pWork | 推測の計算のための事前計算結果を渡します。 |
void nn::pia::reckoning::Simple3dReckoningStrategy::SetThreshold | ( | float | threshold | ) |
SetValue() で設定した値 value を標本値として採用するかどうかを判定する際に使用する閾値の値を設定します。
[in] | threshold | 判定の際に用いる閾値の値 |
void nn::pia::reckoning::Simple3dReckoningStrategy::Trace | ( | uint64_t | flag | ) | const |
デバッグに有用な情報をプリントします。
[in] | flag | トレースフラグの論理和。詳細は TraceFlag 型を参照してください。 |