我发现对于上的BGL计算
CGAL::Polyhedron_3<K,CGAL::Polyhedron_items_with_id_3>
平方距离用于边缘重量,定义如下:CGAL/boost/graphic/properties_Polymedn_3.h
这会在多面体网格上产生错误的结果。
如何在不更改CGAL代码的情况下更改重量度量?
我的工作是改变
reference operator[](key_type const& e) const
{
return CGAL::squared_distance(e->vertex()->point(), e->opposite()->vertex()->point());
}
类内多面体_边缘_权重映射到
reference operator[](key_type const& e) const
{
return sqrt(CGAL::squared_distance(e->vertex()->point(), e->opposite()->vertex()->point()));
}
有什么想法吗?
谢谢并致以最美好的祝愿,Thomas
注意,weightmap是函数dijksta_shortest_path 的参数