Я пытаюсь сгенерировать взвешенный вороной на основе диаграммы Аполлония. Я использую библиотеку CGAL. Я не смог найти хорошего примера, как получить грани и вершины от аполлония. У меня есть следующие typedef:
typedef double NT;
typedef CGAL::Cartesian< NT> KernelCartes;
typedef CGAL::Ray_2<KernelCartes> Cartes_Ray;
typedef CGAL::Line_2<KernelCartes> Cartes_Line;
typedef CGAL::Segment_2<KernelCartes> Cartes_Segment;
typedef std::list<Cartes_Ray> Cartes_RayList;
typedef std::list<Cartes_Line> Cartes_LineList;
typedef std::list<Cartes_Segment> Cartes_SegmentList;
typedef CGAL::Point_2<KernelCartes> Cartes_Point;
typedef CGAL::Apollonius_graph_traits_2<KernelCartes> ApoTraits;
typedef CGAL::Apollonius_graph_2<ApoTraits> Apo_Graph;
typedef Apo_Graph::Site_2 Apo_Site;
Далее я пытаюсь создать диаграмму Аполлония. WVD - это взвешенная диаграмма Вороного (Apo_Graph).
WVD.clear();
double Weight;
foreach(QPointF point,List_Nodes)
{
Weight = NewRandomNumber(1,10);
Apo_Site k(Cartes_Point(point.x(),point.y()),Weight);
WVD.insert(k);
}
Теперь мне нужно знать, как я могу получить доступ к взвешенным вороноям и сгенерированным граням (и впоследствии вершинам для каждой грани).