[Avida-SVN] r2184 - in branches/energy/source: main targets/avida-viewer

beckma24 at myxo.css.msu.edu beckma24 at myxo.css.msu.edu
Wed Nov 7 12:26:11 PST 2007


Author: beckma24
Date: 2007-11-07 15:26:11 -0500 (Wed, 07 Nov 2007)
New Revision: 2184

Modified:
   branches/energy/source/main/cDeme.cc
   branches/energy/source/main/cDemeCellEvent.cc
   branches/energy/source/main/cPopulation.cc
   branches/energy/source/targets/avida-viewer/cTextViewerDriver.cc
Log:
Added deme update processing to text viewer.  Also, fixed some minor bugs in computing the center of an event.

Modified: branches/energy/source/main/cDeme.cc
===================================================================
--- branches/energy/source/main/cDeme.cc	2007-11-07 12:41:16 UTC (rev 2183)
+++ branches/energy/source/main/cDeme.cc	2007-11-07 20:26:11 UTC (rev 2184)
@@ -125,22 +125,18 @@
   //remove old events and corresponding predicates
   for(int i = cell_events.Size()-1; i >= 0; i--) {
     if(cell_events[i].GetTimeToLive() <= m_world->GetStats().GetUpdate()) {
-      //remove predicates from stats and deme
-/*      for(int j = message_pred_list.Size()-1; j >= 0; j--) {
-        if(message_pred_list[j]->GetEvent()->GetEventID() == cell_events[i].GetEventID()) {
-          m_world->GetStats().RemoveMessagePredicate(message_pred_list[j]);
-          message_pred_list.RemoveAt(j);
-        }
-      }*/
       cell_events[i].Terminate();
-//      cell_events.RemoveAt(i);
     }
   }
 
-  //reset remaining predicates
+  //reset remaining message predicates
   for(int i = 0; i < message_pred_list.Size(); i++) {
     (*message_pred_list[i]).Reset();
   }
+  //reset remaining message predicates
+  for(int i = 0; i < movement_pred_list.Size(); i++) {
+    (*movement_pred_list[i]).Reset();
+  }
 
   for(int i = 0; i < GetSize(); i++) {
     m_world->GetPopulation().GetCell(GetCellID(i)).SetCellData(0);
@@ -254,7 +250,7 @@
 }
 
 bool cDeme::MovPredSatisfiedPreviously() {
-  for(int i = 0; i < message_pred_list.Size(); i++) {
+  for(int i = 0; i < movement_pred_list.Size(); i++) {
     if(movement_pred_list[i]->PreviouslySatisfied()) {
       movement_pred_list[i]->UpdateStats(m_world->GetStats());
       return true;

Modified: branches/energy/source/main/cDemeCellEvent.cc
===================================================================
--- branches/energy/source/main/cDemeCellEvent.cc	2007-11-07 12:41:16 UTC (rev 2183)
+++ branches/energy/source/main/cDemeCellEvent.cc	2007-11-07 20:26:11 UTC (rev 2184)
@@ -107,7 +107,7 @@
 }
 
 std::pair<double, double> cDemeCellEvent::GetCenter() const { 
-  return make_pair(center.first.first+center.second.first/2.0, center.first.second+center.second.second/2.0);
+  return make_pair((center.first.first+center.second.first)/2.0, (center.first.second+center.second.second)/2.0);
 }
 
 bool cDemeCellEvent::InCenter(pair<int, int> pos) const {

Modified: branches/energy/source/main/cPopulation.cc
===================================================================
--- branches/energy/source/main/cPopulation.cc	2007-11-07 12:41:16 UTC (rev 2183)
+++ branches/energy/source/main/cPopulation.cc	2007-11-07 20:26:11 UTC (rev 2184)
@@ -1118,7 +1118,8 @@
       }
       case 6: {
         // Replicate old demes
-        if(source_deme.GetAge() < m_world->GetConfig().MAX_DEME_AGE.Get()) continue;
+        if(source_deme.GetAge() < m_world->GetConfig().MAX_DEME_AGE.Get())
+          continue;
         break;
       }
       default: {

Modified: branches/energy/source/targets/avida-viewer/cTextViewerDriver.cc
===================================================================
--- branches/energy/source/targets/avida-viewer/cTextViewerDriver.cc	2007-11-07 12:41:16 UTC (rev 2183)
+++ branches/energy/source/targets/avida-viewer/cTextViewerDriver.cc	2007-11-07 20:26:11 UTC (rev 2184)
@@ -128,6 +128,11 @@
     // end of update stats...
     population.CalcUpdateStats();
     
+    // Process the update for each deme.
+    for(int i=0; i<population.GetNumDemes(); ++i) {
+      population.GetDeme(i).ProcessUpdate();
+    }
+    
     // Setup the viewer for the new update.
     if (m_view->GetStepOrganism() == -1) {
       m_view->NewUpdate();




More information about the Avida-cvs mailing list