本文整理汇总了C++中Road::ajouterVoie方法的典型用法代码示例。如果您正苦于以下问题:C++ Road::ajouterVoie方法的具体用法?C++ Road::ajouterVoie怎么用?C++ Road::ajouterVoie使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Road
的用法示例。
在下文中一共展示了Road::ajouterVoie方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: doc
Map::Map(const QString &nomFichier) {
QDomDocument doc("Plan");
QFile fichier(nomFichier);
if (!fichier.open(QIODevice::ReadOnly)) {
return;
}
if (!doc.setContent(&fichier)) {
fichier.close();
return;
}
fichier.close();
QDomNodeList intersections = doc.elementsByTagName("Intersection");
for (int n = 0; n < intersections.size(); ++n) {
QDomElement intersection = intersections.at(n).toElement();
qreal x = intersection.attribute("x").toFloat(), y = intersection.attribute("y").toFloat();
QString nom = intersection.attribute("nom");
Intersection *i = new Intersection(nom, Utils::Point(x, y));
if (m_Intersections.contains(nom)) {
delete m_Intersections[nom];
}
m_Intersections[nom] = i;
}
QDomNodeList routes = doc.elementsByTagName("Route");
for (int n = 0; n < routes.count(); ++n) {
QDomElement route = routes.at(n).toElement();
Road *r = new Road(route.attribute("nom"),
m_Intersections[route.attribute("depart")],
m_Intersections[route.attribute("fin")]);
for (int j = 0; j < route.attribute("pvd").toUInt(); ++j) {
Road::Voie v;
v.m_Direction = Road::Voie::PREM_VERS_DEUX;
r->ajouterVoie(v);
}
for (int j = 0; j < route.attribute("dvp").toUInt(); ++j) {
Road::Voie v;
v.m_Direction = Road::Voie::DEUX_VERS_PREM;
r->ajouterVoie(v);
}
m_Routes.push_back(r);
}
creerTrousIntersection();
}