我正在使用CGAL,我有一个用一些顶点创建的多边形。
现在我得到一个片段,带有:
Segment_2 segment = polygon.edge(i)
其中CCD_ 1是从CCD_ 2到CCD_。
如何将Segment_2
转换为Edge
?就像有一个t.segment(Edge e)
从Edge
得到Segment_2
一样,我想要一些东西来得到相反的东西(Segment_2
到i
0)。
现在我完全确定这段属于三角形_2上的一条边,我该如何得到它?可能类似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
}