IInertiaProcessor
COM公式ドキュメント
IInertiaProcessor インターフェースは、Windows タッチにおけるオブジェクトの運動に関する計算を処理します。
メソッド 49
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
InitialOriginX プロパティは、慣性を持つターゲットの水平方向の開始位置を指定します。(Get)
| x | FLOAT* | out | 慣性運動の初期原点 X 座標を受け取る。 |
解説(Remarks)
ユーザーはオブジェクトを操作して、InitialOriginX を弾性境界の外側に設定できます。 InitialOriginX を弾性境界の外側の値に設定すると、例外がスローされます。 ユーザーが原点を境界外に設定できないようにするには、IInertiaProcessor インターフェースに設定する前に InitialOriginX が有効かどうかを確認してください。慣性処理が既に開始されている場合、put_InitialOriginX() を呼び出すと 慣性の状態が初期タイムスタンプにリセットされます。
慣性プロセッサーおよび操作プロセッサーで使用されるすべての位置は相対的です。画面座標を使用したい場合は、 画面座標を操作(または慣性)プロセッサーに渡します。絶対座標を使用したい場合は、 使用しているプロセッサーにそれらを渡します。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
InitialOriginX プロパティは、慣性を持つターゲットの水平方向の開始位置を指定します。(Put)
| x | FLOAT | in | 慣性運動の初期原点 X 座標を指定する。 |
解説(Remarks)
ユーザーはオブジェクトを操作して、InitialOriginX を弾性境界の外側に設定できます。 InitialOriginX を弾性境界の外側の値に設定すると、例外がスローされます。 ユーザーが原点を境界外に設定できないようにするには、IInertiaProcessor インターフェースに設定する前に InitialOriginX が有効かどうかを確認してください。慣性処理が既に開始されている場合、put_InitialOriginX() を呼び出すと 慣性の状態が初期タイムスタンプにリセットされます。
慣性プロセッサーおよび操作プロセッサーで使用されるすべての位置は相対的です。画面座標を使用したい場合は、 画面座標を操作(または慣性)プロセッサーに渡します。絶対座標を使用したい場合は、 使用しているプロセッサーにそれらを渡します。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
InitialOriginY プロパティは、慣性を持つターゲットの垂直方向の開始位置を指定します。(Get)
| y | FLOAT* | out | 慣性運動の初期原点 Y 座標を受け取る。 |
解説(Remarks)
ユーザーはオブジェクトを操作して、InitialOriginY を弾性境界の外側に設定できます。 InitialOriginY を弾性境界の外側の値に設定すると、例外がスローされます。 ユーザーが原点を境界外に設定できないようにするには、IInertiaProcessor インターフェースに設定する前に InitialOriginY が有効かどうかを確認してください。 慣性処理が既に開始されている場合、put_InitialOriginY() を呼び出すと 慣性の状態が初期タイムスタンプにリセットされます。
慣性プロセッサーおよび操作プロセッサーで使用されるすべての位置は相対的です。画面座標を使用したい場合は、 画面座標を操作(または慣性)プロセッサーに渡します。絶対座標を使用したい場合は、 使用しているプロセッサーにそれらを渡します。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
InitialOriginY プロパティは、慣性を持つターゲットの垂直方向の開始位置を指定します。(Put)
| y | FLOAT | in | 慣性運動の初期原点 Y 座標を指定する。 |
解説(Remarks)
ユーザーはオブジェクトを操作して、InitialOriginY を弾性境界の外側に設定できます。 InitialOriginY を弾性境界の外側の値に設定すると、例外がスローされます。 ユーザーが原点を境界外に設定できないようにするには、IInertiaProcessor インターフェースに設定する前に InitialOriginY が有効かどうかを確認してください。 慣性処理が既に開始されている場合、put_InitialOriginY() を呼び出すと 慣性の状態が初期タイムスタンプにリセットされます。
慣性プロセッサーおよび操作プロセッサーで使用されるすべての位置は相対的です。画面座標を使用したい場合は、 画面座標を操作(または慣性)プロセッサーに渡します。絶対座標を使用したい場合は、 使用しているプロセッサーにそれらを渡します。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
InitialVelocityX プロパティは、水平軸方向におけるターゲットオブジェクトの初期の動きを指定します。(Get)
| x | FLOAT* | out | X 方向の初速度を受け取る。 |
解説(Remarks)
慣性処理が既に開始されている場合、InitialVelocityX を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
InitialVelocityX プロパティは、水平軸方向におけるターゲットオブジェクトの初期の動きを指定します。(Put)
| x | FLOAT | in | X 方向の初速度を指定する。 |
解説(Remarks)
慣性処理が既に開始されている場合、InitialVelocityX を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
InitialVelocityY プロパティは、垂直軸方向におけるターゲットオブジェクトの初期の動きを指定します。(Get)
| y | FLOAT* | out | Y 方向の初速度を受け取る。 |
解説(Remarks)
慣性処理が既に開始されている場合、InitialVelocityY を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
InitialVelocityY プロパティは、垂直軸方向におけるターゲットオブジェクトの初期の動きを指定します。(Put)
| y | FLOAT | in | Y 方向の初速度を指定する。 |
解説(Remarks)
慣性処理が既に開始されている場合、InitialVelocityY を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
InitialAngularVelocity プロパティは、動きが始まる時点でのターゲットの回転(角)速度を指定します。(Get)
| velocity | FLOAT* | out | 初期角速度を受け取る。 |
解説(Remarks)
DesiredRotation と DesiredAngularDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。DesiredRotation プロパティを設定すると、API は目的のラジアン数だけ進んだ後にオブジェクトが停止するように DesiredAngularDeceleration プロパティを設定します。 角加速度の単位はラジアンです。
慣性処理が既に開始されている場合、InitialAngularVelocity を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
InitialAngularVelocity プロパティは、動きが始まる時点でのターゲットの回転(角)速度を指定します。(Put)
| velocity | FLOAT | in | 初期角速度を指定する。 |
解説(Remarks)
DesiredRotation と DesiredAngularDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。DesiredRotation プロパティを設定すると、API は目的のラジアン数だけ進んだ後にオブジェクトが停止するように DesiredAngularDeceleration プロパティを設定します。 角加速度の単位はラジアンです。
慣性処理が既に開始されている場合、InitialAngularVelocity を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
InitialExpansionVelocity プロパティは、ターゲットが慣性の影響を受けたときの、そのターゲットの半径拡大の速度を指定します。(Get)
| velocity | FLOAT* | out | 初期拡張速度を受け取る。 |
解説(Remarks)
IInertiaProcessor が外挿する拡大量は、DesiredExpansion または DesiredExpansionDeceleration プロパティによって決まります。 DesiredExpansion と DesiredExpansionDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。 DesiredExpansion プロパティを使用する場合、API は要求された量だけ拡大するように適切な DesiredExpansionDeceleration 値を設定します。
慣性処理が既に開始されている場合、InitialExpansionVelocity を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
InitialExpansionVelocity プロパティは、ターゲットが慣性の影響を受けたときの、そのターゲットの半径拡大の速度を指定します。(Put)
| velocity | FLOAT | in | 初期拡張速度を指定する。 |
解説(Remarks)
IInertiaProcessor が外挿する拡大量は、DesiredExpansion または DesiredExpansionDeceleration プロパティによって決まります。 DesiredExpansion と DesiredExpansionDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。 DesiredExpansion プロパティを使用する場合、API は要求された量だけ拡大するように適切な DesiredExpansionDeceleration 値を設定します。
慣性処理が既に開始されている場合、InitialExpansionVelocity を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
InitialRadius プロパティは、オブジェクトが変更される前における、ターゲットの端から中心までの距離を指定します。(Get)
| radius | FLOAT* | out | 初期半径を受け取る。 |
解説(Remarks)
慣性処理が既に開始されている場合、InitialRadius を設定すると、慣性エンジンが新しい半径値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
InitialRadius プロパティは、オブジェクトが変更される前における、ターゲットの端から中心までの距離を指定します。(Put)
| radius | FLOAT | in | 初期半径を指定する。 |
解説(Remarks)
慣性処理が既に開始されている場合、InitialRadius を設定すると、慣性エンジンが新しい半径値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
BoundaryLeft プロパティは、ターゲットオブジェクトが画面の左方向へどこまで移動できるかを制限します。(Get)
| left | FLOAT* | out | 境界の左端を受け取る。 |
BoundaryLeft プロパティは、ターゲットオブジェクトが画面の左方向へどこまで移動できるかを制限します。(Put)
| left | FLOAT | in | 境界の左端を指定する。 |
BoundaryTop プロパティは、ターゲットオブジェクトが画面の上方向へどこまで移動できるかを制限します。(Get)
| top | FLOAT* | out | 境界の上端を受け取る。 |
BoundaryTop プロパティは、ターゲットオブジェクトが画面の上方向へどこまで移動できるかを制限します。(Put)
| top | FLOAT | in | 境界の上端を指定する。 |
BoundaryRight プロパティは、ターゲットオブジェクトが画面の右方向へどこまで移動できるかを制限します。(Get)
| right | FLOAT* | out | 境界の右端を受け取る。 |
BoundaryRight プロパティは、ターゲットオブジェクトが画面の右方向へどこまで移動できるかを制限します。(Put)
| right | FLOAT | in | 境界の右端を指定する。 |
BoundaryBottom プロパティは、ターゲットオブジェクトが画面の下方向へどこまで移動できるかを制限します。(Get)
| bottom | FLOAT* | out | 境界の下端を受け取る。 |
BoundaryBottom プロパティは、ターゲットオブジェクトが画面の下方向へどこまで移動できるかを制限します。(Put)
| bottom | FLOAT | in | 境界の下端を指定する。 |
ElasticMarginLeft プロパティは、ターゲットオブジェクトを跳ね返すための最も左側の領域を指定します。(Get)
| left | FLOAT* | out | 左側の弾性マージンを受け取る。 |
ElasticMarginLeft プロパティは、ターゲットオブジェクトを跳ね返すための最も左側の領域を指定します。(Put)
| left | FLOAT | in | 左側の弾性マージンを指定する。 |
ElasticMarginTop プロパティは、ターゲットオブジェクトを跳ね返すための最も上側の領域を指定します。(Get)
| top | FLOAT* | out | 上側の弾性マージンを受け取る。 |
ElasticMarginTop プロパティは、ターゲットオブジェクトを跳ね返すための最も上側の領域を指定します。(Put)
| top | FLOAT | in | 上側の弾性マージンを指定する。 |
ElasticMarginRight プロパティは、ターゲットオブジェクトを跳ね返すための最も右側の領域を指定します。(Get)
| right | FLOAT* | out | 右側の弾性マージンを受け取る。 |
ElasticMarginRight プロパティは、ターゲットオブジェクトを跳ね返すための最も右側の領域を指定します。(Put)
| right | FLOAT | in | 右側の弾性マージンを指定する。 |
ElasticMarginBottom プロパティは、ターゲットオブジェクトを跳ね返すための下側の領域を指定します。(Get)
| bottom | FLOAT* | out | 下側の弾性マージンを受け取る。 |
ElasticMarginBottom プロパティは、ターゲットオブジェクトを跳ね返すための下側の領域を指定します。(Put)
| bottom | FLOAT | in | 下側の弾性マージンを指定する。 |
DesiredDisplacement プロパティは、オブジェクトが移動する目的の距離を指定します。(Get)
| displacement | FLOAT* | out | 目標とする移動距離を受け取る。 |
解説(Remarks)
DesiredDisplacement と DesiredDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。
慣性処理が既に開始されている場合、DesiredDisplacement を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
DesiredDisplacement プロパティは、オブジェクトが移動する目的の距離を指定します。(Put)
| displacement | FLOAT | in | 目標とする移動距離を指定する。 |
解説(Remarks)
DesiredDisplacement と DesiredDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。
慣性処理が既に開始されている場合、DesiredDisplacement を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
DesiredRotation プロパティは、現在の慣性プロセッサーオブジェクトがターゲットオブジェクトをラジアン単位でどれだけ操作すべきかを指定します。(Get)
| rotation | FLOAT* | out | 目標とする回転角を受け取る。 |
解説(Remarks)
DesiredRotation と DesiredAngularDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。
慣性処理が既に開始されている場合、DesiredRotation を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
DesiredRotation プロパティは、現在の慣性プロセッサーオブジェクトがターゲットオブジェクトをラジアン単位でどれだけ操作すべきかを指定します。(Put)
| rotation | FLOAT | in | 目標とする回転角を指定する。 |
解説(Remarks)
DesiredRotation と DesiredAngularDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。
慣性処理が既に開始されている場合、DesiredRotation を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
DesiredExpansion プロパティは、オブジェクトの平均半径の目的の変化量を指定します。(Get)
| expansion | FLOAT* | out | 目標とする拡張量を受け取る。 |
解説(Remarks)
DesiredExpansion と DesiredExpansionDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。
慣性処理が既に開始されている場合、DesiredExpansion を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
DesiredExpansion プロパティは、オブジェクトの平均半径の目的の変化量を指定します。(Put)
| expansion | FLOAT | in | 目標とする拡張量を指定する。 |
解説(Remarks)
DesiredExpansion と DesiredExpansionDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。
慣性処理が既に開始されている場合、DesiredExpansion を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
DesiredDeceleration プロパティは、平行移動操作が減速する目的の割合を指定します。(Get)
| deceleration | FLOAT* | out | 目標とする減速度を受け取る。 |
解説(Remarks)
DesiredDeceleration と DesiredDisplacement は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。
慣性処理が既に開始されている場合、DesiredDeceleration を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
DesiredDeceleration プロパティは、平行移動操作が減速する目的の割合を指定します。(Put)
| deceleration | FLOAT | in | 目標とする減速度を指定する。 |
解説(Remarks)
DesiredDeceleration と DesiredDisplacement は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。
慣性処理が既に開始されている場合、DesiredDeceleration を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
DesiredAngularDeceleration プロパティは、ターゲットオブジェクトの回転が停止する目的の割合を、ラジアン毎ミリ秒毎秒(radians per msec squared)で指定します。(Get)
| deceleration | FLOAT* | out | 目標とする角減速度を受け取る。 |
解説(Remarks)
DesiredAngularDeceleration と DesiredRotation は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。
慣性処理が既に開始されている場合、DesiredAngularDeceleration を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
DesiredAngularDeceleration プロパティは、ターゲットオブジェクトの回転が停止する目的の割合を、ラジアン毎ミリ秒毎秒(radians per msec squared)で指定します。(Put)
| deceleration | FLOAT | in | 目標とする角減速度を指定する。 |
解説(Remarks)
DesiredAngularDeceleration と DesiredRotation は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。
慣性処理が既に開始されている場合、DesiredAngularDeceleration を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
DesiredExpansionDeceleration プロパティは、オブジェクトの拡大が停止する割合を指定します。(Get)
| deceleration | FLOAT* | out | 目標とする拡張減速度を受け取る。 |
解説(Remarks)
DesiredExpansionDeceleration と DesiredExpansion は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。
慣性処理が既に開始されている場合、DesiredExpansionDeceleration を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
DesiredExpansionDeceleration プロパティは、オブジェクトの拡大が停止する割合を指定します。(Put)
| deceleration | FLOAT | in | 目標とする拡張減速度を指定する。 |
解説(Remarks)
DesiredExpansionDeceleration と DesiredExpansion は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。
慣性処理が既に開始されている場合、DesiredExpansionDeceleration を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。
慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessor の ManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。
InitialTimestamp プロパティは、慣性を持つターゲットオブジェクトの開始タイムスタンプを指定します。(Get)
| timestamp | DWORD* | out | 慣性運動の初期タイムスタンプ(ミリ秒)を受け取る。 |
InitialTimestamp プロパティは、慣性を持つターゲットオブジェクトの開始タイムスタンプを指定します。(Put)
| timestamp | DWORD | in | 慣性運動の初期タイムスタンプ(ミリ秒)を指定する。 |
Reset メソッドは、プロセッサーを初期タイムスタンプで初期化し、慣性を再開します。
戻り値
解説(Remarks)
現在慣性によって操作されているオブジェクトのプロパティを変更した場合は、Reset を呼び出す前に Complete を呼び出してください。
例
// IInertiaProcessor インターフェースのプロパティを設定する
this->m_spIInertProc->put_DesiredRotation(spin);
// 未処理の慣性を完了させる
this->m_spIInertProc->Complete();
// プロセッサーをリセットする
this->m_spIInertProc->Reset();
// 慣性処理を扱うタイマーを実装している場合は、
// これも開始する必要があり、プロセッサーは
// Manipulation* イベントを発生させます
Process メソッドは計算を実行し、外挿が完了しているかどうかに応じて Started、Delta、または Completed イベントを発生させることができます。前回のティックで外挿が完了していた場合、このメソッドは何も行いません(no-op)。
| completed | BOOL* | out | 操作が実行されたかどうかを示します。値が false の場合、前回のティックで外挿が完了しており、操作は何も行われなかった(no-op)ことを示します。 |
戻り値
ProcessTime メソッドは、指定されたティックについて計算を実行し、外挿が完了しているかどうかに応じて Started、Delta、または Completed イベントを発生させることができます。前回のティックで外挿が完了していた場合、このメソッドは何も行いません(no-op)。
| timestamp | DWORD | in | 処理するタイムスタンプ(ミリ秒単位)を含むパラメーター。 |
| completed | BOOL* | out | 操作が実行されたかどうかを示します。値が false の場合、前回のティックで外挿が完了しており、操作は何も行われなかった(no-op)ことを示します。 |
戻り値
Complete メソッドは、現在の操作を完了し、慣性プロセッサー上の慣性を停止します。
戻り値
解説(Remarks)
Complete メソッドは、_IManipulationEvents インターフェースの実装上で ManipulationCompleted イベントを発生させます。
例
// IInertiaProcessor インターフェースのプロパティを設定する
this->m_spIInertProc->put_DesiredRotation(spin);
// 未処理の慣性を完了させる
this->m_spIInertProc->Complete();
// プロセッサーをリセットする
this->m_spIInertProc->Reset();
// 慣性処理を扱うタイマーを実装している場合は、
// これも開始する必要があり、プロセッサーは
// Manipulation* イベントを発生させます
指定されたティックで現在の操作を完了し、慣性プロセッサー上の慣性を停止して、ManipulationCompleted イベントを発生させます。
| timestamp | DWORD | in | 処理するタイムスタンプ(ミリ秒単位)を含むパラメーター。 |
戻り値
解説(Remarks)
CompleteTime メソッドは、_IManipulationEvents インターフェースの実装上で ManipulationCompleted イベントを発生させます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IInertiaProcessor "{18B00C6D-C5EE-41B1-90A9-9D4A929095AD}" #usecom global IInertiaProcessor IID_IInertiaProcessor "{ABB27087-4CE0-4E58-A0CB-E24DF96814BE}" #comfunc global IInertiaProcessor_get_InitialOriginX 3 var #comfunc global IInertiaProcessor_put_InitialOriginX 4 float #comfunc global IInertiaProcessor_get_InitialOriginY 5 var #comfunc global IInertiaProcessor_put_InitialOriginY 6 float #comfunc global IInertiaProcessor_get_InitialVelocityX 7 var #comfunc global IInertiaProcessor_put_InitialVelocityX 8 float #comfunc global IInertiaProcessor_get_InitialVelocityY 9 var #comfunc global IInertiaProcessor_put_InitialVelocityY 10 float #comfunc global IInertiaProcessor_get_InitialAngularVelocity 11 var #comfunc global IInertiaProcessor_put_InitialAngularVelocity 12 float #comfunc global IInertiaProcessor_get_InitialExpansionVelocity 13 var #comfunc global IInertiaProcessor_put_InitialExpansionVelocity 14 float #comfunc global IInertiaProcessor_get_InitialRadius 15 var #comfunc global IInertiaProcessor_put_InitialRadius 16 float #comfunc global IInertiaProcessor_get_BoundaryLeft 17 var #comfunc global IInertiaProcessor_put_BoundaryLeft 18 float #comfunc global IInertiaProcessor_get_BoundaryTop 19 var #comfunc global IInertiaProcessor_put_BoundaryTop 20 float #comfunc global IInertiaProcessor_get_BoundaryRight 21 var #comfunc global IInertiaProcessor_put_BoundaryRight 22 float #comfunc global IInertiaProcessor_get_BoundaryBottom 23 var #comfunc global IInertiaProcessor_put_BoundaryBottom 24 float #comfunc global IInertiaProcessor_get_ElasticMarginLeft 25 var #comfunc global IInertiaProcessor_put_ElasticMarginLeft 26 float #comfunc global IInertiaProcessor_get_ElasticMarginTop 27 var #comfunc global IInertiaProcessor_put_ElasticMarginTop 28 float #comfunc global IInertiaProcessor_get_ElasticMarginRight 29 var #comfunc global IInertiaProcessor_put_ElasticMarginRight 30 float #comfunc global IInertiaProcessor_get_ElasticMarginBottom 31 var #comfunc global IInertiaProcessor_put_ElasticMarginBottom 32 float #comfunc global IInertiaProcessor_get_DesiredDisplacement 33 var #comfunc global IInertiaProcessor_put_DesiredDisplacement 34 float #comfunc global IInertiaProcessor_get_DesiredRotation 35 var #comfunc global IInertiaProcessor_put_DesiredRotation 36 float #comfunc global IInertiaProcessor_get_DesiredExpansion 37 var #comfunc global IInertiaProcessor_put_DesiredExpansion 38 float #comfunc global IInertiaProcessor_get_DesiredDeceleration 39 var #comfunc global IInertiaProcessor_put_DesiredDeceleration 40 float #comfunc global IInertiaProcessor_get_DesiredAngularDeceleration 41 var #comfunc global IInertiaProcessor_put_DesiredAngularDeceleration 42 float #comfunc global IInertiaProcessor_get_DesiredExpansionDeceleration 43 var #comfunc global IInertiaProcessor_put_DesiredExpansionDeceleration 44 float #comfunc global IInertiaProcessor_get_InitialTimestamp 45 var #comfunc global IInertiaProcessor_put_InitialTimestamp 46 int #comfunc global IInertiaProcessor_Reset 47 #comfunc global IInertiaProcessor_Process 48 var #comfunc global IInertiaProcessor_ProcessTime 49 int,var #comfunc global IInertiaProcessor_Complete 50 #comfunc global IInertiaProcessor_CompleteTime 51 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IInertiaProcessor "{18B00C6D-C5EE-41B1-90A9-9D4A929095AD}" #usecom global IInertiaProcessor IID_IInertiaProcessor "{ABB27087-4CE0-4E58-A0CB-E24DF96814BE}" #comfunc global IInertiaProcessor_get_InitialOriginX 3 sptr #comfunc global IInertiaProcessor_put_InitialOriginX 4 float #comfunc global IInertiaProcessor_get_InitialOriginY 5 sptr #comfunc global IInertiaProcessor_put_InitialOriginY 6 float #comfunc global IInertiaProcessor_get_InitialVelocityX 7 sptr #comfunc global IInertiaProcessor_put_InitialVelocityX 8 float #comfunc global IInertiaProcessor_get_InitialVelocityY 9 sptr #comfunc global IInertiaProcessor_put_InitialVelocityY 10 float #comfunc global IInertiaProcessor_get_InitialAngularVelocity 11 sptr #comfunc global IInertiaProcessor_put_InitialAngularVelocity 12 float #comfunc global IInertiaProcessor_get_InitialExpansionVelocity 13 sptr #comfunc global IInertiaProcessor_put_InitialExpansionVelocity 14 float #comfunc global IInertiaProcessor_get_InitialRadius 15 sptr #comfunc global IInertiaProcessor_put_InitialRadius 16 float #comfunc global IInertiaProcessor_get_BoundaryLeft 17 sptr #comfunc global IInertiaProcessor_put_BoundaryLeft 18 float #comfunc global IInertiaProcessor_get_BoundaryTop 19 sptr #comfunc global IInertiaProcessor_put_BoundaryTop 20 float #comfunc global IInertiaProcessor_get_BoundaryRight 21 sptr #comfunc global IInertiaProcessor_put_BoundaryRight 22 float #comfunc global IInertiaProcessor_get_BoundaryBottom 23 sptr #comfunc global IInertiaProcessor_put_BoundaryBottom 24 float #comfunc global IInertiaProcessor_get_ElasticMarginLeft 25 sptr #comfunc global IInertiaProcessor_put_ElasticMarginLeft 26 float #comfunc global IInertiaProcessor_get_ElasticMarginTop 27 sptr #comfunc global IInertiaProcessor_put_ElasticMarginTop 28 float #comfunc global IInertiaProcessor_get_ElasticMarginRight 29 sptr #comfunc global IInertiaProcessor_put_ElasticMarginRight 30 float #comfunc global IInertiaProcessor_get_ElasticMarginBottom 31 sptr #comfunc global IInertiaProcessor_put_ElasticMarginBottom 32 float #comfunc global IInertiaProcessor_get_DesiredDisplacement 33 sptr #comfunc global IInertiaProcessor_put_DesiredDisplacement 34 float #comfunc global IInertiaProcessor_get_DesiredRotation 35 sptr #comfunc global IInertiaProcessor_put_DesiredRotation 36 float #comfunc global IInertiaProcessor_get_DesiredExpansion 37 sptr #comfunc global IInertiaProcessor_put_DesiredExpansion 38 float #comfunc global IInertiaProcessor_get_DesiredDeceleration 39 sptr #comfunc global IInertiaProcessor_put_DesiredDeceleration 40 float #comfunc global IInertiaProcessor_get_DesiredAngularDeceleration 41 sptr #comfunc global IInertiaProcessor_put_DesiredAngularDeceleration 42 float #comfunc global IInertiaProcessor_get_DesiredExpansionDeceleration 43 sptr #comfunc global IInertiaProcessor_put_DesiredExpansionDeceleration 44 float #comfunc global IInertiaProcessor_get_InitialTimestamp 45 sptr #comfunc global IInertiaProcessor_put_InitialTimestamp 46 int #comfunc global IInertiaProcessor_Reset 47 #comfunc global IInertiaProcessor_Process 48 sptr #comfunc global IInertiaProcessor_ProcessTime 49 int,sptr #comfunc global IInertiaProcessor_Complete 50 #comfunc global IInertiaProcessor_CompleteTime 51 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。