public Range AddInclusionsAfter(Range tempRange)
        {
            Point coordinates;

            for (int inclusionNumber = 0; inclusionNumber < AmountOfInclusions; inclusionNumber++)
            {
                do
                {
                    coordinates = RandomCoordinates.Get(tempRange.Width, tempRange.Height, Random);
                }while (!InitBoundaries.IsOnGrainBoundaries(tempRange, coordinates));

                switch (InclusionsType)
                {
                case InclusionsType.Square:
                    AddSquareInclusion(tempRange, coordinates);
                    break;

                case InclusionsType.Circular:
                    AddCirularInclusion(tempRange, coordinates);
                    break;
                }
            }
            return(tempRange);
        }
 private void SetProperties()
 {
     properties = new MainProperties()
     {
         RangeWidth        = (int)Image.Width,
         RangeHeight       = (int)Image.Height,
         AmountOfGrains    = Converters.StringToInt(NumOfGrainsTextBox.Text),
         NeighbourhoodType = ChooseNeighbourhoodType(),
         GrowthProbability = Converters.StringToInt(GrowthProbabilityTextBox.Text),
         MCS = Converters.StringToInt(MCSTextBox.Text),
         SubstructuresType = ChooseSubstructuresType(),
         MethodType        = ChooseMethodType()
     };
     inclusions = new InitInclusions()
     {
         CreationTime       = ChooseInlcusionCreationTime(),
         InclusionsType     = ChooseInclusionsType(),
         IsEnable           = (bool)InclusionsCheckBox.IsChecked,
         AmountOfInclusions = Converters.StringToInt(NumOfInclusionsTextBox.Text),
         Size = Converters.StringToInt(SizeOfInclusionsTextBox.Text)
     };
     boundaries = new InitBoundaries(properties);
     nucleons   = new InitNucleons()
     {
         IsEnable              = (bool)SRXCheckBox.IsChecked,
         AmountOfNucleons      = Converters.StringToInt(NumOfNucleonsTextBox.Text),
         NucleonsStates        = new Color[Converters.StringToInt(NumOfStatesTextBox_SRX.Text)],
         TypeOfcreation        = ChooseTypeOfNucleonsCreation(),
         EnergyDistribution    = ChooseEnegryDistribution(),
         EnergyInside          = Converters.StringToInt(EnergyInsideTextBox.Text),
         EnergyOnEdges         = Converters.StringToInt(EnergyOnEdgesTextBox.Text),
         PositionDistribiution = ChoosePositionDistribution(),
         EnergyRange           = new Range()
     };
     tempIteration = Converters.StringToInt(MCSTextBox.Text);
 }