我正在使用CGAL,我有一个使用某些顶点创建的多边形。
现在我得到了一个细分,包括:
Segment_2 segment = polygon.edge(i)
其中
i
是从0
到polygon.size()
的索引。如何将
Segment_2
转换为Edge
?就像有一个t.segment(Edge e)
从Segment_2
中获取一个Edge
一样,我希望得到相反的信息(Segment_2
到Edge
)。现在,我完全确定该线段属于Triangulation_2上的Edge,该如何获取?像
triangulation.edge(Segment_2)
这样的东西。请帮忙。
最佳答案
如果保留了与线段两点相对应的两个顶点控点,则可以使用此功能:
bool
CGAL::Triangulation_2< Traits, Tds >::
is_edge(Vertex_handle va,
Vertex_handle vb,
Face_handle & fr,
int & i
)
假设
v1
和v2
是顶点句柄,而t
是您的三角测量对象:Face_handle fh;
int i;
if(t.is_edge(v1, v2, fh, i)) {
Edge my_edge = Edge(fh, i);
// ... use your Edge
}
关于c++ - CGAL-从Segment_2获取Edge,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18000979/