Вставка взвешенной точки с информацией в регулярную триангуляцию 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 ) ;

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

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


person Fritzip    schedule 20.04.2015    source источник


Ответы (1)


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

Vertex_handle v = rt.insert(wp);
v->info()=the_info;
person sloriot    schedule 20.04.2015
comment
Идеально ! Просто отлично! ‹3 - person Fritzip; 20.04.2015