//--------------------------------------------------------------------------- void SimImmuneResponse::Tick() { //Clean mSimState mSimState = SimState(); //Collect all migrants std::list<std::pair<EnumLocation, boost::shared_ptr<Sprite> > > migrants; mBloodStream->RemoveEmigrants(migrants); mBoneMarrow->RemoveEmigrants(migrants); mCellTissue->RemoveEmigrants(migrants); mLymphNode->RemoveEmigrants(migrants); mBloodStream->AddMigrants(migrants); mBoneMarrow->AddMigrants(migrants); mCellTissue->AddMigrants(migrants); mLymphNode->AddMigrants(migrants); //Re-update it mBloodStream->UpdateSimState(mSimState); mBoneMarrow->UpdateSimState(mSimState); mCellTissue->UpdateSimState(mSimState); mLymphNode->UpdateSimState(mSimState); //Respond to it mBloodStream->RespondToSimState(); mBoneMarrow->RespondToSimState(); mCellTissue->RespondToSimState(); mLymphNode->RespondToSimState(); //Move all sprites mBloodStream->MoveAllSprites(); mBoneMarrow->MoveAllSprites(); mCellTissue->MoveAllSprites(); mLymphNode->MoveAllSprites(); }
void report(const char* message, SimStruct *S) { ssPrintf("%f: %s (%s).\n", ssGetTime(S), message, SimState(S)); }