Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs =================================================================== diff -u -r4540 -r5354 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs (.../FillXmlOutputFromDam.cs) (revision 4540) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs (.../FillXmlOutputFromDam.cs) (revision 5354) @@ -323,52 +323,56 @@ if (designResult.StabilityDesignResults != null) { - switch (designResult.StabilityDesignResults.StabilityModelType) + bool isBishop = designResult.StabilityDesignResults.StabilityModelType == MStabModelType.Bishop; + bool isUpliftVan = designResult.StabilityDesignResults.StabilityModelType == MStabModelType.UpliftVan; + if (designResult.StabilityDesignResults.StabilityModelType == MStabModelType.BishopUpliftVan) { - case MStabModelType.Bishop: - desResult.StabilityDesignResults.SlipCircleDefinition = new SlidingCircleMinimumSafetyCurveType(); - var singleSlipCircleDefinition = (SlidingCircleMinimumSafetyCurveType) desResult.StabilityDesignResults.SlipCircleDefinition; + isBishop = designResult.StabilityDesignResults.PassiveCenterPoint == null; + isUpliftVan = designResult.StabilityDesignResults.PassiveCenterPoint != null; + } - if (designResult.StabilityDesignResults.ActiveCenterPoint != null) - { - singleSlipCircleDefinition.Center = new Point2DType - { - X = designResult.StabilityDesignResults.ActiveCenterPoint.X, - Z = designResult.StabilityDesignResults.ActiveCenterPoint.Z - }; - singleSlipCircleDefinition.Radius = designResult.StabilityDesignResults.ActiveCenterPointRadius; - } + if (isBishop) + { + desResult.StabilityDesignResults.SlipCircleDefinition = new SlidingCircleMinimumSafetyCurveType(); + var singleSlipCircleDefinition = (SlidingCircleMinimumSafetyCurveType) desResult.StabilityDesignResults.SlipCircleDefinition; - break; - - case MStabModelType.UpliftVan: - desResult.StabilityDesignResults.SlipCircleDefinition = new DualSlidingCircleMinimumSafetyCurveType(); - var dualSlipCircleDefinition = (DualSlidingCircleMinimumSafetyCurveType) desResult.StabilityDesignResults.SlipCircleDefinition; - if (designResult.StabilityDesignResults.ActiveCenterPoint != null) + if (designResult.StabilityDesignResults.ActiveCenterPoint != null) + { + singleSlipCircleDefinition.Center = new Point2DType { - dualSlipCircleDefinition.ActiveCircleCenter = new Point2DType - { - X = designResult.StabilityDesignResults.ActiveCenterPoint.X, - Z = designResult.StabilityDesignResults.ActiveCenterPoint.Z - }; - dualSlipCircleDefinition.ActiveCircleRadius = designResult.StabilityDesignResults.ActiveCenterPointRadius; - } + X = designResult.StabilityDesignResults.ActiveCenterPoint.X, + Z = designResult.StabilityDesignResults.ActiveCenterPoint.Z + }; + singleSlipCircleDefinition.Radius = designResult.StabilityDesignResults.ActiveCenterPointRadius; + } + } - if (designResult.StabilityDesignResults.PassiveCenterPoint != null) + if (isUpliftVan) + { + desResult.StabilityDesignResults.SlipCircleDefinition = new DualSlidingCircleMinimumSafetyCurveType(); + var dualSlipCircleDefinition = (DualSlidingCircleMinimumSafetyCurveType) desResult.StabilityDesignResults.SlipCircleDefinition; + if (designResult.StabilityDesignResults.ActiveCenterPoint != null) + { + dualSlipCircleDefinition.ActiveCircleCenter = new Point2DType { - dualSlipCircleDefinition.PassiveCircleCenter = new Point2DType - { - X = designResult.StabilityDesignResults.PassiveCenterPoint.X, - Z = designResult.StabilityDesignResults.PassiveCenterPoint.Z - }; - dualSlipCircleDefinition.PassiveCircleRadius = designResult.StabilityDesignResults.PassiveCenterPointRadius; - } + X = designResult.StabilityDesignResults.ActiveCenterPoint.X, + Z = designResult.StabilityDesignResults.ActiveCenterPoint.Z + }; + dualSlipCircleDefinition.ActiveCircleRadius = designResult.StabilityDesignResults.ActiveCenterPointRadius; + } - break; + if (designResult.StabilityDesignResults.PassiveCenterPoint != null) + { + dualSlipCircleDefinition.PassiveCircleCenter = new Point2DType + { + X = designResult.StabilityDesignResults.PassiveCenterPoint.X, + Z = designResult.StabilityDesignResults.PassiveCenterPoint.Z + }; + dualSlipCircleDefinition.PassiveCircleRadius = designResult.StabilityDesignResults.PassiveCenterPointRadius; + } } - if (designResult.StabilityDesignResults.StabilityModelType == MStabModelType.Bishop || - designResult.StabilityDesignResults.StabilityModelType == MStabModelType.UpliftVan) + if (designResult.StabilityDesignResults.StabilityModelType is MStabModelType.Bishop or MStabModelType.UpliftVan or MStabModelType.BishopUpliftVan) { if (designResult.StabilityDesignResults.ResultSlices != null && designResult.StabilityDesignResults.ResultSlices.Count > 0) Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillXmlOutputFromDamTests.cs =================================================================== diff -u -r4629 -r5354 --- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillXmlOutputFromDamTests.cs (.../FillXmlOutputFromDamTests.cs) (revision 4629) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillXmlOutputFromDamTests.cs (.../FillXmlOutputFromDamTests.cs) (revision 5354) @@ -259,6 +259,7 @@ stabilityDesignResults.ActiveCenterPointRadius = 50; break; case MStabModelType.UpliftVan: + case MStabModelType.BishopUpliftVan: stabilityDesignResults.ActiveCenterPoint = new Point2D { X = 100, @@ -274,8 +275,7 @@ break; } - if (stabilityDesignResults.StabilityModelType == MStabModelType.Bishop || - stabilityDesignResults.StabilityModelType == MStabModelType.UpliftVan) + if (stabilityDesignResults.StabilityModelType is MStabModelType.Bishop or MStabModelType.UpliftVan or MStabModelType.BishopUpliftVan) { stabilityDesignResults.ResultSlices = new List(); for (var i = 0; i < 9; i++) Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlOutput.cs =================================================================== diff -u -r4540 -r5354 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlOutput.cs (.../FillDamFromXmlOutput.cs) (revision 4540) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlOutput.cs (.../FillDamFromXmlOutput.cs) (revision 5354) @@ -364,27 +364,35 @@ if (designResult.StabilityDesignResults.SlipCircleDefinition != null) { - switch (designResult.StabilityDesignResults.StabilityModelType) + bool isBishop = designResult.StabilityDesignResults.StabilityModelType == DesignResultStabilityDesignResultsStabilityModelType.Bishop; + bool isUpliftVan = designResult.StabilityDesignResults.StabilityModelType == DesignResultStabilityDesignResultsStabilityModelType.UpliftVan; + if (designResult.StabilityDesignResults.StabilityModelType == DesignResultStabilityDesignResultsStabilityModelType.BishopUpliftVan) { - case DesignResultStabilityDesignResultsStabilityModelType.Bishop: - var singleSlipCircleDefinition = (SlidingCircleMinimumSafetyCurveType) designResult.StabilityDesignResults.SlipCircleDefinition; - desResult.StabilityDesignResults.ActiveCenterPoint = new Point2D(singleSlipCircleDefinition.Center.X, singleSlipCircleDefinition.Center.Z); - desResult.StabilityDesignResults.ActiveCenterPointRadius = singleSlipCircleDefinition.Radius; - break; - case DesignResultStabilityDesignResultsStabilityModelType.UpliftVan: - var dualSlipCircleDefinition = (DualSlidingCircleMinimumSafetyCurveType) designResult.StabilityDesignResults.SlipCircleDefinition; - desResult.StabilityDesignResults.ActiveCenterPoint = new Point2D(dualSlipCircleDefinition.ActiveCircleCenter.X, dualSlipCircleDefinition.ActiveCircleCenter.Z); - desResult.StabilityDesignResults.ActiveCenterPointRadius = dualSlipCircleDefinition.ActiveCircleRadius; - desResult.StabilityDesignResults.PassiveCenterPoint = new Point2D(dualSlipCircleDefinition.PassiveCircleCenter.X, dualSlipCircleDefinition.PassiveCircleCenter.Z); - desResult.StabilityDesignResults.PassiveCenterPointRadius = dualSlipCircleDefinition.PassiveCircleRadius; - break; + isBishop = designResult.StabilityDesignResults.SlipCircleDefinition is SlidingCircleMinimumSafetyCurveType; + isUpliftVan = designResult.StabilityDesignResults.SlipCircleDefinition is DualSlidingCircleMinimumSafetyCurveType; } - if (designResult.StabilityDesignResults.StabilityModelType == - DesignResultStabilityDesignResultsStabilityModelType.Bishop || - designResult.StabilityDesignResults.StabilityModelType == - DesignResultStabilityDesignResultsStabilityModelType.UpliftVan) + if (isBishop) { + var singleSlipCircleDefinition = (SlidingCircleMinimumSafetyCurveType) designResult.StabilityDesignResults.SlipCircleDefinition; + desResult.StabilityDesignResults.ActiveCenterPoint = new Point2D(singleSlipCircleDefinition.Center.X, singleSlipCircleDefinition.Center.Z); + desResult.StabilityDesignResults.ActiveCenterPointRadius = singleSlipCircleDefinition.Radius; + } + + if (isUpliftVan) + { + var dualSlipCircleDefinition = (DualSlidingCircleMinimumSafetyCurveType) designResult.StabilityDesignResults.SlipCircleDefinition; + desResult.StabilityDesignResults.ActiveCenterPoint = new Point2D(dualSlipCircleDefinition.ActiveCircleCenter.X, dualSlipCircleDefinition.ActiveCircleCenter.Z); + desResult.StabilityDesignResults.ActiveCenterPointRadius = dualSlipCircleDefinition.ActiveCircleRadius; + desResult.StabilityDesignResults.PassiveCenterPoint = new Point2D(dualSlipCircleDefinition.PassiveCircleCenter.X, dualSlipCircleDefinition.PassiveCircleCenter.Z); + desResult.StabilityDesignResults.PassiveCenterPointRadius = dualSlipCircleDefinition.PassiveCircleRadius; + } + + if (designResult.StabilityDesignResults.StabilityModelType is + DesignResultStabilityDesignResultsStabilityModelType.Bishop or + DesignResultStabilityDesignResultsStabilityModelType.UpliftVan or + DesignResultStabilityDesignResultsStabilityModelType.BishopUpliftVan) + { if (designResult.StabilityDesignResults.SlipCircleDefinition.Slices != null) { desResult.StabilityDesignResults.ResultSlices = new List();