本文整理汇总了C++中graph::get_edge方法的典型用法代码示例。如果您正苦于以下问题:C++ graph::get_edge方法的具体用法?C++ graph::get_edge怎么用?C++ graph::get_edge使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类graph
的用法示例。
在下文中一共展示了graph::get_edge方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: draw_dashes_draft
//------------------------------------------------------------------------
void draw_dashes_draft()
{
pixfmt pixf(rbuf_window());
base_renderer rb(pixf);
primitives_renderer prim(rb);
outline_rasterizer ras(prim);
int i;
for(i = 0; i < m_graph.get_num_edges(); i++)
{
graph::edge e = m_graph.get_edge(i);
graph::node n1 = m_graph.get_node(e.node1, width(), height());
graph::node n2 = m_graph.get_node(e.node2, width(), height());
curve c(n1.x, n1.y, n2.x, n2.y);
dash_stroke_draft<curve> s(c, 6.0, 3.0, m_width.value());
int r = rand() & 0x7F;
int g = rand() & 0x7F;
int b = rand() & 0x7F;
int a = 255;
if(m_translucent.status()) a = 80;
prim.line_color(agg::srgba8(r, g, b, a));
ras.add_path(s);
}
}
示例2: draw_dashes_fine
//------------------------------------------------------------------------
void draw_dashes_fine(scanline_rasterizer& ras,
solid_renderer& solid,
draft_renderer& draft)
{
int i;
for(i = 0; i < m_graph.get_num_edges(); i++)
{
graph::edge b = m_graph.get_edge(i);
graph::node n1 = m_graph.get_node(b.node1, width(), height());
graph::node n2 = m_graph.get_node(b.node2, width(), height());
curve c(n1.x, n1.y, n2.x, n2.y);
dash_stroke_fine<curve> s(c, 6.0, 3.0, m_width.value());
render_edge_fine(ras, solid, draft, s);
}
}
示例3: iterate
vertex_id reach_dijkstra::iterate()
{
if (q_.size() > max_heap_size_)
max_heap_size_ = q_.size();
while (pout_->count(q_.top().id) != 0)
{
if (iterations_counter % 100000 == 0)
cout << "Heap size: " << q_.size() << endl;
++iterations_counter;
q_.pop();
}
heap_vertex hv = q_.top();
q_.pop();
const path_vertex &pv = unordered_safe_find_const(border_, hv.id);
(*pout_)[hv.id] = pv;
const vertex &v = pgraph_->get_vertex(hv.id);
for (vertex::adj_iterator it = v.out_begin(); it != v.out_end(); ++it)
{
const vertex_id &adj_vid = (*it).v;
const vertex &adj_v = pgraph_->get_vertex(adj_vid);
const edge_id &eid = (*it).e;
const edge &e = pgraph_->get_edge(eid);
if (pout_->count (adj_vid) > 0)
continue;
path_vertex pv2 (adj_vid, pv.d + get_weight(e), eid, hv.id);
heap_vertex hv2 (adj_vid, pv2.d);
if (border_.count(adj_vid) == 0 ||
unordered_safe_find_const(border_, adj_vid).d > pv2.d)
{
q_.push(hv2);
border_[adj_vid] = pv2;
}
}
border_.erase(hv.id);
return hv.id;
}
示例4: draw_polygons
//------------------------------------------------------------------------
void draw_polygons(scanline_rasterizer& ras,
solid_renderer& solid,
draft_renderer& draft)
{
int i;
if(m_type.cur_item() == 4)
{
ras.gamma(agg::gamma_threshold(0.5));
}
for(i = 0; i < m_graph.get_num_edges(); i++)
{
graph::edge b = m_graph.get_edge(i);
graph::node n1 = m_graph.get_node(b.node1, width(), height());
graph::node n2 = m_graph.get_node(b.node2, width(), height());
curve c(n1.x, n1.y, n2.x, n2.y);
render_edge_fine(ras, solid, draft, c);
}
ras.gamma(agg::gamma_none());
}