Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillXmlDamMStabDocFromIo.cs =================================================================== diff -u -r3135 -r3136 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillXmlDamMStabDocFromIo.cs (.../FillXmlDamMStabDocFromIo.cs) (revision 3135) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillXmlDamMStabDocFromIo.cs (.../FillXmlDamMStabDocFromIo.cs) (revision 3136) @@ -42,9 +42,27 @@ xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixSurfaceLine = new tnsbPrefixSurfaceLineTnsbPrefixSurfacePoint[ioDamMStabDamDoc.MStabInput.SurfaceLine.Count]; TransferSurfaceline(ioDamMStabDamDoc.MStabInput.SurfaceLine, xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixSurfaceLine); + xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixCharacteristicPoints = + new tnsbPrefixCharacteristicPointsTnsbPrefixCharacteristicPoint[ioDamMStabDamDoc.MStabInput.CharacteristicPoints.Count]; + TransferCharacteristicPoints(ioDamMStabDamDoc.MStabInput.CharacteristicPoints, xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixCharacteristicPoints); + return xmlDamMStabDoc; } + private static void TransferCharacteristicPoints(List ioCharacteristicPoints, + tnsbPrefixCharacteristicPointsTnsbPrefixCharacteristicPoint[] xmlCharacteristicPoints) + { + for (int i = 0; i < ioCharacteristicPoints.Count; i++) + { + xmlCharacteristicPoints[i] = new tnsbPrefixCharacteristicPointsTnsbPrefixCharacteristicPoint() + { + XCoord = ioCharacteristicPoints[i].X, + YCoord = ioCharacteristicPoints[i].Y, + CharacteristicPointType = ioCharacteristicPoints[i].CharacteristicPointType + }; + } + } + private static void TransferSurfaceline(List ioSurfaceLine, tnsbPrefixSurfaceLineTnsbPrefixSurfacePoint[] xmlSurfaceLine) { for (int i = 0; i < ioSurfaceLine.Count; i++) Index: DamTools/LayerOnSlopeTool/trunk/xsd/DamMStabDefinitions.xsd =================================================================== diff -u -r3120 -r3136 --- DamTools/LayerOnSlopeTool/trunk/xsd/DamMStabDefinitions.xsd (.../DamMStabDefinitions.xsd) (revision 3120) +++ DamTools/LayerOnSlopeTool/trunk/xsd/DamMStabDefinitions.xsd (.../DamMStabDefinitions.xsd) (revision 3136) @@ -123,23 +123,12 @@ - + - - - - - - - - - - - Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoCharacteristicPoint.cs =================================================================== diff -u -r3117 -r3136 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoCharacteristicPoint.cs (.../IoCharacteristicPoint.cs) (revision 3117) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoCharacteristicPoint.cs (.../IoCharacteristicPoint.cs) (revision 3136) @@ -23,6 +23,11 @@ { public class IoCharacteristicPoint { - + public double X { get; set; } + + public double Y { get; set; } + + public CharacteristicPointType CharacteristicPointType { get; set; } + } } \ No newline at end of file Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs =================================================================== diff -u -r3135 -r3136 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs (.../IoDamMStabDocSeriliazerTests.cs) (revision 3135) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs (.../IoDamMStabDocSeriliazerTests.cs) (revision 3136) @@ -77,6 +77,11 @@ }); ioMStabDamDoc.MStabInput.SurfaceLine.Add(new IoSurfacePoint() { + X = 2.0, + Y = 1.5 + }); + ioMStabDamDoc.MStabInput.SurfaceLine.Add(new IoSurfacePoint() + { X = 3.0, Y = 1.5 }); @@ -87,6 +92,11 @@ }); ioMStabDamDoc.MStabInput.SurfaceLine.Add(new IoSurfacePoint() { + X = 6.0, + Y = 2.5 + }); + ioMStabDamDoc.MStabInput.SurfaceLine.Add(new IoSurfacePoint() + { X = 7.0, Y = 2.5 }); @@ -100,7 +110,44 @@ X = 15.0, Y = 0.5 }); + // Characteristic Points + ioMStabDamDoc.MStabInput.CharacteristicPoints.Add(new IoCharacteristicPoint() + { + X = 1.0, + Y = 1.5, + CharacteristicPointType = CharacteristicPointType.SurfaceLevelOutside + }); + ioMStabDamDoc.MStabInput.CharacteristicPoints.Add(new IoCharacteristicPoint() + { + X = 3.0, + Y = 1.5, + CharacteristicPointType = CharacteristicPointType.DikeToeAtRiver + }); + ioMStabDamDoc.MStabInput.CharacteristicPoints.Add(new IoCharacteristicPoint() + { + X = 5.0, + Y = 2.5, + CharacteristicPointType = CharacteristicPointType.DikeTopAtRiver + }); + ioMStabDamDoc.MStabInput.CharacteristicPoints.Add(new IoCharacteristicPoint() + { + X = 7.0, + Y = 2.5, + CharacteristicPointType = CharacteristicPointType.DikeTopAtPolder + }); + ioMStabDamDoc.MStabInput.CharacteristicPoints.Add(new IoCharacteristicPoint() + { + X = 10.0, + Y = 0.5, + CharacteristicPointType = CharacteristicPointType.DikeToeAtPolder + }); + ioMStabDamDoc.MStabInput.CharacteristicPoints.Add(new IoCharacteristicPoint() + { + X = 15.0, + Y = 0.5, + CharacteristicPointType = CharacteristicPointType.SurfaceLevelInside + }); return ioMStabDamDoc; } Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillIoDamMStabDocFromXml.cs =================================================================== diff -u -r3135 -r3136 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillIoDamMStabDocFromXml.cs (.../FillIoDamMStabDocFromXml.cs) (revision 3135) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillIoDamMStabDocFromXml.cs (.../FillIoDamMStabDocFromXml.cs) (revision 3136) @@ -35,9 +35,24 @@ TransferGeometryCreationOptions(xmlDamMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixGeometryCreationOptions, ioMStabDamDoc.MStabInput.GeometryCreationOptions); TransferModel(xmlDamMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixModel, ioMStabDamDoc.MStabInput.Model); TransferSurfaceLine(xmlDamMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixSurfaceLine, ioMStabDamDoc.MStabInput.SurfaceLine); + TransferCharacteristicPoints(xmlDamMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixCharacteristicPoints, ioMStabDamDoc.MStabInput.CharacteristicPoints); return ioMStabDamDoc; } + private static void TransferCharacteristicPoints(tnsbPrefixCharacteristicPointsTnsbPrefixCharacteristicPoint[] xmlCharacteristicPoints, + List ioCharacteristicPoints) + { + for (int i = 0; i < xmlCharacteristicPoints.Length; i++) + { + ioCharacteristicPoints.Add(new IoCharacteristicPoint() + { + X = xmlCharacteristicPoints[i].XCoord, + Y = xmlCharacteristicPoints[i].YCoord, + CharacteristicPointType = xmlCharacteristicPoints[i].CharacteristicPointType + }); + } + } + private static void TransferSurfaceLine(tnsbPrefixSurfaceLineTnsbPrefixSurfacePoint[] xmlSurfaceLine, List ioSurfaceLine) { for (int i = 0; i < xmlSurfaceLine.Length; i++) Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/DamMStabDoc.cs =================================================================== diff -u -r3120 -r3136 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/DamMStabDoc.cs (.../DamMStabDoc.cs) (revision 3120) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/DamMStabDoc.cs (.../DamMStabDoc.cs) (revision 3136) @@ -150,7 +150,7 @@ public enum CharacteristicPointType { /// - None, + Unknown, /// SurfaceLevelOutside, @@ -159,48 +159,15 @@ DikeToeAtRiver, /// - ShoulderTopOutside, - - /// - ShoulderBaseOutside, - - /// DikeTopAtRiver, /// - DikeLine, - - /// - TrafficLoadOutside, - - /// - TrafficLoadInside, - - /// DikeTopAtPolder, /// - ShoulderBaseInside, - - /// - ShoulderTopInside, - - /// DikeToeAtPolder, /// - DitchDikeSide, - - /// - BottomDitchDikeSide, - - /// - BottomDitchPolderSide, - - /// - DitchPolderSide, - - /// SurfaceLevelInside, }