void Model::providePackage(Individual * agent, std::vector<IndividualPackage>& out) { AgentId id = agent->getId(); IndividualPackage package = { id.id(), id.startingRank(), id.agentType(), id.currentRank(), agent->getAgenda(), agent->getCurAct(), agent->getAgeCl(), agent->getGender(), agent->getSocioProStatus(), agent->getEduLevel(), agent->getState(), agent->getTimeTransition() }; out.push_back(package); }
void ZombieObserver::provideContent(RelogoAgent* agent, std::vector<AgentPackage>& out) { AgentId id = agent->getId(); AgentPackage content = { id.id(), id.startingRank(), id.agentType(), id.currentRank(), 0, false }; if (id.agentType() == humanType) { Human* human = static_cast<Human*> (agent); content.infected = human->infected(); content.infectionTime = human->infectionTime(); } out.push_back(content); }
void ZombieObserver::provideContent(const repast::AgentRequest& request, std::vector<AgentPackage>& out) { const vector<AgentId>& ids = request.requestedAgents(); for (int i = 0, n = ids.size(); i < n; i++) { AgentId id = ids[i]; AgentPackage content = { id.id(), id.startingRank(), id.agentType(), id.currentRank(), 0, false }; if (id.agentType() == humanType) { Human* human = who<Human> (id); content.infected = human->infected(); content.infectionTime = human->infectionTime(); } out.push_back(content); } }