Index: dam engine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs
===================================================================
diff -u -r496 -r507
--- dam engine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 496)
+++ dam engine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 507)
@@ -20,12 +20,14 @@
// All rights reserved.
using System;
+using System.Collections.Generic;
using System.Linq;
using Deltares.DamEngine.Data.General;
using Deltares.DamEngine.Data.Geometry;
using Deltares.DamEngine.Data.Geotechnics;
using Deltares.DamEngine.Io.XmlInput;
using Location = Deltares.DamEngine.Data.General.Location;
+using Soil = Deltares.DamEngine.Io.XmlInput.Soil;
namespace Deltares.DamEngine.Interface
{
@@ -48,10 +50,11 @@
};
Dike dike = damProjectData.Dike;
- TransferSurfaceLines(input, dike);
- TransferSoils(input, dike);
- TransferLocations(input, dike);
- // PostProcess(input, dike);
+ TransferSurfaceLines(input.SurfaceLines, dike.SurfaceLines2);
+ dike.SoilList = new SoilList();
+ TransferSoils(input.Soils, dike.SoilList.Soils);
+ TransferLocations(input.Locations, dike.Locations, dike.SurfaceLines2);
+ PostProcess(input, dike);
return damProjectData;
}
@@ -61,20 +64,17 @@
///
/// The input.
/// The dike.
- ///
private static void PostProcess(Input input, Dike dike)
{
- throw new NotImplementedException();
+ // No code needed yet
}
- private static void TransferSoils(Input input, Dike dike)
+ private static void TransferSoils(Soil[] inputSoils, List soils)
{
- dike.SoilList = new SoilList();
- var soils = dike.SoilList.Soils;
- for (int i = 0; i < input.Soils.Length; i++)
+ for (int i = 0; i < inputSoils.Length; i++)
{
var soil = new Data.Geotechnics.Soil();
- var inputSoil = input.Soils[i];
+ var inputSoil = inputSoils[i];
soil.Name = inputSoil.Name;
soil.BeddingAngle = inputSoil.BeddingAngleSpecified ? inputSoil.BeddingAngle : Double.NaN;
soil.DiameterD70 = inputSoil.DiameterD70Specified ? inputSoil.DiameterD70 : Double.NaN;
@@ -85,16 +85,16 @@
}
}
- private static void TransferSurfaceLines(Input input, Dike dike)
+ private static void TransferSurfaceLines(SurfaceLine[] inputSurfaceLines, IList dikeSurfaceLines)
{
- for (int i = 0; i < input.SurfaceLines.Length; i++)
+ for (int i = 0; i < inputSurfaceLines.Length; i++)
{
var surfaceLine = new SurfaceLine2();
- var inputSurfaceLine = input.SurfaceLines[i];
+ var inputSurfaceLine = inputSurfaceLines[i];
surfaceLine.Name = inputSurfaceLine.Name;
surfaceLine.CharacteristicPoints.Geometry = surfaceLine.Geometry;
AddPointsToSurfaceLine(inputSurfaceLine, surfaceLine);
- dike.SurfaceLines2.Add(surfaceLine);
+ dikeSurfaceLines.Add(surfaceLine);
}
}
@@ -114,12 +114,12 @@
}
}
- private static void TransferLocations(Input input, Dike dike)
+ private static void TransferLocations(Io.XmlInput.Location[] inputLocations, IList dikeLocations, IList dikeSurfaceLines)
{
- for (int i = 0; i < input.Locations.Length; i++)
+ for (int i = 0; i < inputLocations.Length; i++)
{
var location = new Location();
- var inputLocation = input.Locations[i];
+ var inputLocation = inputLocations[i];
var waternetOptions = inputLocation.WaternetOptions;
location.ModelParametersForPLLines.PLLineCreationMethod = ConversionHelper.ConvertToPhreaticLineCreationMethod(waternetOptions.PhreaticLineCreationMethod);
location.IntrusionVerticalWaterPressure = ConversionHelper.ConvertToIntrusionVerticalWaterPressure(waternetOptions.IntrusionVerticalWaterPressure);
@@ -141,9 +141,9 @@
location.PlLineOffsetBelowDikeTopAtPolder = waternetOptions.Pl1BelowCrestPolderside;
location.PlLineOffsetBelowShoulderBaseInside = waternetOptions.Pl1BelowShoulderCrestPolderside;
location.PlLineOffsetBelowDikeToeAtPolder = waternetOptions.Pl1BelowToeDikePolderside;
- SurfaceLine2 surfaceLine = dike.SurfaceLines2.First(n => n.Name.Equals(inputLocation.SurfaceLineName));
+ SurfaceLine2 surfaceLine = dikeSurfaceLines.First(n => n.Name.Equals(inputLocation.SurfaceLineName));
location.SurfaceLine2 = surfaceLine;
- dike.Locations.Add(location);
+ dikeLocations.Add(location);
}
}
}