Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/MStabDamXmlSerializer.cs =================================================================== diff -u -r3149 -r3164 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/MStabDamXmlSerializer.cs (.../MStabDamXmlSerializer.cs) (revision 3149) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/MStabDamXmlSerializer.cs (.../MStabDamXmlSerializer.cs) (revision 3164) @@ -51,7 +51,7 @@ public static void SaveDamMStabDocAsXmlFile(string filename, tnsPrefixDamMStabDoc tnsPrefixDamMStabDoc) { string xmlString = SaveDamMStabDocAsXmlString(tnsPrefixDamMStabDoc); - File.WriteAllText(filename, xmlString, Encoding.Unicode); + File.WriteAllText(filename, xmlString, Encoding.ASCII); } /// Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.StiFileCreator.Tests/StiFileCreatorTests.cs =================================================================== diff -u -r3162 -r3164 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.StiFileCreator.Tests/StiFileCreatorTests.cs (.../StiFileCreatorTests.cs) (revision 3162) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.StiFileCreator.Tests/StiFileCreatorTests.cs (.../StiFileCreatorTests.cs) (revision 3164) @@ -86,20 +86,20 @@ var surfaceLine = new SurfaceLine(); surfaceLine.SurfaceLinePoints.Add(new SurfaceLinePoint() { - XCoordinate = 1, - ZCoordinate = 1.5, + XCoordinate = -5.0, + ZCoordinate = 0.4, PointType = CharacteristicPointType.SurfaceLevelOutside, }); surfaceLine.SurfaceLinePoints.Add(new SurfaceLinePoint() { XCoordinate = 2.0, - ZCoordinate = 1.5, + ZCoordinate = 0.4, PointType = CharacteristicPointType.None }); surfaceLine.SurfaceLinePoints.Add(new SurfaceLinePoint() { XCoordinate = 3.0, - ZCoordinate = 1.5, + ZCoordinate = 0.4, PointType = CharacteristicPointType.DikeToeAtRiver }); surfaceLine.SurfaceLinePoints.Add(new SurfaceLinePoint() @@ -123,12 +123,12 @@ surfaceLine.SurfaceLinePoints.Add(new SurfaceLinePoint() { XCoordinate = 12.0, - ZCoordinate = 2.5, + ZCoordinate = 0.5, PointType = CharacteristicPointType.None }); surfaceLine.SurfaceLinePoints.Add(new SurfaceLinePoint() { - XCoordinate = 15, + XCoordinate = 16, ZCoordinate = 0.5, PointType = CharacteristicPointType.SurfaceLevelInside }); @@ -150,7 +150,7 @@ StiFileCreator.ProcessFile(stiFileCreatorInput); // Then Valid Sti File Is Generated - Assert.IsTrue(File.Exists(outputFilename),String.Format("File '{0}' has not been created", outputFilename)); + Assert.IsTrue(File.Exists(outputFilename), String.Format("File '{0}' has not been created", outputFilename)); } } Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/Deltares.LayerOnSlopeTool.Io.csproj =================================================================== diff -u -r3152 -r3164 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/Deltares.LayerOnSlopeTool.Io.csproj (.../Deltares.LayerOnSlopeTool.Io.csproj) (revision 3152) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/Deltares.LayerOnSlopeTool.Io.csproj (.../Deltares.LayerOnSlopeTool.Io.csproj) (revision 3164) @@ -58,6 +58,7 @@ + Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillIoDamMStabDocFromXml.cs =================================================================== diff -u -r3161 -r3164 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillIoDamMStabDocFromXml.cs (.../FillIoDamMStabDocFromXml.cs) (revision 3161) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillIoDamMStabDocFromXml.cs (.../FillIoDamMStabDocFromXml.cs) (revision 3164) @@ -42,9 +42,17 @@ TransferCalculationOptions(xmlMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixCalculationOptions, ioMStabDamDoc.MStabInput.CalculationOptions); TransferTrafficLoad(xmlMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixTrafficLoad, ioMStabDamDoc.MStabInput.TrafficLoad); TransferHorizontalBalanceArea(xmlMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixHorizontalBalanceArea, ioMStabDamDoc.MStabInput.HorizontalBalanceArea); + TransferSlipCircleDefinition(xmlMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixSlipCircleDefinition, ioMStabDamDoc.MStabInput.SlipCircleDefinition); return ioMStabDamDoc; } + private static void TransferSlipCircleDefinition(tnsbPrefixSlipCircleDefinition xmlSlipCircleDefinition, IoSlipCircleDefinition ioSlipCircleDefinition) + { + ioSlipCircleDefinition.GridSizeDetermination = xmlSlipCircleDefinition.GridSizeDetermination; + ioSlipCircleDefinition.BishopTangentLinesDefinition = xmlSlipCircleDefinition.BishopTangentLinesDefinition; + ioSlipCircleDefinition.UpliftVanTangentLinesDefinition = xmlSlipCircleDefinition.UpliftVanTangentLinesDefinition; + } + private static void TransferHorizontalBalanceArea(tnsbPrefixHorizontalBalanceArea xmlHorizontalBalanceArea, IoHorizontalBalanceArea ioHorizontalBalanceArea) { ioHorizontalBalanceArea.XLeft = xmlHorizontalBalanceArea.XLeft; Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoDamMStabInput.cs =================================================================== diff -u -r3152 -r3164 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoDamMStabInput.cs (.../IoDamMStabInput.cs) (revision 3152) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoDamMStabInput.cs (.../IoDamMStabInput.cs) (revision 3164) @@ -65,5 +65,10 @@ /// Gets the horizontal balance area. /// The horizontal balance area. public IoHorizontalBalanceArea HorizontalBalanceArea { get; } = new IoHorizontalBalanceArea(); + + /// Gets the io slip circle definition. + /// The io slip circle definition. + public IoSlipCircleDefinition SlipCircleDefinition { get; } = new IoSlipCircleDefinition(); + } } \ No newline at end of file Index: DamTools/LayerOnSlopeTool/trunk/xsd/DamMStabDefinitions.xsd =================================================================== diff -u -r3161 -r3164 --- DamTools/LayerOnSlopeTool/trunk/xsd/DamMStabDefinitions.xsd (.../DamMStabDefinitions.xsd) (revision 3161) +++ DamTools/LayerOnSlopeTool/trunk/xsd/DamMStabDefinitions.xsd (.../DamMStabDefinitions.xsd) (revision 3164) @@ -97,23 +97,23 @@ - - - - + + + + - - - - - - - - - - - - + + + + + + + + + + + + Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs =================================================================== diff -u -r3161 -r3164 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs (.../IoDamMStabDocSeriliazerTests.cs) (revision 3161) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs (.../IoDamMStabDocSeriliazerTests.cs) (revision 3164) @@ -72,10 +72,18 @@ FillCalculationOptions(ioMStabDamDoc.MStabInput.CalculationOptions); FillTrafficLoad(ioMStabDamDoc.MStabInput.TrafficLoad); FillHoriontalBalanceArea(ioMStabDamDoc.MStabInput.HorizontalBalanceArea); + FillSlipCircleDefinition(ioMStabDamDoc.MStabInput.SlipCircleDefinition); return ioMStabDamDoc; } + private void FillSlipCircleDefinition(IoSlipCircleDefinition slipCircleDefinition) + { + slipCircleDefinition.BishopTangentLinesDefinition = TangentLinesDefinitionType.Specified; + slipCircleDefinition.UpliftVanTangentLinesDefinition = TangentLinesDefinitionType.Specified; + slipCircleDefinition.GridSizeDetermination = GridSizeDeterminationType.Specified; + } + private void FillHoriontalBalanceArea(IoHorizontalBalanceArea horizontalBalanceArea) { horizontalBalanceArea.XLeft = 4.0; Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.StiFileCreator/StiFileCreator.cs =================================================================== diff -u -r3162 -r3164 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.StiFileCreator/StiFileCreator.cs (.../StiFileCreator.cs) (revision 3162) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.StiFileCreator/StiFileCreator.cs (.../StiFileCreator.cs) (revision 3164) @@ -66,6 +66,11 @@ ioMStabDamDoc.MStabInput.GeometryCreationOptions.PlLineAssignment = PlLineAssignment.NoPlLines; ioMStabDamDoc.MStabInput.CalculationOptions.ZonesType = ZonesType.NoZones; ioMStabDamDoc.MStabInput.TrafficLoad.DegreeOfConsolidationSpecified = false; + ioMStabDamDoc.MStabInput.SlipCircleDefinition.BishopTangentLinesDefinition = + TangentLinesDefinitionType.OnBoundaryLines; + ioMStabDamDoc.MStabInput.SlipCircleDefinition.BishopTangentLinesDefinition = + TangentLinesDefinitionType.OnBoundaryLines; + ioMStabDamDoc.MStabInput.SlipCircleDefinition.GridSizeDetermination = GridSizeDeterminationType.Automatic; double leftSide = stiFileCreatorInput.SurfaceLine.SurfaceLinePoints[0].XCoordinate; double rightSide = stiFileCreatorInput.SurfaceLine.SurfaceLinePoints[stiFileCreatorInput.SurfaceLine.SurfaceLinePoints.Count - 1].XCoordinate; double yLevel = -10; Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillXmlDamMStabDocFromIo.cs =================================================================== diff -u -r3161 -r3164 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillXmlDamMStabDocFromIo.cs (.../FillXmlDamMStabDocFromIo.cs) (revision 3161) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillXmlDamMStabDocFromIo.cs (.../FillXmlDamMStabDocFromIo.cs) (revision 3164) @@ -65,9 +65,19 @@ xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixHorizontalBalanceArea = new tnsbPrefixHorizontalBalanceArea(); TransferHorizontalBalanceArea(ioMStabDamDoc.MStabInput.HorizontalBalanceArea, xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixHorizontalBalanceArea); + xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixSlipCircleDefinition = new tnsbPrefixSlipCircleDefinition(); + TransferSlipCircleDefinition(ioMStabDamDoc.MStabInput.SlipCircleDefinition, xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixSlipCircleDefinition); + return xmlDamMStabDoc; } + private static void TransferSlipCircleDefinition(IoSlipCircleDefinition ioSlipCircleDefinition, tnsbPrefixSlipCircleDefinition xmlSlipCircleDefinition) + { + xmlSlipCircleDefinition.GridSizeDetermination = ioSlipCircleDefinition.GridSizeDetermination; + xmlSlipCircleDefinition.BishopTangentLinesDefinition = ioSlipCircleDefinition.BishopTangentLinesDefinition; + xmlSlipCircleDefinition.UpliftVanTangentLinesDefinition = ioSlipCircleDefinition.UpliftVanTangentLinesDefinition; + } + private static void TransferHorizontalBalanceArea(IoHorizontalBalanceArea ioHorizontalBalanceArea, tnsbPrefixHorizontalBalanceArea xmlHorizontalBalanceArea) { xmlHorizontalBalanceArea.XLeft = ioHorizontalBalanceArea.XLeft; Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoSlipCircleDefinition.cs =================================================================== diff -u --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoSlipCircleDefinition.cs (revision 0) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoSlipCircleDefinition.cs (revision 3164) @@ -0,0 +1,40 @@ +// Copyright (C) Stichting Deltares 2020. All rights reserved. +// +// This file is part of the Dam Engine. +// +// The Dam Engine is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +namespace Deltares.LayerOnSlopeTool.Io +{ + /// Slipcircle Defintion type + public class IoSlipCircleDefinition + { + /// Gets or sets the grid size determination. + /// The grid size determination. + public GridSizeDeterminationType GridSizeDetermination { get; set; } + + /// Gets or sets the uplift van tangent lines definition. + /// The uplift van tangent lines definition. + public TangentLinesDefinitionType UpliftVanTangentLinesDefinition { get; set; } + + /// Gets or sets the bishop tangent lines definition. + /// The bishop tangent lines definition. + public TangentLinesDefinitionType BishopTangentLinesDefinition { get; set; } + + } +} \ No newline at end of file Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/DamMStabDoc.cs =================================================================== diff -u -r3161 -r3164 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/DamMStabDoc.cs (.../DamMStabDoc.cs) (revision 3161) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/DamMStabDoc.cs (.../DamMStabDoc.cs) (revision 3164) @@ -852,58 +852,38 @@ private TangentLinesDefinitionType upliftVanTangentLinesDefinitionField; - private bool upliftVanTangentLinesDefinitionFieldSpecified; - private double upliftVanTangentLinesDistanceField; - private bool upliftVanTangentLinesDistanceFieldSpecified; - private TangentLinesDefinitionType bishopTangentLinesDefinitionField; - private bool bishopTangentLinesDefinitionFieldSpecified; - private double bishopTangentLinesDistanceField; - private bool bishopTangentLinesDistanceFieldSpecified; - private GridSizeDeterminationType gridSizeDeterminationField; - private string upliftVanLeftGridVerticalPointCountField; + private int upliftVanLeftGridVerticalPointCountField; private double upliftVanLeftGridVerticalPointDistanceField; - private bool upliftVanLeftGridVerticalPointDistanceFieldSpecified; + private int upliftVanLeftGridHorizontalPointCountField; - private string upliftVanLeftGridHorizontalPointCountField; - private double upliftVanLeftGridHorizontalPointDistanceField; - private bool upliftVanLeftGridHorizontalPointDistanceFieldSpecified; + private int upliftVanRightGridVerticalPointCountField; - private string upliftVanRightGridVerticalPointCountField; - private double upliftVanRightGridVerticalPointDistanceField; - private bool upliftVanRightGridVerticalPointDistanceFieldSpecified; + private int upliftVanRightGridHorizontalPointCountField; - private string upliftVanRightGridHorizontalPointCountField; - private double upliftVanRightGridHorizontalPointDistanceField; - private bool upliftVanRightGridHorizontalPointDistanceFieldSpecified; + private int bishopGridVerticalPointCountField; - private string bishopGridVerticalPointCountField; - private double bishopGridVerticalPointDistanceField; - private bool bishopGridVerticalPointDistanceFieldSpecified; + private int bishopGridHorizontalPointCountField; - private string bishopGridHorizontalPointCountField; - private double bishopGridHorizontalPointDistanceField; - private bool bishopGridHorizontalPointDistanceFieldSpecified; - /// [System.Xml.Serialization.XmlAttributeAttribute()] public double XCoordinateLastUpliftPoint { @@ -927,17 +907,6 @@ } /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool UpliftVanTangentLinesDefinitionSpecified { - get { - return this.upliftVanTangentLinesDefinitionFieldSpecified; - } - set { - this.upliftVanTangentLinesDefinitionFieldSpecified = value; - } - } - - /// [System.Xml.Serialization.XmlAttributeAttribute()] public double UpliftVanTangentLinesDistance { get { @@ -949,17 +918,6 @@ } /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool UpliftVanTangentLinesDistanceSpecified { - get { - return this.upliftVanTangentLinesDistanceFieldSpecified; - } - set { - this.upliftVanTangentLinesDistanceFieldSpecified = value; - } - } - - /// [System.Xml.Serialization.XmlAttributeAttribute()] public TangentLinesDefinitionType BishopTangentLinesDefinition { get { @@ -971,17 +929,6 @@ } /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool BishopTangentLinesDefinitionSpecified { - get { - return this.bishopTangentLinesDefinitionFieldSpecified; - } - set { - this.bishopTangentLinesDefinitionFieldSpecified = value; - } - } - - /// [System.Xml.Serialization.XmlAttributeAttribute()] public double BishopTangentLinesDistance { get { @@ -993,17 +940,6 @@ } /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool BishopTangentLinesDistanceSpecified { - get { - return this.bishopTangentLinesDistanceFieldSpecified; - } - set { - this.bishopTangentLinesDistanceFieldSpecified = value; - } - } - - /// [System.Xml.Serialization.XmlAttributeAttribute()] public GridSizeDeterminationType GridSizeDetermination { get { @@ -1015,8 +951,8 @@ } /// - [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")] - public string UpliftVanLeftGridVerticalPointCount { + [System.Xml.Serialization.XmlAttributeAttribute()] + public int UpliftVanLeftGridVerticalPointCount { get { return this.upliftVanLeftGridVerticalPointCountField; } @@ -1037,20 +973,9 @@ } /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool UpliftVanLeftGridVerticalPointDistanceSpecified { + [System.Xml.Serialization.XmlAttributeAttribute()] + public int UpliftVanLeftGridHorizontalPointCount { get { - return this.upliftVanLeftGridVerticalPointDistanceFieldSpecified; - } - set { - this.upliftVanLeftGridVerticalPointDistanceFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")] - public string UpliftVanLeftGridHorizontalPointCount { - get { return this.upliftVanLeftGridHorizontalPointCountField; } set { @@ -1070,20 +995,9 @@ } /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool UpliftVanLeftGridHorizontalPointDistanceSpecified { + [System.Xml.Serialization.XmlAttributeAttribute()] + public int UpliftVanRightGridVerticalPointCount { get { - return this.upliftVanLeftGridHorizontalPointDistanceFieldSpecified; - } - set { - this.upliftVanLeftGridHorizontalPointDistanceFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")] - public string UpliftVanRightGridVerticalPointCount { - get { return this.upliftVanRightGridVerticalPointCountField; } set { @@ -1103,20 +1017,9 @@ } /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool UpliftVanRightGridVerticalPointDistanceSpecified { + [System.Xml.Serialization.XmlAttributeAttribute()] + public int UpliftVanRightGridHorizontalPointCount { get { - return this.upliftVanRightGridVerticalPointDistanceFieldSpecified; - } - set { - this.upliftVanRightGridVerticalPointDistanceFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")] - public string UpliftVanRightGridHorizontalPointCount { - get { return this.upliftVanRightGridHorizontalPointCountField; } set { @@ -1136,20 +1039,9 @@ } /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool UpliftVanRightGridHorizontalPointDistanceSpecified { + [System.Xml.Serialization.XmlAttributeAttribute()] + public int BishopGridVerticalPointCount { get { - return this.upliftVanRightGridHorizontalPointDistanceFieldSpecified; - } - set { - this.upliftVanRightGridHorizontalPointDistanceFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")] - public string BishopGridVerticalPointCount { - get { return this.bishopGridVerticalPointCountField; } set { @@ -1169,20 +1061,9 @@ } /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool BishopGridVerticalPointDistanceSpecified { + [System.Xml.Serialization.XmlAttributeAttribute()] + public int BishopGridHorizontalPointCount { get { - return this.bishopGridVerticalPointDistanceFieldSpecified; - } - set { - this.bishopGridVerticalPointDistanceFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")] - public string BishopGridHorizontalPointCount { - get { return this.bishopGridHorizontalPointCountField; } set { @@ -1200,17 +1081,6 @@ this.bishopGridHorizontalPointDistanceField = value; } } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool BishopGridHorizontalPointDistanceSpecified { - get { - return this.bishopGridHorizontalPointDistanceFieldSpecified; - } - set { - this.bishopGridHorizontalPointDistanceFieldSpecified = value; - } - } } ///