根据文档,在网格元素上调用 delete ( delete_face()
, delete_vertex()
, delete_edge()
) 只会通过设置适当的状态标志在内部删除它们。只有当垃圾收集器被调用时,这些元素才会被永久删除。我的问题是,是否可以有针对性地恢复已删除但尚未被垃圾收集的项目?我想可以通过重置它们的状态属性来恢复所有标记为删除的项目,但是是否可以通过它们的句柄取消删除特定的面/顶点/边缘?
在我看来,仅仅重置要取消删除的项目的状态属性是不够的,因为由于项目的删除而设置为删除的所有连接元素也必须取消删除。
旁注:我使用术语取消删除而不是恢复,因为后者是指从文档中的文件恢复。
编辑:我也对一次有效地取消删除所有标记为删除的项目的方法感兴趣。智能标记器提供了一种 O(1) 的方法来取消标记所有元素。有没有办法以 O(1) 的效率取消删除所有元素?