[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