Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/DamMStabDoc.cs =================================================================== diff -u -r3150 -r3152 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/DamMStabDoc.cs (.../DamMStabDoc.cs) (revision 3150) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/DamMStabDoc.cs (.../DamMStabDoc.cs) (revision 3152) @@ -548,16 +548,28 @@ private string materialForShoulderField; - private string isDrySituationField; + private bool isDrySituationField; - private string pLLineAssignmentField; + private bool isDrySituationFieldSpecified; - private string intrusionVerticalWaterPressureField; + private PlLineAssignment pLLineAssignmentField; - private string penetrationLengthField; + private bool pLLineAssignmentFieldSpecified; - private string isDesignField; + private double intrusionVerticalWaterPressureField; + private bool intrusionVerticalWaterPressureFieldSpecified; + + private double penetrationLengthField; + + private bool isDesignField; + + private bool isDesignFieldSpecified; + + private bool isUseOriginalPLLineAssignmentsField; + + private bool isUseOriginalPLLineAssignmentsFieldSpecified; + /// [System.Xml.Serialization.XmlAttributeAttribute()] public SoilGeometryType SoilGeometryType { @@ -615,7 +627,7 @@ /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string IsDrySituation { + public bool IsDrySituation { get { return this.isDrySituationField; } @@ -625,8 +637,19 @@ } /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool IsDrySituationSpecified { + get { + return this.isDrySituationFieldSpecified; + } + set { + this.isDrySituationFieldSpecified = value; + } + } + + /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string PLLineAssignment { + public PlLineAssignment PLLineAssignment { get { return this.pLLineAssignmentField; } @@ -636,8 +659,19 @@ } /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PLLineAssignmentSpecified { + get { + return this.pLLineAssignmentFieldSpecified; + } + set { + this.pLLineAssignmentFieldSpecified = value; + } + } + + /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string IntrusionVerticalWaterPressure { + public double IntrusionVerticalWaterPressure { get { return this.intrusionVerticalWaterPressureField; } @@ -647,8 +681,19 @@ } /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool IntrusionVerticalWaterPressureSpecified { + get { + return this.intrusionVerticalWaterPressureFieldSpecified; + } + set { + this.intrusionVerticalWaterPressureFieldSpecified = value; + } + } + + /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string PenetrationLength { + public double PenetrationLength { get { return this.penetrationLengthField; } @@ -659,14 +704,47 @@ /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string IsDesign { + public bool IsDesign { get { return this.isDesignField; } set { this.isDesignField = value; } } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool IsDesignSpecified { + get { + return this.isDesignFieldSpecified; + } + set { + this.isDesignFieldSpecified = value; + } + } + + /// + [System.Xml.Serialization.XmlAttributeAttribute()] + public bool IsUseOriginalPLLineAssignments { + get { + return this.isUseOriginalPLLineAssignmentsField; + } + set { + this.isUseOriginalPLLineAssignmentsField = value; + } + } + + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool IsUseOriginalPLLineAssignmentsSpecified { + get { + return this.isUseOriginalPLLineAssignmentsFieldSpecified; + } + set { + this.isUseOriginalPLLineAssignmentsFieldSpecified = value; + } + } } /// @@ -684,25 +762,43 @@ /// [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")] [System.SerializableAttribute()] + public enum PlLineAssignment { + + /// + NoPlLines, + + /// + ExpertKnowledge, + + /// + DikeFlow, + + /// + OrginalPlLines, + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")] + [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)] [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=true)] public partial class tnsbPrefixHorizontalBalanceArea { - private string xLeftField; + private double xLeftField; - private string xRightField; + private double xRightField; - private string yTopField; + private double yTopField; - private string yBottomField; + private double yBottomField; - private string planeCountField; + private int planeCountField; /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string XLeft { + public double XLeft { get { return this.xLeftField; } @@ -713,7 +809,7 @@ /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string XRight { + public double XRight { get { return this.xRightField; } @@ -724,7 +820,7 @@ /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string YTop { + public double YTop { get { return this.yTopField; } @@ -735,7 +831,7 @@ /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string YBottom { + public double YBottom { get { return this.yBottomField; } @@ -746,7 +842,7 @@ /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string PlaneCount { + public int PlaneCount { get { return this.planeCountField; } Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/Deltares.LayerOnSlopeTool.Io.csproj =================================================================== diff -u -r3149 -r3152 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/Deltares.LayerOnSlopeTool.Io.csproj (.../Deltares.LayerOnSlopeTool.Io.csproj) (revision 3149) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/Deltares.LayerOnSlopeTool.Io.csproj (.../Deltares.LayerOnSlopeTool.Io.csproj) (revision 3152) @@ -48,6 +48,7 @@ + Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillXmlDamMStabDocFromIo.cs =================================================================== diff -u -r3150 -r3152 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillXmlDamMStabDocFromIo.cs (.../FillXmlDamMStabDocFromIo.cs) (revision 3150) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillXmlDamMStabDocFromIo.cs (.../FillXmlDamMStabDocFromIo.cs) (revision 3152) @@ -62,9 +62,21 @@ xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixTrafficLoad = new tnsbPrefixTrafficLoad(); TransferTrafficLoad(ioMStabDamDoc.MStabInput.TrafficLoad, xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixTrafficLoad); + xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixHorizontalBalanceArea = new tnsbPrefixHorizontalBalanceArea(); + TransferHorizontalBalanceArea(ioMStabDamDoc.MStabInput.HorizontalBalanceArea, xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixHorizontalBalanceArea); + return xmlDamMStabDoc; } + private static void TransferHorizontalBalanceArea(IoHorizontalBalanceArea ioHorizontalBalanceArea, tnsbPrefixHorizontalBalanceArea xmlHorizontalBalanceArea) + { + xmlHorizontalBalanceArea.XLeft = ioHorizontalBalanceArea.XLeft; + xmlHorizontalBalanceArea.XRight = ioHorizontalBalanceArea.XRight; + xmlHorizontalBalanceArea.YTop = ioHorizontalBalanceArea.YTop; + xmlHorizontalBalanceArea.YBottom = ioHorizontalBalanceArea.YBottom; + xmlHorizontalBalanceArea.PlaneCount = ioHorizontalBalanceArea.PlaneCount; + } + private static void TransferTrafficLoad(IoTrafficLoad ioTrafficLoad, tnsbPrefixTrafficLoad xmlTrafficLoad) { xmlTrafficLoad.XCoordinateAtRiver = ioTrafficLoad.XCoordinateAtRiver; @@ -142,6 +154,7 @@ xmlGeometryCreationOptions.SoilGeometry2DFilename = ioGeometryCreationOptions.SoilGeometry2DFilename; xmlGeometryCreationOptions.SoilGeometryType = ioGeometryCreationOptions.SoilGeometryType; xmlGeometryCreationOptions.XOffsetSoilGeometry2DOrigin = ioGeometryCreationOptions.XOffsetSoilGeometry2DOrigin; + xmlGeometryCreationOptions.PenetrationLength = ioGeometryCreationOptions.PenetrationLength; } } } \ No newline at end of file Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs =================================================================== diff -u -r3150 -r3152 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs (.../IoDamMStabDocSeriliazerTests.cs) (revision 3150) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs (.../IoDamMStabDocSeriliazerTests.cs) (revision 3152) @@ -71,10 +71,21 @@ FillPlLines(ioMStabDamDoc.MStabInput.ExternalPlLines, xRightBoundary, xLeftBoundary, yDeep); FillCalculationOptions(ioMStabDamDoc.MStabInput.CalculationOptions); FillTrafficLoad(ioMStabDamDoc.MStabInput.TrafficLoad); + FillHoriontalBalanceArea(ioMStabDamDoc.MStabInput.HorizontalBalanceArea); return ioMStabDamDoc; } + private void FillHoriontalBalanceArea(IoHorizontalBalanceArea horizontalBalanceArea) + { + horizontalBalanceArea.XLeft = 4.0; + horizontalBalanceArea.XRight = 6.0; + horizontalBalanceArea.YTop = 3.5; + horizontalBalanceArea.YBottom = 2.5; + horizontalBalanceArea.PlaneCount = 8; + + } + private void FillTrafficLoad(IoTrafficLoad trafficLoad) { trafficLoad.XCoordinateAtRiver = 5.2; @@ -247,6 +258,7 @@ geometryCreationOptions.SoilGeometry2DFilename = "Geometry2DFilename"; geometryCreationOptions.SoilGeometryType = SoilGeometryType.SoilGeometry2D; geometryCreationOptions.XOffsetSoilGeometry2DOrigin = 1.1; + geometryCreationOptions.PenetrationLength = 0.8; } } } \ No newline at end of file Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillIoDamMStabDocFromXml.cs =================================================================== diff -u -r3150 -r3152 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillIoDamMStabDocFromXml.cs (.../FillIoDamMStabDocFromXml.cs) (revision 3150) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillIoDamMStabDocFromXml.cs (.../FillIoDamMStabDocFromXml.cs) (revision 3152) @@ -41,9 +41,19 @@ TransferPlLines(xmlMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixExternalPLLines, ioMStabDamDoc.MStabInput.ExternalPlLines); TransferCalculationOptions(xmlMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixCalculationOptions, ioMStabDamDoc.MStabInput.CalculationOptions); TransferTrafficLoad(xmlMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixTrafficLoad, ioMStabDamDoc.MStabInput.TrafficLoad); + TransferHorizontalBalanceArea(xmlMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixHorizontalBalanceArea, ioMStabDamDoc.MStabInput.HorizontalBalanceArea); return ioMStabDamDoc; } + private static void TransferHorizontalBalanceArea(tnsbPrefixHorizontalBalanceArea xmlHorizontalBalanceArea, IoHorizontalBalanceArea ioHorizontalBalanceArea) + { + ioHorizontalBalanceArea.XLeft = xmlHorizontalBalanceArea.XLeft; + ioHorizontalBalanceArea.XRight = xmlHorizontalBalanceArea.XRight; + ioHorizontalBalanceArea.YTop = xmlHorizontalBalanceArea.YTop; + ioHorizontalBalanceArea.YBottom = xmlHorizontalBalanceArea.YBottom; + ioHorizontalBalanceArea.PlaneCount = xmlHorizontalBalanceArea.PlaneCount; + } + private static void TransferTrafficLoad(tnsbPrefixTrafficLoad xmlTrafficLoad, IoTrafficLoad ioTrafficLoad) { ioTrafficLoad.XCoordinateAtPolder = xmlTrafficLoad.XCoordinateAtPolder; @@ -125,6 +135,7 @@ geometryCreationOptions.SoilGeometry2DFilename = xmlGeometryCreationOptions.SoilGeometry2DFilename; geometryCreationOptions.SoilGeometryType = xmlGeometryCreationOptions.SoilGeometryType; geometryCreationOptions.XOffsetSoilGeometry2DOrigin = xmlGeometryCreationOptions.XOffsetSoilGeometry2DOrigin; + geometryCreationOptions.PenetrationLength = xmlGeometryCreationOptions.PenetrationLength; } } } \ No newline at end of file Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoHorizontalBalanceArea.cs =================================================================== diff -u --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoHorizontalBalanceArea.cs (revision 0) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoHorizontalBalanceArea.cs (revision 3152) @@ -0,0 +1,48 @@ +// 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 +{ + /// Horizontal Balance Area + public class IoHorizontalBalanceArea + { + /// Gets or sets the x left. + /// The x left. + public double XLeft { get; set; } + + /// Gets or sets the x right. + /// The x right. + public double XRight { get; set; } + + /// Gets or sets the y top. + /// The y top. + public double YTop { get; set; } + + /// Gets or sets the y bottom. + /// The y bottom. + public double YBottom { get; set; } + + /// Gets or sets the plane count. + /// The plane count. + public int PlaneCount { get; set; } + + } +} \ No newline at end of file Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoGeometryCreationOptions.cs =================================================================== diff -u -r3137 -r3152 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoGeometryCreationOptions.cs (.../IoGeometryCreationOptions.cs) (revision 3137) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoGeometryCreationOptions.cs (.../IoGeometryCreationOptions.cs) (revision 3152) @@ -39,5 +39,9 @@ /// Gets or sets the material for dike. /// The material for dike. public string MaterialForDike { get; set; } + + /// Gets or sets the length of the penetration. + /// The length of the penetration. + public double PenetrationLength { get; set; } } } \ No newline at end of file Index: DamTools/LayerOnSlopeTool/trunk/xsd/DamMStabDefinitions.xsd =================================================================== diff -u -r3150 -r3152 --- DamTools/LayerOnSlopeTool/trunk/xsd/DamMStabDefinitions.xsd (.../DamMStabDefinitions.xsd) (revision 3150) +++ DamTools/LayerOnSlopeTool/trunk/xsd/DamMStabDefinitions.xsd (.../DamMStabDefinitions.xsd) (revision 3152) @@ -77,20 +77,21 @@ - - - - - + + + + + + - - - - - + + + + + @@ -176,4 +177,12 @@ + + + + + + + + \ No newline at end of file Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.StiFileCreator/StiFileCreator.cs =================================================================== diff -u -r3150 -r3152 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.StiFileCreator/StiFileCreator.cs (.../StiFileCreator.cs) (revision 3150) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.StiFileCreator/StiFileCreator.cs (.../StiFileCreator.cs) (revision 3152) @@ -64,6 +64,8 @@ ioMStabDamDoc.MStabInput.GeometryCreationOptions.MaterialForDike = stiFileCreatorInput.DikeMaterialName; ioMStabDamDoc.MStabInput.GeometryCreationOptions.XOffsetSoilGeometry2DOrigin = stiFileCreatorInput.XOffset; ioMStabDamDoc.MStabInput.GeometryCreationOptions.SoilGeometry2DFilename = stiFileCreatorInput.InputFilename; + ioMStabDamDoc.MStabInput.CalculationOptions.ZonesType = ZonesType.NoZones; + ioMStabDamDoc.MStabInput.TrafficLoad.DegreeOfConsolidationSpecified = false; 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/IoDamMStabInput.cs =================================================================== diff -u -r3147 -r3152 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoDamMStabInput.cs (.../IoDamMStabInput.cs) (revision 3147) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoDamMStabInput.cs (.../IoDamMStabInput.cs) (revision 3152) @@ -62,5 +62,8 @@ /// The geometry creation options. public IoGeometryCreationOptions GeometryCreationOptions { get; } = new IoGeometryCreationOptions(); + /// Gets the horizontal balance area. + /// The horizontal balance area. + public IoHorizontalBalanceArea HorizontalBalanceArea { get; } = new IoHorizontalBalanceArea(); } } \ No newline at end of file