Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapper.cs =================================================================== diff -u -r1924 -r1925 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapper.cs (.../DamWbiMacroStabilityInwardsKernelWrapper.cs) (revision 1924) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamWbiMacroStabilityInwards/DamWbiMacroStabilityInwardsKernelWrapper.cs (.../DamWbiMacroStabilityInwardsKernelWrapper.cs) (revision 1925) @@ -323,13 +323,35 @@ } } + /// + /// Calculates the design at point. + /// + /// The dam kernel input. + /// The kernel data input. + /// The kernel data output. + /// The point. + /// The messages. + /// + /// public ShoulderDesign CalculateDesignAtPoint(DamKernelInput damKernelInput, IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, GeometryPoint point, out List messages) { // ToDo: Not clear yet if this must be done or how throw new NotImplementedException(); } + /// + /// Evaluates the design (current factor greater than desired factor) + /// + /// The dam kernel input. + /// The kernel data input. + /// The kernel data output. + /// The design advise. + /// The evaluation message. + /// + /// if the design was succesful + /// + /// public bool EvaluateDesign(DamKernelInput damKernelInput, IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, out DesignAdvise designAdvise, out string evaluationMessage) { @@ -343,7 +365,7 @@ double fosAchieved = macroStabilityOutput.StabilityOutputItems[0].SafetyFactor; //ToDo MWDAM-1357: not clear where the exitPointXCoordinate must come from //double exitPointXCoordinate = macroStabilityOutput.StabilityOutputItems[0].CircleSurfacePointRightXCoordinate; - double exitPointXCoordinate = 1.123; // ToDo replace by value aboven. set a value for test. + double exitPointXCoordinate = 1.123; // ToDo replace by value above. set a value for test. GeometryPoint limitPointForShoulderDesign = damKernelInput.Location.SurfaceLine.GetLimitPointForShoulderDesign(); evaluationMessage = String.Format(Resources.FactorAchievedVsFactorRequired, fosAchieved, fosRequired); if (exitPointXCoordinate > limitPointForShoulderDesign.X) @@ -369,10 +391,22 @@ throw new NotImplementedException(); } + /// + /// Gets the design strategy + /// + /// + /// public DesignStrategy GetDesignStrategy(DamKernelInput damKernelInput) { - // ToDo: Not clear yet if this must be done or how - throw new NotImplementedException(); + switch (damKernelInput.Location.StabilityDesignMethod) + { + case StabilityDesignMethod.OptimizedSlopeAndShoulderAdaption: + return DesignStrategy.OptimizedSlopeAndShoulderAdaption; + case StabilityDesignMethod.SlopeAdaptionBeforeShoulderAdaption: + return DesignStrategy.SlopeAdaptionBeforeShoulderAdaption; + default: + return DesignStrategy.NoDesignPossible; + } } } }