【发布时间】:2015-09-21 09:46:32
【问题描述】:
我正在为图表使用捆绑属性。定义如下:
class Node
{
void AssignPlane(Plane& p)
Plane* dp;
double errors;
}
void Node::AssignPlane(Plane& p)
{
dp=&p;
errors=p.a+p.b+p.c;// simplified
}
typedef adjacency_list<vecS,vecS,bidirectionalS,Node,float> NGraph;
//...
struct NVisitor: default_bfs_visitor
{
void discover_vertex(VertexDesc u, const NGraph& g) const
{
// CAN'T MODIFY G
}
}
但是我不能简单地调用 g[u].AssignPlane(p) 来修改顶点,也不能得到指向顶点的指针,这对我来说都是至关重要的。
虽然这个问题可能看起来很愚蠢,但作为 Boost 的新手,并且已经为适应 Boost 代码的复杂风格而奋斗了两个星期,但我真的需要帮助。
请不要尝试回答“您需要使用 BGL 以外的其他东西”,因为除了 BGL 之外,我找不到任何支持我的工作的东西。
而且我还必须说,官方文档并不是为了以更简单的方式解释他们的伟大工作。由于我已经阅读了数十次文档,因此不建议我重新阅读文档。
我会感谢任何有用的帮助,并提前说声谢谢。
【问题讨论】:
标签: c++ boost graph breadth-first-search