public CellStackData CopyData() { CellStackData data = new CellStackData(); data.ColumnCount = ColumnCount; data.RowCount = RowCount; data.LayerCount = LayerCount; data.CellAges = GetCellAge(); data.CellStates = GetCellState(); data.Position = new float[] { 0, 0, 0 }; data.MeanStackDensity = MeanStackDensity; data.MaxLayerDensity = MaxLayerDensity; data.MinLayerDensity = MinLayerDensity; data.MaxAge = MaxAge; data.AvgAge = AvgAge; data.Fitness = Fitness; data.DNAGENES = DNA.Genes; data.Name = _name; data.LayerAvgAges = new float[LayerCount]; data.LayerDensities = new float[LayerCount]; data.LayerMaxAges = new float[LayerCount]; for (int i = 0; i < LayerCount; i++) { data.LayerAvgAges[i] = Layers[i].AvgAge; data.LayerDensities[i] = Layers[i].Density; data.LayerMaxAges[i] = Layers[i].MaxAge; } return(data); }
public void ResetStackFromStackData() { OpenFileDialog choofdlog = new OpenFileDialog(); choofdlog.Filter = "All Files (*.*)|*.*"; choofdlog.FilterIndex = 1; choofdlog.Multiselect = true; if (choofdlog.ShowDialog() == DialogResult.OK) { string sFileName = choofdlog.FileName; string[] arrAllFiles = choofdlog.FileNames; //used when Multiselect = true CellStackData stackdata = Interop.DeserializeBinary <CellStackData>(sFileName); if (stackdata.ColumnCount != _rowCount || stackdata.RowCount != _columnCount || stackdata.LayerCount != _layerCount) { _columnCount = stackdata.ColumnCount; _rowCount = stackdata.RowCount; _layerCount = stackdata.LayerCount; InitializeCells(); } //set stack values _name = stackdata.Name; _meanStackDensity = stackdata.MeanStackDensity; _maxLayerDensity = stackdata.MaxLayerDensity; _minLayerDensity = stackdata.MinLayerDensity; _maxAge = stackdata.MaxAge; _avgAge = stackdata.AvgAge; _fitness = stackdata.Fitness; _dna = DNAI.CreateFromGenes(stackdata.DNAGENES); UpdateDataText(); for (int z = 0; z < _layerCount; z++) { CellLayer layer = _layers[z]; //set layer values layer.Density = stackdata.LayerDensities[z]; layer.AvgAge = stackdata.LayerAvgAges[z]; layer.MaxAge = stackdata.LayerMaxAges[z]; for (int x = 0; x < _rowCount; x++) { for (int y = 0; y < _columnCount; y++) { Cell cell = layer.Cells[x, y]; cell.State = 0; //set cell values cell.Age = stackdata.CellAges[x, y, z]; cell.State = stackdata.CellStates[x, y, z]; } } } } }
public FitnessDNA(CellStackData data) { fitness = data.Fitness; DNA = DNAI.CreateFromGenes(data.DNAGENES); }