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

beckma24 at myxo.css.msu.edu beckma24 at myxo.css.msu.edu
Wed Aug 22 12:33:54 PDT 2007


Author: beckma24
Date: 2007-08-22 15:33:53 -0400 (Wed, 22 Aug 2007)
New Revision: 1985

Modified:
   branches/energy/source/main/cPopulation.cc
Log:
Bug fix: energy model version of ReplicateDemes not resets the facing of the organism imjected into the deme to northwest

Modified: branches/energy/source/main/cPopulation.cc
===================================================================
--- branches/energy/source/main/cPopulation.cc	2007-08-22 19:23:37 UTC (rev 1984)
+++ branches/energy/source/main/cPopulation.cc	2007-08-22 19:33:53 UTC (rev 1985)
@@ -1195,9 +1195,23 @@
         source_deme.Reset();
         target_deme.Reset();
 
-        InjectGenome(source_deme.GetCellID(source_deme.GetSize()/2), seed_genome, seed_lineage); // source deme
-        InjectGenome(target_deme.GetCellID(target_deme.GetSize()/2), seed_genome, seed_lineage); // destination deme
+        int source_deme_inject_cell = source_deme.GetCellID(source_deme.GetSize()/2);
+        int target_deme_inject_cell = target_deme.GetCellID(target_deme.GetSize()/2);
         
+        InjectGenome(source_deme_inject_cell, seed_genome, seed_lineage); // source deme
+        InjectGenome(target_deme_inject_cell, seed_genome, seed_lineage); // destination deme
+        
+        // Rotate both injected cells to face northwest.
+        int offset = source_deme.GetCellID(0);
+        cell_array[source_deme_inject_cell].Rotate(cell_array[GridNeighbor(source_deme_inject_cell-offset,
+                                                              source_deme.GetWidth(),
+                                                              source_deme.GetHeight(), -1, -1)+offset]);
+        offset = target_deme.GetCellID(0);
+        cell_array[target_deme_inject_cell].Rotate(cell_array[GridNeighbor(target_deme_inject_cell-offset,
+                                                              target_deme.GetWidth(), 
+                                                              target_deme.GetHeight(), -1, -1)+offset]);
+
+        
       } else {
         cOrganism* seed = cell_array[cell1_id].GetOrganism();
         




More information about the Avida-cvs mailing list