CGAL:如何合并具有多条公共边的两个(共面)多面体面?

CGAL:如何合并具有多条公共边的两个(共面)多面体面?,cgal,Cgal,使用CGAL,使用任何内核,但最好是Epeck,如何安全地合并多面体_3的两个共面面(任意程度)?两个面位于同一个多面体_3表面上,并且已经共享一条或多条边。理想的结果是,公共边全部删除,两个面成为一个面,操作后没有天线或未连接的顶点保留。例如,我希望合并下图中所示的面F1和F2,并删除由HE1、HE2和HE3表示的边 我希望获得与CGAL相同的结果,除了(我相信)join_facet仅用于连接只有一条公共边的facet。如果有更多天线,join_facet可能会创建天线,从而导致多面体上的后

使用CGAL,使用任何内核,但最好是Epeck,如何安全地合并多面体_3的两个共面面(任意程度)?两个面位于同一个多面体_3表面上,并且已经共享一条或多条边。理想的结果是,公共边全部删除,两个面成为一个面,操作后没有天线或未连接的顶点保留。例如,我希望合并下图中所示的面F1和F2,并删除由HE1、HE2和HE3表示的边

我希望获得与CGAL相同的结果,除了(我相信)
join_facet
仅用于连接只有一条公共边的facet。如果有更多天线,
join_facet
可能会创建天线,从而导致多面体上的后续操作失败

计算面是否共面不是问题的一部分,我自己可以处理


最终目的是合并共面的三角形多面体的所有面。我假设最好的方法是迭代合并多面体的接触共面面。因此,我也将接受解释实现所需结果的替代方法的答案。

如果您的面有足够多的边,您可以调用该函数。

join_loop的帮助说明“面和沿g表示的面的顶点都被移除”。我想这意味着如果他们接触的话,手术后会有一个洞。该图还暗示这是用于连接两个未连接的面。你能提供一个小例子来说明它在这方面的用途吗?如果你有两个四面体,其中一个面彼此共面,这将允许移除它,多面体将只绑定一个卷。我现在澄清了这个问题,我不想合并不同多面体的两个面,我想合并同一多面体的两个面,就像您使用
join_facet
一样,除了
join_facet
仅用于连接只有一条公共边的面。如果有更多天线,
join\u facet
可以创建天线。最终的目标是合并一个三角形多面体的所有共面面。即使有n条边,也没有
join_facet
起作用,并且它只在一个多面体上起作用(在我的示例中,两个四面体在同一个多面体中)ok(认为四面体是3D形状,所以没有看到两个如何成为多面体曲面的一部分,实际上我仍然不完全理解,但这并不重要).无论如何,你是说,
join\u facet
将删除事件facet,并删除以前作为这些facet之间边界的所有边,不留下天线吗?关于这方面的帮助不清楚。