我正在CGAL中实现一些代码。我安排好了现在,我想向布置的每个面孔添加一些数据。所以我通过下面的方法访问一张脸。它返回const句柄。所以我尝试将其转换为non_const_handle。但是它显示了“没有对象就无法调用成员函数”的错误。
const Face_const_handle* f;
if(f = boost::get<Face_const_handle>(&(it->second))){
Arrangement_2::Face_handle fh = Arrangement_2::non_const_handle(*f); // ERROR HERE
for(int i=1;i<convexPts.size();i++){
CGAL::Gmpq temp = CGAL::squared_distance(convexPts[0],convexPts[i]);
if(temp>max){
max = temp;
fh->set_data(max);
}
}
}
最佳答案
Vertex_handle arr.non_const_handle(Vertex_const_handle v)
Halfedge_handle arr.non_const_handle(Halfedge_const_handle e)
Face_handle non_arr.const_handle(Face_const_handle f)
参见Arangement_2 template并查找“铸造常数”
关于c++ - 从CGAL中的const_handle到non_const_handle,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40709284/