PolygonTriangulator Node1 PolygonTriangulator + PolygonTriangulator() + PolygonTriangulator() + operator=() + triangles() + ~PolygonTriangulator() Node2 PolygonTriangulator ::Polygon - m_edgebst - m_ncontours - m_xmin - m_xmax - m_ymin - m_ymax + Polygon() + ~Polygon() + partition2Monotone() + searchMonotones() + triangulation() + triangles() + points() + edges() - set_contour() - initializate() - prev() - next() - handleStartVertex() - handleEndVertex() - handleSplitVertex() - handleMergeVertex() - handleRegularVertexUp() - handleRegularVertexDown() - addDiagonal() - angleCosb() - selectNextEdge() - triangulateMonotone() - init_vertices_and_lines() Node2->Node1 -m_polygon Node3 std::map< unsigned int, Linebase * > + keys + elements Node3->Node2 -m_diagonals -m_edges Node4 std::list< Triangle > Node4->Node2 -m_triangles Node6 std::map< unsigned int, std::set< unsigned int > > + keys Node6->Node2 -m_startAdjEdgeMap Node8 std::map< unsigned int, Pointbase * > + keys + elements Node8->Node2 -m_points Node9 std::list< Monopoly > + elements Node9->Node2 -m_mpolys Node10 std::priority_queue < Pointbase > + elements Node10->Node2 -m_qpoints Node11 std::vector< unsigned int > + elements Node11->Node2 -m_nVertices Node12 long Node12->Node2 -m_l_id