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)); }
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); }
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; } }