【发布时间】:2016-09-27 08:25:40
【问题描述】:
我有一个简单的 SceneKit 视图,它显示天线设计,例如电视天线,或者这个不太常见的示例,双二阶。
这些设计由多个旋转和定位的SKCylinders 组成。
与该视图相连的是一个 NSTableView,它列出了圆柱体的端点并允许用户对其进行编辑。当他们退出编辑器时,3D 视图会更新。
问题是我的当前代码总是在每次重绘时添加新的SKCylinders 到视图中。因此,当他们进行编辑时,SKCylinders 的多个副本最终会出现在视图中。我正在查看文档,试图找出解决此问题的最佳方法。
1) 我是否应该在每次绘制之前简单地删除所有几何节点,然后让它焕然一新?有没有一种简单的方法可以找到所有几何节点,而不是相机或灯光(或其他)?
2) 有什么方法可以识别集合中的节点,所以我可以说由于几何的第 5 行发生了变化,我需要调整 node-with-something=5?我虽然关于使用name,但我看不到按名称查找节点的方法
3) (2) 不是一个完整的解决方案,因为我允许在列表中插入和删除,所以它可能是“更改后的所有内容”。这会让我想到 (1) 还是这里有更好的解决方案?
感谢您的建议!
【问题讨论】: