サーフェスをプロットし、実行時にマウスを使用してサーフェスを回転させたとします。サーフェスの正しい回転が達成されたら、どうすればその状態を取得できますか?
2 に答える
1
各ドライバーは、グローバル シーンのクローンを作成します。このクローンは、ソースの変更によって常に同期および更新されます。ローテーションはクローンで行われます。私はそれをテストしていませんが、次の方法でクローン内のオブジェクト (プロット キューブなど) をクエリできると思います。
panel.GetCurrentScene().First<ILPlotCube>(/*your filter if needed*/)
このインスタンスには、ユーザーが行ったすべての変更が反映されます。
于 2013-08-12T18:21:54.910 に答える
0
user492238 の回答で指摘されている方法は機能します。ただし、GetCurrentScene() は、グローバル シーンとローカル (現在のドライバーに対する) シーンの合成として新しいシーンを組み立てます。頻繁に呼び出されると、これはコストがかかる可能性があります。個々のオブジェクト/プロパティのみが必要な場合は、代わりに panel.SceneSyncRoot を使用できます。
また、プロット キューブの回転は、plotcube.Rotation プロパティによって公開されます。したがって、プロット キューブの現在の回転 (ユーザー入力による回転を含む) を取得するには、次のようにします。
panel.SceneSyncRoot.First<ILPlotCube>().Rotation
于 2013-08-14T10:32:39.180 に答える