Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs =================================================================== diff -u -r3893 -r4000 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 3893) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 4000) @@ -23,25 +23,29 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using Deltares.DamEngine.Data.Design; using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.General.Sensors; using Deltares.DamEngine.Data.General.TimeSeries; +using Deltares.DamEngine.Data.Geometry; using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.Interface.Properties; using Deltares.DamEngine.Io; using Deltares.DamEngine.Io.XmlInput; -using Input = Deltares.DamEngine.Io.XmlInput.Input; using Location = Deltares.DamEngine.Data.General.Location; using Segment = Deltares.DamEngine.Data.General.Segment; -using Soil = Deltares.DamEngine.Io.XmlInput.Soil; +using Sensor = Deltares.DamEngine.Data.General.Sensors.Sensor; +using SensorGroup = Deltares.DamEngine.Io.XmlInput.SensorGroup; +using SensorLocation = Deltares.DamEngine.Io.XmlInput.SensorLocation; +using Soil = Deltares.DamEngine.Data.Geotechnics.Soil; using SoilProfile1D = Deltares.DamEngine.Data.Geotechnics.SoilProfile1D; using SoilProfile2D = Deltares.DamEngine.Data.Geotechnics.SoilProfile2D; +using TimeSerie = Deltares.DamEngine.Io.XmlInput.TimeSerie; namespace Deltares.DamEngine.Interface { public class FillXmlInputFromDam { - /// /// Creates the input from Dam data. /// @@ -51,7 +55,7 @@ { ValidateDamProjectData(damProjectData); - Input input = new Input(); + var input = new Input(); input.ProjectPath = damProjectData.ProjectPath; input.CalculationMap = damProjectData.CalculationMap; input.MaxCalculationCoresSpecified = true; @@ -64,65 +68,74 @@ TransferLocations(damProjectData.ProjectPath, dike.Locations, input.Locations); input.SurfaceLines = new SurfaceLine[dike.SurfaceLines2.Count]; TransferSurfaceLines(dike.SurfaceLines2, input.SurfaceLines); - input.Soils = new Soil[dike.SoilList.Soils.Count]; + input.Soils = new Io.XmlInput.Soil[dike.SoilList.Soils.Count]; TransferSoils(dike.SoilList.Soils, input.Soils); TransferAquiferSoils(dike.SoilList.AquiferDictionary, input); if (dike.SoilProfiles != null) { - var profilesCount = dike.SoilProfiles.Count; + int profilesCount = dike.SoilProfiles.Count; input.SoilProfiles1D = new Io.XmlInput.SoilProfile1D[profilesCount]; TransferSoilProfiles1D(dike.SoilProfiles, input.SoilProfiles1D); } + if (dike.SoilProfiles2D != null) { - var profilesCount = dike.SoilProfiles2D.Count; + int profilesCount = dike.SoilProfiles2D.Count; input.SoilProfiles2D = new Io.XmlInput.SoilProfile2D[profilesCount]; TransferSoilProfiles2D(dike.SoilProfiles2D, input.SoilProfiles2D); } + if (damProjectData.Segments != null) { input.Segments = new Io.XmlInput.Segment[damProjectData.Segments.Count]; TransferSegments(damProjectData.Segments, input.Segments); } + if (dike.InputTimeSerieCollection != null) { - input.OperationalInputTimeSeries = new Io.XmlInput.TimeSerie[dike.InputTimeSerieCollection.Series.Count]; + input.OperationalInputTimeSeries = new TimeSerie[dike.InputTimeSerieCollection.Series.Count]; TransferInputTimeSeries(dike.InputTimeSerieCollection, input.OperationalInputTimeSeries); } + if (damProjectData.SensorData != null) { input.SensorData = new InputSensorData(); TransferSensorData(damProjectData.SensorData, input.SensorData); } + return input; } private static void TransferSensorData(SensorData sensorData, InputSensorData inputSensorData) { // Transfer sensorgroups - int sensorGroupIndex = 0; - inputSensorData.SensorGroups = new Io.XmlInput.SensorGroup[sensorData.SensorGroups.Count]; - foreach (var sensorGroup in sensorData.SensorGroups) + var sensorGroupIndex = 0; + inputSensorData.SensorGroups = new SensorGroup[sensorData.SensorGroups.Count]; + foreach (Data.General.Sensors.SensorGroup sensorGroup in sensorData.SensorGroups) { - var inputSensorGroup = new Io.XmlInput.SensorGroup(); + var inputSensorGroup = new SensorGroup(); inputSensorGroup.SensorIds = new SensorGroupSensorIds[sensorGroup.SensorCount]; inputSensorGroup.Id = sensorGroup.ID; - int sensorIdIndex = 0; - foreach (var sensor in sensorGroup.SensorArray) + var sensorIdIndex = 0; + foreach (Sensor sensor in sensorGroup.SensorArray) { - inputSensorGroup.SensorIds[sensorIdIndex] = new SensorGroupSensorIds() { SensorId = sensor.ID }; + inputSensorGroup.SensorIds[sensorIdIndex] = new SensorGroupSensorIds + { + SensorId = sensor.ID + }; sensorIdIndex++; } + inputSensorData.SensorGroups[sensorGroupIndex] = inputSensorGroup; sensorGroupIndex++; } // Transfer sensorlocations - int senserLocationIndex = 0; - inputSensorData.SensorLocations = new Io.XmlInput.SensorLocation[sensorData.SensorLocations.Count]; - foreach (var sensorLocation in sensorData.SensorLocations) + var senserLocationIndex = 0; + inputSensorData.SensorLocations = new SensorLocation[sensorData.SensorLocations.Count]; + foreach (Data.General.Sensors.SensorLocation sensorLocation in sensorData.SensorLocations) { - var inputSensorLocation = new Io.XmlInput.SensorLocation(); + var inputSensorLocation = new SensorLocation(); inputSensorLocation.GroupId = sensorLocation.GroupId; inputSensorLocation.LocationId = sensorLocation.LocationName; inputSensorLocation.SourceTypePl1PlLineOffsetBelowDikeToeAtPolder = ConversionHelper.ConvertToInputDataSourceTypeSensors(sensorLocation.SourceTypePl1PlLineOffsetBelowDikeToeAtPolder); @@ -139,32 +152,36 @@ // Transfer sensors inputSensorData.Sensors = new Io.XmlInput.Sensor[sensorData.Sensors.Count]; - int sensorIndex = 0; - foreach (var sensor in sensorData.Sensors) + var sensorIndex = 0; + foreach (Sensor sensor in sensorData.Sensors) { var inputSensor = new Io.XmlInput.Sensor(); inputSensor.Id = sensor.ID; inputSensor.Name = sensor.Name; inputSensor.RelativeLocation = sensor.RelativeLocation; inputSensor.SensorType = ConversionHelper.ConvertToInputSensorType(sensor.SensorType); inputSensor.PlLineMapping = new SensorPlLineMapping[sensor.PlLineMappings.Length]; - int mappingIndex = 0; - foreach (var plLineMapping in sensor.PlLineMappings) + var mappingIndex = 0; + foreach (PlLineType plLineMapping in sensor.PlLineMappings) { - inputSensor.PlLineMapping[mappingIndex] = new SensorPlLineMapping() { PLineType = ConversionHelper.ConvertToInputPlLineType(plLineMapping) }; + inputSensor.PlLineMapping[mappingIndex] = new SensorPlLineMapping + { + PLineType = ConversionHelper.ConvertToInputPlLineType(plLineMapping) + }; mappingIndex++; } + inputSensorData.Sensors[sensorIndex] = inputSensor; sensorIndex++; } } - private static void TransferInputTimeSeries(TimeSerieCollection inputTimeSerieCollection, Io.XmlInput.TimeSerie[] operationalInputTimeSeries) + private static void TransferInputTimeSeries(TimeSerieCollection inputTimeSerieCollection, TimeSerie[] operationalInputTimeSeries) { - int timeSerieIndex = 0; - foreach (var timeSerie in inputTimeSerieCollection.Series) + var timeSerieIndex = 0; + foreach (Data.General.TimeSeries.TimeSerie timeSerie in inputTimeSerieCollection.Series) { - Io.XmlInput.TimeSerie inputTimeSerie = new Io.XmlInput.TimeSerie(); + var inputTimeSerie = new TimeSerie(); inputTimeSerie.Entries = new TimeSerieEntries(); inputTimeSerie.Entries.TimeSerieEntry = new TimeSerieEntriesTimeSerieEntry[timeSerie.Entries.Count]; inputTimeSerie.TimeStep = new TimeSerieTimeStep(); @@ -187,20 +204,21 @@ inputTimeSerie.TimeStep.MultiplierSpecified1 = timeSerie.TimeStep.MultiplierSpecified; inputTimeSerie.TimeStep.DividerSpecified1 = timeSerie.TimeStep.DividerSpecified; inputTimeSerie.TimeStep.TimeStepUnit = ConversionHelper.ConvertToInputTimeStepUnit(timeSerie.TimeStep.Unit); - int timeSerieEntryIndex = 0; - foreach (var timestepEntry in timeSerie.Entries) + var timeSerieEntryIndex = 0; + foreach (TimeSerieEntry timestepEntry in timeSerie.Entries) { TimeSerieEntriesTimeSerieEntryStochastValue stochastValue = null; if (timestepEntry.StochastValue != null) { - stochastValue = new TimeSerieEntriesTimeSerieEntryStochastValue() + stochastValue = new TimeSerieEntriesTimeSerieEntryStochastValue { Distribution = timestepEntry.StochastValue.Distribution, Mean = timestepEntry.StochastValue.Mean, StandardDeviation = timestepEntry.StochastValue.StandardDeviation }; } - TimeSerieEntriesTimeSerieEntry timeStep = new TimeSerieEntriesTimeSerieEntry() + + var timeStep = new TimeSerieEntriesTimeSerieEntry { DateTime = timestepEntry.DateTime, Value = timestepEntry.Value, @@ -212,6 +230,7 @@ inputTimeSerie.Entries.TimeSerieEntry[timeSerieEntryIndex] = timeStep; timeSerieEntryIndex++; } + operationalInputTimeSeries[timeSerieIndex] = inputTimeSerie; timeSerieIndex++; } @@ -223,17 +242,22 @@ if (aquiferDictionary != null && aquiferDictionary.Count > 0) { aquiferSoils = new InputAquiferSoil[aquiferDictionary.Count]; - int soilIndex = 0; + var soilIndex = 0; foreach (KeyValuePair keyValuePair in aquiferDictionary) { - aquiferSoils[soilIndex] = new InputAquiferSoil() { Soilname = keyValuePair.Key, IsAquifer = keyValuePair.Value }; + aquiferSoils[soilIndex] = new InputAquiferSoil + { + Soilname = keyValuePair.Key, + IsAquifer = keyValuePair.Value + }; soilIndex++; } } else { aquiferSoils = null; } + input.AquiferSoils = aquiferSoils; } @@ -265,12 +289,12 @@ { if (damProjectData.DamProjectCalculationSpecification != null && damProjectData.DamProjectCalculationSpecification.CurrentSpecification != null) { - var curSpec = damProjectData.DamProjectCalculationSpecification.CurrentSpecification; + DamFailureMechanismeCalculationSpecification curSpec = damProjectData.DamProjectCalculationSpecification.CurrentSpecification; if (curSpec.FailureMechanismParametersMStab != null && curSpec.FailureMechanismParametersMStab.MStabParameters != null) { input.StabilityParameters = new StabilityParameters(); input.StabilityParameters.SearchMethod = ConversionHelper.ConvertToInputSearchMethod(curSpec.FailureMechanismParametersMStab.MStabParameters.SearchMethod); - var slipCircleDefinition = curSpec.FailureMechanismParametersMStab.MStabParameters.SlipCircleDefinition; + SlipCircleDefinition slipCircleDefinition = curSpec.FailureMechanismParametersMStab.MStabParameters.SlipCircleDefinition; if (slipCircleDefinition != null) { input.StabilityParameters.GridDetermination = ConversionHelper.ConvertToInputGridDetermination(slipCircleDefinition.GridSizeDetermination); @@ -317,100 +341,109 @@ { throw new ArgumentNullException(Resources.NoDikeInProject); } + if (damProjectData.Dike.Locations == null) { throw new ArgumentNullException(Resources.NoLocationsInProject); } + foreach (Location location in damProjectData.Dike.Locations) { if (location.Scenarios == null) { throw new ArgumentNullException(Resources.NoDesignScenariosInLocationProject); } } + if (damProjectData.Dike.SurfaceLines2 == null) { throw new ArgumentNullException(Resources.NoSurfaceLinesInProject); } - else + + foreach (SurfaceLine2 surfaceLine in damProjectData.Dike.SurfaceLines2) { - foreach (var surfaceLine in damProjectData.Dike.SurfaceLines2) + if ((surfaceLine.CharacteristicPoints == null) || (surfaceLine.CharacteristicPoints.Count < 1)) { - if ((surfaceLine.CharacteristicPoints == null) || (surfaceLine.CharacteristicPoints.Count < 1)) - { - throw new ArgumentNullException(string.Format(Resources.NoCharacteristicPointsInSurfaceLineProject, surfaceLine.Name)); - } - if ((surfaceLine.Geometry == null) || (surfaceLine.Geometry.Count < 2)) - { - throw new ArgumentNullException(string.Format(Resources.NoPointsInSurfaceLineProject, surfaceLine.Name)); - } + throw new ArgumentNullException(string.Format(Resources.NoCharacteristicPointsInSurfaceLineProject, surfaceLine.Name)); } + + if ((surfaceLine.Geometry == null) || (surfaceLine.Geometry.Count < 2)) + { + throw new ArgumentNullException(string.Format(Resources.NoPointsInSurfaceLineProject, surfaceLine.Name)); + } } + if (damProjectData.Dike.SoilList == null) { throw new ArgumentNullException(Resources.NoSoilsInProject); } + if (damProjectData.Dike.SoilList.Soils == null) { throw new ArgumentNullException(Resources.NoSoilsInProject); } + if (damProjectData.Dike.SoilProfiles == null) { throw new ArgumentNullException(Resources.NoSoilProfiles1DInProject); } // Check for invalid Id names - foreach (var location in damProjectData.Dike.Locations) + foreach (Location location in damProjectData.Dike.Locations) { if (!IdValidator.IsCorrectName(location.Name)) { throw new IdValidatorException(string.Format(Resources.NoValidId, Resources.Location, location.Name)); } } - foreach (var segment in damProjectData.Segments) + + foreach (Segment segment in damProjectData.Segments) { if (!IdValidator.IsCorrectName(segment.Name)) { throw new IdValidatorException(string.Format(Resources.NoValidId, Resources.Segment, segment.Name)); } } - foreach (var surfaceLine2 in damProjectData.Dike.SurfaceLines2) + + foreach (SurfaceLine2 surfaceLine2 in damProjectData.Dike.SurfaceLines2) { if (!IdValidator.IsCorrectName(surfaceLine2.Name)) { throw new IdValidatorException(string.Format(Resources.NoValidId, Resources.SurfaceLine, surfaceLine2.Name)); } } - foreach (var soilProfile in damProjectData.Dike.SoilProfiles) + + foreach (SoilProfile1D soilProfile in damProjectData.Dike.SoilProfiles) { if (!IdValidator.IsCorrectName(soilProfile.Name)) { throw new IdValidatorException(string.Format(Resources.NoValidId, Resources.SoilProfile1D, soilProfile.Name)); } } - foreach (var soilProfile2D in damProjectData.Dike.SoilProfiles2D) + + foreach (SoilProfile2D soilProfile2D in damProjectData.Dike.SoilProfiles2D) { if (!IdValidator.IsCorrectName(soilProfile2D.Name)) { throw new IdValidatorException(string.Format(Resources.NoValidId, Resources.SoilProfile2D, soilProfile2D.Name)); } } - foreach (var soil in damProjectData.Dike.SoilList.Soils) + + foreach (Soil soil in damProjectData.Dike.SoilList.Soils) { if (!IdValidator.IsCorrectName(soil.Name)) { throw new IdValidatorException(string.Format(Resources.NoValidId, Resources.Soil, soil.Name)); } } - } - private static void TransferSoils(List soils, Soil[] inputSoils) + private static void TransferSoils(List soils, Io.XmlInput.Soil[] inputSoils) { - for (int i = 0; i < soils.Count; i++) + for (var i = 0; i < soils.Count; i++) { - var soil = soils[i]; - var inputSoil = new Soil(); + Soil soil = soils[i]; + var inputSoil = new Io.XmlInput.Soil(); inputSoil.Name = soil.Name; inputSoil.AbovePhreaticLevelSpecified = !double.IsNaN(soil.AbovePhreaticLevel); inputSoil.AbovePhreaticLevel = soil.AbovePhreaticLevel; @@ -433,11 +466,13 @@ { inputSoil.ShearStrengthModel = ConversionHelper.ConvertToSoilShearStrengthModel(soil.ShearStrengthModel.Value); } + inputSoil.UseDefaultShearStrengthModelSpecified = (soil.UseDefaultShearStrengthModel != null); if (inputSoil.UseDefaultShearStrengthModelSpecified) { inputSoil.UseDefaultShearStrengthModel = soil.UseDefaultShearStrengthModel.Value; } + inputSoil.CohesionSpecified = !double.IsNaN(soil.Cohesion); inputSoil.Cohesion = soil.Cohesion; inputSoil.FrictionAngleSpecified = !double.IsNaN(soil.FrictionAngle); @@ -451,6 +486,7 @@ { inputSoil.DilatancyType = ConversionHelper.ConvertToSoilDilatancyType(soil.DilatancyType.Value); } + inputSoil.RRatioSpecified = !double.IsNaN(soil.RRatio); inputSoil.RRatio = soil.RRatio; inputSoil.StrengthIncreaseExponentSpecified = !double.IsNaN(soil.StrengthIncreaseExponent); @@ -463,33 +499,34 @@ private static void TransferSurfaceLines(IList dikeSurfaceLines, SurfaceLine[] inputSurfaceLines) { - for (int i = 0; i < dikeSurfaceLines.Count; i++) + for (var i = 0; i < dikeSurfaceLines.Count; i++) { - var surfaceLine = dikeSurfaceLines[i]; + SurfaceLine2 surfaceLine = dikeSurfaceLines[i]; var inputSurfaceLine = new SurfaceLine(); inputSurfaceLine.Name = surfaceLine.Name; inputSurfaceLine.Points = new SurfaceLinePoint[surfaceLine.CharacteristicPoints.Count]; - for (int j = 0; j < surfaceLine.CharacteristicPoints.Count; j++) + for (var j = 0; j < surfaceLine.CharacteristicPoints.Count; j++) { - var characteristicPoint = surfaceLine.CharacteristicPoints[j]; - var inputPoint = new SurfaceLinePoint() + CharacteristicPoint characteristicPoint = surfaceLine.CharacteristicPoints[j]; + var inputPoint = new SurfaceLinePoint { PointType = ConversionHelper.ConvertToInputPointType(characteristicPoint.CharacteristicPointType), X = characteristicPoint.X, Z = characteristicPoint.Z }; inputSurfaceLine.Points[j] = inputPoint; } + inputSurfaceLines[i] = inputSurfaceLine; } } private static void TransferLocations(string projectPath, IList dikeLocations, Io.XmlInput.Location[] inputLocations) { int locationCount = dikeLocations.Count; - for (int i = 0; i < locationCount; i++) + for (var i = 0; i < locationCount; i++) { - var location = dikeLocations[i]; + Location location = dikeLocations[i]; var inputLocation = new Io.XmlInput.Location(); inputLocation.Name = location.Name; @@ -545,9 +582,9 @@ inputLocation.DesignOptions = designOptions; inputLocation.DesignScenarios = new LocationDesignScenario[location.Scenarios.Count]; - for (int j = 0; j < location.Scenarios.Count; j++) + for (var j = 0; j < location.Scenarios.Count; j++) { - var designScenario = location.Scenarios[j]; + DesignScenario designScenario = location.Scenarios[j]; var inputDesignScenario = new LocationDesignScenario(); inputDesignScenario.RiverLevel = designScenario.RiverLevel; inputDesignScenario.Id = designScenario.LocationScenarioID; @@ -578,15 +615,17 @@ inputLocation.DesignScenarios[j] = inputDesignScenario; } + inputLocation.DikeEmbankmentMaterial = location.DikeEmbankmentMaterial; if (location.StabilityOptions != null) { - var tmpPath = projectPath ?? Directory.GetCurrentDirectory(); - var tmpMap = location.StabilityOptions.SoilGeometries2DPath; + string tmpPath = projectPath ?? Directory.GetCurrentDirectory(); + string tmpMap = location.StabilityOptions.SoilGeometries2DPath; if (tmpMap.StartsWith(tmpPath)) { tmpMap = tmpMap.Remove(0, tmpPath.Length); } + if (tmpMap.StartsWith(Path.DirectorySeparatorChar.ToString())) { tmpMap = tmpMap.Remove(0, 1); @@ -603,32 +642,36 @@ { inputLocation.StabilityOptions.ForbiddenZoneFactor = location.StabilityOptions.ForbiddenZoneFactor.Value; } + inputLocation.StabilityOptions.TrafficLoadSpecified = location.StabilityOptions.TrafficLoad.HasValue; if (inputLocation.StabilityOptions.TrafficLoadSpecified) { inputLocation.StabilityOptions.TrafficLoad = location.StabilityOptions.TrafficLoad.Value; } + inputLocation.StabilityOptions.TrafficLoadDegreeOfConsolidationSpecified = location.StabilityOptions.TrafficLoadDegreeOfConsolidation.HasValue; if (inputLocation.StabilityOptions.TrafficLoadDegreeOfConsolidationSpecified) { inputLocation.StabilityOptions.TrafficLoadDegreeOfConsolidation = location.StabilityOptions.TrafficLoadDegreeOfConsolidation.Value; } + inputLocation.StabilityOptions.MinimumCircleDepthSpecified = location.StabilityOptions.MinimalCircleDepth.HasValue; if (inputLocation.StabilityOptions.MinimumCircleDepthSpecified) { inputLocation.StabilityOptions.MinimumCircleDepth = location.StabilityOptions.MinimalCircleDepth.Value; } } + inputLocations[i] = inputLocation; } } private static void TransferSoilProfiles1D(IList dikeSoilProfiles, Io.XmlInput.SoilProfile1D[] inputSoilProfiles1D) { - var profilesCount = dikeSoilProfiles.Count; - for (int i = 0; i < profilesCount; i++) + int profilesCount = dikeSoilProfiles.Count; + for (var i = 0; i < profilesCount; i++) { - var soilProfile1D = dikeSoilProfiles[i]; + SoilProfile1D soilProfile1D = dikeSoilProfiles[i]; var inputSoilProfile1D = new Io.XmlInput.SoilProfile1D { Name = soilProfile1D.Name, @@ -642,9 +685,9 @@ private static void AddLayers1D(SoilProfile1D soilProfile1D, Io.XmlInput.SoilProfile1D inputSoilProfile1D) { - for (int i = 0; i < soilProfile1D.LayerCount; i++) + for (var i = 0; i < soilProfile1D.LayerCount; i++) { - var layer = soilProfile1D.Layers[i]; + SoilLayer1D layer = soilProfile1D.Layers[i]; var inputLayer = new SoilProfile1DLayer1D { Name = layer.Name, @@ -659,12 +702,12 @@ } private static void TransferSoilProfiles2D(IList dikeSoilProfiles2D, - Io.XmlInput.SoilProfile2D[] inputSoilProfiles2D) + Io.XmlInput.SoilProfile2D[] inputSoilProfiles2D) { - var profilesCount = dikeSoilProfiles2D.Count; - for (int i = 0; i < profilesCount; i++) + int profilesCount = dikeSoilProfiles2D.Count; + for (var i = 0; i < profilesCount; i++) { - var soilProfile2D = dikeSoilProfiles2D[i]; + SoilProfile2D soilProfile2D = dikeSoilProfiles2D[i]; var inputSoilProfile2D = new Io.XmlInput.SoilProfile2D { Name = soilProfile2D.Name, @@ -680,11 +723,11 @@ { if (soilProfile2D.PreconsolidationStresses != null) { - var preconCount = soilProfile2D.PreconsolidationStresses.Count; + int preconCount = soilProfile2D.PreconsolidationStresses.Count; inputSoilProfile2D.PreconsolidationStresses = new SoilProfile2DPreconsolidationStress[preconCount]; - for (int i = 0; i < preconCount; i++) + for (var i = 0; i < preconCount; i++) { - var precon = soilProfile2D.PreconsolidationStresses[i]; + PreConsolidationStress precon = soilProfile2D.PreconsolidationStresses[i]; var inputPrecon = new SoilProfile2DPreconsolidationStress { Name = precon.Name, @@ -701,9 +744,9 @@ { if (soilProfile2D != null) { - for (int i = 0; i < soilProfile2D.Surfaces.Count; i++) + for (var i = 0; i < soilProfile2D.Surfaces.Count; i++) { - var layer = soilProfile2D.Surfaces[i]; + SoilLayer2D layer = soilProfile2D.Surfaces[i]; var inputLayer = new SoilProfile2DLayer2D { SoilName = layer.Soil.Name, @@ -713,9 +756,9 @@ Surface = new SoilProfile2DLayer2DSurface() }; - var loop = layer.GeometrySurface.OuterLoop; + GeometryLoop loop = layer.GeometrySurface.OuterLoop; inputLayer.Surface.OuterLoop = new SoilProfile2DLayer2DSurfaceOuterPoint[loop.CalcPoints.Count]; - for (int j = 0; j < loop.CalcPoints.Count; j++) + for (var j = 0; j < loop.CalcPoints.Count; j++) { var point = new SoilProfile2DLayer2DSurfaceOuterPoint { @@ -724,11 +767,12 @@ }; inputLayer.Surface.OuterLoop[j] = point; } - var innerloop = layer.GeometrySurface.InnerLoops.FirstOrDefault(); + + GeometryLoop innerloop = layer.GeometrySurface.InnerLoops.FirstOrDefault(); if (innerloop != null) { inputLayer.Surface.Innerloop = new SoilProfile2DLayer2DSurfaceInnerPoint[innerloop.CalcPoints.Count]; - for (int j = 0; j < innerloop.CalcPoints.Count; j++) + for (var j = 0; j < innerloop.CalcPoints.Count; j++) { var point = new SoilProfile2DLayer2DSurfaceInnerPoint { @@ -738,16 +782,17 @@ inputLayer.Surface.Innerloop[j] = point; } } + inputSoilProfile2D.Layers2D[i] = inputLayer; } } } private static void TransferSegments(IList segments, Io.XmlInput.Segment[] inputSegments) { - for (int i = 0; i < segments.Count; i++) + for (var i = 0; i < segments.Count; i++) { - var segment = segments[i]; + Segment segment = segments[i]; var inputSegment = new Io.XmlInput.Segment { Name = segment.Name @@ -761,11 +806,11 @@ { if (segment.SoilProfileProbabilities != null) { - var probabilityCount = segment.SoilProfileProbabilities.Count; + int probabilityCount = segment.SoilProfileProbabilities.Count; inputSegment.SoilGeometryProbability = new SegmentSoilGeometryProbability[probabilityCount]; - for (int i = 0; i < probabilityCount; i++) + for (var i = 0; i < probabilityCount; i++) { - var soilGeometryProbability = segment.SoilProfileProbabilities[i]; + SoilGeometryProbability soilGeometryProbability = segment.SoilProfileProbabilities[i]; var inputSoilGeometryProbability = new SegmentSoilGeometryProbability(); inputSoilGeometryProbability.Probability = soilGeometryProbability.Probability; if (soilGeometryProbability.SegmentFailureMechanismType.HasValue) @@ -777,29 +822,30 @@ { inputSoilGeometryProbability.SegmentFailureMechanismTypeSpecified = false; } + inputSoilGeometryProbability.SoilProfileType = ConversionHelper.ConvertToInputSoilGeometryType(soilGeometryProbability.SoilProfileType); switch (soilGeometryProbability.SoilProfileType) { case SoilProfileType.ProfileType1D: - { - inputSoilGeometryProbability.SoilProfileName = soilGeometryProbability.SoilProfile1DName; - break; - } + { + inputSoilGeometryProbability.SoilProfileName = soilGeometryProbability.SoilProfile1DName; + break; + } case SoilProfileType.ProfileType2D: - { - inputSoilGeometryProbability.SoilProfileName = soilGeometryProbability.SoilProfile2DName; - break; - } + { + inputSoilGeometryProbability.SoilProfileName = soilGeometryProbability.SoilProfile2DName; + break; + } case SoilProfileType.ProfileTypeStiFile: - { - inputSoilGeometryProbability.SoilProfileName = soilGeometryProbability.StiFileName; - break; - } + { + inputSoilGeometryProbability.SoilProfileName = soilGeometryProbability.StiFileName; + break; + } } inputSegment.SoilGeometryProbability[i] = inputSoilGeometryProbability; } } } } -} +} \ No newline at end of file