Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs =================================================================== diff -u -r3684 -r3694 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs (.../MacroStabilityIoTests.cs) (revision 3684) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/MacroStabilityCommon/MacroStabilityIoTests.cs (.../MacroStabilityIoTests.cs) (revision 3694) @@ -412,7 +412,6 @@ messagesOutput.Add(errorMessage); output.StabilityOutput = new StabilityOutput(); output.ResultType = CalculationResultType.RunFailed; - output.PreprocessingOutputBase = new BishopPreprocessingOutput(); output.StabilityOutput.SafetyFactor = double.NaN; output.StabilityOutput.Messages = messagesOutput; } Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillEngineFromMacroStabilityWrapperOutput.cs =================================================================== diff -u -r3682 -r3694 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillEngineFromMacroStabilityWrapperOutput.cs (.../FillEngineFromMacroStabilityWrapperOutput.cs) (revision 3682) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillEngineFromMacroStabilityWrapperOutput.cs (.../FillEngineFromMacroStabilityWrapperOutput.cs) (revision 3694) @@ -19,13 +19,12 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System; using System.Collections.Generic; using System.Linq; using Deltares.DamEngine.Calculators.KernelWrappers.MacroStabilityInwards; using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.General.Results; -using Deltares.DamEngine.Data.Geometry; +using Deltares.DamEngine.Data.Standard.Calculation; using Deltares.DamEngine.Data.Standard.Logging; using Deltares.MacroStability.CSharpWrapper; using Deltares.MacroStability.CSharpWrapper.Output; @@ -69,18 +68,29 @@ { var slidingCircleMinimumSafetyCurve = (SlidingCircleMinimumSafetyCurve)kernelOutput.StabilityOutput.MinimumSafetyCurve; FillBishopSlipCircle(slidingCircleMinimumSafetyCurve, outputItem); - var bishopPreprocessingOutput = (BishopPreprocessingOutput)kernelOutput.PreprocessingOutputBase; - outputItem.BishopCalculationCircle = bishopPreprocessingOutput.BishopCalculationCircle; } if (outputItem.StabilityModelType == MStabModelType.UpliftVan) { var dualSlidingCircleMinimumSafetyCurve = (DualSlidingCircleMinimumSafetyCurve)kernelOutput.StabilityOutput.MinimumSafetyCurve; FillUpliftVanDualSlipCircle(dualSlidingCircleMinimumSafetyCurve, outputItem); - var upliftVanPreprocessingOutput = (UpliftVanPreprocessingOutput)kernelOutput.PreprocessingOutputBase; - outputItem.UpliftVanCalculationGrid = upliftVanPreprocessingOutput.UpliftVanCalculationGrid; + } + if (macroStabilityOutput.CalculationResult == CalculationResult.Succeeded) + { + if (outputItem.StabilityModelType == MStabModelType.Bishop || outputItem.StabilityModelType == MStabModelType.BishopUpliftVan) + { + var bishopPreprocessingOutput = (BishopPreprocessingOutput)kernelOutput.PreprocessingOutputBase; + outputItem.BishopCalculationCircle = bishopPreprocessingOutput.BishopCalculationCircle; + } + if (outputItem.StabilityModelType == MStabModelType.UpliftVan || outputItem.StabilityModelType == MStabModelType.BishopUpliftVan) + { + var upliftVanPreprocessingOutput = (UpliftVanPreprocessingOutput)kernelOutput.PreprocessingOutputBase; + outputItem.UpliftVanCalculationGrid = upliftVanPreprocessingOutput.UpliftVanCalculationGrid; + } + } + if (outputItem.StabilityModelType == MStabModelType.Bishop || outputItem.StabilityModelType == MStabModelType.UpliftVan) { Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillMacroStabilityWrapperOutputFromEngine.cs =================================================================== diff -u -r3684 -r3694 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillMacroStabilityWrapperOutputFromEngine.cs (.../FillMacroStabilityWrapperOutputFromEngine.cs) (revision 3684) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/MacroStabilityCommon/MacroStabilityIo/FillMacroStabilityWrapperOutputFromEngine.cs (.../FillMacroStabilityWrapperOutputFromEngine.cs) (revision 3694) @@ -39,22 +39,21 @@ var kernelOutput = new MacroStability.CSharpWrapper.Output.MacroStabilityOutput(); kernelOutput.ResultType = ConversionHelper.ConvertToMacroStabilityResultType(output.CalculationResult); kernelOutput.StabilityOutput = new StabilityOutput(); - - var outputItem = output.StabilityOutputItems.First(); - kernelOutput.StabilityOutput.ModelOptionType = ConversionHelper.ConvertToModelOptionsOutput(outputItem.StabilityModelType); - switch (kernelOutput.StabilityOutput.ModelOptionType) - { - case StabilityModelOptionType.Bishop: - kernelOutput.PreprocessingOutputBase = new BishopPreprocessingOutput(); - break; - case StabilityModelOptionType.UpliftVan: - kernelOutput.PreprocessingOutputBase = new UpliftVanPreprocessingOutput(); - break; - } if (kernelOutput.ResultType == CalculationResultType.Succeeded) { + var outputItem = output.StabilityOutputItems.First(); kernelOutput.StabilityOutput.SafetyFactor = outputItem.SafetyFactor; + kernelOutput.StabilityOutput.ModelOptionType = ConversionHelper.ConvertToModelOptionsOutput(outputItem.StabilityModelType); + switch (kernelOutput.StabilityOutput.ModelOptionType) + { + case StabilityModelOptionType.Bishop: + kernelOutput.PreprocessingOutputBase = new BishopPreprocessingOutput(); + break; + case StabilityModelOptionType.UpliftVan: + kernelOutput.PreprocessingOutputBase = new UpliftVanPreprocessingOutput(); + break; + } if (kernelOutput.StabilityOutput.ModelOptionType == StabilityModelOptionType.Bishop && outputItem.ActiveCenterPoint != null) { FillBishop(outputItem, kernelOutput);