我有一个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_handle
、Halfedge_const_handle
、Face_const_handle
;请参阅手册。
BW, const_cast<>
将不起作用。因为,例如,Vertex_const_handle
和Vertex_handle
只是不同的类型。