本文整理汇总了C++中World::GetCelluls方法的典型用法代码示例。如果您正苦于以下问题:C++ World::GetCelluls方法的具体用法?C++ World::GetCelluls怎么用?C++ World::GetCelluls使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类World
的用法示例。
在下文中一共展示了World::GetCelluls方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Init
// --------------------------------------------------------
// --------------------------------------------------------
void SMAHeat::Init(World & parWorld)
{
CellularAutomata const & celluls = parWorld.GetCelluls();
PointI const & mapSize = celluls.GetSize();
int nbCluster = mapSize.x * mapSize.y / 100;
for (int i = 0; i < nbCluster; ++i)
{
int minPosX = (i % (mapSize.x / 10)) * 10;
int minPosY = (i / (mapSize.x / 10)) * 10;
ReachabilityCluster * cluster = new ReachabilityCluster(minPosX, minPosX + 10, minPosY, minPosY + 10);
FReachabilityClusters.push_back(cluster);
}
FDecisionalAgent.push_back(new DecisionalAgent(this));
}
示例2: BuildVisionCache
// --------------------------------------------------------
// --------------------------------------------------------
void SMAHeat::BuildVisionCache(World const & parWorld, Agent* parAgent)
{
std::cout << "build Cluster internal link <=> Agent" << std::endl;
ReachabilityCluster * cluster = NULL;
for (auto const & currentCluster : FReachabilityClusters)
{
if (currentCluster->Contains(parAgent))
cluster = currentCluster;
}
ReachablePathFind pathFind(&parWorld.GetCelluls(), cluster);
// Reachabilite entre les different agent et les lien interieur
for (auto& link : cluster->GetLinks())
{
Position p1 = { link->x, link->y };
Position p2 = { parAgent->X(), parAgent->Y() };
pathFind.Init(p1, p2);
unsigned int dist = pathFind.ComputePath();
if (dist)
{
link->ReachableAgents.push_back(AgentWithDist(parAgent, dist));
}
}
}