[Avida-SVN] r2255 - branches/energy/source/main

beckma24 at myxo.css.msu.edu beckma24 at myxo.css.msu.edu
Mon Jan 7 07:37:19 PST 2008


Author: beckma24
Date: 2008-01-07 10:37:19 -0500 (Mon, 07 Jan 2008)
New Revision: 2255

Modified:
   branches/energy/source/main/cDeme.cc
   branches/energy/source/main/cDeme.h
   branches/energy/source/main/cTaskLib.cc
Log:
Fixed 'move to target' event

Modified: branches/energy/source/main/cDeme.cc
===================================================================
--- branches/energy/source/main/cDeme.cc	2008-01-04 19:26:48 UTC (rev 2254)
+++ branches/energy/source/main/cDeme.cc	2008-01-07 15:37:19 UTC (rev 2255)
@@ -242,6 +242,16 @@
   return cell_events[i];
 }
 
+cOrgMessagePredicate* cDeme::GetMsgPredicate(int i) {
+  assert(i < message_pred_list.Size());
+  return message_pred_list[i];
+}
+
+cOrgMovementPredicate* cDeme::GetMovPredicate(int i) {
+  assert(i < movement_pred_list.Size());
+  return movement_pred_list[i];
+}
+
 void cDeme::ClearAllEvents() {
   
 }

Modified: branches/energy/source/main/cDeme.h
===================================================================
--- branches/energy/source/main/cDeme.h	2008-01-04 19:26:48 UTC (rev 2254)
+++ branches/energy/source/main/cDeme.h	2008-01-07 15:37:19 UTC (rev 2255)
@@ -125,6 +125,8 @@
   void SetCellEventGradient(int x1, int y1, int x2, int y2, int delay, int duration, bool static_pos, int time_to_live);
   int GetNumEvents();
   cDemeCellEvent GetEvent(int i);
+  cOrgMessagePredicate* GetMsgPredicate(int i);
+  cOrgMovementPredicate* GetMovPredicate(int i);  
   void ClearAllEvents();
   bool MsgPredSatisfiedPreviously();
   bool MovPredSatisfiedPreviously();

Modified: branches/energy/source/main/cTaskLib.cc
===================================================================
--- branches/energy/source/main/cTaskLib.cc	2008-01-04 19:26:48 UTC (rev 2254)
+++ branches/energy/source/main/cTaskLib.cc	2008-01-07 15:37:19 UTC (rev 2255)
@@ -29,6 +29,7 @@
 #include "cArgSchema.h"
 #include "cDeme.h"
 #include "cEnvReqs.h"
+#include "cOrgMessagePredicate.h"
 #include "cPopulation.h"
 #include "cPopulationCell.h"
 #include "tHashTable.h"
@@ -2767,7 +2768,7 @@
   cDeme& deme = m_world->GetPopulation().GetDeme(ctx.GetOrgInterface()->GetDemeID());
     
   for(int i = 0; i < deme.GetNumEvents(); i++) {
-    if((unsigned int)deme.GetEvent(i).GetEventID() != 0) {
+    if(deme.GetEvent(i).GetEventID() != 0) {
       if((unsigned int)deme.GetEvent(i).GetEventID() == last_sent_msg.GetLabel() || (unsigned int)deme.GetEvent(i).GetEventID() == last_sent_msg.GetData()) {
         return 1.0;
       }
@@ -2825,7 +2826,7 @@
     return 0.0;
     
   for(int i = 0; i < deme.GetNumMessagePredicates(); i++) {
-    if(deme.GetEvent(i).GetEventID() == cell_data)
+    if(deme.GetMsgPredicate(i)->GetEvent()->GetEventID() == cell_data)
       return 1.0;
   }
   return 0.0;




More information about the Avida-cvs mailing list