void R_s_k_2::draw_relevance(const float line_width, const int nb) { MultiIndex mindex; FT min_value = (std::numeric_limits<FT>::max)(); FT max_value = -(std::numeric_limits<FT>::max)(); unsigned int nb_initial = 0; for (Finite_edges_iterator ei = m_dt.finite_edges_begin(); ei != m_dt.finite_edges_end(); ++ei) { Edge edge = *ei; if (m_dt.is_ghost(edge)) continue; FT value = m_dt.get_edge_relevance(edge); // >= 0 nb_initial++; min_value = (std::min)(min_value, value); max_value = (std::max)(max_value, value); mindex.insert(PEdge(edge, value)); } if (min_value == max_value) max_value += 1.0; viewer->glLineWidth(line_width); int nb_remove = (std::min)(nb, int(mindex.size())); viewer->glColor3d(0.5, 0.1, 0.1); for (int i = 0; i < nb_remove; ++i) { PEdge pedge = *(mindex.get<1>()).begin(); (mindex.get<0>()).erase(pedge); } viewer->glColor3d(0.0, 0.5, 0.0); while (!mindex.empty()) { PEdge pedge = *(mindex.get<1>()).begin(); (mindex.get<0>()).erase(pedge); draw_edge(pedge.edge()); } }