Win32 API 日本語リファレンス
ホームUI.Input.Touch › IInertiaProcessor

IInertiaProcessor

COM
IID18b00c6d-c5ee-41b1-90a9-9d4a929095ad継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IInertiaProcessor インターフェースは、Windows タッチにおけるオブジェクトの運動に関する計算を処理します。

メソッド 49

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT get_InitialOriginX(FLOAT* x)

InitialOriginX プロパティは、慣性を持つターゲットの水平方向の開始位置を指定します。(Get)

xFLOAT*out慣性運動の初期原点 X 座標を受け取る。

解説(Remarks)

ユーザーはオブジェクトを操作して、InitialOriginX を弾性境界の外側に設定できます。 InitialOriginX を弾性境界の外側の値に設定すると、例外がスローされます。 ユーザーが原点を境界外に設定できないようにするには、IInertiaProcessor インターフェースに設定する前に InitialOriginX が有効かどうかを確認してください。慣性処理が既に開始されている場合、put_InitialOriginX() を呼び出すと 慣性の状態が初期タイムスタンプにリセットされます。

慣性プロセッサーおよび操作プロセッサーで使用されるすべての位置は相対的です。画面座標を使用したい場合は、 画面座標を操作(または慣性)プロセッサーに渡します。絶対座標を使用したい場合は、 使用しているプロセッサーにそれらを渡します。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 4 HRESULT put_InitialOriginX(FLOAT x)

InitialOriginX プロパティは、慣性を持つターゲットの水平方向の開始位置を指定します。(Put)

xFLOATin慣性運動の初期原点 X 座標を指定する。

解説(Remarks)

ユーザーはオブジェクトを操作して、InitialOriginX を弾性境界の外側に設定できます。 InitialOriginX を弾性境界の外側の値に設定すると、例外がスローされます。 ユーザーが原点を境界外に設定できないようにするには、IInertiaProcessor インターフェースに設定する前に InitialOriginX が有効かどうかを確認してください。慣性処理が既に開始されている場合、put_InitialOriginX() を呼び出すと 慣性の状態が初期タイムスタンプにリセットされます。

慣性プロセッサーおよび操作プロセッサーで使用されるすべての位置は相対的です。画面座標を使用したい場合は、 画面座標を操作(または慣性)プロセッサーに渡します。絶対座標を使用したい場合は、 使用しているプロセッサーにそれらを渡します。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 5 HRESULT get_InitialOriginY(FLOAT* y)

InitialOriginY プロパティは、慣性を持つターゲットの垂直方向の開始位置を指定します。(Get)

yFLOAT*out慣性運動の初期原点 Y 座標を受け取る。

解説(Remarks)

ユーザーはオブジェクトを操作して、InitialOriginY を弾性境界の外側に設定できます。 InitialOriginY を弾性境界の外側の値に設定すると、例外がスローされます。 ユーザーが原点を境界外に設定できないようにするには、IInertiaProcessor インターフェースに設定する前に InitialOriginY が有効かどうかを確認してください。 慣性処理が既に開始されている場合、put_InitialOriginY() を呼び出すと 慣性の状態が初期タイムスタンプにリセットされます。

慣性プロセッサーおよび操作プロセッサーで使用されるすべての位置は相対的です。画面座標を使用したい場合は、 画面座標を操作(または慣性)プロセッサーに渡します。絶対座標を使用したい場合は、 使用しているプロセッサーにそれらを渡します。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 6 HRESULT put_InitialOriginY(FLOAT y)

InitialOriginY プロパティは、慣性を持つターゲットの垂直方向の開始位置を指定します。(Put)

yFLOATin慣性運動の初期原点 Y 座標を指定する。

解説(Remarks)

ユーザーはオブジェクトを操作して、InitialOriginY を弾性境界の外側に設定できます。 InitialOriginY を弾性境界の外側の値に設定すると、例外がスローされます。 ユーザーが原点を境界外に設定できないようにするには、IInertiaProcessor インターフェースに設定する前に InitialOriginY が有効かどうかを確認してください。 慣性処理が既に開始されている場合、put_InitialOriginY() を呼び出すと 慣性の状態が初期タイムスタンプにリセットされます。

慣性プロセッサーおよび操作プロセッサーで使用されるすべての位置は相対的です。画面座標を使用したい場合は、 画面座標を操作(または慣性)プロセッサーに渡します。絶対座標を使用したい場合は、 使用しているプロセッサーにそれらを渡します。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 7 HRESULT get_InitialVelocityX(FLOAT* x)

InitialVelocityX プロパティは、水平軸方向におけるターゲットオブジェクトの初期の動きを指定します。(Get)

xFLOAT*outX 方向の初速度を受け取る。

解説(Remarks)

慣性処理が既に開始されている場合、InitialVelocityX を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 8 HRESULT put_InitialVelocityX(FLOAT x)

InitialVelocityX プロパティは、水平軸方向におけるターゲットオブジェクトの初期の動きを指定します。(Put)

xFLOATinX 方向の初速度を指定する。

解説(Remarks)

慣性処理が既に開始されている場合、InitialVelocityX を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 9 HRESULT get_InitialVelocityY(FLOAT* y)

InitialVelocityY プロパティは、垂直軸方向におけるターゲットオブジェクトの初期の動きを指定します。(Get)

yFLOAT*outY 方向の初速度を受け取る。

解説(Remarks)

慣性処理が既に開始されている場合、InitialVelocityY を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 10 HRESULT put_InitialVelocityY(FLOAT y)

InitialVelocityY プロパティは、垂直軸方向におけるターゲットオブジェクトの初期の動きを指定します。(Put)

yFLOATinY 方向の初速度を指定する。

解説(Remarks)

慣性処理が既に開始されている場合、InitialVelocityY を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 11 HRESULT get_InitialAngularVelocity(FLOAT* velocity)

InitialAngularVelocity プロパティは、動きが始まる時点でのターゲットの回転(角)速度を指定します。(Get)

velocityFLOAT*out初期角速度を受け取る。

解説(Remarks)

DesiredRotationDesiredAngularDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。DesiredRotation プロパティを設定すると、API は目的のラジアン数だけ進んだ後にオブジェクトが停止するように DesiredAngularDeceleration プロパティを設定します。 角加速度の単位はラジアンです。

慣性処理が既に開始されている場合、InitialAngularVelocity を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 12 HRESULT put_InitialAngularVelocity(FLOAT velocity)

InitialAngularVelocity プロパティは、動きが始まる時点でのターゲットの回転(角)速度を指定します。(Put)

velocityFLOATin初期角速度を指定する。

解説(Remarks)

DesiredRotationDesiredAngularDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。DesiredRotation プロパティを設定すると、API は目的のラジアン数だけ進んだ後にオブジェクトが停止するように DesiredAngularDeceleration プロパティを設定します。 角加速度の単位はラジアンです。

慣性処理が既に開始されている場合、InitialAngularVelocity を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 13 HRESULT get_InitialExpansionVelocity(FLOAT* velocity)

InitialExpansionVelocity プロパティは、ターゲットが慣性の影響を受けたときの、そのターゲットの半径拡大の速度を指定します。(Get)

velocityFLOAT*out初期拡張速度を受け取る。

解説(Remarks)

IInertiaProcessor が外挿する拡大量は、DesiredExpansion または DesiredExpansionDeceleration プロパティによって決まります。 DesiredExpansionDesiredExpansionDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。 DesiredExpansion プロパティを使用する場合、API は要求された量だけ拡大するように適切な DesiredExpansionDeceleration 値を設定します。

慣性処理が既に開始されている場合、InitialExpansionVelocity を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 14 HRESULT put_InitialExpansionVelocity(FLOAT velocity)

InitialExpansionVelocity プロパティは、ターゲットが慣性の影響を受けたときの、そのターゲットの半径拡大の速度を指定します。(Put)

velocityFLOATin初期拡張速度を指定する。

解説(Remarks)

IInertiaProcessor が外挿する拡大量は、DesiredExpansion または DesiredExpansionDeceleration プロパティによって決まります。 DesiredExpansionDesiredExpansionDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。 DesiredExpansion プロパティを使用する場合、API は要求された量だけ拡大するように適切な DesiredExpansionDeceleration 値を設定します。

慣性処理が既に開始されている場合、InitialExpansionVelocity を設定すると、慣性エンジンが新しい速度値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 15 HRESULT get_InitialRadius(FLOAT* radius)

InitialRadius プロパティは、オブジェクトが変更される前における、ターゲットの端から中心までの距離を指定します。(Get)

radiusFLOAT*out初期半径を受け取る。

解説(Remarks)

慣性処理が既に開始されている場合、InitialRadius を設定すると、慣性エンジンが新しい半径値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 16 HRESULT put_InitialRadius(FLOAT radius)

InitialRadius プロパティは、オブジェクトが変更される前における、ターゲットの端から中心までの距離を指定します。(Put)

radiusFLOATin初期半径を指定する。

解説(Remarks)

慣性処理が既に開始されている場合、InitialRadius を設定すると、慣性エンジンが新しい半径値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 17 HRESULT get_BoundaryLeft(FLOAT* left)

BoundaryLeft プロパティは、ターゲットオブジェクトが画面の左方向へどこまで移動できるかを制限します。(Get)

leftFLOAT*out境界の左端を受け取る。
vtbl 18 HRESULT put_BoundaryLeft(FLOAT left)

BoundaryLeft プロパティは、ターゲットオブジェクトが画面の左方向へどこまで移動できるかを制限します。(Put)

leftFLOATin境界の左端を指定する。
vtbl 19 HRESULT get_BoundaryTop(FLOAT* top)

BoundaryTop プロパティは、ターゲットオブジェクトが画面の上方向へどこまで移動できるかを制限します。(Get)

topFLOAT*out境界の上端を受け取る。
vtbl 20 HRESULT put_BoundaryTop(FLOAT top)

BoundaryTop プロパティは、ターゲットオブジェクトが画面の上方向へどこまで移動できるかを制限します。(Put)

topFLOATin境界の上端を指定する。
vtbl 21 HRESULT get_BoundaryRight(FLOAT* right)

BoundaryRight プロパティは、ターゲットオブジェクトが画面の右方向へどこまで移動できるかを制限します。(Get)

rightFLOAT*out境界の右端を受け取る。
vtbl 22 HRESULT put_BoundaryRight(FLOAT right)

BoundaryRight プロパティは、ターゲットオブジェクトが画面の右方向へどこまで移動できるかを制限します。(Put)

rightFLOATin境界の右端を指定する。
vtbl 23 HRESULT get_BoundaryBottom(FLOAT* bottom)

BoundaryBottom プロパティは、ターゲットオブジェクトが画面の下方向へどこまで移動できるかを制限します。(Get)

bottomFLOAT*out境界の下端を受け取る。
vtbl 24 HRESULT put_BoundaryBottom(FLOAT bottom)

BoundaryBottom プロパティは、ターゲットオブジェクトが画面の下方向へどこまで移動できるかを制限します。(Put)

bottomFLOATin境界の下端を指定する。
vtbl 25 HRESULT get_ElasticMarginLeft(FLOAT* left)

ElasticMarginLeft プロパティは、ターゲットオブジェクトを跳ね返すための最も左側の領域を指定します。(Get)

leftFLOAT*out左側の弾性マージンを受け取る。
vtbl 26 HRESULT put_ElasticMarginLeft(FLOAT left)

ElasticMarginLeft プロパティは、ターゲットオブジェクトを跳ね返すための最も左側の領域を指定します。(Put)

leftFLOATin左側の弾性マージンを指定する。
vtbl 27 HRESULT get_ElasticMarginTop(FLOAT* top)

ElasticMarginTop プロパティは、ターゲットオブジェクトを跳ね返すための最も上側の領域を指定します。(Get)

topFLOAT*out上側の弾性マージンを受け取る。
vtbl 28 HRESULT put_ElasticMarginTop(FLOAT top)

ElasticMarginTop プロパティは、ターゲットオブジェクトを跳ね返すための最も上側の領域を指定します。(Put)

topFLOATin上側の弾性マージンを指定する。
vtbl 29 HRESULT get_ElasticMarginRight(FLOAT* right)

ElasticMarginRight プロパティは、ターゲットオブジェクトを跳ね返すための最も右側の領域を指定します。(Get)

rightFLOAT*out右側の弾性マージンを受け取る。
vtbl 30 HRESULT put_ElasticMarginRight(FLOAT right)

ElasticMarginRight プロパティは、ターゲットオブジェクトを跳ね返すための最も右側の領域を指定します。(Put)

rightFLOATin右側の弾性マージンを指定する。
vtbl 31 HRESULT get_ElasticMarginBottom(FLOAT* bottom)

ElasticMarginBottom プロパティは、ターゲットオブジェクトを跳ね返すための下側の領域を指定します。(Get)

bottomFLOAT*out下側の弾性マージンを受け取る。
vtbl 32 HRESULT put_ElasticMarginBottom(FLOAT bottom)

ElasticMarginBottom プロパティは、ターゲットオブジェクトを跳ね返すための下側の領域を指定します。(Put)

bottomFLOATin下側の弾性マージンを指定する。
vtbl 33 HRESULT get_DesiredDisplacement(FLOAT* displacement)

DesiredDisplacement プロパティは、オブジェクトが移動する目的の距離を指定します。(Get)

displacementFLOAT*out目標とする移動距離を受け取る。

解説(Remarks)

DesiredDisplacementDesiredDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。

慣性処理が既に開始されている場合、DesiredDisplacement を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 34 HRESULT put_DesiredDisplacement(FLOAT displacement)

DesiredDisplacement プロパティは、オブジェクトが移動する目的の距離を指定します。(Put)

displacementFLOATin目標とする移動距離を指定する。

解説(Remarks)

DesiredDisplacementDesiredDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。

慣性処理が既に開始されている場合、DesiredDisplacement を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 35 HRESULT get_DesiredRotation(FLOAT* rotation)

DesiredRotation プロパティは、現在の慣性プロセッサーオブジェクトがターゲットオブジェクトをラジアン単位でどれだけ操作すべきかを指定します。(Get)

rotationFLOAT*out目標とする回転角を受け取る。

解説(Remarks)

DesiredRotationDesiredAngularDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。

慣性処理が既に開始されている場合、DesiredRotation を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 36 HRESULT put_DesiredRotation(FLOAT rotation)

DesiredRotation プロパティは、現在の慣性プロセッサーオブジェクトがターゲットオブジェクトをラジアン単位でどれだけ操作すべきかを指定します。(Put)

rotationFLOATin目標とする回転角を指定する。

解説(Remarks)

DesiredRotationDesiredAngularDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。

慣性処理が既に開始されている場合、DesiredRotation を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 37 HRESULT get_DesiredExpansion(FLOAT* expansion)

DesiredExpansion プロパティは、オブジェクトの平均半径の目的の変化量を指定します。(Get)

expansionFLOAT*out目標とする拡張量を受け取る。

解説(Remarks)

DesiredExpansionDesiredExpansionDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。

慣性処理が既に開始されている場合、DesiredExpansion を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 38 HRESULT put_DesiredExpansion(FLOAT expansion)

DesiredExpansion プロパティは、オブジェクトの平均半径の目的の変化量を指定します。(Put)

expansionFLOATin目標とする拡張量を指定する。

解説(Remarks)

DesiredExpansionDesiredExpansionDeceleration は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。

慣性処理が既に開始されている場合、DesiredExpansion を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 39 HRESULT get_DesiredDeceleration(FLOAT* deceleration)

DesiredDeceleration プロパティは、平行移動操作が減速する目的の割合を指定します。(Get)

decelerationFLOAT*out目標とする減速度を受け取る。

解説(Remarks)

DesiredDecelerationDesiredDisplacement は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。

慣性処理が既に開始されている場合、DesiredDeceleration を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 40 HRESULT put_DesiredDeceleration(FLOAT deceleration)

DesiredDeceleration プロパティは、平行移動操作が減速する目的の割合を指定します。(Put)

decelerationFLOATin目標とする減速度を指定する。

解説(Remarks)

DesiredDecelerationDesiredDisplacement は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。

慣性処理が既に開始されている場合、DesiredDeceleration を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 41 HRESULT get_DesiredAngularDeceleration(FLOAT* deceleration)

DesiredAngularDeceleration プロパティは、ターゲットオブジェクトの回転が停止する目的の割合を、ラジアン毎ミリ秒毎秒(radians per msec squared)で指定します。(Get)

decelerationFLOAT*out目標とする角減速度を受け取る。

解説(Remarks)

DesiredAngularDecelerationDesiredRotation は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。

慣性処理が既に開始されている場合、DesiredAngularDeceleration を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 42 HRESULT put_DesiredAngularDeceleration(FLOAT deceleration)

DesiredAngularDeceleration プロパティは、ターゲットオブジェクトの回転が停止する目的の割合を、ラジアン毎ミリ秒毎秒(radians per msec squared)で指定します。(Put)

decelerationFLOATin目標とする角減速度を指定する。

解説(Remarks)

DesiredAngularDecelerationDesiredRotation は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。

慣性処理が既に開始されている場合、DesiredAngularDeceleration を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 43 HRESULT get_DesiredExpansionDeceleration(FLOAT* deceleration)

DesiredExpansionDeceleration プロパティは、オブジェクトの拡大が停止する割合を指定します。(Get)

decelerationFLOAT*out目標とする拡張減速度を受け取る。

解説(Remarks)

DesiredExpansionDecelerationDesiredExpansion は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。

慣性処理が既に開始されている場合、DesiredExpansionDeceleration を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 44 HRESULT put_DesiredExpansionDeceleration(FLOAT deceleration)

DesiredExpansionDeceleration プロパティは、オブジェクトの拡大が停止する割合を指定します。(Put)

decelerationFLOATin目標とする拡張減速度を指定する。

解説(Remarks)

DesiredExpansionDecelerationDesiredExpansion は相互に排他的です。一方を設定した場合、もう一方は NaN にする必要があります。

慣性処理が既に開始されている場合、DesiredExpansionDeceleration を設定すると、慣性エンジンが新しい減速値を適用した初期状態にリセットされます。

慣性の初期状態を設定するには、この関数を呼び出します。この関数は、IManipulationProcessorManipulationCompleted イベント中、または IInertiaProcessor インターフェースのコンストラクター内で呼び出すことが最も多いでしょう。

vtbl 45 HRESULT get_InitialTimestamp(DWORD* timestamp)

InitialTimestamp プロパティは、慣性を持つターゲットオブジェクトの開始タイムスタンプを指定します。(Get)

timestampDWORD*out慣性運動の初期タイムスタンプ(ミリ秒)を受け取る。
vtbl 46 HRESULT put_InitialTimestamp(DWORD timestamp)

InitialTimestamp プロパティは、慣性を持つターゲットオブジェクトの開始タイムスタンプを指定します。(Put)

timestampDWORDin慣性運動の初期タイムスタンプ(ミリ秒)を指定する。
vtbl 47 HRESULT Reset()

Reset メソッドは、プロセッサーを初期タイムスタンプで初期化し、慣性を再開します。

戻り値

成功した場合は S_OK を返し、それ以外の場合は E_FAIL などのエラーコードを返します。

解説(Remarks)

現在慣性によって操作されているオブジェクトのプロパティを変更した場合は、Reset を呼び出す前に Complete を呼び出してください。


    // IInertiaProcessor インターフェースのプロパティを設定する
    this->m_spIInertProc->put_DesiredRotation(spin);    
     
    // 未処理の慣性を完了させる
    this->m_spIInertProc->Complete();
     
    // プロセッサーをリセットする
    this->m_spIInertProc->Reset();		  
     
    // 慣性処理を扱うタイマーを実装している場合は、
    // これも開始する必要があり、プロセッサーは
    // Manipulation* イベントを発生させます
          
vtbl 48 HRESULT Process(BOOL* completed)

Process メソッドは計算を実行し、外挿が完了しているかどうかに応じて Started、Delta、または Completed イベントを発生させることができます。前回のティックで外挿が完了していた場合、このメソッドは何も行いません(no-op)。

completedBOOL*out操作が実行されたかどうかを示します。値が false の場合、前回のティックで外挿が完了しており、操作は何も行われなかった(no-op)ことを示します。

戻り値

成功した場合は S_OK を返し、それ以外の場合は E_FAIL などのエラーコードを返します。

vtbl 49 HRESULT ProcessTime(DWORD timestamp, BOOL* completed)

ProcessTime メソッドは、指定されたティックについて計算を実行し、外挿が完了しているかどうかに応じて Started、Delta、または Completed イベントを発生させることができます。前回のティックで外挿が完了していた場合、このメソッドは何も行いません(no-op)。

timestampDWORDin処理するタイムスタンプ(ミリ秒単位)を含むパラメーター。
completedBOOL*out操作が実行されたかどうかを示します。値が false の場合、前回のティックで外挿が完了しており、操作は何も行われなかった(no-op)ことを示します。

戻り値

成功した場合は S_OK を返し、それ以外の場合は E_FAIL などのエラーコードを返します。

vtbl 50 HRESULT Complete()

Complete メソッドは、現在の操作を完了し、慣性プロセッサー上の慣性を停止します。

戻り値

成功した場合は S_OK を返し、それ以外の場合は E_FAIL などのエラーコードを返します。

解説(Remarks)

Complete メソッドは、_IManipulationEvents インターフェースの実装上で ManipulationCompleted イベントを発生させます。


    // IInertiaProcessor インターフェースのプロパティを設定する
    this->m_spIInertProc->put_DesiredRotation(spin);    
     
    // 未処理の慣性を完了させる
    this->m_spIInertProc->Complete();
     
    // プロセッサーをリセットする
    this->m_spIInertProc->Reset();		  
     
    // 慣性処理を扱うタイマーを実装している場合は、
    // これも開始する必要があり、プロセッサーは
    // Manipulation* イベントを発生させます
          
vtbl 51 HRESULT CompleteTime(DWORD timestamp)

指定されたティックで現在の操作を完了し、慣性プロセッサー上の慣性を停止して、ManipulationCompleted イベントを発生させます。

timestampDWORDin処理するタイムスタンプ(ミリ秒単位)を含むパラメーター。

戻り値

成功した場合は S_OK を返し、それ以外の場合は E_FAIL などのエラーコードを返します。

解説(Remarks)

CompleteTime メソッドは、_IManipulationEvents インターフェースの実装上で ManipulationCompleted イベントを発生させます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 方式にも切替可。