CTR NEX API Reference
nn::nex::DataSet クラス

複製オブジェクトのデータセットを表します。 [詳解]

#include <NetZ/src/Core/DOCore/DataSet.h>

+ nn::nex::DataSet の継承関係図

公開メンバ関数

 DataSet ()
 このコンストラクタはアプリケーションから呼び出さないでください。 [詳解]
 
virtual ~DataSet ()
 このデストラクタはアプリケーションから呼び出さないでください。 [詳解]
 
SubStreamID GetRecvSubStreamID () const
 Reliableの受信時に利用されたSubStreamIDを取得します。 [詳解]
 
qByte GetRevision ()
 受信したデータセットのリビジョンを取得します。 [詳解]
 
SubStreamID GetSubStreamID () const
 Reliableの送信時で利用するSubStreamIDを取得します。 [詳解]
 
void IndicateContinuityBreak (qByte byBreak, qBool bReliable=true)
 データセットが非連続的な方法で値が変更されたことを通知します。 [詳解]
 
void OperationBegin (const DOOperation *pOperation)
 システム側から、DOOperation がデータセットに対して影響を与えるときに呼び出されます。 [詳解]
 
void OperationEnd (const DOOperation *pOperation)
 システム側から、DOOperation がデータセットに対して影響を与えたあとに呼び出されます。 [詳解]
 
qDouble PredictLoopbackValue (PHBDRVar_qDouble &v, Time tPredictionTime=SessionClock::GetTime())
 ループバックモデルから、指定された時間のループバックされた値を予測します。 [詳解]
 
qFloat PredictLoopbackValue (PHBDRVar_qFloat &v, Time tPredictionTime=SessionClock::GetTime())
 ループバックモデルから、指定された時間のループバックされた値を予測します。 [詳解]
 
qFloat PredictLoopbackValue (PHBDRVar_qInt32 &v, Time tPredictionTime=SessionClock::GetTime())
 ループバックモデルから、指定された時間のループバックされた値を予測します。 [詳解]
 
qFloat PredictLoopbackValue (PHBDRVar_qInt16 &v, Time tPredictionTime=SessionClock::GetTime())
 ループバックモデルから、指定された時間のループバックされた値を予測します。 [詳解]
 
qFloat PredictLoopbackValue (PHBDRVar_qInt8 &v, Time tPredictionTime=SessionClock::GetTime())
 ループバックモデルから、指定された時間のループバックされた値を予測します。 [詳解]
 
qDouble PredictRateOfChange (PHBDRVar_qDouble &v, Time tPredictionTime=SessionClock::GetTime())
 推定航法を利用している変数の変化の割合を現在の情報に基づいて予測して取得します。 [詳解]
 
qFloat PredictRateOfChange (PHBDRVar_qFloat &v, Time tPredictionTime=SessionClock::GetTime())
 推定航法を利用している変数の変化の割合を現在の情報に基づいて予測して取得します。 [詳解]
 
qFloat PredictRateOfChange (PHBDRVar_qInt32 &v, Time tPredictionTime=SessionClock::GetTime())
 推定航法を利用している変数の変化の割合を現在の情報に基づいて予測して取得します。 [詳解]
 
qFloat PredictRateOfChange (PHBDRVar_qInt16 &v, Time tPredictionTime=SessionClock::GetTime())
 推定航法を利用している変数の変化の割合を現在の情報に基づいて予測して取得します。 [詳解]
 
qFloat PredictRateOfChange (PHBDRVar_qInt8 &v, Time tPredictionTime=SessionClock::GetTime())
 推定航法を利用している変数の変化の割合を現在の情報に基づいて予測して取得します。 [詳解]
 
qDouble PredictValue (PHBDRVar_qDouble &v, Time tPredictionTime=SessionClock::GetTime())
 推定航法を行っている値を、現在の情報に基づいて予測して取得します。 [詳解]
 
qFloat PredictValue (PHBDRVar_qFloat &v, Time tPredictionTime=SessionClock::GetTime())
 推定航法を行っている値を、現在の情報に基づいて予測して取得します。 [詳解]
 
qFloat PredictValue (PHBDRVar_qInt32 &v, Time tPredictionTime=SessionClock::GetTime())
 推定航法を行っている値を、現在の情報に基づいて予測して取得します。 [詳解]
 
qFloat PredictValue (PHBDRVar_qInt16 &v, Time tPredictionTime=SessionClock::GetTime())
 推定航法を行っている値を、現在の情報に基づいて予測して取得します。 [詳解]
 
qFloat PredictValue (PHBDRVar_qInt8 &v, Time tPredictionTime=SessionClock::GetTime())
 推定航法を行っている値を、現在の情報に基づいて予測して取得します。 [詳解]
 
qBool RefreshLoopback ()
 更新された値で、LOOPBACKMODELを再計算します。 [詳解]
 
qBool ReliableUpdate () const
 リライアブルチャンネルを利用してデータセットを更新するかそうでないかを返します。 [詳解]
 
void RequestUpdate ()
 次の更新のときは確実に実行する必要があることを通知します。 [詳解]
 
void SetLocalCorrection (PHBDRVar_qReal &v, qReal dValue, qReal dRateOfChange, qReal dAcceleration, Time tTimestamp=GetTimestamp())
 デュプリカに対してローカルな新しい補完モデルを設定します。 [詳解]
 
void SetLocalCorrection (PHBDRVar_qReal &v, qReal dValue, qReal dRateOfChange, qReal dAcceleration, Time tTimestamp=GetTimestamp())
 デュプリカに対してローカルな新しい補完モデルを設定します。 [詳解]
 
void SetLocalCorrection (PHBDRVar_qInt32 &v, qReal dValue, qReal dRateOfChange, qReal dAcceleration, Time tTimestamp=GetTimestamp())
 デュプリカに対してローカルな新しい補完モデルを設定します。 [詳解]
 
void SetLoopbackSamplingInterval (TimeInterval tiSamplingInterval)
 ループバックのサンプリング間隔を設定します。 [詳解]
 
void SetModel (PHBDRVar_qReal &v, qReal dValue, qReal dRateOfChange, qReal dAcceleration, Time tTimestamp=GetTimestamp())
 複製マスターを通して新しい補完モデルをセットします。 [詳解]
 
void SetModel (PHBDRVar_qFoat &v, qReal dValue, qReal dRateOfChange, qReal dAcceleration, Time tTimestamp=GetTimestamp())
 複製マスターを通して新しい補完モデルをセットします。 [詳解]
 
void SetModel (PHBDRVar_qInt32 &v, qReal dValue, qReal dRateOfChange, qReal dAcceleration, Time tTimestamp=GetTimestamp())
 複製マスターを通して新しい補完モデルをセットします。 [詳解]
 
void SetSubStreamID (SubStreamID subStreamID)
 Reliableの送信時で利用するSubStreamIDを指定します。 [詳解]
 
qBool UpdateIsRequired (const DuplicatedObject *pDO, const Station *pStation)
 データセットを更新する対象のステーションを選択します。 [詳解]
 
void UpdateLoopback ()
 datasetの現在の値で、LOOPBACKMODELを更新します。 [詳解]
 

静的公開メンバ関数

static ErrorToleranceFunctionGetErrorToleranceFunction ()
 このデータセットに対するErrorToleranceFunctionへのポインタを取得します。 [詳解]
 
static TimeInterval GetLoopbackDelay ()
 datasetのループバック遅延を取得します。 [詳解]
 
static TimeInterval GetLoopbackSamplingInterval ()
 ループバックのサンプリング間隔を取得します。 [詳解]
 
static TimeInterval GetMaximumUpdateDelay ()
 データセットの最大更新遅延時間を取得します。 [詳解]
 
static TimeInterval GetMinimumUpdateDelay ()
 このデータセットの最小更新遅延時間を取得します。 [詳解]
 
static PHBDRParametersGetPHBDRParameters ()
 このデータセットクラスに対する推定航法パラメータへのポインタを取得します。 [詳解]
 
static void SetLoopbackDelay (TimeInterval tiLoopbackDelay)
 datasetのループバック遅延を指定します。 [詳解]
 
static void SetMaximumUpdateDelay (TimeInterval tiMaximumUpdateDelay)
 データセットの最大更新遅延時間を設定します。 [詳解]
 
static void SetMinimumUpdateDelay (TimeInterval tiMinimumUpdateDelay)
 このデータセットの最小更新遅延時間を設定します。 [詳解]
 

詳解

複製オブジェクトのデータセットを表します。

DataSetはDDL(データ定義言語)によって定義される、いくつかの共通の更新ポリシーを持つ値のグループです。 C++プログラミング言語における構造体のような存在と考えることが出来ます。 このクラスは、DDL宣言によって生成されるアプリケーション固有のデータセットクラス階層構造の基底クラスとなります。 複製マスター(DuplicatedObject::IsADuplicationMaster())にてDuplicatedObject::Update() が呼び出されるとき、 その複製オブジェクトのデュプリカに含まれるすべてのデータセットが、DLLに定義された 更新ポリシーにしたがって更新されます。

データセットのDDL宣言に与えられたDDLプロパティが含まれるときに、 この関数の多くの関数が生成されることに注意してください。 したがって、ここに載っている関数を呼び出したとしても、それに関連するDDLプロパティが DDLファイルに宣言されていないとき、コンパイルエラーとなってしまいます。 たとえば、extrapolation_filterというDDLプロパティが宣言されていない場合は、 SetModel() 関数は生成されないので利用することが出来ません。

もしもデータセットに与えられた、変化可能な最大数に基づいて事前チェックを行うような チート行為検出機能を実装したいと考えているのであれば、OperationBegin()OperationEnd() を利用してください。たいていの場合、OperationBegin() にて、 現在のデータセットの値を読み出して保持しておき、OperationEnd() にて新しい値を見て、 それが受け入れられるかを判定してください。加えて、もしデータセットが補完機能を利用すれば、 値の変化の割合を保存されている補完点から簡単に計算することが出来ます。

構築子と解体子

nn::nex::DataSet::DataSet ( )

このコンストラクタはアプリケーションから呼び出さないでください。

データセットは複製オブジェクトのデータメンバーとしてアクセスすることが出来ます。

参照
DuplicatedObject
virtual nn::nex::DataSet::~DataSet ( )
virtual

このデストラクタはアプリケーションから呼び出さないでください。

データセットに関連付けられている複製オブジェクトが削除されたときにこのインスタンスも自動的に削除されます。

参照
DuplicatedObject

関数詳解

void nn::nex::DataSet::SetModel ( PHBDRVar_qReal &  v,
qReal  dValue,
qReal  dRateOfChange,
qReal  dAcceleration,
Time  tTimestamp = GetTimestamp() 
)

複製マスターを通して新しい補完モデルをセットします。

※この関数は、DataSetクラスが提供する関数ではありません。 DDL(データ定義言語)宣言に、このデータセットがextrapolation_filterプロパティを持つように 指示されたときのみ、DDLコンパイラがこの関数のためのコードを生成します。

この関数は、データセットの値が突然変化したときに複製マスターによって呼び出され、 システムに対し突然の変更があったということを通知します。 連続性が打ち切られたことを示すCONTINUITY_BREAK_UPDATED_MODELフラグとともに使われます。 この関数は、誤った補完情報を一時的に訂正するために利用されます。

ゲーム中のボールの位置について推定航法(パケットのレイテンシなどを考慮して値を補完する機能)が有効である場合、 ボールが壁にぶつかって跳ね返ると、デュプリカではボールが壁の奥にめり込んで表示されてしまうようなことが起こります。 SetModel()は、一時的にデュプリカのモデルを調整して、当たり判定への影響に対する計算を行います。 たとえば、もしもCONTINUITY_BREAK_TELEPORTをシグナルするためにIndicateContinuityBreak() を使っていて、 デュプリカはそれ自身の居場所を失って新しい位置へ(補完なしに)即座に移動してしまいます。 しかし、ボールは次の3回の更新を受け取るまで(たいていのゲームの場合2フレーム)の間は同じ位置に残り続けることになります。 SetModel()によって、この2フレームを回復し、デュプリカが瞬間移動後に正しい速度と加速度を即座に与えることが出来ます。

この関数を利用すると以下のエラーがシグナルされることがあります。

  • 補完機能が有効になっていないデータセットでこの関数が呼び出された場合、SYSTEMERROR_GEN_INVALID_OPERATIONがシグナルされます。
  • デュプリカ(DuplicatedObject::IsADuplica())がこの関数を呼び出した場合、SYSTEMERROR_OBJDUP_INVALID_ON_DUPLICAがシグナルされます。

この機能について詳しくはNEXプログラミングマニュアルも参照してください。

引数
[in]vデータセットの変数の中で、補完モデルを変更するものを指定します。MODELマクロを使って指定してください。
[in]dValue現在のセッション時間における変数の値を指定します。
[in]dRateOfChange現在のセッション時間における変数の変化の割合をミリ秒単位で指定します。
[in]dAcceleration現在のセッション時間における変数の加速度を、ミリ秒の二乗の単位で指定します。
[in]tTimestamp現在のセッション時間を指定します(デフォルト引数として指定されます)。
参照
IndicateContinuityBreak
void nn::nex::DataSet::SetModel ( PHBDRVar_qFoat &  v,
qReal  dValue,
qReal  dRateOfChange,
qReal  dAcceleration,
Time  tTimestamp = GetTimestamp() 
)

複製マスターを通して新しい補完モデルをセットします。

※この関数は、DataSetクラスが提供する関数ではありません。 DDL(データ定義言語)宣言に、このデータセットがextrapolation_filterプロパティを持つように 指示されたときのみ、DDLコンパイラがこの関数のためのコードを生成します。

この関数は、データセットの値が突然変化したときに複製マスターによって呼び出され、 システムに対し突然の変更があったということを通知します。 連続性が打ち切られたことを示すCONTINUITY_BREAK_UPDATED_MODELフラグとともに使われます。 この関数は、誤った補完情報を一時的に訂正するために利用されます。

ゲーム中のボールの位置について推定航法(パケットのレイテンシなどを考慮して値を補完する機能)が有効である場合、 ボールが壁にぶつかって跳ね返ると、デュプリカではボールが壁の奥にめり込んで表示されてしまうようなことが起こります。 SetModel()は、一時的にデュプリカのモデルを調整して、当たり判定への影響に対する計算を行います。 たとえば、もしもCONTINUITY_BREAK_TELEPORTをシグナルするためにIndicateContinuityBreak() を使っていて、 デュプリカはそれ自身の居場所を失って新しい位置へ(補完なしに)即座に移動してしまいます。 しかし、ボールは次の3回の更新を受け取るまで(たいていのゲームの場合2フレーム)の間は同じ位置に残り続けることになります。 SetModel()によって、この2フレームを回復し、デュプリカが瞬間移動後に正しい速度と加速度を即座に与えることが出来ます。

この関数を利用すると以下のエラーがシグナルされることがあります。

  • 補完機能が有効になっていないデータセットでこの関数が呼び出された場合、SYSTEMERROR_GEN_INVALID_OPERATIONがシグナルされます。
  • デュプリカ(DuplicatedObject::IsADuplica())がこの関数を呼び出した場合、SYSTEMERROR_OBJDUP_INVALID_ON_DUPLICAがシグナルされます。

この機能について詳しくはNEXプログラミングマニュアルも参照してください。

引数
[in]vデータセットの変数の中で、補完モデルを変更するものを指定します。MODELマクロを使って指定してください。
[in]dValue現在のセッション時間における変数の値を指定します。
[in]dRateOfChange現在のセッション時間における変数の変化の割合をミリ秒単位で指定します。
[in]dAcceleration現在のセッション時間における変数の加速度を、ミリ秒の二乗の単位で指定します。
[in]tTimestamp現在のセッション時間を指定します(デフォルト引数として指定されます)。
参照
IndicateContinuityBreak
void nn::nex::DataSet::SetModel ( PHBDRVar_qInt32 &  v,
qReal  dValue,
qReal  dRateOfChange,
qReal  dAcceleration,
Time  tTimestamp = GetTimestamp() 
)

複製マスターを通して新しい補完モデルをセットします。

※この関数は、DataSetクラスが提供する関数ではありません。 DDL(データ定義言語)宣言に、このデータセットがextrapolation_filterプロパティを持つように 指示されたときのみ、DDLコンパイラがこの関数のためのコードを生成します。

この関数は、データセットの値が突然変化したときに複製マスターによって呼び出され、 システムに対し突然の変更があったということを通知します。 連続性が打ち切られたことを示すCONTINUITY_BREAK_UPDATED_MODELフラグとともに使われます。 この関数は、誤った補完情報を一時的に訂正するために利用されます。

ゲーム中のボールの位置について推定航法(パケットのレイテンシなどを考慮して値を補完する機能)が有効である場合、 ボールが壁にぶつかって跳ね返ると、デュプリカではボールが壁の奥にめり込んで表示されてしまうようなことが起こります。 SetModel()は、一時的にデュプリカのモデルを調整して、当たり判定への影響に対する計算を行います。 たとえば、もしもCONTINUITY_BREAK_TELEPORTをシグナルするためにIndicateContinuityBreak() を使っていて、 デュプリカはそれ自身の居場所を失って新しい位置へ(補完なしに)即座に移動してしまいます。 しかし、ボールは次の3回の更新を受け取るまで(たいていのゲームの場合2フレーム)の間は同じ位置に残り続けることになります。 SetModel()によって、この2フレームを回復し、デュプリカが瞬間移動後に正しい速度と加速度を即座に与えることが出来ます。

この関数を利用すると以下のエラーがシグナルされることがあります。

  • 補完機能が有効になっていないデータセットでこの関数が呼び出された場合、SYSTEMERROR_GEN_INVALID_OPERATIONがシグナルされます。
  • デュプリカ(DuplicatedObject::IsADuplica())がこの関数を呼び出した場合、SYSTEMERROR_OBJDUP_INVALID_ON_DUPLICAがシグナルされます。

この機能について詳しくはNEXプログラミングマニュアルも参照してください。

引数
[in]vデータセットの変数の中で、補完モデルを変更するものを指定します。MODELマクロを使って指定してください。
[in]dValue現在のセッション時間における変数の値を指定します。
[in]dRateOfChange現在のセッション時間における変数の変化の割合をミリ秒単位で指定します。
[in]dAcceleration現在のセッション時間における変数の加速度を、ミリ秒の二乗の単位で指定します。
[in]tTimestamp現在のセッション時間を指定します(デフォルト引数として指定されます)。
参照
IndicateContinuityBreak
void nn::nex::DataSet::SetLocalCorrection ( PHBDRVar_qReal &  v,
qReal  dValue,
qReal  dRateOfChange,
qReal  dAcceleration,
Time  tTimestamp = GetTimestamp() 
)

デュプリカに対してローカルな新しい補完モデルを設定します。

※この関数は、DataSetクラスが提供する関数ではありません。 DDL(データ定義言語)宣言に、このデータセットがextrapolation_filterプロパティを持つように 指示されたときのみ、DDLコンパイラがこの関数のためのコードを生成します。

この関数は個人のデュプリカ(DuplicatedObject::IsADuplica)に対してのみ実行できます。 この関数は、誤った補完情報を一時的に訂正することが出来ます。 たとえば、ゲーム中のボールが壁にあたって跳ね返った場合、ネットワーク遅延によって デュプリカのボールの位置の補完によって壁にめり込んだ状態で描画されてしまうことがあります。 このSetLocalCorrection()は一時的に個人のデュプリカに対して 当たり判定計算の影響を適用するために補完モデルを調整使うことが出来ます。

複製マスターからの更新情報を無視して、次に複製マスターから2回の更新信号を受け取るまで ローカルの補完モデルを元に補完を実行します。複製マスターから2回の更新を受け取ったら、 システムを通じた補完を再開します。

この関数は以下のエラーをシグナルすることがあります。

  • このデータセットで補完機能が有効でないとき、SYSTEMERROR_GEN_INVALID_OPERATIONがシグナルされます。
  • この関数が複製マスター(DuplicatedObject::IsADuplicationMaster())で実行された場合、SYSTEMERROR_OBJDUP_INVALID_ON_MASTERがシグナルされます。
引数
[in]vデータセットの変数の中で、補完モデルを変更するものを指定します。MODELマクロを使って指定してください。
[in]dValue現在のセッション時間における変数の値を指定します。
[in]dRateOfChange現在のセッション時間における変数の変化の割合をミリ秒単位で指定します。
[in]dAcceleration現在のセッション時間における変数の加速度を、ミリ秒の二乗の単位で指定します。
[in]tTimestamp現在のセッション時間を指定します(デフォルト引数として指定されます)。
参照
IndicateContinuityBreak
void nn::nex::DataSet::SetLocalCorrection ( PHBDRVar_qReal &  v,
qReal  dValue,
qReal  dRateOfChange,
qReal  dAcceleration,
Time  tTimestamp = GetTimestamp() 
)

デュプリカに対してローカルな新しい補完モデルを設定します。

※この関数は、DataSetクラスが提供する関数ではありません。 DDL(データ定義言語)宣言に、このデータセットがextrapolation_filterプロパティを持つように 指示されたときのみ、DDLコンパイラがこの関数のためのコードを生成します。

この関数は個人のデュプリカ(DuplicatedObject::IsADuplica)に対してのみ実行できます。 この関数は、誤った補完情報を一時的に訂正することが出来ます。 たとえば、ゲーム中のボールが壁にあたって跳ね返った場合、ネットワーク遅延によって デュプリカのボールの位置の補完によって壁にめり込んだ状態で描画されてしまうことがあります。 このSetLocalCorrection()は一時的に個人のデュプリカに対して 当たり判定計算の影響を適用するために補完モデルを調整使うことが出来ます。

複製マスターからの更新情報を無視して、次に複製マスターから2回の更新信号を受け取るまで ローカルの補完モデルを元に補完を実行します。複製マスターから2回の更新を受け取ったら、 システムを通じた補完を再開します。

この関数は以下のエラーをシグナルすることがあります。

  • このデータセットで補完機能が有効でないとき、SYSTEMERROR_GEN_INVALID_OPERATIONがシグナルされます。
  • この関数が複製マスター(DuplicatedObject::IsADuplicationMaster())で実行された場合、SYSTEMERROR_OBJDUP_INVALID_ON_MASTERがシグナルされます。
引数
[in]vデータセットの変数の中で、補完モデルを変更するものを指定します。MODELマクロを使って指定してください。
[in]dValue現在のセッション時間における変数の値を指定します。
[in]dRateOfChange現在のセッション時間における変数の変化の割合をミリ秒単位で指定します。
[in]dAcceleration現在のセッション時間における変数の加速度を、ミリ秒の二乗の単位で指定します。
[in]tTimestamp現在のセッション時間を指定します(デフォルト引数として指定されます)。
参照
IndicateContinuityBreak
void nn::nex::DataSet::SetLocalCorrection ( PHBDRVar_qInt32 &  v,
qReal  dValue,
qReal  dRateOfChange,
qReal  dAcceleration,
Time  tTimestamp = GetTimestamp() 
)

デュプリカに対してローカルな新しい補完モデルを設定します。

※この関数は、DataSetクラスが提供する関数ではありません。 DDL(データ定義言語)宣言に、このデータセットがextrapolation_filterプロパティを持つように 指示されたときのみ、DDLコンパイラがこの関数のためのコードを生成します。

この関数は個人のデュプリカ(DuplicatedObject::IsADuplica)に対してのみ実行できます。 この関数は、誤った補完情報を一時的に訂正することが出来ます。 たとえば、ゲーム中のボールが壁にあたって跳ね返った場合、ネットワーク遅延によって デュプリカのボールの位置の補完によって壁にめり込んだ状態で描画されてしまうことがあります。 このSetLocalCorrection()は一時的に個人のデュプリカに対して 当たり判定計算の影響を適用するために補完モデルを調整使うことが出来ます。

複製マスターからの更新情報を無視して、次に複製マスターから2回の更新信号を受け取るまで ローカルの補完モデルを元に補完を実行します。複製マスターから2回の更新を受け取ったら、 システムを通じた補完を再開します。

この関数は以下のエラーをシグナルすることがあります。

  • このデータセットで補完機能が有効でないとき、SYSTEMERROR_GEN_INVALID_OPERATIONがシグナルされます。
  • この関数が複製マスター(DuplicatedObject::IsADuplicationMaster())で実行された場合、SYSTEMERROR_OBJDUP_INVALID_ON_MASTERがシグナルされます。
引数
[in]vデータセットの変数の中で、補完モデルを変更するものを指定します。MODELマクロを使って指定してください。
[in]dValue現在のセッション時間における変数の値を指定します。
[in]dRateOfChange現在のセッション時間における変数の変化の割合をミリ秒単位で指定します。
[in]dAcceleration現在のセッション時間における変数の加速度を、ミリ秒の二乗の単位で指定します。
[in]tTimestamp現在のセッション時間を指定します(デフォルト引数として指定されます)。
参照
IndicateContinuityBreak
qByte nn::nex::DataSet::GetRevision ( )

受信したデータセットのリビジョンを取得します。

※この関数は、DataSetクラスが提供する関数ではありません。 DDLコンパイラがこの関数のためのコードを生成します。

戻り値
リビジョン番号
qBool nn::nex::DataSet::UpdateIsRequired ( const DuplicatedObject pDO,
const Station pStation 
)

データセットを更新する対象のステーションを選択します。

DDL(データ定義言語)宣言において、データセットの更新ポリシーにstation_filterがつけられている場合、 データセットを更新しようとする度にシステム側からこの関数が呼び出され、 どのステーションに対して更新を行うかどうかを選択することが出来ます。 station_filterによって更新を行うステーションを絞り込むことは二つの意味があります。

ひとつは、更新を行うステーションを絞り込むことによってネットワーク帯域を稼いで 最適化することが出来ます。たとえば、とても遠くにいるオブジェクトは そのオブジェクトの正確な位置や振る舞いなどが分からなくても問題にならないことがありますので、 そのような伝送をカットすることで帯域幅を節約することが出来ます。

もうひとつは、セキュリティに対する理由です。 たとえば、このデータセットが、公開情報なのか、一部にのみ公開されている情報なのか、 公開されていない情報なのかによって(あるいは、アプリケーションによってはもっと別の状態があるかもしれません)、 すべてのステーションに対して更新処理を行うべきかそうでないのかを決定することが出来ます。 たとえば、カードゲームにおける手札の状態や、戦略ゲームにおけるステルス戦闘機の位置などは すべてのプレイヤーに公開されませんし、ロールプレイングゲームでプレイヤーが持っているアイテムは、 そのプレイヤーか、そのプレイヤーの同一のギルドに所属するメンバーのステーションのみが 知ることができます(※この例はゲームの仕様により変化しますので必ずしもそうであるとは限りません)。

引数
[in]pDOこのデータセットに関連付けられている複製オブジェクトへのポインタが渡されます。
[in]pStationデータセットを更新しようとしているステーションへのポインタが渡されます。


戻り値一覧:

true このデータセットを、pStationにおいて更新するとき返ります(デフォルトでは常にtrueが返ります)。

false このデータセットを、pStationにおいて更新しないときに返ります。

qBool nn::nex::DataSet::ReliableUpdate ( ) const

リライアブルチャンネルを利用してデータセットを更新するかそうでないかを返します。

データセットは、リライアブル(到達保証のある)チャンネルか、 アンリライアブル(到達保証のない)チャンネルを通じて伝送されます。 到達保証のないアンリライアブルチャンネルは、ネットワークの途中でパケットを喪失すると、 その内容は相手側に二度と伝わらなくなります。 このデータセットが利用するチャンネルは、DDL(データ定義言語)にて宣言された このデータセットに対する更新ポリシーによって与えられます。 デフォルトでは、更新はリライアブル(到達保証のある)チャンネルを利用します。 DDLファイルにunreliableプロパティがつけられた場合、アンリライアブル(到達保証のない)チャンネルが利用されます。

一般的に、リライアブル通信は伝送コストが高く、アンリライアブル通信は伝送コストが高くありません。 リライアブル通信は更新頻度が低いが確実に伝送されなければならない情報 (たとえば、プレイヤーの体力や持っているアイテムなど)に対して利用し、 アンリライアブル通信は更新頻度が高いが、確実に伝わらなくても大きな支障をきたさない情報 (たとえば、プレイヤーの座標や向いている方向など)に対して利用してください。


戻り値一覧:

true このデータセットがリライアブルチャンネルを通じて更新されるときに返ります。

false このデータセットがアンリライアブルチャンネルを通じて更新されるときに返ります。

void nn::nex::DataSet::OperationBegin ( const DOOperation pOperation)

システム側から、DOOperation がデータセットに対して影響を与えるときに呼び出されます。

この関数は、それぞれの複製オブジェクトに対するシステム操作(DOOperation)が実行されはじめたときに システム側から呼び出されます。実行される複製オブジェクトシステム操作は、 AddToStoreOperation , RemoveFromStoreOperation , ChangeMasterStationOperation , ChangeDupSetOperation , UpdateDataSetOperation のうちのいずれかです。

引数
[in]pOperation実行が開始されようとしている複製オブジェクトシステム操作が指定されます。
参照
OperationEnd, DuplicatedObject::OperationBegin
void nn::nex::DataSet::OperationEnd ( const DOOperation pOperation)

システム側から、DOOperation がデータセットに対して影響を与えたあとに呼び出されます。

この関数は、それぞれの複製オブジェクトシステム操作(DOOperation)が実行されたあとで、 システム側から呼び出されます。実行される複製オブジェクトシステム操作は、 AddToStoreOperation , RemoveFromStoreOperation , ChangeMasterStationOperation , ChangeDupSetOperation , UpdateDataSetOperation のうちのいずれかです。

引数
[in]pOperation実行された複製オブジェクトシステム操作が指定されます。
参照
OperationBegin, DuplicatedObject::OperationEnd
static PHBDRParameters* nn::nex::DataSet::GetPHBDRParameters ( )
static

このデータセットクラスに対する推定航法パラメータへのポインタを取得します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。

PHBDRParametersの値は、推定航法アルゴリズムをチューニングするために使われます。 このデータセットが推定航法を利用しない設定の場合、 SYSTEMERROR_GEN_INVALID_OPERATIONがシグナルされます。

戻り値
このデータセットに対する推定航法パラメータが返ります。
戻り値一覧:
NULL エラーが発生したときに返ります。
static ErrorToleranceFunction* nn::nex::DataSet::GetErrorToleranceFunction ( )
static

このデータセットに対するErrorToleranceFunctionへのポインタを取得します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。

戻り値
このデータセットに対するErrorToleranceFunctionへのポインタが返ります。
void nn::nex::DataSet::RequestUpdate ( )

次の更新のときは確実に実行する必要があることを通知します。

※DDL(データ定義言語)宣言にて、このデータセットにupon_request_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。

複製オブジェクトで推定航法を利用する場合、推定されているデータの 予測モデルを維持するために毎フレームDuplicatedObject::Update() を実行する必要があります。 upon_request_filterプロパティがセットされていると、DuplicatedObject::Update() を実行しても 必ずしもネットワークメッセージが作成されなくなります。 DuplicatedObject::Update() を実行したときに 事前にこの関数を呼び出しておくことで確実に次の更新時にメッセージを送るようになります。

void nn::nex::DataSet::IndicateContinuityBreak ( qByte  byBreak,
qBool  bReliable = true 
)

データセットが非連続的な方法で値が変更されたことを通知します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。

データセットが非連続な方法で値が変更されたことを通知すると、 システムはよりスムーズな推定航法を行うことが出来ます。 このような、非連続的な値の変化は、ゲーム中に存在するワープゾーンに プレイヤーが入って瞬間移動を行ったり、あるいはゲーム中に出てくるボールが 壁に当たって跳ね返ったりするときに発生します。

このデータセットの値が連続でスムーズに変化していくとき、 更新メッセージは、推定誤差が一定値以上たまった場合にのみ送られます (詳しくはNEXプログラミングマニュアルの推定航法の章も参照してください)。 非連続な値の変化を通知すると、次のいくつかのDuplicatedObject::Update() の 呼び出しは、推定誤差を考えず、常にデュプリカに更新に関する情報を送信します。 この更新情報は、DDLプロパティに設定されたデータセット更新の送信方法が アンリライアブル(ネットワークパケットの到達保証のない)チャンネルを利用するか リライアブル(ネットワークパケットの到達保証のある)チャンネルを利用するかの設定にかかわらず 常にリライアブルチャンネルを利用して送信されます。

IndicateContinuityBreak()を呼び出したら、次のいくつかのDuplicatedObject::Update() 呼び出しに 影響を与えます。そのため、IndicateContinuityBreak()は複製マスター (DuplicatedObject::IsADuplicationMaster())に所属するデータセットに対して呼び出して初めて意味をなします。 DuplicatedObject::Update() は複製マスター以外が呼び出すことは出来ません。

extrapolation_filterがDDLプロパティに定義されていないときに、SYSTEMERROR_GEN_INVALID_OPERATIONがシグナルされます。 byBreakで指定された値が無効なものであるとき、SYSTEMERROR_GEN_OUT_OF_RANGEがシグナルされます。 この関数が、デュプリカ(DuplicatedObject::IsADuplica)に所属するデータセットに対して 呼び出された場合、SYSTEMERROR_OBJDUP_INVALID_ON_DUPLICAがシグナルされます。

引数
[in]byBreakどのように連続性が失われたのかを指定します。
CONTINUITY_BREAK_TELEPORT は、物体が瞬間移動したことをシステムに通知します。
CONTINUITY_BREAK_STOP は、物体が急に停止したことをシステムに通知します。
CONTINUITY_BREAK_SUDDEN_CHANGE は、物体の動きが突然変化したことをシステムに通知します。
[in]bReliableデータセットの変化をリライアブル通信で送信するかどうかを指定します。
trueだとリライアブル送信、falseだとアンリライアブル送信を行います。
参照
SetModel
static void nn::nex::DataSet::SetMaximumUpdateDelay ( TimeInterval  tiMaximumUpdateDelay)
static

データセットの最大更新遅延時間を設定します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。 DataSet::SetMaximumUpdateDelay()は利用することが出来ません。 宣言したデータセットクラスに対してSetMaximumUpdateDelayを利用してください。

推定航法を使うデータセットがアンリライアブル(ネットワークパケットの到達保証のないチャンネル)を 利用するとき、メッセージパケットが途中で喪失すると、データセットの値が著しい変化を起こす場合があります。 最大更新遅延はこのような問題を、ローカルの推定モデルが正しかったとしても 一定間隔でメッセージを相手のステーションに対して送信していくことによって解決します。 データセットの更新がリライアブル(ネットワークパケットの到達保証のあるチャンネル)を 利用しているとき、最大更新遅延設定は効果を発揮しません。

この最大更新遅延はデータセットに対する更新間隔の許容できる最大の時間です。 もしデータセットが最大遅延時間の間、更新を行わなかった場合、 前回の更新時から値がなにも変わっていなかったとしても 相手先のステーションに自動的にメッセージが送信されます。

この最大遅延時間は静的(static)な値であり、同一のデータセットは 異なるインスタンスでも同一の最大遅延時間を持ちます。 ただし、データセットが異なれば、違う最大遅延時間を持ちます。

引数
[in]tiMaximumUpdateDelay設定する最大遅延時間を指定します。デフォルト値はDEFAULT_MAXIMUM_UPDATE_DELAYです。 NO_MAXIMUM_UPDATE_DELAYは特殊な値であり、最大遅延時間によってはメッセージが自動的に送られないことを意味します。
参照
GetMaximumUpdateDelay
static TimeInterval nn::nex::DataSet::GetMaximumUpdateDelay ( )
static

データセットの最大更新遅延時間を取得します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。 DataSet::GetMaximumUpdateDelay()は利用することが出来ません。 宣言したデータセットクラスに対してGetMaximumUpdateDelayを利用してください。

推定航法を使うデータセットがアンリライアブル(ネットワークパケットの到達保証のないチャンネル)を 利用するとき、メッセージパケットが途中で喪失すると、データセットの値が著しい変化を起こす場合があります。 最大更新遅延はこのような問題を、ローカルの推定モデルが正しかったとしても 一定間隔でメッセージを相手のステーションに対して送信していくことによって解決します。 データセットの更新がリライアブル(ネットワークパケットの到達保証のあるチャンネル)を 利用しているとき、最大更新遅延設定は効果を発揮しません。

この最大更新遅延はデータセットに対する更新間隔の許容できる最大の時間です。 もしデータセットが最大遅延時間の間、更新を行わなかった場合、 前回の更新時から値がなにも変わっていなかったとしても 相手先のステーションに自動的にメッセージが送信されます。

この最大遅延時間は静的(static)な値であり、同一のデータセットは 異なるインスタンスでも同一の最大遅延時間を持ちます。 ただし、データセットが異なれば、違う最大遅延時間を持ちます。

戻り値
最大更新遅延時間を返します。
static void nn::nex::DataSet::SetMinimumUpdateDelay ( TimeInterval  tiMinimumUpdateDelay)
static

このデータセットの最小更新遅延時間を設定します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。 DataSet::SetMinimumUpdateDelay()は利用することが出来ません。 宣言したデータセットクラスに対してSetMinimumUpdateDelayを利用してください。

推定航法を利用するデータセットに定義された誤差許容(ErrorToleranceFunction)が 低いとき、頻繁に更新を行うとネットワーク帯域幅を大きく圧迫することがあります。 この最小遅延時間を設定することで、アプリケーション開発者は データセットが更新される最大の頻度を設定することが出来ます。

最小更新遅延時間は、データセットに許容される最小の更新時間です。 データセットは、この最小更新遅延時間が経過するまでは更新されることはありません。 もしもDuplicatedObject::Update() がここで設定された時間よりも 頻繁に呼び出されたときは、DuplicatedObject::Update() の呼び出しがされなかったことになります。 ただし、連続性の切断(IndicateContinuityBreak() )が起こった場合はこの限りではありません。

この最小遅延時間は静的(static)な値であり、同一のデータセットは 異なるインスタンスでも同一の最小遅延時間を持ちます。 ただし、データセットが異なれば、違う最小遅延時間を持ちます。

引数
[in]tiMinimumUpdateDelay設定する最小更新遅延時間を指定します。 デフォルトはDEFAULT_MINIMUM_UPDATE_DELAYになります。 NO_MINIMUM_UPDATE_DELAYを指定すると最小時間によって更新が破棄されないことを示します。
参照
GetMinimumUpdateDelay
static TimeInterval nn::nex::DataSet::GetMinimumUpdateDelay ( )
static

このデータセットの最小更新遅延時間を取得します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。 DataSet::GetMinimumUpdateDelay()は利用することが出来ません。 宣言したデータセットクラスに対してGetMinimumUpdateDelayを利用してください。

推定航法を利用するデータセットに定義された誤差許容(ErrorToleranceFunction)が 低いとき、頻繁に更新を行うとネットワーク帯域幅を大きく圧迫することがあります。 この最小遅延時間を設定することで、アプリケーション開発者は データセットが更新される最大の頻度を設定することが出来ます。

最小更新遅延時間は、データセットに許容される最小の更新時間です。 データセットは、この最小更新遅延時間が経過するまでは更新されることはありません。 もしもDuplicatedObject::Update() がここで設定された時間よりも 頻繁に呼び出されたときは、DuplicatedObject::Update() の呼び出しがされなかったことになります。 ただし、連続性の切断(IndicateContinuityBreak() )が起こった場合はこの限りではありません。

この最小遅延時間は静的(static)な値であり、同一のデータセットは 異なるインスタンスでも同一の最小遅延時間を持ちます。 ただし、データセットが異なれば、違う最小遅延時間を持ちます。

戻り値
設定されている最小更新遅延時間が返ります。
qDouble nn::nex::DataSet::PredictValue ( PHBDRVar_qDouble &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

推定航法を行っている値を、現在の情報に基づいて予測して取得します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。

この関数はデュプリカ(DuplicatedObject::IsADuplica())のみが利用できます。 この関数を呼び出すと、指定された時間における、前もって予測されたデータセット(与えられたMODELとして)の 値を得ることが出来ます。推定航法の事前予測は現在のデータセットの値に基づいて 行われます。事前予測は複製マスター送られてくる新しい情報によって変化していきます。

この関数が、複製マスター(DuplicatedObject::IsADuplicationMaster())に 所属するデータセットで実行された場合、SYSTEMERROR_OBJDUP_INVALID_ON_MASTERがシグナルされます。 この関数が、推定航法を利用していないデータセットで実行された場合、 SYSTEMERROR_GEN_INVALID_OPERATIONがシグナルされます。

引数
[in]v推定値を取得するデータセットの変数を指定します。これはMODELマクロによって取得できます。
[in]tPredictionTime推定値を取得する時刻を指定します。デフォルトでは現在のセッション時間になります。
戻り値
予測値が返ります。
参照
SessionClock::GetTime()
qFloat nn::nex::DataSet::PredictValue ( PHBDRVar_qFloat &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

推定航法を行っている値を、現在の情報に基づいて予測して取得します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。

この関数はデュプリカ(DuplicatedObject::IsADuplica())のみが利用できます。 この関数を呼び出すと、指定された時間における、前もって予測されたデータセット(与えられたMODELとして)の 値を得ることが出来ます。推定航法の事前予測は現在のデータセットの値に基づいて 行われます。事前予測は複製マスター送られてくる新しい情報によって変化していきます。

この関数が、複製マスター(DuplicatedObject::IsADuplicationMaster())に 所属するデータセットで実行された場合、SYSTEMERROR_OBJDUP_INVALID_ON_MASTERがシグナルされます。 この関数が、推定航法を利用していないデータセットで実行された場合、 SYSTEMERROR_GEN_INVALID_OPERATIONがシグナルされます。

引数
[in]v推定値を取得するデータセットの変数を指定します。これはMODELマクロによって取得できます。
[in]tPredictionTime推定値を取得する時刻を指定します。デフォルトでは現在のセッション時間になります。
戻り値
予測値が返ります。
参照
SessionClock::GetTime()
qFloat nn::nex::DataSet::PredictValue ( PHBDRVar_qInt32 &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

推定航法を行っている値を、現在の情報に基づいて予測して取得します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。

この関数はデュプリカ(DuplicatedObject::IsADuplica())のみが利用できます。 この関数を呼び出すと、指定された時間における、前もって予測されたデータセット(与えられたMODELとして)の 値を得ることが出来ます。推定航法の事前予測は現在のデータセットの値に基づいて 行われます。事前予測は複製マスター送られてくる新しい情報によって変化していきます。

この関数が、複製マスター(DuplicatedObject::IsADuplicationMaster())に 所属するデータセットで実行された場合、SYSTEMERROR_OBJDUP_INVALID_ON_MASTERがシグナルされます。 この関数が、推定航法を利用していないデータセットで実行された場合、 SYSTEMERROR_GEN_INVALID_OPERATIONがシグナルされます。

引数
[in]v推定値を取得するデータセットの変数を指定します。これはMODELマクロによって取得できます。
[in]tPredictionTime推定値を取得する時刻を指定します。デフォルトでは現在のセッション時間になります。
戻り値
予測値が返ります。
参照
SessionClock::GetTime()
qFloat nn::nex::DataSet::PredictValue ( PHBDRVar_qInt16 &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

推定航法を行っている値を、現在の情報に基づいて予測して取得します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。

この関数はデュプリカ(DuplicatedObject::IsADuplica())のみが利用できます。 この関数を呼び出すと、指定された時間における、前もって予測されたデータセット(与えられたMODELとして)の 値を得ることが出来ます。推定航法の事前予測は現在のデータセットの値に基づいて 行われます。事前予測は複製マスター送られてくる新しい情報によって変化していきます。

この関数が、複製マスター(DuplicatedObject::IsADuplicationMaster())に 所属するデータセットで実行された場合、SYSTEMERROR_OBJDUP_INVALID_ON_MASTERがシグナルされます。 この関数が、推定航法を利用していないデータセットで実行された場合、 SYSTEMERROR_GEN_INVALID_OPERATIONがシグナルされます。

引数
[in]v推定値を取得するデータセットの変数を指定します。これはMODELマクロによって取得できます。
[in]tPredictionTime推定値を取得する時刻を指定します。デフォルトでは現在のセッション時間になります。
戻り値
予測値が返ります。
参照
SessionClock::GetTime()
qFloat nn::nex::DataSet::PredictValue ( PHBDRVar_qInt8 &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

推定航法を行っている値を、現在の情報に基づいて予測して取得します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。

この関数はデュプリカ(DuplicatedObject::IsADuplica())のみが利用できます。 この関数を呼び出すと、指定された時間における、前もって予測されたデータセット(与えられたMODELとして)の 値を得ることが出来ます。推定航法の事前予測は現在のデータセットの値に基づいて 行われます。事前予測は複製マスター送られてくる新しい情報によって変化していきます。

この関数が、複製マスター(DuplicatedObject::IsADuplicationMaster())に 所属するデータセットで実行された場合、SYSTEMERROR_OBJDUP_INVALID_ON_MASTERがシグナルされます。 この関数が、推定航法を利用していないデータセットで実行された場合、 SYSTEMERROR_GEN_INVALID_OPERATIONがシグナルされます。

引数
[in]v推定値を取得するデータセットの変数を指定します。これはMODELマクロによって取得できます。
[in]tPredictionTime推定値を取得する時刻を指定します。デフォルトでは現在のセッション時間になります。
戻り値
予測値が返ります。
参照
SessionClock::GetTime()
qDouble nn::nex::DataSet::PredictRateOfChange ( PHBDRVar_qDouble &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

推定航法を利用している変数の変化の割合を現在の情報に基づいて予測して取得します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。

この関数は、推定航法を利用している変数のミリ秒単位ごとの変化の割合を 現在の情報と推定モデルと与えられた時刻において予測します。 この関数はデュプリカ(DuplicatedObject::IsADuplica())のみが利用できます。 推定航法の事前予測は現在のデータセットの値に基づいて 行われます。事前予測は複製マスター送られてくる新しい情報によって変化していきます。

引数
[in]v推定値を取得するデータセットの変数を指定します。これはMODELマクロによって取得できます。
[in]tPredictionTime推定値を取得する時刻を指定します。デフォルトでは現在のセッション時間になります。
戻り値
予測された変化の割合が返ります。
参照
SessionClock::GetTime()
qFloat nn::nex::DataSet::PredictRateOfChange ( PHBDRVar_qFloat &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

推定航法を利用している変数の変化の割合を現在の情報に基づいて予測して取得します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。

この関数は、推定航法を利用している変数のミリ秒単位ごとの変化の割合を 現在の情報と推定モデルと与えられた時刻において予測します。 この関数はデュプリカ(DuplicatedObject::IsADuplica())のみが利用できます。 推定航法の事前予測は現在のデータセットの値に基づいて 行われます。事前予測は複製マスター送られてくる新しい情報によって変化していきます。

引数
[in]v推定値を取得するデータセットの変数を指定します。これはMODELマクロによって取得できます。
[in]tPredictionTime推定値を取得する時刻を指定します。デフォルトでは現在のセッション時間になります。
戻り値
予測された変化の割合が返ります。
参照
SessionClock::GetTime()
qFloat nn::nex::DataSet::PredictRateOfChange ( PHBDRVar_qInt32 &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

推定航法を利用している変数の変化の割合を現在の情報に基づいて予測して取得します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。

この関数は、推定航法を利用している変数のミリ秒単位ごとの変化の割合を 現在の情報と推定モデルと与えられた時刻において予測します。 この関数はデュプリカ(DuplicatedObject::IsADuplica())のみが利用できます。 推定航法の事前予測は現在のデータセットの値に基づいて 行われます。事前予測は複製マスター送られてくる新しい情報によって変化していきます。

引数
[in]v推定値を取得するデータセットの変数を指定します。これはMODELマクロによって取得できます。
[in]tPredictionTime推定値を取得する時刻を指定します。デフォルトでは現在のセッション時間になります。
戻り値
予測された変化の割合が返ります。
参照
SessionClock::GetTime()
qFloat nn::nex::DataSet::PredictRateOfChange ( PHBDRVar_qInt16 &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

推定航法を利用している変数の変化の割合を現在の情報に基づいて予測して取得します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。

この関数は、推定航法を利用している変数のミリ秒単位ごとの変化の割合を 現在の情報と推定モデルと与えられた時刻において予測します。 この関数はデュプリカ(DuplicatedObject::IsADuplica())のみが利用できます。 推定航法の事前予測は現在のデータセットの値に基づいて 行われます。事前予測は複製マスター送られてくる新しい情報によって変化していきます。

引数
[in]v推定値を取得するデータセットの変数を指定します。これはMODELマクロによって取得できます。
[in]tPredictionTime推定値を取得する時刻を指定します。デフォルトでは現在のセッション時間になります。
戻り値
予測された変化の割合が返ります。
参照
SessionClock::GetTime()
qFloat nn::nex::DataSet::PredictRateOfChange ( PHBDRVar_qInt8 &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

推定航法を利用している変数の変化の割合を現在の情報に基づいて予測して取得します。

※DDL(データ定義言語)宣言にて、このデータセットにextrapolation_filterプロパティが ついているときのみ、DDLコンパイラによってこの関数が生成されます。

この関数は、推定航法を利用している変数のミリ秒単位ごとの変化の割合を 現在の情報と推定モデルと与えられた時刻において予測します。 この関数はデュプリカ(DuplicatedObject::IsADuplica())のみが利用できます。 推定航法の事前予測は現在のデータセットの値に基づいて 行われます。事前予測は複製マスター送られてくる新しい情報によって変化していきます。

引数
[in]v推定値を取得するデータセットの変数を指定します。これはMODELマクロによって取得できます。
[in]tPredictionTime推定値を取得する時刻を指定します。デフォルトでは現在のセッション時間になります。
戻り値
予測された変化の割合が返ります。
参照
SessionClock::GetTime()
static void nn::nex::DataSet::SetLoopbackDelay ( TimeInterval  tiLoopbackDelay)
static

datasetのループバック遅延を指定します。

引数
[in]tiLoopbackDelayループバック遅延時間をミリ秒単位で設定します。デフォルト値は、0msecです。
参照
GetLoopbackDelay()
static TimeInterval nn::nex::DataSet::GetLoopbackDelay ( )
static

datasetのループバック遅延を取得します。

戻り値
ループバック遅延時間をミリ秒単位で取得します。
参照
SetLoopbackDelay()
void nn::nex::DataSet::SetLoopbackSamplingInterval ( TimeInterval  tiSamplingInterval)

ループバックのサンプリング間隔を設定します。

すべての値をループバックのためにキューに保管するのではなく、 サンプリング値が保管されます。 保存された値は、SetLoopbackDelay後に反映されます。

引数
[in]tiSamplingIntervalサンプリング間隔をミリ秒単位で設定します。 デフォルト値は、50msecで、1秒あたり20ポイントのサンプリングとなります。
参照
GetLoopbackSamplingInterval()
static TimeInterval nn::nex::DataSet::GetLoopbackSamplingInterval ( )
static

ループバックのサンプリング間隔を取得します。

戻り値
サンプリング間隔をミリ秒単位で取得します。
参照
SetLoopbackSamplingInterval()
void nn::nex::DataSet::UpdateLoopback ( )

datasetの現在の値で、LOOPBACKMODELを更新します。

DO マスターからのみ呼び出し可能です。 LOOPBACKMODELの再計算には、RefreshLoopback()を呼び出します。

参照
RefreshLoopback()
qBool nn::nex::DataSet::RefreshLoopback ( )

更新された値で、LOOPBACKMODELを再計算します。

戻り値
true 再計算が成功した場合 false 再計算が失敗した場合。

DO マスターからのみ呼び出し可能です。 UpdateLoopback()によるLOOPBACKMODELの更新後に呼び出します。

参照
UpdateLoopback()
qDouble nn::nex::DataSet::PredictLoopbackValue ( PHBDRVar_qDouble &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

ループバックモデルから、指定された時間のループバックされた値を予測します。

m_dsPosition.PredictLoopbackValue(LOOPBACKMODEL(m_dsPosition,m_fX))というように、LOOPBACKMODELマクロを利用します。

引数
[in]vdatasetの推定値を指定します。LOOPBACKMODELマクロを使って指定します。
[in]tPredictionTime予測する時点の時間を指定します。指定されないと、現在の時間となります。
qFloat nn::nex::DataSet::PredictLoopbackValue ( PHBDRVar_qFloat &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

ループバックモデルから、指定された時間のループバックされた値を予測します。

m_dsPosition.PredictLoopbackValue(LOOPBACKMODEL(m_dsPosition,m_fX))というように、LOOPBACKMODELマクロを利用します。

引数
[in]vdatasetの推定値を指定します。LOOPBACKMODELマクロを使って指定します。
[in]tPredictionTime予測する時点の時間を指定します。指定されないと、現在の時間となります。
qFloat nn::nex::DataSet::PredictLoopbackValue ( PHBDRVar_qInt32 &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

ループバックモデルから、指定された時間のループバックされた値を予測します。

m_dsPosition.PredictLoopbackValue(LOOPBACKMODEL(m_dsPosition,m_fX))というように、LOOPBACKMODELマクロを利用します。

引数
[in]vdatasetの推定値を指定します。LOOPBACKMODELマクロを使って指定します。
[in]tPredictionTime予測する時点の時間を指定します。指定されないと、現在の時間となります。
qFloat nn::nex::DataSet::PredictLoopbackValue ( PHBDRVar_qInt16 &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

ループバックモデルから、指定された時間のループバックされた値を予測します。

m_dsPosition.PredictLoopbackValue(LOOPBACKMODEL(m_dsPosition,m_fX))というように、LOOPBACKMODELマクロを利用します。

引数
[in]vdatasetの推定値を指定します。LOOPBACKMODELマクロを使って指定します。
[in]tPredictionTime予測する時点の時間を指定します。指定されないと、現在の時間となります。
qFloat nn::nex::DataSet::PredictLoopbackValue ( PHBDRVar_qInt8 &  v,
Time  tPredictionTime = SessionClock::GetTime() 
)

ループバックモデルから、指定された時間のループバックされた値を予測します。

m_dsPosition.PredictLoopbackValue(LOOPBACKMODEL(m_dsPosition,m_fX))というように、LOOPBACKMODELマクロを利用します。

引数
[in]vdatasetの推定値を指定します。LOOPBACKMODELマクロを使って指定します。
[in]tPredictionTime予測する時点の時間を指定します。指定されないと、現在の時間となります。
void nn::nex::DataSet::SetSubStreamID ( SubStreamID  subStreamID)

Reliableの送信時で利用するSubStreamIDを指定します。

デフォルトは SubStreamIDDefine::SYSTEMで、システムと共用です。

引数
[in]subStreamID送信するSubStreamID
参照
SubStreamIDDefine, StreamSettings::SetMaxUserReliableSubStreams()
SubStreamID nn::nex::DataSet::GetSubStreamID ( ) const

Reliableの送信時で利用するSubStreamIDを取得します。

デフォルトは SubStreamIDDefine::SYSTEMで、システムと共用です。

戻り値
送信するSubStreamID
参照
SubStreamIDDefine, StreamSettings::SetMaxUserReliableSubStreams()
SubStreamID nn::nex::DataSet::GetRecvSubStreamID ( ) const

Reliableの受信時に利用されたSubStreamIDを取得します。

デフォルトは SubStreamIDDefine::SYSTEMで、システムと共用です。

戻り値
受信時のSubStreamID
参照
SubStreamIDDefine, StreamSettings::SetMaxUserReliableSubStreams()