Index: Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj =================================================================== diff -u -rb79e419a1fcdf3d80760ea4bc35ac354525911d2 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj (.../Demo.Ringtoets.csproj) (revision b79e419a1fcdf3d80760ea4bc35ac354525911d2) +++ Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj (.../Demo.Ringtoets.csproj) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -152,6 +152,10 @@ Ringtoets.Piping.Plugin False + + {14C6F716-64E2-4BC4-A1EF-05865FCEFA4C} + Ringtoets.Piping.Primitives + Index: Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs =================================================================== diff -u -r8ca454de1833ad8a8d63bcaefdfb5d886a187a01 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs (.../AddNewDemoDikeAssessmentSectionCommandTest.cs) (revision 8ca454de1833ad8a8d63bcaefdfb5d886a187a01) +++ Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs (.../AddNewDemoDikeAssessmentSectionCommandTest.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -14,6 +14,7 @@ using Ringtoets.Piping.Data; using Ringtoets.Piping.Data.Probabilistics; using Ringtoets.Piping.KernelWrapper; +using Ringtoets.Piping.Primitives; using Ringtoets.Piping.Service; namespace Demo.Ringtoets.Test.Commands Index: Demo/Ringtoets/test/Demo.Ringtoets.Test/Demo.Ringtoets.Test.csproj =================================================================== diff -u -rc2fe76d04e1517a4e0aaf62184bccd413de0e472 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Demo/Ringtoets/test/Demo.Ringtoets.Test/Demo.Ringtoets.Test.csproj (.../Demo.Ringtoets.Test.csproj) (revision c2fe76d04e1517a4e0aaf62184bccd413de0e472) +++ Demo/Ringtoets/test/Demo.Ringtoets.Test/Demo.Ringtoets.Test.csproj (.../Demo.Ringtoets.Test.csproj) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -105,6 +105,10 @@ {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Ringtoets.Piping.Data + + {14C6F716-64E2-4BC4-A1EF-05865FCEFA4C} + Ringtoets.Piping.Primitives + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5} Ringtoets.Piping.Service Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Ringtoets.Integration.Data.Test.csproj =================================================================== diff -u -r0e801c8485332bd9cdd1a907619f1f93e495ba4c -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Ringtoets.Integration.Data.Test.csproj (.../Ringtoets.Integration.Data.Test.csproj) (revision 0e801c8485332bd9cdd1a907619f1f93e495ba4c) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/Ringtoets.Integration.Data.Test.csproj (.../Ringtoets.Integration.Data.Test.csproj) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -98,6 +98,10 @@ {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Ringtoets.Piping.Data + + {14C6F716-64E2-4BC4-A1EF-05865FCEFA4C} + Ringtoets.Piping.Primitives + {11f1f874-45af-43e4-8ae5-15a5c9593e28} Ringtoets.Integration.Data Fisheye: Tag 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e refers to a dead (removed) revision in file `Ringtoets/Piping/src/Ringtoets.Piping.Data/Exceptions/RingtoetsPipingSurfaceLineException.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs =================================================================== diff -u -r5ad8609d2f0dae1ed036bd6351e841d9a7fcb6dc -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (.../PipingFailureMechanism.cs) (revision 5ad8609d2f0dae1ed036bd6351e841d9a7fcb6dc) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (.../PipingFailureMechanism.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -22,10 +22,9 @@ using System.Collections.Generic; using Core.Common.Base; - using Ringtoets.Common.Data; using Ringtoets.Common.Placeholder; - +using Ringtoets.Piping.Primitives; using RingtoetsCommonDataResources = Ringtoets.Common.Data.Properties.Resources; using PipingDataResources = Ringtoets.Piping.Data.Properties.Resources; @@ -73,7 +72,7 @@ } /// - /// Gets the available within the scope of the piping failure mechanism. + /// Gets the available within the scope of the piping failure mechanism. /// public ICollection SurfaceLines { get; private set; } Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs =================================================================== diff -u -r8ca454de1833ad8a8d63bcaefdfb5d886a187a01 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs (.../PipingInput.cs) (revision 8ca454de1833ad8a8d63bcaefdfb5d886a187a01) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInput.cs (.../PipingInput.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -27,6 +27,7 @@ using Ringtoets.HydraRing.Data; using Ringtoets.Piping.Data.Probabilistics; using Ringtoets.Piping.Data.Properties; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.Data { Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInputSynchronizer.cs =================================================================== diff -u --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInputSynchronizer.cs (revision 0) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingInputSynchronizer.cs (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -0,0 +1,170 @@ +using System; +using Core.Common.Base; +using Core.Common.Base.Data; +using log4net; +using Ringtoets.Piping.Data.Properties; +using Ringtoets.Piping.InputParameterCalculation; +using Ringtoets.Piping.Primitives; + +namespace Ringtoets.Piping.Data +{ + /// + /// Class responsible for synchronizing piping input. + /// + public class PipingInputSynchronizer : IObserver + { + private static readonly ILog log = LogManager.GetLogger(typeof(PipingInputSynchronizer)); + + private const double seepageLengthStandardDeviationFraction = 0.1; + + private readonly PipingInput input; + + private PipingInputSynchronizer(PipingInput input) + { + if (input == null) + { + throw new ArgumentNullException("input", "Cannot create PipingInputSynchronizer without PipingInput."); + } + input.Attach(this); + this.input = input; + + SynchronizeDerivedProperties(); + } + + /// + /// Starts the synchronization of the given . + /// + /// The input to synchronize the values for. + public static void Synchronize(PipingInput input) + { + new PipingInputSynchronizer(input); + } + + public void UpdateObserver() + { + SynchronizeDerivedProperties(); + } + + private void SynchronizeDerivedProperties() + { + UpdateAssessmentLevel(); + UpdateSeepageLength(); + UpdateThicknessCoverageLayer(); + UpdateThicknessAquiferLayer(); + UpdatePiezometricHeadExit(); + } + + private void UpdateThicknessAquiferLayer() + { + PipingSoilProfile soilProfile = input.SoilProfile; + RingtoetsPipingSurfaceLine surfaceLine = input.SurfaceLine; + double exitPointL = input.ExitPointL; + + if (soilProfile != null && surfaceLine != null && !double.IsNaN(exitPointL)) + { + double thicknessTopAquiferLayer = GetThicknessTopAquiferLayer(soilProfile, surfaceLine, exitPointL); + TrySetThicknessAquiferLayerMean(input, thicknessTopAquiferLayer); + + if (double.IsNaN(input.ThicknessAquiferLayer.Mean)) + { + log.Warn(Resources.PipingInputSynchronizer_UpdateThicknessAquiferLayer_Cannot_determine_thickness_aquifer_layer); + } + } + else + { + input.ThicknessAquiferLayer.Mean = (RoundedDouble) double.NaN; + } + } + + private static void TrySetThicknessAquiferLayerMean(PipingInput input, double thicknessTopAquiferLayer) + { + try + { + input.ThicknessAquiferLayer.Mean = (RoundedDouble) thicknessTopAquiferLayer; + } + catch (ArgumentOutOfRangeException) + { + input.ThicknessAquiferLayer.Mean = (RoundedDouble) double.NaN; + } + } + + private static double GetThicknessTopAquiferLayer(PipingSoilProfile soilProfile, RingtoetsPipingSurfaceLine surfaceLine, double exitPointL) + { + try + { + var zAtL = surfaceLine.GetZAtL(exitPointL); + return soilProfile.GetTopAquiferLayerThicknessBelowLevel(zAtL); + } + catch (ArgumentOutOfRangeException) + { + return double.NaN; + } + } + + private void UpdateThicknessCoverageLayer() + { + if (input.SurfaceLine != null && input.SoilProfile != null & !double.IsNaN(input.ExitPointL)) + { + TrySetThicknessCoverageLayer(); + + if (double.IsNaN(input.ThicknessCoverageLayer.Mean)) + { + log.Warn(Resources.PipingInputSynchronizer_UpdateThicknessCoverageLayer_Cannot_determine_thickness_coverage_layer); + } + } + else + { + input.ThicknessCoverageLayer.Mean = (RoundedDouble)double.NaN; + } + } + + private void TrySetThicknessCoverageLayer() + { + try + { + input.ThicknessCoverageLayer.Mean = (RoundedDouble)InputParameterCalculationService.CalculateThicknessCoverageLayer(input.WaterVolumetricWeight, PipingSemiProbabilisticDesignValueFactory.GetPhreaticLevelExit(input).GetDesignValue(), input.ExitPointL, input.SurfaceLine, input.SoilProfile); + } + catch (ArgumentOutOfRangeException) + { + input.ThicknessCoverageLayer.Mean = (RoundedDouble)double.NaN; + } + } + + private void UpdatePiezometricHeadExit() + { + try + { + var assessmentLevel = input.AssessmentLevel; + var dampingFactorExit = PipingSemiProbabilisticDesignValueFactory.GetDampingFactorExit(input).GetDesignValue(); + var phreaticLevelExit = PipingSemiProbabilisticDesignValueFactory.GetPhreaticLevelExit(input).GetDesignValue(); + + input.PiezometricHeadExit = (RoundedDouble)InputParameterCalculationService.CalculatePiezometricHeadAtExit(assessmentLevel, dampingFactorExit, phreaticLevelExit); + } + catch (ArgumentOutOfRangeException) + { + input.PiezometricHeadExit = (RoundedDouble) double.NaN; + } + } + + private void UpdateAssessmentLevel() + { + input.AssessmentLevel = + input.HydraulicBoundaryLocation == null ? + (RoundedDouble) double.NaN : + (RoundedDouble) input.HydraulicBoundaryLocation.DesignWaterLevel; + } + + private void UpdateSeepageLength() + { + try + { + input.SeepageLength.Mean = input.ExitPointL - input.EntryPointL; + } + catch (ArgumentOutOfRangeException) + { + input.SeepageLength.Mean = (RoundedDouble) double.NaN; + } + input.SeepageLength.StandardDeviation = input.SeepageLength.Mean*seepageLengthStandardDeviationFraction; + } + } +} \ No newline at end of file Fisheye: Tag 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e refers to a dead (removed) revision in file `Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingSoilLayer.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e refers to a dead (removed) revision in file `Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingSoilProfile.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.Designer.cs =================================================================== diff -u -r96a31b6c1e568fbbe87fb72f13f0a76b065bdf77 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 96a31b6c1e568fbbe87fb72f13f0a76b065bdf77) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.18444 +// Runtime Version:4.0.30319.34209 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -241,6 +241,26 @@ } /// + /// Looks up a localized string similar to Kan de dikte van het watervoerend pakket niet afleiden op basis van de invoer.. + /// + public static string PipingInputSynchronizer_UpdateThicknessAquiferLayer_Cannot_determine_thickness_aquifer_layer { + get { + return ResourceManager.GetString("PipingInputSynchronizer_UpdateThicknessAquiferLayer_Cannot_determine_thickness_aq" + + "uifer_layer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Kan de dikte van de deklaag niet afleiden op basis van de invoer.. + /// + public static string PipingInputSynchronizer_UpdateThicknessCoverageLayer_Cannot_determine_thickness_coverage_layer { + get { + return ResourceManager.GetString("PipingInputSynchronizer_UpdateThicknessCoverageLayer_Cannot_determine_thickness_c" + + "overage_layer", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Level {0} is below the bottom of the soil profile {1}.. /// public static string PipingSoilProfile_GetTopAquiferLayerThicknessBelowLevel_Level_0_below_Bottom_1_ { Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.resx =================================================================== diff -u -r96a31b6c1e568fbbe87fb72f13f0a76b065bdf77 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.resx (.../Resources.resx) (revision 96a31b6c1e568fbbe87fb72f13f0a76b065bdf77) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/Properties/Resources.resx (.../Resources.resx) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -207,4 +207,10 @@ Level {0} is below the bottom of the soil profile {1}. + + Kan de dikte van het watervoerend pakket niet afleiden op basis van de invoer. + + + Kan de dikte van de deklaag niet afleiden op basis van de invoer. + \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/Ringtoets.Piping.Data.csproj =================================================================== diff -u -rbd3d9017ec57de410afdb274e44cd933d670ce86 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Data/Ringtoets.Piping.Data.csproj (.../Ringtoets.Piping.Data.csproj) (revision bd3d9017ec57de410afdb274e44cd933d670ce86) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/Ringtoets.Piping.Data.csproj (.../Ringtoets.Piping.Data.csproj) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -39,8 +39,8 @@ MinimumRecommendedRules.ruleset - - ..\..\..\..\lib\Plugins\Wti\Deltares.WTIPiping.dll + + ..\..\..\..\packages\log4net.2.0.4\lib\net40-full\log4net.dll ..\..\..\..\packages\MathNet.Numerics.3.8.0\lib\net40\MathNet.Numerics.dll @@ -53,19 +53,17 @@ Properties\GlobalAssembly.cs - + - - @@ -74,7 +72,6 @@ - True @@ -111,6 +108,14 @@ {70F8CC9C-5BC8-4FB2-B201-EAE7FA8088C2} Ringtoets.HydraRing.Data + + {97F6406A-6338-4863-92A6-0D5C00A5F7C9} + Ringtoets.Piping.InputParameterCalculation + + + {14C6F716-64E2-4BC4-A1EF-05865FCEFA4C} + Ringtoets.Piping.Primitives + Fisheye: Tag 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e refers to a dead (removed) revision in file `Ringtoets/Piping/src/Ringtoets.Piping.Data/RingtoetsPipingSurfaceLine.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/packages.config =================================================================== diff -u -r4512af7782ee31b36941bb280b54d9da2953dd71 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Data/packages.config (.../packages.config) (revision 4512af7782ee31b36941bb280b54d9da2953dd71) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/packages.config (.../packages.config) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -23,5 +23,6 @@ All rights reserved. --> + \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingCalculationContext.cs =================================================================== diff -u -rd4dfa2c6c715426bf899c52cb268a9d7a2ef068a -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingCalculationContext.cs (.../PipingCalculationContext.cs) (revision d4dfa2c6c715426bf899c52cb268a9d7a2ef068a) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingCalculationContext.cs (.../PipingCalculationContext.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -24,6 +24,7 @@ using Ringtoets.Common.Data; using Ringtoets.Piping.Data; using Ringtoets.Piping.Forms.Properties; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.Forms.PresentationObjects { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingCalculationGroupContext.cs =================================================================== diff -u -rd4dfa2c6c715426bf899c52cb268a9d7a2ef068a -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingCalculationGroupContext.cs (.../PipingCalculationGroupContext.cs) (revision d4dfa2c6c715426bf899c52cb268a9d7a2ef068a) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingCalculationGroupContext.cs (.../PipingCalculationGroupContext.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -24,6 +24,7 @@ using Ringtoets.Common.Data; using Ringtoets.Piping.Data; using Ringtoets.Piping.Forms.Properties; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.Forms.PresentationObjects { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingContext.cs =================================================================== diff -u -r7faedeb6692adf7a28c07c695c8c3de5b470ebd8 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingContext.cs (.../PipingContext.cs) (revision 7faedeb6692adf7a28c07c695c8c3de5b470ebd8) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingContext.cs (.../PipingContext.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -27,6 +27,7 @@ using Ringtoets.HydraRing.Data; using Ringtoets.Piping.Data; using Ringtoets.Piping.Forms.Properties; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.Forms.PresentationObjects { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingInputContext.cs =================================================================== diff -u -rc0a3ced404197fd781c6fcbcfc21c6676592be57 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingInputContext.cs (.../PipingInputContext.cs) (revision c0a3ced404197fd781c6fcbcfc21c6676592be57) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PresentationObjects/PipingInputContext.cs (.../PipingInputContext.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -22,7 +22,7 @@ using System.Collections.Generic; using Ringtoets.Common.Data; using Ringtoets.Piping.Data; -using Ringtoets.Piping.Service; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.Forms.PresentationObjects { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs =================================================================== diff -u -r8ca454de1833ad8a8d63bcaefdfb5d886a187a01 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs (.../PipingInputContextProperties.cs) (revision 8ca454de1833ad8a8d63bcaefdfb5d886a187a01) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs (.../PipingInputContextProperties.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -32,7 +32,7 @@ using Ringtoets.Piping.Forms.Properties; using Ringtoets.Piping.Forms.TypeConverters; using Ringtoets.Piping.Forms.UITypeEditors; -using Ringtoets.Piping.KernelWrapper; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.Forms.PropertyClasses { @@ -164,7 +164,7 @@ #region Schematization /// - /// Gets or sets the . + /// Gets or sets the . /// [Editor(typeof(PipingInputContextSurfaceLineSelectionEditor), typeof(UITypeEditor))] [ResourcesCategory(typeof(Resources), "Categories_Schematization")] @@ -184,7 +184,7 @@ } /// - /// Gets or sets the . + /// Gets or sets the . /// [Editor(typeof(PipingInputContextSoilProfileSelectionEditor), typeof(UITypeEditor))] [ResourcesCategory(typeof(Resources), "Categories_Schematization")] Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingSoilProfileProperties.cs =================================================================== diff -u -r4512af7782ee31b36941bb280b54d9da2953dd71 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingSoilProfileProperties.cs (.../PipingSoilProfileProperties.cs) (revision 4512af7782ee31b36941bb280b54d9da2953dd71) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingSoilProfileProperties.cs (.../PipingSoilProfileProperties.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -20,19 +20,17 @@ // All rights reserved. using System.Linq; -using Core.Common.Gui; using Core.Common.Gui.Converters; using Core.Common.Gui.PropertyBag; using Core.Common.Utils.Attributes; - -using Ringtoets.Piping.Data; using Ringtoets.Piping.Forms.Properties; +using Ringtoets.Piping.Primitives; using TypeConverter = System.ComponentModel.TypeConverterAttribute; namespace Ringtoets.Piping.Forms.PropertyClasses { /// - /// ViewModel of for properties panel. + /// ViewModel of for properties panel. /// [ResourcesDisplayName(typeof(Resources), "PipingSoilProfileProperties_DisplayName")] public class PipingSoilProfileProperties : ObjectProperties Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/RingtoetsPipingSurfaceLineProperties.cs =================================================================== diff -u -r96e2d588e43f76a8eba5c47805eaaf8560f042d0 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/RingtoetsPipingSurfaceLineProperties.cs (.../RingtoetsPipingSurfaceLineProperties.cs) (revision 96e2d588e43f76a8eba5c47805eaaf8560f042d0) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/RingtoetsPipingSurfaceLineProperties.cs (.../RingtoetsPipingSurfaceLineProperties.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -26,16 +26,15 @@ using Core.Common.Gui.PropertyBag; using Core.Common.Utils.Attributes; -using Ringtoets.Piping.Data; - using Ringtoets.Piping.Forms.Properties; +using Ringtoets.Piping.Primitives; using TypeConverter = System.ComponentModel.TypeConverterAttribute; using PipingDataResources = Ringtoets.Piping.Data.Properties.Resources; namespace Ringtoets.Piping.Forms.PropertyClasses { /// - /// ViewModel of for properties panel. + /// ViewModel of for properties panel. /// [ResourcesDisplayName(typeof(Resources), "RingtoetsPipingSurfaceLine_DisplayName")] public class RingtoetsPipingSurfaceLineProperties : ObjectProperties Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj =================================================================== diff -u -rc2fe76d04e1517a4e0aaf62184bccd413de0e472 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj (.../Ringtoets.Piping.Forms.csproj) (revision c2fe76d04e1517a4e0aaf62184bccd413de0e472) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj (.../Ringtoets.Piping.Forms.csproj) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -160,6 +160,10 @@ Ringtoets.Piping.KernelWrapper False + + {14C6F716-64E2-4BC4-A1EF-05865FCEFA4C} + Ringtoets.Piping.Primitives + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5} Ringtoets.Piping.Service Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/UITypeEditors/PipingInputContextSoilProfileSelectionEditor.cs =================================================================== diff -u -r4512af7782ee31b36941bb280b54d9da2953dd71 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/UITypeEditors/PipingInputContextSoilProfileSelectionEditor.cs (.../PipingInputContextSoilProfileSelectionEditor.cs) (revision 4512af7782ee31b36941bb280b54d9da2953dd71) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/UITypeEditors/PipingInputContextSoilProfileSelectionEditor.cs (.../PipingInputContextSoilProfileSelectionEditor.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -22,13 +22,13 @@ using System.Collections.Generic; using System.ComponentModel; using Core.Common.Utils.Reflection; -using Ringtoets.Piping.Data; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.Forms.UITypeEditors { /// /// This class defines a drop down list edit-control from which the user can select a - /// from a collection. + /// from a collection. /// public class PipingInputContextSoilProfileSelectionEditor : PipingInputContextSelectionEditor { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/UITypeEditors/PipingInputContextSurfaceLineSelectionEditor.cs =================================================================== diff -u -r4512af7782ee31b36941bb280b54d9da2953dd71 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/UITypeEditors/PipingInputContextSurfaceLineSelectionEditor.cs (.../PipingInputContextSurfaceLineSelectionEditor.cs) (revision 4512af7782ee31b36941bb280b54d9da2953dd71) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/UITypeEditors/PipingInputContextSurfaceLineSelectionEditor.cs (.../PipingInputContextSurfaceLineSelectionEditor.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -22,13 +22,13 @@ using System.Collections.Generic; using System.ComponentModel; using Core.Common.Utils.Reflection; -using Ringtoets.Piping.Data; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.Forms.UITypeEditors { /// /// This class defines a drop down list edit-control from which the user can select a - /// from a collection. + /// from a collection. /// public class PipingInputContextSurfaceLineSelectionEditor : PipingInputContextSelectionEditor { Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilLayer1D.cs =================================================================== diff -u -r4512af7782ee31b36941bb280b54d9da2953dd71 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilLayer1D.cs (.../SoilLayer1D.cs) (revision 4512af7782ee31b36941bb280b54d9da2953dd71) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilLayer1D.cs (.../SoilLayer1D.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -19,7 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using Ringtoets.Piping.Data; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.IO.Builders { @@ -65,9 +65,9 @@ public double? DryUnitWeight { get; set; } /// - /// Constructs a (1D) based on the properties set for the . + /// Constructs a (1D) based on the properties set for the . /// - /// The with properties corresponding to those set on the . + /// The with properties corresponding to those set on the . internal PipingSoilLayer AsPipingSoilLayer() { return new PipingSoilLayer(Top) Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilLayer2D.cs =================================================================== diff -u -rdaf4bf00e8ea376485f54faa2fee8497607ddfb0 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilLayer2D.cs (.../SoilLayer2D.cs) (revision daf4bf00e8ea376485f54faa2fee8497607ddfb0) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilLayer2D.cs (.../SoilLayer2D.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -25,9 +25,8 @@ using System.Linq; using Core.Common.Base.Geometry; - -using Ringtoets.Piping.Data; using Ringtoets.Piping.IO.Properties; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.IO.Builders { @@ -116,11 +115,11 @@ } /// - /// Constructs a (1D) based on the and set for the . + /// Constructs a (1D) based on the and set for the . /// /// The point from which to take a 1D profile. - /// The bottom level of the . - /// A of . + /// The bottom level of the . + /// A of . /// Thrown when any of the or /// contain a vertical line at . internal IEnumerable AsPipingSoilLayers(double atX, out double bottom) Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilLayer2DConversionException.cs =================================================================== diff -u -r4512af7782ee31b36941bb280b54d9da2953dd71 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilLayer2DConversionException.cs (.../SoilLayer2DConversionException.cs) (revision 4512af7782ee31b36941bb280b54d9da2953dd71) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilLayer2DConversionException.cs (.../SoilLayer2DConversionException.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -21,12 +21,10 @@ using System; -using Ringtoets.Piping.Data; - namespace Ringtoets.Piping.IO.Builders { /// - /// Exception thrown when something went wrong while converting to . + /// Exception thrown when something went wrong while converting to . /// public class SoilLayer2DConversionException : Exception { Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilProfileBuilder1D.cs =================================================================== diff -u -rfab2798bdc0feb4454b6384aefbe9db3f9a294fb -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilProfileBuilder1D.cs (.../SoilProfileBuilder1D.cs) (revision fab2798bdc0feb4454b6384aefbe9db3f9a294fb) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilProfileBuilder1D.cs (.../SoilProfileBuilder1D.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -21,12 +21,12 @@ using System; using System.Collections.ObjectModel; -using Ringtoets.Piping.Data; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.IO.Builders { /// - /// Helps in the creation of a . + /// Helps in the creation of a . /// internal class SoilProfileBuilder1D { @@ -44,9 +44,9 @@ } /// - /// Creates a new instances of the based on the layer definitions. + /// Creates a new instances of the based on the layer definitions. /// - /// A new . + /// A new . /// Thrown when no layers have been added through . internal PipingSoilProfile Build() { @@ -61,9 +61,9 @@ } /// - /// Adds a new , which will be added to the . + /// Adds a new , which will be added to the . /// - /// The to add. + /// The to add. internal void Add(PipingSoilLayer soilLayer) { layers.Add(soilLayer); Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilProfileBuilder2D.cs =================================================================== diff -u -r3bf7e84ac84de7dd0be38be7e9f2372878e733f6 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilProfileBuilder2D.cs (.../SoilProfileBuilder2D.cs) (revision 3bf7e84ac84de7dd0be38be7e9f2372878e733f6) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilProfileBuilder2D.cs (.../SoilProfileBuilder2D.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -22,8 +22,8 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; -using Ringtoets.Piping.Data; using Ringtoets.Piping.IO.Properties; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.IO.Builders { @@ -40,10 +40,10 @@ private double bottom; /// - /// Creates a new instance of with the supposed name for the new + /// Creates a new instance of with the supposed name for the new /// and the point at which a 1D profile should be obtained from the 2D profile. /// - /// The name for the constructed by the . + /// The name for the constructed by the . /// The x position from which to obtain a 1D profile. /// The indentifier of the profile in the database. /// Thrown when can not be used to determine intersections with @@ -62,11 +62,11 @@ } /// - /// Creates a new instances of the based on the layer definitions. + /// Creates a new instances of the based on the layer definitions. /// - /// A new . + /// A new . /// Thrown when trying to build a - /// and not having added any layers using . + /// and not having added any layers using . /// internal PipingSoilProfile Build() { Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilProfileBuilderException.cs =================================================================== diff -u -r4512af7782ee31b36941bb280b54d9da2953dd71 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilProfileBuilderException.cs (.../SoilProfileBuilderException.cs) (revision 4512af7782ee31b36941bb280b54d9da2953dd71) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Builders/SoilProfileBuilderException.cs (.../SoilProfileBuilderException.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -21,12 +21,10 @@ using System; -using Ringtoets.Piping.Data; - namespace Ringtoets.Piping.IO.Builders { /// - /// Exception thrown when something went wrong while building a . + /// Exception thrown when something went wrong while building a . /// public class SoilProfileBuilderException : Exception { Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Exceptions/PipingSoilProfileReadException.cs =================================================================== diff -u -r4512af7782ee31b36941bb280b54d9da2953dd71 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Exceptions/PipingSoilProfileReadException.cs (.../PipingSoilProfileReadException.cs) (revision 4512af7782ee31b36941bb280b54d9da2953dd71) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Exceptions/PipingSoilProfileReadException.cs (.../PipingSoilProfileReadException.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -20,13 +20,12 @@ // All rights reserved. using System; -using Ringtoets.Piping.Data; using Ringtoets.Piping.IO.SoilProfile; namespace Ringtoets.Piping.IO.Exceptions { /// - /// Exception thrown when something went wrong while reading in . + /// Exception thrown when something went wrong while reading in . /// public class PipingSoilProfileReadException : Exception { Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Ringtoets.Piping.IO.csproj =================================================================== diff -u -r0415d97c8733babb1a31bc11de23ee4b0c5038b6 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Ringtoets.Piping.IO.csproj (.../Ringtoets.Piping.IO.csproj) (revision 0415d97c8733babb1a31bc11de23ee4b0c5038b6) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Ringtoets.Piping.IO.csproj (.../Ringtoets.Piping.IO.csproj) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -97,6 +97,10 @@ Ringtoets.Piping.Data False + + {14C6F716-64E2-4BC4-A1EF-05865FCEFA4C} + Ringtoets.Piping.Primitives + Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/PipingSoilProfileReader.cs =================================================================== diff -u -r3bf7e84ac84de7dd0be38be7e9f2372878e733f6 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/PipingSoilProfileReader.cs (.../PipingSoilProfileReader.cs) (revision 3bf7e84ac84de7dd0be38be7e9f2372878e733f6) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/PipingSoilProfileReader.cs (.../PipingSoilProfileReader.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -25,15 +25,15 @@ using Core.Common.IO.Exceptions; using Core.Common.IO.Readers; using Core.Common.Utils.Builders; -using Ringtoets.Piping.Data; using Ringtoets.Piping.IO.Exceptions; using Ringtoets.Piping.IO.Properties; +using Ringtoets.Piping.Primitives; using UtilsResources = Core.Common.Utils.Properties.Resources; namespace Ringtoets.Piping.IO.SoilProfile { /// - /// This class reads a SqLite database file and constructs instances from this database. + /// This class reads a SqLite database file and constructs instances from this database. /// public class PipingSoilProfileReader : SqLiteDatabaseReaderBase, IRowBasedDatabaseReader { @@ -74,9 +74,9 @@ /// /// Reads the information for the next profile from the database and creates a - /// instance of the information. + /// instance of the information. /// - /// The next from the database, or null if no more profiles can be read. + /// The next from the database, or null if no more profiles can be read. /// Thrown when reading the profile in the database contained a non-parsable geometry. /// Thrown when the database returned incorrect values for required properties. public PipingSoilProfile ReadProfile() @@ -161,9 +161,9 @@ } /// - /// Reads a from the database. + /// Reads a from the database. /// - /// A new . + /// A new . /// Thrown when a recoverable error occurred while reading from the database. /// Thrown when recovering from the failed. private PipingSoilProfile ReadPipingSoilProfile() Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/SoilLayer2DReader.cs =================================================================== diff -u -r7d124cef8960a865cc8d7db24b3359f7ff9958be -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/SoilLayer2DReader.cs (.../SoilLayer2DReader.cs) (revision 7d124cef8960a865cc8d7db24b3359f7ff9958be) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/SoilLayer2DReader.cs (.../SoilLayer2DReader.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -30,15 +30,14 @@ using System.Xml.XPath; using Core.Common.Base.Geometry; using Core.Common.Utils.Reflection; -using Ringtoets.Piping.Data; using Ringtoets.Piping.IO.Builders; using Ringtoets.Piping.IO.Properties; namespace Ringtoets.Piping.IO.SoilProfile { /// /// This class is responsible for reading an array of bytes and interpret this as a XML document, which contains information about - /// the geometry of a . + /// the geometry of a . /// internal class SoilLayer2DReader { @@ -64,10 +63,10 @@ /// /// Reads a new using the as the source of the - /// geometry for a . + /// geometry for a . /// /// An of which contains the information - /// of a in an XML document. + /// of a in an XML document. /// A new with information taken from the XML document. /// Thrown when is null. /// Thrown when: @@ -95,9 +94,9 @@ /// /// Reads a new using the as the source of the - /// geometry for a . + /// geometry for a . /// - /// An which contains the information of a + /// An which contains the information of a /// in an XML document. /// A new with information taken from the XML document. /// Thrown when is null. Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/SoilProfile1DReader.cs =================================================================== diff -u -rfab2798bdc0feb4454b6384aefbe9db3f9a294fb -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/SoilProfile1DReader.cs (.../SoilProfile1DReader.cs) (revision fab2798bdc0feb4454b6384aefbe9db3f9a294fb) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/SoilProfile1DReader.cs (.../SoilProfile1DReader.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -23,24 +23,24 @@ using System.Data.SQLite; using Core.Common.IO.Readers; using Core.Common.Utils.Builders; -using Ringtoets.Piping.Data; using Ringtoets.Piping.IO.Builders; using Ringtoets.Piping.IO.Exceptions; using Ringtoets.Piping.IO.Properties; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.IO.SoilProfile { /// /// This class is responsible for reading 1d profile definitions from the Soil database using a constructed reader - /// and transform the definitions to a . + /// and transform the definitions to a . /// internal static class SoilProfile1DReader { /// /// Reads a 1D profile from the given . /// /// A which is used to read row values from. - /// A new , which is based on the information from the database. + /// A new , which is based on the information from the database. /// Thrown when reading the profile encountered an unrecoverable error. /// Thrown when reading the profile encountered a recoverable error. internal static PipingSoilProfile ReadFrom(IRowBasedDatabaseReader reader) @@ -66,7 +66,7 @@ /// /// Builds a from the given . /// - /// Thrown when building the failed. + /// Thrown when building the failed. private static PipingSoilProfile Build(SoilProfileBuilder1D soilProfileBuilder, string path, string profileName) { try @@ -152,7 +152,7 @@ /// /// Creates a new instance of , which contains properties - /// that are required to create a complete . If these properties + /// that are required to create a complete . If these properties /// cannot be read, then the reader can proceed to the next profile. /// /// The to read the required profile property values from. Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/SoilProfile2DReader.cs =================================================================== diff -u -rfab2798bdc0feb4454b6384aefbe9db3f9a294fb -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/SoilProfile2DReader.cs (.../SoilProfile2DReader.cs) (revision fab2798bdc0feb4454b6384aefbe9db3f9a294fb) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/SoilProfile/SoilProfile2DReader.cs (.../SoilProfile2DReader.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -23,24 +23,24 @@ using System.Data.SQLite; using Core.Common.IO.Readers; using Core.Common.Utils.Builders; -using Ringtoets.Piping.Data; using Ringtoets.Piping.IO.Builders; using Ringtoets.Piping.IO.Exceptions; using Ringtoets.Piping.IO.Properties; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.IO.SoilProfile { /// /// This class is responsible for reading 2d profile definitions from the Soil database using a constructed reader - /// and transform the definitions to a . + /// and transform the definitions to a . /// internal static class SoilProfile2DReader { /// - /// Reads information for a profile from the database and creates a based on the information. + /// Reads information for a profile from the database and creates a based on the information. /// /// A which is used to read row values from. - /// A new , which is based on the information from the database. + /// A new , which is based on the information from the database. /// Thrown when reading the profile encountered an unrecoverable error. /// Thrown when /// @@ -195,7 +195,7 @@ /// /// Creates a new instance of , which contains properties - /// that are required to create a complete . If these properties + /// that are required to create a complete . If these properties /// cannot be read, then the reader can proceed to the next profile. /// /// The to read the required profile property values from. Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/SurfaceLines/PipingSurfaceLinesCsvReader.cs =================================================================== diff -u -r9a4c74a9d2cc49987adf0049919baafa6e12a618 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.IO/SurfaceLines/PipingSurfaceLinesCsvReader.cs (.../PipingSurfaceLinesCsvReader.cs) (revision 9a4c74a9d2cc49987adf0049919baafa6e12a618) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/SurfaceLines/PipingSurfaceLinesCsvReader.cs (.../PipingSurfaceLinesCsvReader.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -25,13 +25,12 @@ using System.IO; using System.Linq; using Core.Common.Base.Geometry; -using Core.Common.IO; using Core.Common.IO.Exceptions; using Core.Common.IO.Readers; using Core.Common.Utils; using Core.Common.Utils.Builders; -using Ringtoets.Piping.Data; using Ringtoets.Piping.IO.Properties; +using Ringtoets.Piping.Primitives; using UtilsResources = Core.Common.Utils.Properties.Resources; namespace Ringtoets.Piping.IO.SurfaceLines @@ -83,7 +82,7 @@ } /// - /// Reads the file to determine the number of available + /// Reads the file to determine the number of available /// data rows. /// /// A value greater than or equal to 0. @@ -109,7 +108,7 @@ /// /// Reads and consumes the next data row which contains a surface line, parsing the data to create an instance - /// of . + /// of . /// /// Return the parsed surfaceline, or null when at the end of the file. /// A critical error has occurred, which may be caused by: Index: Ringtoets/Piping/src/Ringtoets.Piping.InputParameterCalculation/InputParameterCalculationService.cs =================================================================== diff -u -rbd3d9017ec57de410afdb274e44cd933d670ce86 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.InputParameterCalculation/InputParameterCalculationService.cs (.../InputParameterCalculationService.cs) (revision bd3d9017ec57de410afdb274e44cd933d670ce86) +++ Ringtoets/Piping/src/Ringtoets.Piping.InputParameterCalculation/InputParameterCalculationService.cs (.../InputParameterCalculationService.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -21,9 +21,9 @@ using System; using Core.Common.Base.Data; -using Ringtoets.Piping.Data; using Ringtoets.Piping.KernelWrapper; using Ringtoets.Piping.KernelWrapper.SubCalculator; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.InputParameterCalculation { Index: Ringtoets/Piping/src/Ringtoets.Piping.InputParameterCalculation/Ringtoets.Piping.InputParameterCalculation.csproj =================================================================== diff -u -rbd3d9017ec57de410afdb274e44cd933d670ce86 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.InputParameterCalculation/Ringtoets.Piping.InputParameterCalculation.csproj (.../Ringtoets.Piping.InputParameterCalculation.csproj) (revision bd3d9017ec57de410afdb274e44cd933d670ce86) +++ Ringtoets/Piping/src/Ringtoets.Piping.InputParameterCalculation/Ringtoets.Piping.InputParameterCalculation.csproj (.../Ringtoets.Piping.InputParameterCalculation.csproj) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -60,14 +60,14 @@ {c90b77da-e421-43cc-b82e-529651bc21ac} Core.Common.Version - - {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB} - Ringtoets.Piping.Data - {d64e4f0e-e341-496f-82b2-941ad202b4e3} Ringtoets.Piping.KernelWrapper + + {14C6F716-64E2-4BC4-A1EF-05865FCEFA4C} + Ringtoets.Piping.Primitives + Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingCalculatorInput.cs =================================================================== diff -u -r89488cc05b12fd5720cd28a4eeeb001dc9b1456d -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingCalculatorInput.cs (.../PipingCalculatorInput.cs) (revision 89488cc05b12fd5720cd28a4eeeb001dc9b1456d) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingCalculatorInput.cs (.../PipingCalculatorInput.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -19,7 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using Ringtoets.Piping.Data; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.KernelWrapper { Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingProfileCreator.cs =================================================================== diff -u -rc2fe76d04e1517a4e0aaf62184bccd413de0e472 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingProfileCreator.cs (.../PipingProfileCreator.cs) (revision c2fe76d04e1517a4e0aaf62184bccd413de0e472) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingProfileCreator.cs (.../PipingProfileCreator.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -20,7 +20,7 @@ // All rights reserved. using Deltares.WTIPiping; -using Ringtoets.Piping.Data; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.KernelWrapper { @@ -33,7 +33,7 @@ /// Creates a based on information contained in the provided , /// which can then be used in the . /// - /// The from which to take the information. + /// The from which to take the information. /// A new with information taken from the . public static PipingProfile Create(PipingSoilProfile soilProfile) { Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingSurfaceLineCreator.cs =================================================================== diff -u -rc2fe76d04e1517a4e0aaf62184bccd413de0e472 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingSurfaceLineCreator.cs (.../PipingSurfaceLineCreator.cs) (revision c2fe76d04e1517a4e0aaf62184bccd413de0e472) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingSurfaceLineCreator.cs (.../PipingSurfaceLineCreator.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -23,7 +23,7 @@ using System.Linq; using Core.Common.Base.Geometry; using Deltares.WTIPiping; -using Ringtoets.Piping.Data; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.KernelWrapper { Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/Ringtoets.Piping.KernelWrapper.csproj =================================================================== diff -u -rbd3d9017ec57de410afdb274e44cd933d670ce86 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/Ringtoets.Piping.KernelWrapper.csproj (.../Ringtoets.Piping.KernelWrapper.csproj) (revision bd3d9017ec57de410afdb274e44cd933d670ce86) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/Ringtoets.Piping.KernelWrapper.csproj (.../Ringtoets.Piping.KernelWrapper.csproj) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -87,10 +87,9 @@ Core.Common.Version False - - {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} - Ringtoets.Piping.Data - False + + {14C6F716-64E2-4BC4-A1EF-05865FCEFA4C} + Ringtoets.Piping.Primitives Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSoilProfilesImporter.cs =================================================================== diff -u -re04155c0cc0efa8bbd13e0a82cb8643711a2dfd6 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSoilProfilesImporter.cs (.../PipingSoilProfilesImporter.cs) (revision e04155c0cc0efa8bbd13e0a82cb8643711a2dfd6) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSoilProfilesImporter.cs (.../PipingSoilProfilesImporter.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -27,9 +27,9 @@ using Core.Common.IO.Exceptions; using Core.Common.IO.Readers; using log4net; -using Ringtoets.Piping.Data; using Ringtoets.Piping.IO.Exceptions; using Ringtoets.Piping.IO.SoilProfile; +using Ringtoets.Piping.Primitives; using PipingFormsResources = Ringtoets.Piping.Forms.Properties.Resources; using RingtoetsFormsResources = Ringtoets.Common.Forms.Properties.Resources; using ApplicationResources = Ringtoets.Piping.Plugin.Properties.Resources; Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLinesCsvImporter.cs =================================================================== diff -u -rd36a95d2e88d98b7b92ff5d091abf711d1dd31d9 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLinesCsvImporter.cs (.../PipingSurfaceLinesCsvImporter.cs) (revision d36a95d2e88d98b7b92ff5d091abf711d1dd31d9) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLinesCsvImporter.cs (.../PipingSurfaceLinesCsvImporter.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -27,16 +27,14 @@ using Core.Common.Base.Geometry; using Core.Common.Base.IO; -using Core.Common.Base.Properties; using Core.Common.IO.Exceptions; using Core.Common.IO.Readers; using log4net; using Ringtoets.Common.Data; -using Ringtoets.Piping.Data; using Ringtoets.Piping.Forms.PresentationObjects; using Ringtoets.Piping.IO.SurfaceLines; - +using Ringtoets.Piping.Primitives; using PipingFormsResources = Ringtoets.Piping.Forms.Properties.Resources; using PipingDataResources = Ringtoets.Piping.Data.Properties.Resources; using RingtoetsFormsResources = Ringtoets.Common.Forms.Properties.Resources; @@ -278,12 +276,12 @@ } /// - /// Adds a valid read from to the . + /// Adds a valid read from to the . /// - /// The list to add the valid to. - /// The reader to read the from. - /// already contains a - /// with the same name as the new . + /// The list to add the valid to. + /// The reader to read the from. + /// already contains a + /// with the same name as the new . private void AddValidSurfaceLineToCollection(List list, PipingSurfaceLinesCsvReader reader) { try Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineExtensions.cs =================================================================== diff -u -r82c08997cab1058c739a21c9339e4fef59ee58ff -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineExtensions.cs (.../RingtoetsPipingSurfaceLineExtensions.cs) (revision 82c08997cab1058c739a21c9339e4fef59ee58ff) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineExtensions.cs (.../RingtoetsPipingSurfaceLineExtensions.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -1,26 +1,26 @@ using System; using Core.Common.Base.Geometry; using log4net; -using Ringtoets.Piping.Data; using Ringtoets.Piping.Plugin.Properties; +using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.Plugin.FileImporter { /// - /// Extension methods for the class. + /// Extension methods for the class. /// public static class RingtoetsPipingSurfaceLineExtensions { private static readonly ILog log = LogManager.GetLogger(typeof(RingtoetsPipingSurfaceLineExtensions)); /// - /// Tries to set the at the location of + /// Tries to set the at the location of /// . /// - /// The to set the - /// for. - /// The point at which to set the . - /// true if the was set, false if + /// The to set the + /// for. + /// The point at which to set the . + /// true if the was set, false if /// is null or there is no point in at the location /// of . public static bool TrySetDitchPolderSide(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) @@ -41,13 +41,13 @@ } /// - /// Tries to set the at the location of + /// Tries to set the at the location of /// . /// - /// The to set the - /// for. - /// The point at which to set the . - /// true if the was set, false if + /// The to set the + /// for. + /// The point at which to set the . + /// true if the was set, false if /// is null or there is no point in at the location /// of . public static bool TrySetBottomDitchPolderSide(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) @@ -68,13 +68,13 @@ } /// - /// Tries to set the at the location of + /// Tries to set the at the location of /// . /// - /// The to set the - /// for. - /// The point at which to set the . - /// true if the was set, false if + /// The to set the + /// for. + /// The point at which to set the . + /// true if the was set, false if /// is null or there is no point in at the location /// of . public static bool TrySetBottomDitchDikeSide(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) @@ -95,13 +95,13 @@ } /// - /// Tries to set the at the location of + /// Tries to set the at the location of /// . /// - /// The to set the - /// for. - /// The point at which to set the . - /// true if the was set, false if + /// The to set the + /// for. + /// The point at which to set the . + /// true if the was set, false if /// is null or there is no point in at the location /// of . public static bool TrySetDitchDikeSide(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) @@ -122,13 +122,13 @@ } /// - /// Tries to set the at the location of + /// Tries to set the at the location of /// . /// - /// The to set the - /// for. - /// The point at which to set the . - /// true if the was set, false if + /// The to set the + /// for. + /// The point at which to set the . + /// true if the was set, false if /// is null or there is no point in at the location /// of . public static bool TrySetDikeToeAtRiver(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) @@ -149,13 +149,13 @@ } /// - /// Tries to set the at the location of + /// Tries to set the at the location of /// . /// - /// The to set the - /// for. - /// The point at which to set the . - /// true if the was set, false if + /// The to set the + /// for. + /// The point at which to set the . + /// true if the was set, false if /// is null or there is no point in at the location /// of . public static bool TrySetDikeToeAtPolder(this RingtoetsPipingSurfaceLine surfaceLine, Point3D point) Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs =================================================================== diff -u -rd36a95d2e88d98b7b92ff5d091abf711d1dd31d9 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision d36a95d2e88d98b7b92ff5d091abf711d1dd31d9) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -36,6 +36,7 @@ using Ringtoets.Piping.Forms.PresentationObjects; using Ringtoets.Piping.Forms.PropertyClasses; using Ringtoets.Piping.Forms.Views; +using Ringtoets.Piping.Primitives; using Ringtoets.Piping.Service; using PipingDataResources = Ringtoets.Piping.Data.Properties.Resources; using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Ringtoets.Piping.Plugin.csproj =================================================================== diff -u -r86e717a5477d55d1c4351f2857a1d76e220a3ab4 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Ringtoets.Piping.Plugin.csproj (.../Ringtoets.Piping.Plugin.csproj) (revision 86e717a5477d55d1c4351f2857a1d76e220a3ab4) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/Ringtoets.Piping.Plugin.csproj (.../Ringtoets.Piping.Plugin.csproj) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -139,6 +139,10 @@ Ringtoets.Piping.Data False + + {14C6F716-64E2-4BC4-A1EF-05865FCEFA4C} + Ringtoets.Piping.Primitives + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5} Ringtoets.Piping.Service Index: Ringtoets/Piping/src/Ringtoets.Piping.Primitives/Exceptions/RingtoetsPipingSurfaceLineException.cs =================================================================== diff -u --- Ringtoets/Piping/src/Ringtoets.Piping.Primitives/Exceptions/RingtoetsPipingSurfaceLineException.cs (revision 0) +++ Ringtoets/Piping/src/Ringtoets.Piping.Primitives/Exceptions/RingtoetsPipingSurfaceLineException.cs (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -0,0 +1,54 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; + +namespace Ringtoets.Piping.Primitives.Exceptions +{ + /// + /// The exception that is thrown when operations on encounter + /// an error. + /// + public class RingtoetsPipingSurfaceLineException : Exception + { + /// + /// Initializes a new instance of the class. + /// + public RingtoetsPipingSurfaceLineException(){} + + /// + /// Initializes a new instance of the class + /// with a specified error message. + /// + /// The error message that explains the reason for the exception. + public RingtoetsPipingSurfaceLineException(string message) : base(message){} + + /// + /// Initializes a new instance of the class + /// with a specified error message and a reference to the inner exception that is + /// the cause of this exception. + /// + /// The error message that explains the reason for the exception. + /// The exception that is the cause of the current exception, + /// or a null reference if no inner exception is specified. + public RingtoetsPipingSurfaceLineException(string message, Exception inner) : base(message, inner) { } + } +} \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.Primitives/PipingSoilLayer.cs =================================================================== diff -u --- Ringtoets/Piping/src/Ringtoets.Piping.Primitives/PipingSoilLayer.cs (revision 0) +++ Ringtoets/Piping/src/Ringtoets.Piping.Primitives/PipingSoilLayer.cs (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -0,0 +1,66 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +namespace Ringtoets.Piping.Primitives +{ + /// + /// This class represents profiles that were imported from D-Soil Model and will later on be used to create the + /// necessary input for executing a piping calculation. + /// + public class PipingSoilLayer + { + /// + /// Creates a new instance of , where the top is set to . + /// + /// + public PipingSoilLayer(double top) + { + Top = top; + } + + /// + /// Gets the top level of the . + /// + public double Top { get; private set; } + + /// + /// Gets or sets a value indicating whether or not the is an aquifer. + /// + public bool IsAquifer { get; set; } + + /// + /// Gets or sets the volumic weight of the above the phreatic level. + /// [kN/m³] + /// + public double? AbovePhreaticLevel { get; set; } + + /// + /// Gets or sets the volumic weight of the below the phreatic level. + /// [kN/m³] + /// + public double? BelowPhreaticLevel { get; set; } + + /// + /// Gets or sets the dry unit weight for the . + /// + public double? DryUnitWeight { get; set; } + } +} \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.Primitives/PipingSoilProfile.cs =================================================================== diff -u --- Ringtoets/Piping/src/Ringtoets.Piping.Primitives/PipingSoilProfile.cs (revision 0) +++ Ringtoets/Piping/src/Ringtoets.Piping.Primitives/PipingSoilProfile.cs (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -0,0 +1,194 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// 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 Ringtoets.Piping.Primitives.Properties; + +namespace Ringtoets.Piping.Primitives +{ + /// + /// This class represents a soil profile, which was imported for use in a piping calculation. + /// + public class PipingSoilProfile + { + private IEnumerable layers; + + /// + /// Creates a new instance ofL , with the given , and . + /// A new collection is created for and used in the . + /// + /// The name of the profile. + /// The bottom level of the profile. + /// The collection of layers that should be part of the profile. + /// Identifier of the profile. + /// Thrown when contains no layers. + /// Thrown when is null. + public PipingSoilProfile(string name, double bottom, IEnumerable layers, long pipingSoilProfileId) + { + Name = name; + Bottom = bottom; + Layers = layers; + PipingSoilProfileId = pipingSoilProfileId; + } + + /// + /// Gets the database identifier of the . + /// + public long PipingSoilProfileId { get; private set; } + + /// + /// Gets the bottom level of the . + /// + public double Bottom { get; private set; } + + /// + /// Gets the name of . + /// + public string Name { get; private set; } + + /// + /// Gets an ordered (by , descending) of + /// for the . + /// + /// Thrown when the value is null. + /// Thrown when the value contains no layers. + public IEnumerable Layers + { + get + { + return layers; + } + private set + { + ValidateLayersCollection(value); + layers = value.OrderByDescending(l => l.Top).ToArray(); + } + } + + /// + /// Gets the thickness of the given layer in the . + /// Thickness of a layer is determined by its top and the top of the layer below it. + /// + /// The to determine the thickness of. + /// The thickness of the . + /// does not contain . + public double GetLayerThickness(PipingSoilLayer layer) + { + var layersOrderedByTopAscending = layers.Reverse(); + var previousLevel = Bottom; + foreach (var oLayer in layersOrderedByTopAscending) + { + if (ReferenceEquals(layer, oLayer)) + { + return layer.Top - previousLevel; + } + previousLevel = oLayer.Top; + } + throw new ArgumentException("Layer not found in profile."); + } + + /// + /// Retrieves the thickness of the topmost aquifer layer under a certain . + /// Only the thickness of the part of the aquifer layer under the level is determined. + /// Aquifer layers above are not considered. + /// + /// The level under which the aquifer layer is sought. + /// The thickness of the part of the topmost aquifer layer under the . + /// is less than . + public double GetTopAquiferLayerThicknessBelowLevel(double level) + { + ValidateLevelToBottom(level); + + PipingSoilLayer currentTopAquiferLayer = null; + foreach (var pipingSoilLayer in Layers) + { + if (pipingSoilLayer.Top > level) + { + currentTopAquiferLayer = null; + } + if (currentTopAquiferLayer != null && pipingSoilLayer.Top < level) + { + break; + } + if (pipingSoilLayer.IsAquifer) + { + currentTopAquiferLayer = pipingSoilLayer; + } + } + return GetLayerThicknessBelowLevel(currentTopAquiferLayer, level); + } + + public override string ToString() + { + return Name; + } + + /// + /// Validates the given . A valid has layers which + /// all have values for which are greater than or equal to . + /// + /// The collection of to validate. + /// Thrown when is null. + /// Thrown when + /// + /// contains no layers + /// contains a layer with the less than + /// + /// + private void ValidateLayersCollection(IEnumerable collection) + { + if (collection == null) + { + throw new ArgumentNullException(@"collection", string.Format(Resources.Error_Cannot_Construct_PipingSoilProfile_Without_Layers)); + } + if (!collection.Any()) + { + throw new ArgumentException(Resources.Error_Cannot_Construct_PipingSoilProfile_Without_Layers); + } + if (collection.Any(l => l.Top < Bottom)) + { + throw new ArgumentException(Resources.PipingSoilProfile_Layers_Layer_top_below_profile_bottom); + } + } + + private void ValidateLevelToBottom(double level) + { + if (level < Bottom) + { + var message = string.Format(Resources.PipingSoilProfile_GetTopAquiferLayerThicknessBelowLevel_Level_0_below_Bottom_1_, level, Bottom); + throw new ArgumentException(message); + } + } + + private double GetLayerThicknessBelowLevel(PipingSoilLayer layer, double level) + { + var thickness = double.NaN; + if (layer != null) + { + double thicknessAboveLevel = Math.Max(0, layer.Top - level); + thickness = GetLayerThickness(layer) - thicknessAboveLevel; + } + return thickness; + } + } +} \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.Primitives/Properties/Resources.Designer.cs =================================================================== diff -u --- Ringtoets/Piping/src/Ringtoets.Piping.Primitives/Properties/Resources.Designer.cs (revision 0) +++ Ringtoets/Piping/src/Ringtoets.Piping.Primitives/Properties/Resources.Designer.cs (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -0,0 +1,355 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.34209 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Ringtoets.Piping.Primitives.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Ringtoets.Piping.Primitives.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Berekeningsverslag. + /// + public static string CalculationReport_DisplayName { + get { + return ResourceManager.GetString("CalculationReport_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Slootbodem dijkzijde. + /// + public static string CharacteristicPoint_BottomDitchDikeSide { + get { + return ResourceManager.GetString("CharacteristicPoint_BottomDitchDikeSide", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Slootbodem polderzijde. + /// + public static string CharacteristicPoint_BottomDitchPolderSide { + get { + return ResourceManager.GetString("CharacteristicPoint_BottomDitchPolderSide", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Teen dijk binnenwaarts. + /// + public static string CharacteristicPoint_DikeToeAtPolder { + get { + return ResourceManager.GetString("CharacteristicPoint_DikeToeAtPolder", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Teen dijk buitenwaarts. + /// + public static string CharacteristicPoint_DikeToeAtRiver { + get { + return ResourceManager.GetString("CharacteristicPoint_DikeToeAtRiver", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Insteek sloot dijkzijde. + /// + public static string CharacteristicPoint_DitchDikeSide { + get { + return ResourceManager.GetString("CharacteristicPoint_DitchDikeSide", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Insteek sloot polderzijde. + /// + public static string CharacteristicPoint_DitchPolderSide { + get { + return ResourceManager.GetString("CharacteristicPoint_DitchPolderSide", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Commentaar. + /// + public static string Comments_DisplayName { + get { + return ResourceManager.GetString("Comments_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Een kansverdeling moet opgegeven zijn om op basis van die data een rekenwaarde te bepalen.. + /// + public static string DesignVariable_GetDesignValue_Distribution_must_be_set { + get { + return ResourceManager.GetString("DesignVariable_GetDesignValue_Distribution_must_be_set", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Percentiel moet in het bereik van [0, 1] vallen.. + /// + public static string DesignVariable_Percentile_must_be_in_range { + get { + return ResourceManager.GetString("DesignVariable_Percentile_must_be_in_range", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Geen lagen gevonden voor het profiel.. + /// + public static string Error_Cannot_Construct_PipingSoilProfile_Without_Layers { + get { + return ResourceManager.GetString("Error_Cannot_Construct_PipingSoilProfile_Without_Layers", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Kans moet in het bereik van [0, 1] opgegeven worden.. + /// + public static string IDistribution_InverseCDF_Probability_must_be_in_range { + get { + return ResourceManager.GetString("IDistribution_InverseCDF_Probability_must_be_in_range", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Gemiddelde moet groter zijn dan 0.. + /// + public static string LognormalDistribution_Mean_must_be_greater_equal_to_zero { + get { + return ResourceManager.GetString("LognormalDistribution_Mean_must_be_greater_equal_to_zero", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Nieuwe berekening. + /// + public static string PipingCalculation_DefaultName { + get { + return ResourceManager.GetString("PipingCalculation_DefaultName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Nieuwe map. + /// + public static string PipingCalculationGroup_DefaultName { + get { + return ResourceManager.GetString("PipingCalculationGroup_DefaultName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Kan de naam van deze groep niet aanpassen, omdat 'IsNameEditable' op 'false' staat.. + /// + public static string PipingCalculationGroup_Setting_readonly_name_error_message { + get { + return ResourceManager.GetString("PipingCalculationGroup_Setting_readonly_name_error_message", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Berekeningen. + /// + public static string PipingFailureMechanism_Calculations_DisplayName { + get { + return ResourceManager.GetString("PipingFailureMechanism_Calculations_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Dijken - Piping. + /// + public static string PipingFailureMechanism_DisplayName { + get { + return ResourceManager.GetString("PipingFailureMechanism_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to De waarde voor het L-coördinaat van het intredepunt mag niet kleiner zijn dan 0.. + /// + public static string PipingInput_EntryPointL_Value_must_be_greater_than_or_equal_to_zero { + get { + return ResourceManager.GetString("PipingInput_EntryPointL_Value_must_be_greater_than_or_equal_to_zero", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to De waarde voor het L-coördinaat van het uittredepunt moet groter zijn dan 0.. + /// + public static string PipingInput_ExitPointL_Value_must_be_greater_than_zero { + get { + return ResourceManager.GetString("PipingInput_ExitPointL_Value_must_be_greater_than_zero", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Kan de dikte van het watervoerend pakket niet afleiden op basis van de invoer.. + /// + public static string PipingInputSynchronizer_UpdateThicknessAquiferLayer_Cannot_determine_thickness_aquifer_layer { + get { + return ResourceManager.GetString("PipingInputSynchronizer_UpdateThicknessAquiferLayer_Cannot_determine_thickness_aq" + + "uifer_layer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Kan de dikte van de deklaag niet afleiden op basis van de invoer.. + /// + public static string PipingInputSynchronizer_UpdateThicknessCoverageLayer_Cannot_determine_thickness_coverage_layer { + get { + return ResourceManager.GetString("PipingInputSynchronizer_UpdateThicknessCoverageLayer_Cannot_determine_thickness_c" + + "overage_layer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Level {0} is below the bottom of the soil profile {1}.. + /// + public static string PipingSoilProfile_GetTopAquiferLayerThicknessBelowLevel_Level_0_below_Bottom_1_ { + get { + return ResourceManager.GetString("PipingSoilProfile_GetTopAquiferLayerThicknessBelowLevel_Level_0_below_Bottom_1_", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Eén of meerdere lagen hebben een top onder de bodem van het profiel.. + /// + public static string PipingSoilProfile_Layers_Layer_top_below_profile_bottom { + get { + return ResourceManager.GetString("PipingSoilProfile_Layers_Layer_top_below_profile_bottom", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} L moet in het bereik van [{1}, {2}] liggen.. + /// + public static string RingtoetsPipingSurfaceLine_0_L_needs_to_be_in_1_2_range { + get { + return ResourceManager.GetString("RingtoetsPipingSurfaceLine_0_L_needs_to_be_in_1_2_range", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Een punt in de geometrie voor de profielmeting heeft geen waarde.. + /// + public static string RingtoetsPipingSurfaceLine_A_point_in_the_collection_was_null { + get { + return ResourceManager.GetString("RingtoetsPipingSurfaceLine_A_point_in_the_collection_was_null", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Kan geen hoogte bepalen op het punt L={0}, omdat de profielmeting verticaal loopt op dat punt.. + /// + public static string RingtoetsPipingSurfaceLine_Cannot_determine_reliable_z_when_surface_line_is_vertical_in_l { + get { + return ResourceManager.GetString("RingtoetsPipingSurfaceLine_Cannot_determine_reliable_z_when_surface_line_is_verti" + + "cal_in_l", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to De geometrie die opgegeven werd voor de profielmeting heeft geen waarde.. + /// + public static string RingtoetsPipingSurfaceLine_Collection_of_points_for_geometry_is_null { + get { + return ResourceManager.GetString("RingtoetsPipingSurfaceLine_Collection_of_points_for_geometry_is_null", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Kan geen hoogte bepalen.. + /// + public static string RingtoetsPipingSurfaceLine_GetZAtL_Cannot_determine_height { + get { + return ResourceManager.GetString("RingtoetsPipingSurfaceLine_GetZAtL_Cannot_determine_height", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to De geometrie bevat geen punt op locatie {0} om als '{1}' in te stellen.. + /// + public static string RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_point_at_0_to_assign_as_characteristic_point_1_ { + get { + return ResourceManager.GetString("RingtoetsPipingSurfaceLine_SetCharacteristicPointAt_Geometry_does_not_contain_poi" + + "nt_at_0_to_assign_as_characteristic_point_1_", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to De profielmeting heeft geen geometrie.. + /// + public static string RingtoetsPipingSurfaceLine_SurfaceLine_has_no_Geometry { + get { + return ResourceManager.GetString("RingtoetsPipingSurfaceLine_SurfaceLine_has_no_Geometry", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Standaard afwijking (σ) moet groter zijn dan of gelijk zijn aan 0.. + /// + public static string StandardDeviation_Should_be_greater_than_or_equal_to_zero { + get { + return ResourceManager.GetString("StandardDeviation_Should_be_greater_than_or_equal_to_zero", resourceCulture); + } + } + } +} Index: Ringtoets/Piping/src/Ringtoets.Piping.Primitives/Properties/Resources.resx =================================================================== diff -u --- Ringtoets/Piping/src/Ringtoets.Piping.Primitives/Properties/Resources.resx (revision 0) +++ Ringtoets/Piping/src/Ringtoets.Piping.Primitives/Properties/Resources.resx (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Geen lagen gevonden voor het profiel. + + + Standaard afwijking (σ) moet groter zijn dan of gelijk zijn aan 0. + + + Percentiel moet in het bereik van [0, 1] vallen. + + + Een kansverdeling moet opgegeven zijn om op basis van die data een rekenwaarde te bepalen. + + + Kans moet in het bereik van [0, 1] opgegeven worden. + + + Gemiddelde moet groter zijn dan 0. + + + Kan geen hoogte bepalen op het punt L={0}, omdat de profielmeting verticaal loopt op dat punt. + + + Een punt in de geometrie voor de profielmeting heeft geen waarde. + + + De geometrie die opgegeven werd voor de profielmeting heeft geen waarde. + + + Nieuwe berekening + + + Commentaar + + + Berekeningsverslag + + + Nieuwe map + + + Kan de naam van deze groep niet aanpassen, omdat 'IsNameEditable' op 'false' staat. + + + Berekeningen + + + {0} L moet in het bereik van [{1}, {2}] liggen. + + + De profielmeting heeft geen geometrie. + + + Kan geen hoogte bepalen. + + + De geometrie bevat geen punt op locatie {0} om als '{1}' in te stellen. + + + Slootbodem dijkzijde + + + Slootbodem polderzijde + + + Teen dijk binnenwaarts + + + Teen dijk buitenwaarts + + + Insteek sloot dijkzijde + + + Insteek sloot polderzijde + + + Dijken - Piping + + + De waarde voor het L-coördinaat van het uittredepunt moet groter zijn dan 0. + + + De waarde voor het L-coördinaat van het intredepunt mag niet kleiner zijn dan 0. + + + Eén of meerdere lagen hebben een top onder de bodem van het profiel. + + + Level {0} is below the bottom of the soil profile {1}. + + + Kan de dikte van het watervoerend pakket niet afleiden op basis van de invoer. + + + Kan de dikte van de deklaag niet afleiden op basis van de invoer. + + \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.Primitives/Ringtoets.Piping.Primitives.csproj =================================================================== diff -u -rbd3d9017ec57de410afdb274e44cd933d670ce86 -r10779bb6a6db2d00f4627b2bc190e7e35e1fee3e --- Ringtoets/Piping/src/Ringtoets.Piping.Primitives/Ringtoets.Piping.Primitives.csproj (.../Ringtoets.Piping.Primitives.csproj) (revision bd3d9017ec57de410afdb274e44cd933d670ce86) +++ Ringtoets/Piping/src/Ringtoets.Piping.Primitives/Ringtoets.Piping.Primitives.csproj (.../Ringtoets.Piping.Primitives.csproj) (revision 10779bb6a6db2d00f4627b2bc190e7e35e1fee3e) @@ -41,16 +41,33 @@ MinimumRecommendedRules.ruleset + + ..\..\..\..\packages\MathNet.Numerics.3.8.0\lib\net40\MathNet.Numerics.dll + + Properties\GlobalAssembly.cs + + + + + Resources.resx + True + True + + + + {3BBFD65B-B277-4E50-AE6D-BD24C3434609} + Core.Common.Base + {c90b77da-e421-43cc-b82e-529651bc21ac} Core.Common.Version @@ -60,7 +77,15 @@ Copying.licenseheader + + + + PublicResXFileCodeGenerator + Resources.Designer.cs + Designer + +