有关CGAL::Nef_polyhedron_2<T>::Topological_explorer
的CGAL在线文档(请参阅here)提到了Mark
类型和许多函数,这些函数返回此类型的值:
const Mark & mark (Vertex_const_handle v)
returns the mark of v.
const Mark & mark (Halfedge_const_handle e)
returns the mark of e.
const Mark & mark (Face_const_handle f)
returns the mark of f.
该文档说:“平面图是属性,对于每个对象,我们都将属性信息类型为
mark(u)
的Mark
归为己有。Mark符合可分配,默认可构造和等比的概念。”这种类型和值背后的想法是什么?我应该如何使用它们?
最佳答案
当您要探索平面 map 时,需要遍历元素(半边线和/或顶点和/或面)。例如,您可以将深度搜索优先算法用于图形遍历。
在这种遍历期间,通常有必要测试是否已经发现元素。这归功于 bool(boolean) 值标记,当发现一个元素时, bool(boolean) 值设置为true。
在Nef_2中,默认情况下,Mark是一个 bool(boolean) 值,但是由于未记录的模板参数(请参见here),可以更改它。例如,如果要存储元素发现的时间,则可以使用int。
另请参见this example。
关于c++ - CGAL:在浏览平面 map 时使用 `Mark`类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62456690/