Index: dam engine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs
===================================================================
diff -u -r460 -r475
--- dam engine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs (.../ConversionHelper.cs) (revision 460)
+++ dam engine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs (.../ConversionHelper.cs) (revision 475)
@@ -21,6 +21,7 @@
using System.Collections.Generic;
using Deltares.DamEngine.Data.General;
+using Deltares.DamEngine.Data.Geotechnics;
using Deltares.DamEngine.Data.Standard.Calculation;
using Deltares.DamEngine.Io.XmlInput;
@@ -90,7 +91,7 @@
///
/// Type of the dam object.
///
- public static PLLineCreationMethod ConvertToPhreaticLineCreationMethod(LocationWaternetOptionsPhreaticLineCreationMethod inputPhreaticLineCreationMethod)
+ public static PLLineCreationMethod ConvertToPhreaticLineCreationMethod(LocationWaternetOptionsPhreaticLineCreationMethod inputPhreaticLineCreationMethod)
{
var translationTable = new Dictionary()
{
@@ -130,7 +131,7 @@
///
/// Type of the dam object.
///
- public static IntrusionVerticalWaterPressureType ConvertToIntrusionVerticalWaterPressure(LocationWaternetOptionsIntrusionVerticalWaterPressure inputIntrusionVerticalWaterPressure)
+ public static IntrusionVerticalWaterPressureType ConvertToIntrusionVerticalWaterPressure(LocationWaternetOptionsIntrusionVerticalWaterPressure inputIntrusionVerticalWaterPressure)
{
var translationTable = new Dictionary()
{
@@ -187,5 +188,73 @@
return translationTable[calculationResult];
}
+ public const int CpNone = 0;//
+ public const int CpSurfaceLevelOutside = 1; // Maaiveld buitenwaarts
+ public const int CpDikeToeAtRiver = 5; // Teen dijk buitenwaarts
+ public const int CpShoulderTopOutside = 6; // Kruin buitenberm
+ public const int CpShoulderBaseOutside = 7; // Insteek buitenberm
+ public const int CpDikeTopAtRiver = 8; // Kruin buitentalud
+ public const int CpDikeLine = 9; // referentielijn
+ public const int CpTrafficLoadOutside = 10; // Verkeersbelasting kant buitenwaarts
+ public const int CpTrafficLoadInside = 11; // Verkeersbelasting kant binnenwaarts
+ public const int CpDikeTopAtPolder = 12; // Kruin binnentalud
+ public const int CpShoulderBaseInside = 13; // Insteek binnenberm
+ public const int CpShoulderTopInside = 14; // Kruin binnenberm
+ public const int CpDikeToeAtPolder = 15; // Teen dijk binnenwaarts
+ public const int CpDitchDikeSide = 16; // Insteek sloot dijkzijde
+ public const int CpBottomDitchDikeSide = 17; // Slootbodem dijkzijde
+ public const int CpBottomDitchPolderSide = 18; // Slootbodem polderzijde
+ public const int CpDitchPolderSide = 19; // Insteek sloot polderzijde
+ public const int CpSurfaceLevelInside = 25; // Maaiveld binnenwaarts
+ public static CharacteristicPointType ConvertToDamPointType(int inputPointType)
+ {
+ var translationTable = new Dictionary()
+ {
+ {CpNone, CharacteristicPointType.None},
+ {CpSurfaceLevelOutside, CharacteristicPointType.SurfaceLevelOutside},
+ {CpDikeToeAtRiver, CharacteristicPointType.DikeToeAtRiver},
+ {CpShoulderTopOutside, CharacteristicPointType.ShoulderTopOutside},
+ {CpShoulderBaseOutside, CharacteristicPointType.ShoulderBaseOutside},
+ {CpDikeTopAtRiver, CharacteristicPointType.DikeTopAtRiver},
+ {CpDikeLine, CharacteristicPointType.DikeLine},
+ {CpTrafficLoadOutside, CharacteristicPointType.TrafficLoadOutside},
+ {CpTrafficLoadInside, CharacteristicPointType.TrafficLoadInside},
+ {CpDikeTopAtPolder, CharacteristicPointType.DikeTopAtPolder},
+ {CpShoulderBaseInside, CharacteristicPointType.ShoulderBaseInside},
+ {CpShoulderTopInside, CharacteristicPointType.ShoulderTopInside},
+ {CpDikeToeAtPolder, CharacteristicPointType.DikeToeAtPolder},
+ {CpDitchDikeSide, CharacteristicPointType.DitchDikeSide},
+ {CpBottomDitchDikeSide, CharacteristicPointType.BottomDitchDikeSide},
+ {CpBottomDitchPolderSide, CharacteristicPointType.BottomDitchPolderSide},
+ {CpDitchPolderSide, CharacteristicPointType.DitchPolderSide},
+ {CpSurfaceLevelInside, CharacteristicPointType.SurfaceLevelInside}
+ };
+ return translationTable[inputPointType];
+ }
+ public static int ConvertToInputPointType(CharacteristicPointType characteristicPointType)
+ {
+ var translationTable = new Dictionary()
+ {
+ {CharacteristicPointType.None, CpNone},
+ {CharacteristicPointType.SurfaceLevelOutside, CpSurfaceLevelOutside},
+ {CharacteristicPointType.DikeToeAtRiver, CpDikeToeAtRiver},
+ {CharacteristicPointType.ShoulderTopOutside, CpShoulderTopOutside},
+ {CharacteristicPointType.ShoulderBaseOutside, CpShoulderBaseOutside},
+ {CharacteristicPointType.DikeTopAtRiver, CpDikeTopAtRiver},
+ {CharacteristicPointType.DikeLine, CpDikeLine},
+ {CharacteristicPointType.TrafficLoadOutside, CpTrafficLoadOutside},
+ {CharacteristicPointType.TrafficLoadInside, CpTrafficLoadInside},
+ {CharacteristicPointType.DikeTopAtPolder, CpDikeTopAtPolder},
+ {CharacteristicPointType.ShoulderBaseInside, CpShoulderBaseInside},
+ {CharacteristicPointType.ShoulderTopInside, CpShoulderTopInside},
+ {CharacteristicPointType.DikeToeAtPolder, CpDikeToeAtPolder},
+ {CharacteristicPointType.DitchDikeSide, CpDitchDikeSide},
+ {CharacteristicPointType.BottomDitchDikeSide, CpBottomDitchDikeSide},
+ {CharacteristicPointType.BottomDitchPolderSide, CpBottomDitchPolderSide},
+ {CharacteristicPointType.DitchPolderSide, CpDitchPolderSide},
+ {CharacteristicPointType.SurfaceLevelInside, CpSurfaceLevelInside}
+ };
+ return translationTable[characteristicPointType];
+ }
}
}
\ No newline at end of file
Index: dam engine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs
===================================================================
diff -u -r470 -r475
--- dam engine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 470)
+++ dam engine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 475)
@@ -20,6 +20,8 @@
// All rights reserved.
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;
@@ -38,6 +40,31 @@
damProjectData.Dike = new Dike();
Dike dike = damProjectData.Dike;
TransferLocations(input, dike);
+ for (int i = 0; i < input.SurfaceLines.Length; i++)
+ {
+ var surfaceLine = new SurfaceLine2();
+ var inputSurfaceLine = input.SurfaceLines[i];
+ for (int j = 0; j < inputSurfaceLine.Points.Length; j++)
+ {
+ var inputPoint = inputSurfaceLine.Points[j];
+ surfaceLine.Geometry = new GeometryPointString();
+ var geometryPoint = new GeometryPoint()
+ {
+ X = inputPoint.X,
+ Y = 0.0,
+ Z = inputPoint.Z
+ };
+ surfaceLine.Geometry.Points.Add(geometryPoint);
+ if (inputPoint.PointType != ConversionHelper.CpNone)
+ {
+ surfaceLine.CharacteristicPoints.Add(new CharacteristicPoint()
+ {
+ GeometryPoint = geometryPoint,
+ CharacteristicPointType = ConversionHelper.ConvertToDamPointType(inputPoint.PointType)
+ });
+ }
+ }
+ }
return damProjectData;
}
Index: dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/ConversionHelperTests.cs
===================================================================
diff -u -r460 -r475
--- dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 460)
+++ dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 475)
@@ -20,6 +20,7 @@
// All rights reserved.
using Deltares.DamEngine.Data.General;
+using Deltares.DamEngine.Data.Geotechnics;
using Deltares.DamEngine.Data.Standard.Calculation;
using Deltares.DamEngine.Io.XmlInput;
using NUnit.Framework;
@@ -123,6 +124,53 @@
public void CanConvertToCalculationResult(CalculationResult result, int calculationResult)
{
Assert.AreEqual(result, ConversionHelper.ConvertToCalculationResult(calculationResult));
+
}
+ [Test]
+ [TestCase(ConversionHelper.CpNone, CharacteristicPointType.None)]
+ [TestCase(ConversionHelper.CpSurfaceLevelOutside, CharacteristicPointType.SurfaceLevelOutside)]
+ [TestCase(ConversionHelper.CpDikeToeAtRiver, CharacteristicPointType.DikeToeAtRiver)]
+ [TestCase(ConversionHelper.CpShoulderTopOutside, CharacteristicPointType.ShoulderTopOutside)]
+ [TestCase(ConversionHelper.CpShoulderBaseOutside, CharacteristicPointType.ShoulderBaseOutside)]
+ [TestCase(ConversionHelper.CpDikeTopAtRiver, CharacteristicPointType.DikeTopAtRiver)]
+ [TestCase(ConversionHelper.CpDikeLine, CharacteristicPointType.DikeLine)]
+ [TestCase(ConversionHelper.CpTrafficLoadOutside, CharacteristicPointType.TrafficLoadOutside)]
+ [TestCase(ConversionHelper.CpTrafficLoadInside, CharacteristicPointType.TrafficLoadInside)]
+ [TestCase(ConversionHelper.CpDikeTopAtPolder, CharacteristicPointType.DikeTopAtPolder)]
+ [TestCase(ConversionHelper.CpShoulderBaseInside, CharacteristicPointType.ShoulderBaseInside)]
+ [TestCase(ConversionHelper.CpShoulderTopInside, CharacteristicPointType.ShoulderTopInside)]
+ [TestCase(ConversionHelper.CpDikeToeAtPolder, CharacteristicPointType.DikeToeAtPolder)]
+ [TestCase(ConversionHelper.CpDitchDikeSide, CharacteristicPointType.DitchDikeSide)]
+ [TestCase(ConversionHelper.CpBottomDitchDikeSide, CharacteristicPointType.BottomDitchDikeSide)]
+ [TestCase(ConversionHelper.CpBottomDitchPolderSide, CharacteristicPointType.BottomDitchPolderSide)]
+ [TestCase(ConversionHelper.CpDitchPolderSide, CharacteristicPointType.DitchPolderSide)]
+ [TestCase(ConversionHelper.CpSurfaceLevelInside, CharacteristicPointType.SurfaceLevelInside)]
+ public void CanConvertInputPointType(int inputPointType, CharacteristicPointType characteristicPointType)
+ {
+ Assert.AreEqual(characteristicPointType, ConversionHelper.ConvertToDamPointType(inputPointType));
+ }
+ [Test]
+ [TestCase(CharacteristicPointType.None, ConversionHelper.CpNone)]
+ [TestCase(CharacteristicPointType.SurfaceLevelOutside, ConversionHelper.CpSurfaceLevelOutside)]
+ [TestCase(CharacteristicPointType.DikeToeAtRiver, ConversionHelper.CpDikeToeAtRiver)]
+ [TestCase(CharacteristicPointType.ShoulderTopOutside, ConversionHelper.CpShoulderTopOutside)]
+ [TestCase(CharacteristicPointType.ShoulderBaseOutside, ConversionHelper.CpShoulderBaseOutside)]
+ [TestCase(CharacteristicPointType.DikeTopAtRiver, ConversionHelper.CpDikeTopAtRiver)]
+ [TestCase(CharacteristicPointType.DikeLine, ConversionHelper.CpDikeLine)]
+ [TestCase(CharacteristicPointType.TrafficLoadOutside, ConversionHelper.CpTrafficLoadOutside)]
+ [TestCase(CharacteristicPointType.TrafficLoadInside, ConversionHelper.CpTrafficLoadInside)]
+ [TestCase(CharacteristicPointType.DikeTopAtPolder, ConversionHelper.CpDikeTopAtPolder)]
+ [TestCase(CharacteristicPointType.ShoulderBaseInside, ConversionHelper.CpShoulderBaseInside)]
+ [TestCase(CharacteristicPointType.ShoulderTopInside, ConversionHelper.CpShoulderTopInside)]
+ [TestCase(CharacteristicPointType.DikeToeAtPolder, ConversionHelper.CpDikeToeAtPolder)]
+ [TestCase(CharacteristicPointType.DitchDikeSide, ConversionHelper.CpDitchDikeSide)]
+ [TestCase(CharacteristicPointType.BottomDitchDikeSide, ConversionHelper.CpBottomDitchDikeSide)]
+ [TestCase(CharacteristicPointType.BottomDitchPolderSide, ConversionHelper.CpBottomDitchPolderSide)]
+ [TestCase(CharacteristicPointType.DitchPolderSide, ConversionHelper.CpDitchPolderSide)]
+ [TestCase(CharacteristicPointType.SurfaceLevelInside, ConversionHelper.CpSurfaceLevelInside)]
+ public void CanConvertCharacteristicPointType(CharacteristicPointType characteristicPointType, int inputPointType)
+ {
+ Assert.AreEqual(inputPointType, ConversionHelper.ConvertToInputPointType(characteristicPointType));
+ }
}
}
Index: dam engine/trunk/src/Deltares.DamEngine.Io/DamInput.cs
===================================================================
diff -u -r466 -r475
--- dam engine/trunk/src/Deltares.DamEngine.Io/DamInput.cs (.../DamInput.cs) (revision 466)
+++ dam engine/trunk/src/Deltares.DamEngine.Io/DamInput.cs (.../DamInput.cs) (revision 475)
@@ -24,7 +24,7 @@
private Location[] locationsField;
- private InputSurfaceLine[] surfaceLinesField;
+ private SurfaceLine[] surfaceLinesField;
private InputDamProjectType damProjectTypeField;
@@ -40,8 +40,8 @@
}
///
- [System.Xml.Serialization.XmlArrayItemAttribute("SurfaceLine", IsNullable=false)]
- public InputSurfaceLine[] SurfaceLines {
+ [System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]
+ public SurfaceLine[] SurfaceLines {
get {
return this.surfaceLinesField;
}
@@ -958,14 +958,13 @@
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
- [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
- public partial class InputSurfaceLine {
+ public partial class SurfaceLine {
- private InputSurfaceLinePoint[] pointsField;
+ private SurfaceLinePoint[] pointsField;
///
[System.Xml.Serialization.XmlArrayItemAttribute("Point", IsNullable=false)]
- public InputSurfaceLinePoint[] Points {
+ public SurfaceLinePoint[] Points {
get {
return this.pointsField;
}
@@ -981,7 +980,7 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
- public partial class InputSurfaceLinePoint {
+ public partial class SurfaceLinePoint {
private double xField;
@@ -1044,12 +1043,4 @@
///
NWO,
}
-
- ///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
- [System.SerializableAttribute()]
- [System.Diagnostics.DebuggerStepThroughAttribute()]
- [System.ComponentModel.DesignerCategoryAttribute("code")]
- public partial class SurfaceLine {
- }
}