Вставка взвешенной точки с информацией в регулярной триангуляции CGAL

Я столкнулся с проблемой, с которой, я надеюсь, столкнулись некоторые другие, потому что я не могу найти выход!

У меня есть регулярная триангуляция в CGAL, в которой я хочу вставить некоторые взвешенные точки с информацией std::pair<myweightpoint, myinfo> один за другим и получить ручку к вершине (Vertex_handle) как только он вставлен! Дело в том, что такой функции нет. Существует несколько функций для вставки:

Это возвращает Vertex_handle это круто, но не берет взвешенные точки с информацией, что очень важно для меня и что я делаю с этими вершинами.

Который позволяет мне вставлять некоторые взвешенные точки с информацией (что хорошо), но не дает мне ручки для вставленной вершины. Более того, поскольку я вставляю точки по одному, сейчас я делаю такие вещи:

v_wpoints.resize(1) ;
v_wpoints[0] = std::make_pair(myweightpoint, myinfo) ;
rt.insert(v_wpoints.begin(), v_wpoints.end()) ;

который кажется действительно грязным. Итак, мои вопросы: почему нет такой функции:

Vertex_handle Regular_triangulation::insert( const Weighted_point_with_info & p ) ;

и как я могу сделать, чтобы вставить взвешенную точку с информацией в регулярной триангуляции и получить ручку для вставленной вершины.

Большое спасибо.

1

Решение

Что вы можете сделать, это:

Vertex_handle v = rt.insert(wp);
v->info()=the_info;
3

Другие решения


По вопросам рекламы [email protected]