Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/DamMStabDoc.cs =================================================================== diff -u -r3141 -r3150 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/DamMStabDoc.cs (.../DamMStabDoc.cs) (revision 3141) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/DamMStabDoc.cs (.../DamMStabDoc.cs) (revision 3150) @@ -412,19 +412,19 @@ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=true)] public partial class tnsbPrefixTrafficLoad { - private string xCoordinateAtRiverField; + private double xCoordinateAtRiverField; - private string xCoordinateAtPolderField; + private double xCoordinateAtPolderField; - private string loadField; + private double loadField; - private string degreeOfConsolidationSpecified1Field; + private bool degreeOfConsolidationSpecified1Field; - private string degreeOfConsolidationField; + private double degreeOfConsolidationField; /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string XCoordinateAtRiver { + public double XCoordinateAtRiver { get { return this.xCoordinateAtRiverField; } @@ -435,7 +435,7 @@ /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string XCoordinateAtPolder { + public double XCoordinateAtPolder { get { return this.xCoordinateAtPolderField; } @@ -446,7 +446,7 @@ /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string Load { + public double Load { get { return this.loadField; } @@ -457,7 +457,7 @@ /// [System.Xml.Serialization.XmlAttributeAttribute("DegreeOfConsolidationSpecified")] - public string DegreeOfConsolidationSpecified1 { + public bool DegreeOfConsolidationSpecified1 { get { return this.degreeOfConsolidationSpecified1Field; } @@ -468,7 +468,7 @@ /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string DegreeOfConsolidation { + public double DegreeOfConsolidation { get { return this.degreeOfConsolidationField; } @@ -487,13 +487,13 @@ [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=true)] public partial class tnsbPrefixCalculationOptions { - private string minimalCircleDepthField; + private double minimalCircleDepthField; - private string zonesTypeField; + private ZonesType zonesTypeField; /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string MinimalCircleDepth { + public double MinimalCircleDepth { get { return this.minimalCircleDepthField; } @@ -504,7 +504,7 @@ /// [System.Xml.Serialization.XmlAttributeAttribute()] - public string ZonesType { + public ZonesType ZonesType { get { return this.zonesTypeField; } @@ -517,6 +517,21 @@ /// [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")] [System.SerializableAttribute()] + public enum ZonesType { + + /// + NoZones, + + /// + ZoneAreas, + + /// + ForbiddenZone, + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.8.3928.0")] + [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)] Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillIoDamMStabDocFromXml.cs =================================================================== diff -u -r3146 -r3150 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillIoDamMStabDocFromXml.cs (.../FillIoDamMStabDocFromXml.cs) (revision 3146) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillIoDamMStabDocFromXml.cs (.../FillIoDamMStabDocFromXml.cs) (revision 3150) @@ -39,9 +39,26 @@ TransferSurfaceLine(xmlMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixSurfaceLine, ioMStabDamDoc.MStabInput.SurfaceLine); TransferCharacteristicPoints(xmlMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixCharacteristicPoints, ioMStabDamDoc.MStabInput.CharacteristicPoints); TransferPlLines(xmlMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixExternalPLLines, ioMStabDamDoc.MStabInput.ExternalPlLines); + TransferCalculationOptions(xmlMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixCalculationOptions, ioMStabDamDoc.MStabInput.CalculationOptions); + TransferTrafficLoad(xmlMStabDamDoc.tnsPrefixDamMStabInput.tnsbPrefixTrafficLoad, ioMStabDamDoc.MStabInput.TrafficLoad); return ioMStabDamDoc; } + private static void TransferTrafficLoad(tnsbPrefixTrafficLoad xmlTrafficLoad, IoTrafficLoad ioTrafficLoad) + { + ioTrafficLoad.XCoordinateAtPolder = xmlTrafficLoad.XCoordinateAtPolder; + ioTrafficLoad.DegreeOfConsolidationSpecified = xmlTrafficLoad.DegreeOfConsolidationSpecified1; + ioTrafficLoad.DegreeOfConsolidation = xmlTrafficLoad.DegreeOfConsolidation; + ioTrafficLoad.Load = xmlTrafficLoad.Load; + ioTrafficLoad.XCoordinateAtRiver = xmlTrafficLoad.XCoordinateAtRiver; + } + + private static void TransferCalculationOptions(tnsbPrefixCalculationOptions xmlCalculationOptions, IoCalculationOptions ioCalculationOptions) + { + ioCalculationOptions.MinimalCircleDepth = xmlCalculationOptions.MinimalCircleDepth; + ioCalculationOptions.ZonesType = xmlCalculationOptions.ZonesType; + } + private static void TransferPlLines(tnsbPrefixExternalPLLinesTnsbPrefixPLLine[] xmlPlLines, List ioPlLines) { for (int plLineIndex = 0; plLineIndex < xmlPlLines.Length; plLineIndex++) Index: DamTools/LayerOnSlopeTool/trunk/xsd/DamMStabDefinitions.xsd =================================================================== diff -u -r3141 -r3150 --- DamTools/LayerOnSlopeTool/trunk/xsd/DamMStabDefinitions.xsd (.../DamMStabDefinitions.xsd) (revision 3141) +++ DamTools/LayerOnSlopeTool/trunk/xsd/DamMStabDefinitions.xsd (.../DamMStabDefinitions.xsd) (revision 3150) @@ -57,17 +57,17 @@ - - - - - + + + + + - - + + @@ -169,4 +169,11 @@ + + + + + + + \ No newline at end of file Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillXmlDamMStabDocFromIo.cs =================================================================== diff -u -r3146 -r3150 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillXmlDamMStabDocFromIo.cs (.../FillXmlDamMStabDocFromIo.cs) (revision 3146) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/FillXmlDamMStabDocFromIo.cs (.../FillXmlDamMStabDocFromIo.cs) (revision 3150) @@ -56,9 +56,30 @@ new tnsbPrefixExternalPLLinesTnsbPrefixPLLine[ioMStabDamDoc.MStabInput.ExternalPlLines.Count]; TransferPlLines(ioMStabDamDoc.MStabInput.ExternalPlLines, xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixExternalPLLines); + xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixCalculationOptions = new tnsbPrefixCalculationOptions(); + TransferCalculationOptions(ioMStabDamDoc.MStabInput.CalculationOptions, xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixCalculationOptions); + + xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixTrafficLoad = new tnsbPrefixTrafficLoad(); + TransferTrafficLoad(ioMStabDamDoc.MStabInput.TrafficLoad, xmlDamMStabDoc.tnsPrefixDamMStabInput.tnsbPrefixTrafficLoad); + return xmlDamMStabDoc; } + private static void TransferTrafficLoad(IoTrafficLoad ioTrafficLoad, tnsbPrefixTrafficLoad xmlTrafficLoad) + { + xmlTrafficLoad.XCoordinateAtRiver = ioTrafficLoad.XCoordinateAtRiver; + xmlTrafficLoad.XCoordinateAtPolder = ioTrafficLoad.XCoordinateAtPolder; + xmlTrafficLoad.DegreeOfConsolidationSpecified1 = ioTrafficLoad.DegreeOfConsolidationSpecified; + xmlTrafficLoad.DegreeOfConsolidation = ioTrafficLoad.DegreeOfConsolidation; + xmlTrafficLoad.Load = ioTrafficLoad.Load; + } + + private static void TransferCalculationOptions(IoCalculationOptions iocalculationOptions, tnsbPrefixCalculationOptions xmlCalculationOptions) + { + xmlCalculationOptions.MinimalCircleDepth = iocalculationOptions.MinimalCircleDepth; + xmlCalculationOptions.ZonesType = iocalculationOptions.ZonesType; + } + private static void TransferPlLines(List ioPlLines, tnsbPrefixExternalPLLinesTnsbPrefixPLLine[] xmlPlLines) { for (int plLineIndex = 0; plLineIndex < ioPlLines.Count; plLineIndex++) Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoTrafficLoad.cs =================================================================== diff -u -r3117 -r3150 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoTrafficLoad.cs (.../IoTrafficLoad.cs) (revision 3117) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoTrafficLoad.cs (.../IoTrafficLoad.cs) (revision 3150) @@ -21,8 +21,30 @@ namespace Deltares.LayerOnSlopeTool.Io { + /// Traffic Load Type public class IoTrafficLoad { - + /// Gets or sets the x coordinate at river. + /// The x coordinate at river. + public double XCoordinateAtRiver { get; set; } + + /// Gets or sets the x coordinate at polder. + /// The x coordinate at polder. + public double XCoordinateAtPolder { get; set; } + + /// Gets or sets the load. + /// The load. + public double Load { get; set; } + + /// Gets or sets a value indicating whether [degree of consolidation specified]. + /// + /// true if [degree of consolidation specified]; otherwise, false. + public bool DegreeOfConsolidationSpecified { get; set; } + + /// Gets or sets the degree of consolidation. + /// The degree of consolidation. + public double DegreeOfConsolidation { get; set; } + + } } \ No newline at end of file Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs =================================================================== diff -u -r3146 -r3150 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs (.../IoDamMStabDocSeriliazerTests.cs) (revision 3146) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io.Tests/IoDamMStabDocSeriliazerTests.cs (.../IoDamMStabDocSeriliazerTests.cs) (revision 3150) @@ -69,10 +69,27 @@ FillSurfaceLine(ioMStabDamDoc.MStabInput.SurfaceLine, xLeftBoundary, xRightBoundary); FillCharacteristicPoints(ioMStabDamDoc.MStabInput.CharacteristicPoints, xLeftBoundary, xRightBoundary); FillPlLines(ioMStabDamDoc.MStabInput.ExternalPlLines, xRightBoundary, xLeftBoundary, yDeep); + FillCalculationOptions(ioMStabDamDoc.MStabInput.CalculationOptions); + FillTrafficLoad(ioMStabDamDoc.MStabInput.TrafficLoad); return ioMStabDamDoc; } + private void FillTrafficLoad(IoTrafficLoad trafficLoad) + { + trafficLoad.XCoordinateAtRiver = 5.2; + trafficLoad.XCoordinateAtPolder = 5.7; + trafficLoad.DegreeOfConsolidationSpecified = true; + trafficLoad.DegreeOfConsolidation = 10.0; + trafficLoad.Load = 5.0; + } + + private void FillCalculationOptions(IoCalculationOptions calculationOptions) + { + calculationOptions.MinimalCircleDepth = 0.75; + calculationOptions.ZonesType = ZonesType.ForbiddenZone; + } + private static void FillPlLines(List plLines, double xRightBoundary, double xLeftBoundary, double yDeep) { var pl1 = new IoPlLine(); Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.StiFileCreator/StiFileCreator.cs =================================================================== diff -u -r3149 -r3150 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.StiFileCreator/StiFileCreator.cs (.../StiFileCreator.cs) (revision 3149) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.StiFileCreator/StiFileCreator.cs (.../StiFileCreator.cs) (revision 3150) @@ -45,7 +45,8 @@ int result = mStabDAMInterface.CreateProjectFile(xmlString); if (result != 0) { - throw new Exception(String.Format("Error {0} in DGSMStabDamDll.CreateProjectFile()", result)); + string errorMessage = mStabDAMInterface.ErrorMessage(); + throw new Exception(String.Format("Error {0} in DGSMStabDamDll.CreateProjectFile(): '{1}'", result, errorMessage)); } } Index: DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoCalculationOptions.cs =================================================================== diff -u -r3117 -r3150 --- DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoCalculationOptions.cs (.../IoCalculationOptions.cs) (revision 3117) +++ DamTools/LayerOnSlopeTool/trunk/src/Deltares.LayerOnSlopeTool.Io/IoCalculationOptions.cs (.../IoCalculationOptions.cs) (revision 3150) @@ -21,8 +21,15 @@ namespace Deltares.LayerOnSlopeTool.Io { + /// Zones Type public class IoCalculationOptions { - + /// Gets or sets the minimal circle depth. + /// The minimal circle depth. + public double MinimalCircleDepth { get; set; } + + /// Gets or sets the type of the zones. + /// The type of the zones. + public ZonesType ZonesType { get; set; } } } \ No newline at end of file