Index: dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs =================================================================== diff -u -r714 -r732 --- dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 714) +++ dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 732) @@ -53,6 +53,7 @@ Dike dike = damProjectData.WaterBoard.Dikes[0]; TransferAnalysisSpecification(input, damProjectData); + TransferStabilityParameters(input, damProjectData); var localSurfaceLines = new List(); TransferSurfaceLines(input.SurfaceLines, localSurfaceLines); @@ -89,6 +90,89 @@ damProjectData.DamProjectCalculationSpecification.DamCalculationSpecifications.Add(calculationSpecification); } + private static void TransferStabilityParameters(Input input, DamProjectData damProjectData) + { + if (input.StabilityParameters != null) + { + var curSpec = damProjectData.DamProjectCalculationSpecification?.CurrentSpecification; + if (curSpec != null) + { + curSpec.FailureMechanismeParamatersMStab = new FailureMechanismeParamatersMStab(); + curSpec.FailureMechanismeParamatersMStab.MStabParameters = new MStabParameters(); + var curStabParamas = curSpec.FailureMechanismeParamatersMStab.MStabParameters; + curStabParamas.SearchMethod = ConversionHelper.ConvertToSearchMethod(input.StabilityParameters.SearchMethod); + curStabParamas.SlipCircleDefinition = new SlipCircleDefinition(); + var slipCircleDefinition = curStabParamas.SlipCircleDefinition; + slipCircleDefinition.GridSizeDetermination = ConversionHelper.ConvertToGridDetermination(input.StabilityParameters.GridDetermination); + + if (input.StabilityParameters.BishopTangentLinesDefinitionSpecified) + { + slipCircleDefinition.BishopTangentLinesDefinition = ConversionHelper.ConvertToTangentLinesDefinition(input.StabilityParameters.BishopTangentLinesDefinition); + } + if (input.StabilityParameters.BishopTangentLinesDistanceSpecified) + { + slipCircleDefinition.BishopTangentLinesDistance = input.StabilityParameters.BishopTangentLinesDistance; + } + if (input.StabilityParameters.BishopGridVerticalPointsCountSpecified) + { + slipCircleDefinition.BishopGridVerticalPointCount = input.StabilityParameters.BishopGridVerticalPointsCount; + } + if (input.StabilityParameters.BishopGridVerticalPointsDistanceSpecified) + { + slipCircleDefinition.BishopGridVerticalPointDistance = input.StabilityParameters.BishopGridVerticalPointsDistance; + } + if (input.StabilityParameters.BishopGridHorizontalPointsCountSpecified) + { + slipCircleDefinition.BishopGridHorizontalPointCount = input.StabilityParameters.BishopGridHorizontalPointsCount; + } + if (input.StabilityParameters.BishopGridHorizontalPointsDistanceSpecified) + { + slipCircleDefinition.BishopGridHorizontalPointDistance = input.StabilityParameters.BishopGridHorizontalPointsDistance; + } + if (input.StabilityParameters.UpliftVanTangentLinesDefinitionSpecified) + { + slipCircleDefinition.UpliftVanTangentLinesDefinition = ConversionHelper.ConvertToTangentLinesDefinition(input.StabilityParameters.UpliftVanTangentLinesDefinition); + } + if (input.StabilityParameters.UpliftVanTangentLinesDistanceSpecified) + { + slipCircleDefinition.UpliftVanTangentLinesDistance = input.StabilityParameters.UpliftVanTangentLinesDistance; + } + if (input.StabilityParameters.UpliftVanGridLeftVerticalPointsCountSpecified) + { + slipCircleDefinition.UpliftVanLeftGridVerticalPointCount = input.StabilityParameters.UpliftVanGridLeftVerticalPointsCount; + } + if (input.StabilityParameters.UpliftVanGridLeftVerticalPointsDistanceSpecified) + { + slipCircleDefinition.UpliftVanLeftGridVerticalPointDistance = input.StabilityParameters.UpliftVanGridLeftVerticalPointsDistance; + } + if (input.StabilityParameters.UpliftVanGridLeftHorizontalPointsCountSpecified) + { + slipCircleDefinition.UpliftVanLeftGridHorizontalPointCount = input.StabilityParameters.UpliftVanGridLeftHorizontalPointsCount; + } + if (input.StabilityParameters.UpliftVanGridLeftHorizontalPointsDistanceSpecified) + { + slipCircleDefinition.UpliftVanLeftGridHorizontalPointDistance = input.StabilityParameters.UpliftVanGridLeftHorizontalPointsDistance; + } + if (input.StabilityParameters.UpliftVanGridRightVerticalPointsCountSpecified) + { + slipCircleDefinition.UpliftVanRightGridVerticalPointCount = input.StabilityParameters.UpliftVanGridRightVerticalPointsCount; + } + if (input.StabilityParameters.UpliftVanGridRightVerticalPointsDistanceSpecified) + { + slipCircleDefinition.UpliftVanRightGridVerticalPointDistance = input.StabilityParameters.UpliftVanGridRightVerticalPointsDistance; + } + if (input.StabilityParameters.UpliftVanGridRightHorizontalPointsCountSpecified) + { + slipCircleDefinition.UpliftVanRightGridHorizontalPointCount = input.StabilityParameters.UpliftVanGridRightHorizontalPointsCount; + } + if (input.StabilityParameters.UpliftVanGridRightHorizontalPointsDistanceSpecified) + { + slipCircleDefinition.UpliftVanRightGridHorizontalPointDistance = input.StabilityParameters.UpliftVanGridRightHorizontalPointsDistance; + } + } + } + } + private static void ValidateInput(Input input) { if (input == null)