CTR-Pia  5.4.3
Game Communication Engine
 全て クラス ネームスペース 関数 変数 型定義 列挙型 列挙型の値 ページ
クラス nn::pia::reckoning::Simple3dReckoningStrategy

線形の評価関数を用いて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]valueSetValue() で設定した値を与えます。
[in]cpSetValueArgSetValue() の第2引数に設定した値を与えます。valueが停止しているかどうかのフラグを与えます。
[in]accessor標本値バッファへのアクセサです。
[in]clock現在の時刻を渡します。
[in]cpWork推測の計算のための事前計算結果を渡します。
戻り値
標本値として採用する場合、trueを返します。
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推測の計算のための事前計算結果を与えます。
戻り値
推測値が計算できた場合、pValueに値を格納し、trueを返します。
float nn::pia::reckoning::Simple3dReckoningStrategy::GetThreshold ( )
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]valueSetValue() で設定した値を与えます。
[in]cpSetValueArgSetValue() の第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 型を参照してください。