Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj
===================================================================
diff -u -r826 -r865
--- dam engine/trunk/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj (.../Deltares.DamEngine.Calculators.csproj) (revision 826)
+++ dam engine/trunk/src/Deltares.DamEngine.Calculators/Deltares.DamEngine.Calculators.csproj (.../Deltares.DamEngine.Calculators.csproj) (revision 865)
@@ -92,6 +92,7 @@
+
Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Interfaces/IKernelWrapper.cs
===================================================================
diff -u -r816 -r865
--- dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Interfaces/IKernelWrapper.cs (.../IKernelWrapper.cs) (revision 816)
+++ dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Interfaces/IKernelWrapper.cs (.../IKernelWrapper.cs) (revision 865)
@@ -20,7 +20,7 @@
///
/// Interface to implement external failure mechanisms
///
- interface IKernelWrapper
+ public interface IKernelWrapper
{
///
/// Prepares the failure mechanism input based on general dam kernel input.
Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/Dikes Design/DesignCalculator.cs
===================================================================
diff -u -r843 -r865
--- dam engine/trunk/src/Deltares.DamEngine.Calculators/Dikes Design/DesignCalculator.cs (.../DesignCalculator.cs) (revision 843)
+++ dam engine/trunk/src/Deltares.DamEngine.Calculators/Dikes Design/DesignCalculator.cs (.../DesignCalculator.cs) (revision 865)
@@ -47,7 +47,8 @@
///
public List Execute(DamProjectData damProjectData)
{
- IKernelWrapper kernelWrapper = CreateKernelWrapper(damProjectData.DamProjectCalculationSpecification.CurrentSpecification);
+ IKernelWrapper kernelWrapper = KernelWrapperHelper.CreateKernelWrapper(damProjectData.DamProjectCalculationSpecification.CurrentSpecification);
+
if (kernelWrapper == null)
{
throw new NotImplementedException(Resources.DesignCalculatorKernelNotImplemented);
@@ -118,40 +119,5 @@
return calculationMessages;
}
- private IKernelWrapper CreateKernelWrapper(DamFailureMechanismeCalculationSpecification currentSpecification)
- {
- IKernelWrapper kernelWrapper = null;
- switch (currentSpecification.FailureMechanismSystemType)
- {
- case FailureMechanismSystemType.HorizontalBalance:
- throw new NotImplementedException(Resources.DesignCalculatorKernelNotImplemented);
- case FailureMechanismSystemType.StabilityOutside:
- kernelWrapper = new DamMacroStabilityOutwardsKernelWrapper();
- var damMacroStabilityOutwardsKernelWrapper = (DamMacroStabilityOutwardsKernelWrapper) kernelWrapper;
- damMacroStabilityOutwardsKernelWrapper.FailureMechanismParametersMStab = currentSpecification.FailureMechanismParametersMStab;
- break;
- case FailureMechanismSystemType.StabilityInside:
- kernelWrapper = new DamMacroStabilityInwardsKernelWrapper();
- var damMacroStabilityKernelWrapper = (DamMacroStabilityInwardsKernelWrapper) kernelWrapper;
- damMacroStabilityKernelWrapper.FailureMechanismParametersMStab = currentSpecification.FailureMechanismParametersMStab;
- break;
- case FailureMechanismSystemType.Piping:
- switch (currentSpecification.PipingModelType)
- {
- case PipingModelType.SellmeijerVnk:
- case PipingModelType.Wti2017:
- throw new NotImplementedException(Resources.DesignCalculatorKernelNotImplemented);
- case PipingModelType.Bligh:
- kernelWrapper = new DamPipingBlighKernelWrapper();
- break;
- case PipingModelType.Sellmeijer4Forces:
- kernelWrapper = new DamPipingSellmeijer4ForcesKernelWrapper();
- break;
- }
- break;
- }
- return kernelWrapper;
- }
-
}
}
Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/KernelWrapperHelper.cs
===================================================================
diff -u
--- dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/KernelWrapperHelper.cs (revision 0)
+++ dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/Common/KernelWrapperHelper.cs (revision 865)
@@ -0,0 +1,57 @@
+using System;
+using Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStabilityInwards;
+using Deltares.DamEngine.Calculators.KernelWrappers.DamMacroStabilityOutwards;
+using Deltares.DamEngine.Calculators.KernelWrappers.DamPipingBligh;
+using Deltares.DamEngine.Calculators.KernelWrappers.DamPipingSellmeijer4Forces;
+using Deltares.DamEngine.Calculators.KernelWrappers.Interfaces;
+using Deltares.DamEngine.Calculators.Properties;
+using Deltares.DamEngine.Data.General;
+
+namespace Deltares.DamEngine.Calculators.KernelWrappers.Common
+{
+ public class KernelWrapperHelper
+ {
+ ///
+ /// Creates the kernel wrapper.
+ /// Everything that is non-generic and failure mechanism specific should be put here
+ ///
+ /// The current failure mechanism specification.
+ ///
+ ///
+ ///
+ public static IKernelWrapper CreateKernelWrapper(DamFailureMechanismeCalculationSpecification currentSpecification)
+ {
+ IKernelWrapper kernelWrapper = null;
+ switch (currentSpecification.FailureMechanismSystemType)
+ {
+ case FailureMechanismSystemType.HorizontalBalance:
+ throw new NotImplementedException(Resources.DesignCalculatorKernelNotImplemented);
+ case FailureMechanismSystemType.StabilityOutside:
+ kernelWrapper = new DamMacroStabilityOutwardsKernelWrapper();
+ var damMacroStabilityOutwardsKernelWrapper = (DamMacroStabilityOutwardsKernelWrapper)kernelWrapper;
+ damMacroStabilityOutwardsKernelWrapper.FailureMechanismParametersMStab = currentSpecification.FailureMechanismParametersMStab;
+ break;
+ case FailureMechanismSystemType.StabilityInside:
+ kernelWrapper = new DamMacroStabilityInwardsKernelWrapper();
+ var damMacroStabilityKernelWrapper = (DamMacroStabilityInwardsKernelWrapper)kernelWrapper;
+ damMacroStabilityKernelWrapper.FailureMechanismParametersMStab = currentSpecification.FailureMechanismParametersMStab;
+ break;
+ case FailureMechanismSystemType.Piping:
+ switch (currentSpecification.PipingModelType)
+ {
+ case PipingModelType.SellmeijerVnk:
+ case PipingModelType.Wti2017:
+ throw new NotImplementedException(Resources.DesignCalculatorKernelNotImplemented);
+ case PipingModelType.Bligh:
+ kernelWrapper = new DamPipingBlighKernelWrapper();
+ break;
+ case PipingModelType.Sellmeijer4Forces:
+ kernelWrapper = new DamPipingSellmeijer4ForcesKernelWrapper();
+ break;
+ }
+ break;
+ }
+ return kernelWrapper;
+ }
+ }
+}