public void importSeedGrowthData()
        {
            string filePath = _view.getImportFilePath();

            if (filePath != null)
            {
                IFormatter formatter = new BinaryFormatter();
                try
                {
                    Stream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);

                    var data   = formatter.Deserialize(stream) as SeedGrowthDo;
                    var width  = data.seeds.GetLength(0);
                    var height = data.seeds.GetLength(1);

                    _seedGrowth = SeedGrowthFactory.Create(width, height, _neighbourhoodType, _boundoryConditionType);
                    _seedGrowth.setSeeds(data.seeds);
                    _seedGrowth.setGrainMap(data.grainMap);
                    if (isGBCType)
                    {
                        _seedGrowth.useGBC(true);
                        _seedGrowth._activationThreshold = _activationThreshold;
                    }
                    _seedGrowth.OnGrainChange += _seedGrowth_OnIterationComplette;
                    _seedGrowth.init();
                }
                catch (Exception ex)
                {
                    _view.showExceptionMessage(ex.Message);
                }
            }
        }
 public void initializeDomain()
 {
     _seedGrowth = SeedGrowthFactory.Create(_width, _height, _neighbourhoodType, _boundoryConditionType);
     setInitialSeeds();
     if (_numberOfInclusions != 0)
     {
         _seedGrowth.setInclusions(_numberOfInclusions, _inclusionMinRadius, _inclusionMaxRadius);
     }
     if (isGBCType)
     {
         _seedGrowth.useGBC(true);
         _seedGrowth._activationThreshold = _activationThreshold;
     }
     _seedGrowth.OnGrainChange += _seedGrowth_OnIterationComplette;
     _seedGrowth.init();
 }