2013-08-12 1 views
1

Предположим, что я рисую поверхность, и во время выполнения я использую мышь, чтобы повернуть поверхность. Как только правое вращение поверхности будет достигнуто, как я могу получить его состояние?Как вы можете получить информацию о вращении ilplotcube во время выполнения?

ответ

1

Каждый драйвер создает клон глобальной сцены, который постоянно синхронизируется и обновляется с изменениями в его источнике. Вращение выполняется на клоне. Я не проверял, но я думаю, вы можете запросить объекты (например, участок куба) в клоне по

panel.GetCurrentScene().First<ILPlotCube>(/*your filter if needed*/) 

Этот экземпляр будет отражать все изменения, сделанные пользователем.

0

Способ, указанный в ответе user492238s, действительно работает. Однако GetCurrentScene() собирает новую сцену как составную часть глобальной и локальной (для текущего драйвера) сцены. Это может стать дорогостоящим, если его вызвать часто. Если нужны только отдельные объекты/свойства, вместо них можно использовать panel.SceneSyncRoot.

Кроме того, поворот сюжетного куба экспонируется plotcube.Rotation. Таким образом, чтобы получить текущее вращение куба участка (включая поворот из-за пользовательского ввода):

panel.SceneSyncRoot.First<ILPlotCube>().Rotation