当前位置: 首页>>代码示例>>C++>>正文


C++ Road::ajouterVoie方法代码示例

本文整理汇总了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();
}
开发者ID:NiNjA-CodE,项目名称:Traffic-simulator,代码行数:44,代码来源:map.cpp


注:本文中的Road::ajouterVoie方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。