我正在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/

10-11 22:07