假设我绘制了一个曲面并在运行时使用鼠标旋转曲面。一旦实现了表面的正确旋转,我如何才能获得它的状态?
问问题
197 次
2 回答
1
每个驱动程序都会创建一个全局场景的克隆,该克隆会随着源的变化不断同步和更新。旋转是在克隆上完成的。我没有测试过,但我认为,您可以通过以下方式查询克隆中的对象(例如绘图立方体)
panel.GetCurrentScene().First<ILPlotCube>(/*your filter if needed*/)
此实例将反映用户所做的所有更改。
于 2013-08-12T18:21:54.910 回答
0
user492238s answer中指出的方法确实有效。但是,GetCurrentScene() 将一个新场景组装为全局和本地(对于当前驱动程序)场景的组合。如果经常调用,这可能会变得昂贵。如果只需要单个对象/属性,则可以使用 panel.SceneSyncRoot。
此外,绘图立方体的旋转由 plotcube.Rotation 属性公开。因此,为了获得绘图立方体的当前旋转(包括由于用户输入引起的旋转):
panel.SceneSyncRoot.First<ILPlotCube>().Rotation
于 2013-08-14T10:32:39.180 回答