ホーム › Graphics.DirectComposition › IDCompositionRotateTransform3D
IDCompositionRotateTransform3D
COM公式ドキュメント
3D 空間内の任意の軸に沿ったビジュアルの回転に影響する 3D 変換を表します。座標系は、指定した中心点を基準に回転します。
解説(Remarks)
3D 回転変換は、次の 4x4 行列を表します。
ここで、行列の offsetX、offsetY、offsetZ の値は次のとおりです。
この変換の効果は、指定した軸を中心に座標系を時計回りまたは反時計回りに回転させ、中心点が移動しないように対応する平行移動を適用することです。
新しい 3D 回転変換オブジェクトでは、Angle、CenterX、CenterY、AxisX、AxisY の各プロパティの既定の静的値は 0 であり、AxisZ プロパティの既定の静的値は 1.0 です。
軸を既定以外の値に設定する場合は、常に 3 つの軸プロパティ (AxisX、AxisY、AxisZ) をすべて設定してください。
メソッド 14
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT SetAngle(IDCompositionAnimation* animation)
| animation | IDCompositionAnimation* | in | 回転角度を時間変化させるアニメーションオブジェクト。NULL不可。 |
| angle | FLOAT | in | 回転軸まわりの回転角度。度数法(degree)で指定する浮動小数点値である。 |
vtbl 5 HRESULT SetAxisX(IDCompositionAnimation* animation)
| animation | IDCompositionAnimation* | in | 回転軸ベクトルのX成分を時間変化させるアニメーションオブジェクト。NULL不可。 |
| axisX | FLOAT | in | 回転軸を表すベクトルのX成分。回転軸の方向を定める浮動小数点値である。 |
vtbl 7 HRESULT SetAxisY(IDCompositionAnimation* animation)
| animation | IDCompositionAnimation* | in | 回転軸ベクトルのY成分を時間変化させるアニメーションオブジェクト。NULL不可。 |
| axisY | FLOAT | in | 回転軸を表すベクトルのY成分。回転軸の方向を定める浮動小数点値である。 |
vtbl 9 HRESULT SetAxisZ(IDCompositionAnimation* animation)
| animation | IDCompositionAnimation* | in | 回転軸ベクトルのZ成分を時間変化させるアニメーションオブジェクト。NULL不可。 |
| axisZ | FLOAT | in | 回転軸を表すベクトルのZ成分。回転軸の方向を定める浮動小数点値である。 |
vtbl 11 HRESULT SetCenterX(IDCompositionAnimation* animation)
| animation | IDCompositionAnimation* | in | 回転中心点のX座標を時間変化させるアニメーションオブジェクト。NULL不可。 |
| centerX | FLOAT | in | 回転の中心点のX座標。原点からのDIP単位のオフセットを指定する。 |
vtbl 13 HRESULT SetCenterY(IDCompositionAnimation* animation)
| animation | IDCompositionAnimation* | in | 回転中心点のY座標を時間変化させるアニメーションオブジェクト。NULL不可。 |
| centerY | FLOAT | in | 回転の中心点のY座標。原点からのDIP単位のオフセットを指定する。 |
vtbl 15 HRESULT SetCenterZ(IDCompositionAnimation* animation)
| animation | IDCompositionAnimation* | in | 回転中心点のZ座標を時間変化させるアニメーションオブジェクト。NULL不可。 |
| centerZ | FLOAT | in | 回転の中心点のZ座標。原点からのDIP単位のオフセットを指定する。 |
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDCompositionRotateTransform3D "{D8F5B23F-D429-4A91-B55A-D2F45FD75B18}"
#usecom global IDCompositionRotateTransform3D IID_IDCompositionRotateTransform3D "{}"
#comfunc global IDCompositionRotateTransform3D_SetAngle 3 sptr
#comfunc global IDCompositionRotateTransform3D_SetAngle 4 float
#comfunc global IDCompositionRotateTransform3D_SetAxisX 5 sptr
#comfunc global IDCompositionRotateTransform3D_SetAxisX 6 float
#comfunc global IDCompositionRotateTransform3D_SetAxisY 7 sptr
#comfunc global IDCompositionRotateTransform3D_SetAxisY 8 float
#comfunc global IDCompositionRotateTransform3D_SetAxisZ 9 sptr
#comfunc global IDCompositionRotateTransform3D_SetAxisZ 10 float
#comfunc global IDCompositionRotateTransform3D_SetCenterX 11 sptr
#comfunc global IDCompositionRotateTransform3D_SetCenterX 12 float
#comfunc global IDCompositionRotateTransform3D_SetCenterY 13 sptr
#comfunc global IDCompositionRotateTransform3D_SetCenterY 14 float
#comfunc global IDCompositionRotateTransform3D_SetCenterZ 15 sptr
#comfunc global IDCompositionRotateTransform3D_SetCenterZ 16 float
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。