//---------------------------------------------------------------------------
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();
}
Example #2
0
void report(const char* message, SimStruct *S)
{
    ssPrintf("%f: %s (%s).\n", ssGetTime(S), message, SimState(S));
}