Пример #1
0
void Group::addIndividual(const Individual& ind) throw (BadIdentifierException)
{
  try
  {
    getIndividualPosition(ind.getId());
    throw BadIdentifierException("Group::addIndividual: individual id already used.", ind.getId());
  }
  catch (BadIdentifierException& bie)
  {}
  individuals_.push_back(new Individual(ind));
}
Пример #2
0
void Model::updateAgent(IndividualPackage package) {

	repast::AgentId id(package.id, package.init_proc, MODEL_AGENT_IND_TYPE);
	Individual * agent = this->_agents->getAgent(id);
	agent->getId().currentRank(package.cur_proc);
	agent->setAgenda(package.agenda);
	agent->setAgeCl(package.age_cl);
	agent->setGender(package.gender);
	agent->setSocioProStatus(package.socio_pro_status);
	agent->setEduLevel(package.edu_level);
	agent->setState(package.state);

}
Пример #3
0
void Model::gatherDataInd(const Individual& aInd) {

	switch(aInd.getState()) {
	case state_inf::SUSCEPTIBLE:
		_total_susceptible.incrementData();
		break;
	case state_inf::LATENT:
		_total_latent.incrementData();
		break;
	case state_inf::INFECTIOUS_SYMPT:
		_total_infectious_sympt.incrementData();
		break;
	case state_inf::INFECTIOUS_ASYMPT:
		_total_infectious_asympt.incrementData();
		break;
	case state_inf::RECOVERED:
		_total_recovered.incrementData();
		break;
	default:
		cerr << "ERROR: Proc " << _proc << ": Not a valid state for individual " << aInd.getId().id() << endl;
	}

}