修改从定位调用获取的扩展DCEL



我有一个Arrangement_2类,用自定义Arr_face_extended_dcel实例化,将一些数据映射到每个单元格。

我想找到一些具有locate调用的单元格并更改其相关数据,但不幸的是,locate返回一个迭代器到一些Face_const_handle s,所以我不能调用set_data(...),因为这会破坏const性。

所以,我的问题是:有没有一种方法可以有效地改变数据映射到与locate发现的脸,而不诉诸讨厌的const_cast s?

必须使用Arrangement_2模板类的重载成员模板函数non_const_handle()。有3个版本,分别接受Vertex_const_handleHalfedge_const_handleFace_const_handle;请参阅手册。

BW, const_cast<>将不起作用。因为,例如,Vertex_const_handleVertex_handle只是不同的类型。

最新更新