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); }