1

サーフェスをプロットし、実行時にマウスを使用してサーフェスを回転させたとします。サーフェスの正しい回転が達成されたら、どうすればその状態を取得できますか?

4

2 に答える 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 に答える