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;
+ }
}
}
}