CGAL:在浏览平面地图时使用类型"标记"

CGAL: Using the type `Mark` while exploring a plane map

本文关键字:quot 类型 标记 浏览 平面 地图 CGAL      更新时间:2023-10-16

关于CGAL::Nef_polyhedron_2<T>::Topological_explorer的CGAL在线文档(请参阅此处(提到了一个类型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的信息mark(u)。Mark 符合可分配、默认可构造和相等可比的概念。

这种类型和价值观背后的想法是什么?我应该如何使用它们?

当您想要浏览平面贴图时,您需要遍历元素(半边和/或顶点和/或面(。例如,您可以使用深度搜索优先算法进行图遍历。

在此类遍历期间,通常需要测试是否已发现元素。这可以通过布尔标记来实现,该标记在发现元素时设置为 true。

默认情况下,在 Nef_2 中,Mark 是一个布尔值,但由于未记录的模板参数,这可以更改(请参阅此处(。例如,如果要存储发现元素的时间,则可以使用 int。

另请参阅此示例。