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


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

本文整理汇总了C++中Road::get_cell方法的典型用法代码示例。如果您正苦于以下问题:C++ Road::get_cell方法的具体用法?C++ Road::get_cell怎么用?C++ Road::get_cell使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Road的用法示例。


在下文中一共展示了Road::get_cell方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: synthesize_traffic

/**
 * @brief Network::synthesize_traffic Creates new traffic in the model, attempting to meet density requirements.
 */
void Network::synthesize_traffic()
{
    vector<vector<Cell*> > cells;

    for(vector<Road*>::size_type i = 0; i < this->input_roads.size(); i++)
    {
        Road *r = this->input_roads.at(i);
        vector<Cell*> v;

        for(vector<Cell*>::size_type x = 0; x < r->get_length() && x < r->get_speed_limit(); x++)
        {
            Cell *c = r->get_cell(x);

            if(!c->has_vehicle())
                v.push_back(c);
            else
                break;
        }

        if(!v.empty())
            cells.push_back(v);
    }

    while((this->get_actual_input_density() < this->get_desired_input_density()) && !cells.empty())
    {
        unsigned int index = (rand() % cells.size() + 0);

        if(!cells.at(index).empty())
        {
            Cell *cell = cells.at(index).back();

            Vehicle *v = new Vehicle(cell->get_speed_limit());
            v->set_generation(this->generation);
            cell->set_vehicle(v);

            cells.at(index).pop_back();
        }
        else
            cells.erase(cells.begin() + index);
    }
}
开发者ID:dutchgold92,项目名称:TrafficSim,代码行数:44,代码来源:network.cpp


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