public void GenerateOverlappingOutput()
        {
            inputOverlappingData = dataProvider.GetInputOverlappingData();
            var modelParams = new OverlappingModelParams(width, height, depth, patternSize);

            modelParams.PeriodicInput  = periodicInput;
            modelParams.PeriodicOutput = periodicOutput;
            modelParams.Symmetry       = symmetry;
            modelParams.Ground         = foundation;

            overlappingModel = new OvelappingModel2dWrapper(inputOverlappingData, modelParams);
            renderer.Init(overlappingModel);

            runningCoroutine = StartCoroutine(overlappingModel.Model.RunViaEnumerator(0, iterations, OnResult, OnIteration));
        }
 public OvelappingModel2dWrapper(InputOverlappingData inputData, OverlappingModelParams modelParam)
 {
     ModelParam = modelParam;
     Model      = new OverlappingModel2d(inputData, modelParam);
 }