本文整理汇总了C++中NBNode::getEdges方法的典型用法代码示例。如果您正苦于以下问题:C++ NBNode::getEdges方法的具体用法?C++ NBNode::getEdges怎么用?C++ NBNode::getEdges使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NBNode
的用法示例。
在下文中一共展示了NBNode::getEdges方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
// ----------- (Helper) methods for joining nodes
void
NBNodeCont::generateNodeClusters(SUMOReal maxDist, NodeClusters& into) const {
std::set<NBNode*> visited;
for (NodeCont::const_iterator i = myNodes.begin(); i != myNodes.end(); i++) {
std::vector<NBNode*> toProc;
if (visited.find((*i).second) != visited.end()) {
continue;
}
toProc.push_back((*i).second);
std::set<NBNode*> c;
while (!toProc.empty()) {
NBNode* n = toProc.back();
toProc.pop_back();
if (visited.find(n) != visited.end()) {
continue;
}
c.insert(n);
visited.insert(n);
const EdgeVector& edges = n->getEdges();
for (EdgeVector::const_iterator j = edges.begin(); j != edges.end(); ++j) {
NBEdge* e = *j;
NBNode* s = 0;
if (n->hasIncoming(e)) {
s = e->getFromNode();
} else {
s = e->getToNode();
}
if (visited.find(s) != visited.end()) {
continue;
}
if (e->getLoadedLength() < maxDist) {
toProc.push_back(s);
}
}
}
if (c.size() < 2) {
continue;
}
into.push_back(c);
}
}