[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