Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Commands/AddNewDemoAssessmentSectionCommand.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Commands/OpenChartViewCommand.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Commands/OpenMapViewCommand.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Commands/OpenPointedTreeGraphViewCommand.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Commands/OpenStackChartViewCommand.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Commands/OpenThematicalMapViewCommand.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Demo.Riskeer.csproj'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Demo/Ringtoets/src/Demo.Riskeer/EmbeddedResources/DR6.soil
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/EmbeddedResources/DR6_surfacelines.csv'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/EmbeddedResources/DR6_surfacelines.krp.csv'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Demo/Ringtoets/src/Demo.Riskeer/EmbeddedResources/HLCD.sqlite
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Index: Demo/Ringtoets/src/Demo.Riskeer/EmbeddedResources/HRD dutch coast south.config.sqlite
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Index: Demo/Ringtoets/src/Demo.Riskeer/EmbeddedResources/HRD dutch coast south.sqlite
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Index: Demo/Ringtoets/src/Demo.Riskeer/EmbeddedResources/traject_6-3.dbf
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/EmbeddedResources/traject_6-3.prj'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Demo/Ringtoets/src/Demo.Riskeer/EmbeddedResources/traject_6-3.shp
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Index: Demo/Ringtoets/src/Demo.Riskeer/EmbeddedResources/traject_6-3.shx
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Index: Demo/Ringtoets/src/Demo.Riskeer/EmbeddedResources/traject_6-3_vakken.dbf
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/EmbeddedResources/traject_6-3_vakken.prj'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Demo/Ringtoets/src/Demo.Riskeer/EmbeddedResources/traject_6-3_vakken.shp
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Index: Demo/Ringtoets/src/Demo.Riskeer/EmbeddedResources/traject_6-3_vakken.shx
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/GUIs/DemoProjectPlugin.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Properties/AssemblyInfo.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Properties/Resources.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Properties/Resources.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Demo/Ringtoets/src/Demo.Riskeer/Resources/chart_bar.png
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Index: Demo/Ringtoets/src/Demo.Riskeer/Resources/chart_line.png
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Index: Demo/Ringtoets/src/Demo.Riskeer/Resources/chart_organisation.png
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Index: Demo/Ringtoets/src/Demo.Riskeer/Resources/folder-horizontal.png
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Index: Demo/Ringtoets/src/Demo.Riskeer/Resources/folder-horizontal_large.png
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Index: Demo/Ringtoets/src/Demo.Riskeer/Resources/map.png
===================================================================
diff -u -rb6aa6b218ed5de2c1277925e213c20fad451d6e1 -rce200e5d78847b62ce11373a2f5c4507618caf56
Binary files differ
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Ribbons/RingtoetsDemoProjectRibbon.xaml'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Ribbons/RingtoetsDemoProjectRibbon.xaml.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Views/ChartDataView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Views/ChartDataView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Views/MapDataView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Views/MapDataView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Views/MapDataView.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Views/PointedTreeGraphView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Views/PointedTreeGraphView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Views/PointedTreeGraphView.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Views/StackChartDataView.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Views/StackChartDataView.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/Views/StackChartDataView.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Riskeer/packages.config'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/Commands/AddNewDemoAssessmentSectionCommandTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/Commands/OpenChartViewCommandTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/Commands/OpenMapViewCommandTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/Commands/OpenPointedTreeGraphViewCommandTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/Commands/OpenStackChartViewCommandTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/Commands/OpenThematicalMapViewCommandTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/Demo.Riskeer.Test.csproj'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/GUIs/DemoProjectPluginTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/Properties/AssemblyInfo.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/Ribbons/RingtoetsDemoProjectRibbonTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/Views/ChartDataViewTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/Views/MapDataViewTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/Views/PointedTreeGraphViewTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/Views/StackChartDataViewTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag ce200e5d78847b62ce11373a2f5c4507618caf56 refers to a dead (removed) revision in file `Demo/Ringtoets/test/Demo.Riskeer.Test/packages.config'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Demo/Riskeer/src/Demo.Riskeer/Commands/AddNewDemoAssessmentSectionCommand.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Commands/AddNewDemoAssessmentSectionCommand.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Commands/AddNewDemoAssessmentSectionCommand.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,1065 @@
+// Copyright (C) Stichting Deltares 2018. 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.IO;
+using System.Linq;
+using Core.Common.Base;
+using Core.Common.Base.Data;
+using Core.Common.Base.Geometry;
+using Core.Common.Controls.Commands;
+using Core.Common.Gui;
+using Core.Common.Gui.Commands;
+using Core.Common.Util.IO;
+using Ringtoets.ClosingStructures.Data;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Common.Data.Probabilistics;
+using Ringtoets.Common.Data.Structures;
+using Ringtoets.Common.IO.FileImporters;
+using Ringtoets.Common.IO.FileImporters.MessageProviders;
+using Ringtoets.Common.IO.ReferenceLines;
+using Ringtoets.Common.IO.SoilProfile;
+using Ringtoets.Common.IO.SurfaceLines;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.GrassCoverErosionOutwards.Data;
+using Ringtoets.HeightStructures.Data;
+using Ringtoets.Integration.Data;
+using Ringtoets.Integration.Plugin.Handlers;
+using Ringtoets.Integration.TestUtil;
+using Ringtoets.Piping.Data;
+using Ringtoets.Piping.Data.SoilProfile;
+using Ringtoets.Piping.Plugin.FileImporter;
+using Ringtoets.Piping.Primitives;
+using Ringtoets.StabilityPointStructures.Data;
+using Ringtoets.StabilityStoneCover.Data;
+using Ringtoets.WaveImpactAsphaltCover.Data;
+
+namespace Demo.Riskeer.Commands
+{
+ ///
+ /// Command that adds a new with demo data to the project tree.
+ ///
+ public class AddNewDemoAssessmentSectionCommand : ICommand
+ {
+ private readonly IProjectOwner projectOwner;
+ private readonly IViewCommands viewCommands;
+
+ public AddNewDemoAssessmentSectionCommand(IProjectOwner projectOwner, IViewCommands viewCommands)
+ {
+ this.projectOwner = projectOwner;
+ this.viewCommands = viewCommands;
+ }
+
+ public bool Checked
+ {
+ get
+ {
+ return false;
+ }
+ }
+
+ public void Execute()
+ {
+ var project = (RingtoetsProject) projectOwner.Project;
+ project.AssessmentSections.Add(CreateNewDemoAssessmentSection());
+ project.NotifyObservers();
+ }
+
+ private AssessmentSection CreateNewDemoAssessmentSection()
+ {
+ var demoAssessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike)
+ {
+ Id = "6-3",
+ Name = "Demo traject"
+ };
+ InitializeDemoReferenceLine(demoAssessmentSection);
+ InitializeDemoHydraulicBoundaryDatabase(demoAssessmentSection);
+ InitializeDemoFailureMechanismSections(demoAssessmentSection);
+
+ InitializeGrassCoverErosionInwardsData(demoAssessmentSection);
+ InitializeGrassCoverErosionOutwardsData(demoAssessmentSection);
+ InitializeHeightStructuresData(demoAssessmentSection);
+ InitializeClosingStructuresData(demoAssessmentSection);
+ InitializeDemoPipingData(demoAssessmentSection);
+ InitializeStabilityPointStructuresData(demoAssessmentSection);
+ InitializeStabilityStoneCoverData(demoAssessmentSection);
+ InitializeWaveImpactAsphaltCoverData(demoAssessmentSection);
+
+ return demoAssessmentSection;
+ }
+
+ private void InitializeDemoReferenceLine(IAssessmentSection demoAssessmentSection)
+ {
+ using (var embeddedResourceFileWriter = new EmbeddedResourceFileWriter(GetType().Assembly,
+ true,
+ "traject_6-3.shp",
+ "traject_6-3.dbf",
+ "traject_6-3.prj",
+ "traject_6-3.shx"))
+ {
+ var importer = new ReferenceLineImporter(demoAssessmentSection.ReferenceLine,
+ new ReferenceLineUpdateHandler(demoAssessmentSection, viewCommands),
+ Path.Combine(embeddedResourceFileWriter.TargetFolderPath,
+ "traject_6-3.shp"));
+ importer.Import();
+ }
+ }
+
+ private void InitializeDemoFailureMechanismSections(IAssessmentSection demoAssessmentSection)
+ {
+ using (var embeddedResourceFileWriter = new EmbeddedResourceFileWriter(GetType().Assembly,
+ true,
+ "traject_6-3_vakken.shp",
+ "traject_6-3_vakken.dbf",
+ "traject_6-3_vakken.prj",
+ "traject_6-3_vakken.shx"))
+ {
+ IFailureMechanism[] failureMechanisms = demoAssessmentSection.GetFailureMechanisms().ToArray();
+
+ string filePath = Path.Combine(embeddedResourceFileWriter.TargetFolderPath,
+ "traject_6-3_vakken.shp");
+
+ for (var i = 0; i < failureMechanisms.Length; i++)
+ {
+ IFailureMechanism failureMechanism = failureMechanisms[i];
+
+ if (i == 0)
+ {
+ var importer = new FailureMechanismSectionsImporter(failureMechanism,
+ demoAssessmentSection.ReferenceLine,
+ filePath,
+ new FailureMechanismSectionReplaceStrategy(failureMechanism),
+ new ImportMessageProvider());
+ importer.Import();
+ }
+ else
+ {
+ // Copy same FailureMechanismSection instances to other failure mechanisms
+ FailureMechanismSection[] clonedSections = failureMechanisms[0].Sections.Select(DeepCloneSection).ToArray();
+ failureMechanism.SetSections(clonedSections, filePath);
+ }
+ }
+ }
+ }
+
+ private static FailureMechanismSection DeepCloneSection(FailureMechanismSection section)
+ {
+ return new FailureMechanismSection(section.Name,
+ section.Points.Select(p => new Point2D(p)).ToArray());
+ }
+
+ #region FailureMechanisms
+
+ #region GrassCoverErosionInwardsFailureMechanism
+
+ private static void InitializeGrassCoverErosionInwardsData(AssessmentSection demoAssessmentSection)
+ {
+ GrassCoverErosionInwardsFailureMechanism failureMechanism = demoAssessmentSection.GrassCoverErosionInwards;
+
+ var calculation = new GrassCoverErosionInwardsCalculation();
+ failureMechanism.CalculationsGroup.Children.Add(calculation);
+ calculation.InputParameters.HydraulicBoundaryLocation = demoAssessmentSection.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001);
+ calculation.InputParameters.NotifyObservers();
+ }
+
+ #endregion
+
+ #region GrassCoverErosionOutwardsFailureMechanism
+
+ private static void InitializeGrassCoverErosionOutwardsData(AssessmentSection demoAssessmentSection)
+ {
+ GrassCoverErosionOutwardsFailureMechanism failureMechanism = demoAssessmentSection.GrassCoverErosionOutwards;
+
+ var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation
+ {
+ InputParameters =
+ {
+ HydraulicBoundaryLocation = demoAssessmentSection.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001),
+ CategoryType = FailureMechanismCategoryType.MechanismSpecificLowerLimitNorm
+ }
+ };
+ failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculation);
+ calculation.InputParameters.NotifyObservers();
+ }
+
+ private static void SetGrassCoverErosionOutwardsHydraulicBoundaryLocationDesignWaterLevelOutputValues(GrassCoverErosionOutwardsFailureMechanism failureMechanism)
+ {
+ const double targetProbability = 1.0 / 200000;
+ IObservableEnumerable calculations = failureMechanism.WaterLevelCalculationsForMechanismSpecificLowerLimitNorm;
+
+ calculations.ElementAt(0).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.19,
+ targetProbability, 4.79014,
+ 1.0 / 1196727, 4.78959,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(1).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.19,
+ targetProbability, 4.79014,
+ 1.0 / 1196727, 4.78959,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(2).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.18,
+ targetProbability, 4.79014,
+ 1.0 / 1196727, 4.78959,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(3).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.18,
+ targetProbability, 4.79014,
+ 1.0 / 1196787, 4.78960,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(4).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.18,
+ targetProbability, 4.79014,
+ 1.0 / 1196787, 4.78960,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(5).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.39,
+ targetProbability, 4.79014,
+ 1.0 / 1196489, 4.78955,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(6).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.39,
+ targetProbability, 4.79014,
+ 1.0 / 1196489, 4.78955,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(7).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.39,
+ targetProbability, 4.79014,
+ 1.0 / 1196489, 4.78955,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(8).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.40,
+ targetProbability, 4.79014,
+ 1.0 / 1196489, 4.78955,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(9).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.40,
+ targetProbability, 4.79014,
+ 1.0 / 1196429, 4.78954,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(10).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.40,
+ targetProbability, 4.79014,
+ 1.0 / 1196429, 4.78954,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(11).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.40,
+ targetProbability, 4.79014,
+ 1.0 / 1196429, 4.78954,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(12).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.40,
+ targetProbability, 4.79014,
+ 1.0 / 1196429, 4.78954,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(13).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.41,
+ targetProbability, 4.79014,
+ 1.0 / 1196429, 4.78954,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(14).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.41,
+ targetProbability, 4.79014,
+ 1.0 / 1196429, 4.78954,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(15).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 6.91,
+ targetProbability, 4.79014,
+ 1.0 / 1197264, 4.78968,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(16).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.53,
+ targetProbability, 4.79014,
+ 1.0 / 1195476, 4.78938,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(17).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 7.80,
+ targetProbability, 4.79014,
+ 1.0 / 1194761, 4.78926,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ }
+
+ private static void SetGrassCoverErosionOutwardsHydraulicBoundaryLocationWaveHeightOutputValues(GrassCoverErosionOutwardsFailureMechanism failureMechanism)
+ {
+ const double targetProbability = 1.0 / 200000;
+ IObservableEnumerable calculations = failureMechanism.WaveHeightCalculationsForMechanismSpecificLowerLimitNorm;
+ calculations.ElementAt(0).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.99,
+ targetProbability, 4.79014,
+ 1.0 / 1199892, 4.79012,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(1).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.04,
+ targetProbability, 4.79014,
+ 1.0 / 1199892, 4.79012,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(2).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.87,
+ targetProbability, 4.79014,
+ 1.0 / 1199892, 4.79012,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(3).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.73,
+ targetProbability, 4.79014,
+ 1.0 / 1199892, 4.79012,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(4).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.59,
+ targetProbability, 4.79014,
+ 1.0 / 1199833, 4.79011,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(5).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 3.35,
+ targetProbability, 4.79014,
+ 1.0 / 1197264, 4.78968,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(6).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 3.83,
+ targetProbability, 4.79014,
+ 1.0 / 1196906, 4.78962,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(7).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.00,
+ targetProbability, 4.79014,
+ 1.0 / 1197264, 4.78968,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(8).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.20,
+ targetProbability, 4.79014,
+ 1.0 / 1197324, 4.78969,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(9).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.41,
+ targetProbability, 4.79014,
+ 1.0 / 1197324, 4.78969,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(10).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.50,
+ targetProbability, 4.79014,
+ 1.0 / 1197622, 4.78974,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(11).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.57,
+ targetProbability, 4.79014,
+ 1.0 / 1197145, 4.78966,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(12).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.63,
+ targetProbability, 4.79014,
+ 1.0 / 1196608, 4.78957,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(13).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.68,
+ targetProbability, 4.79014,
+ 1.0 / 1196549, 4.78956,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(14).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.17,
+ targetProbability, 4.79014,
+ 1.0 / 1199713, 4.79009,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(15).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 11.13,
+ targetProbability, 4.79014,
+ 1.0 / 201269, 4.79035,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(16).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 9.24,
+ targetProbability, 4.79014,
+ 1.0 / 197742, 4.78976,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(17).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.34,
+ targetProbability, 4.79014,
+ 1.0 / 199056, 4.78998,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ }
+
+ #endregion
+
+ #region HeightStructuresFailureMechanism
+
+ private static void InitializeHeightStructuresData(AssessmentSection demoAssessmentSection)
+ {
+ HeightStructuresFailureMechanism failureMechanism = demoAssessmentSection.HeightStructures;
+ HeightStructure heightStructure = CreateDemoHeightStructure();
+ failureMechanism.HeightStructures.AddRange(new[]
+ {
+ heightStructure
+ }, "heightStructurePath");
+
+ var calculation = new StructuresCalculation();
+ failureMechanism.CalculationsGroup.Children.Add(calculation);
+ calculation.InputParameters.HydraulicBoundaryLocation = demoAssessmentSection.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001);
+ calculation.InputParameters.Structure = heightStructure;
+ calculation.InputParameters.NotifyObservers();
+ }
+
+ private static HeightStructure CreateDemoHeightStructure()
+ {
+ return new HeightStructure(
+ new HeightStructure.ConstructionProperties
+ {
+ Id = "KUNST1",
+ Name = "Kunstwerk 1",
+ Location = new Point2D(12345.56789, 9876.54321),
+ StructureNormalOrientation = (RoundedDouble) 10.0,
+ LevelCrestStructure =
+ {
+ Mean = (RoundedDouble) 4.95,
+ StandardDeviation = (RoundedDouble) 0.05
+ },
+ FlowWidthAtBottomProtection =
+ {
+ Mean = (RoundedDouble) 25.0,
+ StandardDeviation = (RoundedDouble) 0.05
+ },
+ CriticalOvertoppingDischarge =
+ {
+ Mean = (RoundedDouble) 0.1,
+ CoefficientOfVariation = (RoundedDouble) 0.15
+ },
+ WidthFlowApertures =
+ {
+ Mean = (RoundedDouble) 21.0,
+ StandardDeviation = (RoundedDouble) 0.05
+ },
+ FailureProbabilityStructureWithErosion = 1.0,
+ StorageStructureArea =
+ {
+ Mean = (RoundedDouble) 20000.0,
+ CoefficientOfVariation = (RoundedDouble) 0.1
+ },
+ AllowedLevelIncreaseStorage =
+ {
+ Mean = (RoundedDouble) 0.2,
+ StandardDeviation = (RoundedDouble) 0.1
+ }
+ });
+ }
+
+ #endregion
+
+ #region ClosingStructuresFailureMechanism
+
+ private static void InitializeClosingStructuresData(AssessmentSection demoAssessmentSection)
+ {
+ ClosingStructuresFailureMechanism failureMechanism = demoAssessmentSection.ClosingStructures;
+ ClosingStructure closingStructure = CreateDemoClosingStructure();
+ failureMechanism.ClosingStructures.AddRange(new[]
+ {
+ closingStructure
+ }, "closingStructurePath");
+
+ var calculation = new StructuresCalculation();
+ failureMechanism.CalculationsGroup.Children.Add(calculation);
+ calculation.InputParameters.HydraulicBoundaryLocation = demoAssessmentSection.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001);
+ calculation.InputParameters.Structure = closingStructure;
+ calculation.InputParameters.NotifyObservers();
+ }
+
+ private static ClosingStructure CreateDemoClosingStructure()
+ {
+ return new ClosingStructure(
+ new ClosingStructure.ConstructionProperties
+ {
+ Id = "KUNST1",
+ Name = "Kunstwerk 1",
+ Location = new Point2D(12345.56789, 9876.54321),
+ StorageStructureArea =
+ {
+ Mean = (RoundedDouble) 20000,
+ CoefficientOfVariation = (RoundedDouble) 0.1
+ },
+ AllowedLevelIncreaseStorage =
+ {
+ Mean = (RoundedDouble) 0.2,
+ StandardDeviation = (RoundedDouble) 0.1
+ },
+ StructureNormalOrientation = (RoundedDouble) 10.0,
+ WidthFlowApertures =
+ {
+ Mean = (RoundedDouble) 21,
+ StandardDeviation = (RoundedDouble) 0.05
+ },
+ LevelCrestStructureNotClosing =
+ {
+ Mean = (RoundedDouble) 4.95,
+ StandardDeviation = (RoundedDouble) 0.05
+ },
+ InsideWaterLevel =
+ {
+ Mean = (RoundedDouble) 0.5,
+ StandardDeviation = (RoundedDouble) 0.1
+ },
+ ThresholdHeightOpenWeir =
+ {
+ Mean = (RoundedDouble) 4.95,
+ StandardDeviation = (RoundedDouble) 0.1
+ },
+ AreaFlowApertures =
+ {
+ Mean = (RoundedDouble) 31.5,
+ StandardDeviation = (RoundedDouble) 0.01
+ },
+ CriticalOvertoppingDischarge =
+ {
+ Mean = (RoundedDouble) 1.0,
+ CoefficientOfVariation = (RoundedDouble) 0.15
+ },
+ FlowWidthAtBottomProtection =
+ {
+ Mean = (RoundedDouble) 25.0,
+ StandardDeviation = (RoundedDouble) 0.05
+ },
+ ProbabilityOpenStructureBeforeFlooding = 1.0,
+ FailureProbabilityOpenStructure = 0.1,
+ IdenticalApertures = 4,
+ FailureProbabilityReparation = 1.0,
+ InflowModelType = ClosingStructureInflowModelType.VerticalWall
+ });
+ }
+
+ #endregion
+
+ #region PipingFailureMechanism
+
+ private void InitializeDemoPipingData(AssessmentSection demoAssessmentSection)
+ {
+ PipingFailureMechanism failureMechanism = demoAssessmentSection.Piping;
+
+ using (var embeddedResourceFileWriter = new EmbeddedResourceFileWriter(GetType().Assembly,
+ true,
+ "DR6_surfacelines.csv",
+ "DR6_surfacelines.krp.csv"))
+ {
+ var surfaceLinesImporter = new SurfaceLinesCsvImporter(
+ failureMechanism.SurfaceLines,
+ Path.Combine(embeddedResourceFileWriter.TargetFolderPath,
+ "DR6_surfacelines.csv"),
+ new ImportMessageProvider(),
+ SurfaceLinesCsvImporterConfigurationFactory.CreateReplaceStrategyConfiguration(demoAssessmentSection.Piping, demoAssessmentSection.ReferenceLine));
+ surfaceLinesImporter.Import();
+ }
+
+ using (var embeddedResourceFileWriter = new EmbeddedResourceFileWriter(GetType().Assembly, true, "DR6.soil"))
+ {
+ var soilProfilesImporter =
+ new StochasticSoilModelImporter(
+ failureMechanism.StochasticSoilModels,
+ Path.Combine(embeddedResourceFileWriter.TargetFolderPath, "DR6.soil"),
+ new ImportMessageProvider(),
+ PipingStochasticSoilModelImporterConfigurationFactory.CreateReplaceStrategyConfiguration(failureMechanism));
+ soilProfilesImporter.Import();
+ }
+
+ var calculation = new PipingCalculationScenario(failureMechanism.GeneralInput);
+ failureMechanism.CalculationsGroup.Children.Add(calculation);
+ NormalDistribution originalPhreaticLevelExit = calculation.InputParameters.PhreaticLevelExit;
+ calculation.InputParameters.PhreaticLevelExit = new NormalDistribution(originalPhreaticLevelExit.Mean.NumberOfDecimalPlaces)
+ {
+ Mean = (RoundedDouble) 3.0,
+ StandardDeviation = originalPhreaticLevelExit.StandardDeviation
+ };
+ calculation.InputParameters.SurfaceLine = failureMechanism.SurfaceLines.First(sl => sl.Name == "PK001_0001");
+
+ PipingStochasticSoilModel stochasticSoilModel = failureMechanism.StochasticSoilModels.First(sm => sm.Name == "PK001_0001_Piping");
+ calculation.InputParameters.StochasticSoilModel = stochasticSoilModel;
+ calculation.InputParameters.StochasticSoilProfile = stochasticSoilModel.StochasticSoilProfiles.First(sp => sp.SoilProfile.Name == "W1-6_0_1D1");
+ calculation.InputParameters.HydraulicBoundaryLocation = demoAssessmentSection.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001);
+
+ calculation.InputParameters.NotifyObservers();
+ }
+
+ #endregion
+
+ #region StabilityPointStructuresFailureMechanism
+
+ private static void InitializeStabilityPointStructuresData(AssessmentSection demoAssessmentSection)
+ {
+ StabilityPointStructuresFailureMechanism failureMechanism = demoAssessmentSection.StabilityPointStructures;
+ failureMechanism.StabilityPointStructures.AddRange(new[]
+ {
+ CreateDemoStabilityPointStructure()
+ }, "stabilityPointStructurePath");
+
+ var calculation = new StructuresCalculation();
+ failureMechanism.CalculationsGroup.Children.Add(calculation);
+ calculation.InputParameters.HydraulicBoundaryLocation = demoAssessmentSection.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001);
+ calculation.InputParameters.NotifyObservers();
+ }
+
+ private static StabilityPointStructure CreateDemoStabilityPointStructure()
+ {
+ return new StabilityPointStructure(
+ new StabilityPointStructure.ConstructionProperties
+ {
+ Name = "Kunstwerk",
+ Id = "Kunstwerk id",
+ Location = new Point2D(131470.777221421, 548329.82912364),
+ StructureNormalOrientation = (RoundedDouble) 10,
+ StorageStructureArea =
+ {
+ Mean = (RoundedDouble) 20000,
+ CoefficientOfVariation = (RoundedDouble) 0.1
+ },
+ AllowedLevelIncreaseStorage =
+ {
+ Mean = (RoundedDouble) 0.2,
+ StandardDeviation = (RoundedDouble) 0.1
+ },
+ WidthFlowApertures =
+ {
+ Mean = (RoundedDouble) 21.0,
+ StandardDeviation = (RoundedDouble) 0.05
+ },
+ InsideWaterLevel =
+ {
+ Mean = (RoundedDouble) 0.5,
+ StandardDeviation = (RoundedDouble) 0.1
+ },
+ ThresholdHeightOpenWeir =
+ {
+ Mean = (RoundedDouble) 4.95,
+ StandardDeviation = (RoundedDouble) 0.1
+ },
+ CriticalOvertoppingDischarge =
+ {
+ Mean = (RoundedDouble) 1,
+ CoefficientOfVariation = (RoundedDouble) 0.15
+ },
+ FlowWidthAtBottomProtection =
+ {
+ Mean = (RoundedDouble) 25,
+ StandardDeviation = (RoundedDouble) 1.25
+ },
+ ConstructiveStrengthLinearLoadModel =
+ {
+ Mean = (RoundedDouble) 10,
+ CoefficientOfVariation = (RoundedDouble) 0.1
+ },
+ ConstructiveStrengthQuadraticLoadModel =
+ {
+ Mean = (RoundedDouble) 10,
+ CoefficientOfVariation = (RoundedDouble) 0.1
+ },
+ BankWidth =
+ {
+ Mean = (RoundedDouble) 0,
+ StandardDeviation = (RoundedDouble) 0
+ },
+ InsideWaterLevelFailureConstruction =
+ {
+ Mean = (RoundedDouble) 0.5,
+ StandardDeviation = (RoundedDouble) 0.1
+ },
+ EvaluationLevel = 0,
+ LevelCrestStructure =
+ {
+ Mean = (RoundedDouble) 4.95,
+ StandardDeviation = (RoundedDouble) 0.05
+ },
+ VerticalDistance = 0,
+ FailureProbabilityRepairClosure = 0.5,
+ FailureCollisionEnergy =
+ {
+ Mean = (RoundedDouble) 10,
+ CoefficientOfVariation = (RoundedDouble) 0.3
+ },
+ ShipMass =
+ {
+ Mean = (RoundedDouble) 16000,
+ CoefficientOfVariation = (RoundedDouble) 0.2
+ },
+ ShipVelocity =
+ {
+ Mean = (RoundedDouble) 2,
+ CoefficientOfVariation = (RoundedDouble) 0.2
+ },
+ LevellingCount = 0,
+ ProbabilityCollisionSecondaryStructure = 0,
+ FlowVelocityStructureClosable =
+ {
+ Mean = (RoundedDouble) 1,
+ CoefficientOfVariation = (RoundedDouble) 1
+ },
+ StabilityLinearLoadModel =
+ {
+ Mean = (RoundedDouble) 15,
+ CoefficientOfVariation = (RoundedDouble) 0.1
+ },
+ StabilityQuadraticLoadModel =
+ {
+ Mean = (RoundedDouble) 15,
+ CoefficientOfVariation = (RoundedDouble) 0.1
+ },
+ AreaFlowApertures =
+ {
+ Mean = (RoundedDouble) 2.5,
+ StandardDeviation = (RoundedDouble) 0.01
+ },
+ InflowModelType = StabilityPointStructureInflowModelType.FloodedCulvert
+ });
+ }
+
+ #endregion
+
+ #region StabilityStoneCoverFailureMechanism
+
+ private static void InitializeStabilityStoneCoverData(AssessmentSection demoAssessmentSection)
+ {
+ StabilityStoneCoverFailureMechanism failureMechanism = demoAssessmentSection.StabilityStoneCover;
+
+ var calculation = new StabilityStoneCoverWaveConditionsCalculation
+ {
+ InputParameters =
+ {
+ HydraulicBoundaryLocation = demoAssessmentSection.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001),
+ CategoryType = AssessmentSectionCategoryType.LowerLimitNorm
+ }
+ };
+ failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculation);
+ calculation.InputParameters.HydraulicBoundaryLocation = demoAssessmentSection.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001);
+ calculation.InputParameters.NotifyObservers();
+ }
+
+ #endregion
+
+ #region WaveImpactAsphaltCoverFailureMechanism
+
+ private static void InitializeWaveImpactAsphaltCoverData(AssessmentSection demoAssessmentSection)
+ {
+ WaveImpactAsphaltCoverFailureMechanism failureMechanism = demoAssessmentSection.WaveImpactAsphaltCover;
+
+ var calculation = new WaveImpactAsphaltCoverWaveConditionsCalculation
+ {
+ InputParameters =
+ {
+ HydraulicBoundaryLocation = demoAssessmentSection.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001),
+ CategoryType = AssessmentSectionCategoryType.LowerLimitNorm
+ }
+ };
+ failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculation);
+ calculation.InputParameters.HydraulicBoundaryLocation = demoAssessmentSection.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001);
+ calculation.InputParameters.NotifyObservers();
+ }
+
+ #endregion
+
+ #endregion
+
+ #region HydraulicBoundaryDatabase
+
+ private void InitializeDemoHydraulicBoundaryDatabase(AssessmentSection demoAssessmentSection)
+ {
+ using (var embeddedResourceFileWriter = new EmbeddedResourceFileWriter(GetType().Assembly,
+ false,
+ "HRD dutch coast south.sqlite",
+ "HLCD.sqlite",
+ "HRD dutch coast south.config.sqlite"))
+ {
+ string filePath = Path.Combine(embeddedResourceFileWriter.TargetFolderPath, "HRD dutch coast south.sqlite");
+ DataImportHelper.ImportHydraulicBoundaryDatabase(demoAssessmentSection, filePath);
+ }
+
+ ObservableList hydraulicBoundaryLocations = demoAssessmentSection.HydraulicBoundaryDatabase.Locations;
+
+ demoAssessmentSection.SetHydraulicBoundaryLocationCalculations(hydraulicBoundaryLocations);
+ SetHydraulicBoundaryLocationDesignWaterLevelOutputValues(demoAssessmentSection);
+ SetHydraulicBoundaryLocationWaveHeightOutputValues(demoAssessmentSection);
+
+ demoAssessmentSection.GrassCoverErosionOutwards.SetHydraulicBoundaryLocationCalculations(hydraulicBoundaryLocations);
+ SetGrassCoverErosionOutwardsHydraulicBoundaryLocationDesignWaterLevelOutputValues(demoAssessmentSection.GrassCoverErosionOutwards);
+ SetGrassCoverErosionOutwardsHydraulicBoundaryLocationWaveHeightOutputValues(demoAssessmentSection.GrassCoverErosionOutwards);
+ }
+
+ private static void SetHydraulicBoundaryLocationDesignWaterLevelOutputValues(IAssessmentSection assessmentSection)
+ {
+ const double targetProbability = 1.0 / 30000;
+
+ IObservableEnumerable calculations = assessmentSection.WaterLevelCalculationsForLowerLimitNorm;
+
+ calculations.ElementAt(0).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.78,
+ targetProbability, 3.98788,
+ 1.0 / 29996, 3.98785,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(1).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.77,
+ targetProbability, 3.98787893,
+ 1.0 / 29996, 3.98785,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(2).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.77,
+ targetProbability, 3.98788,
+ 1.0 / 29996, 3.98785,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(3).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.77,
+ targetProbability, 3.98788,
+ 1.0 / 29996, 3.98785,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(4).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.76865,
+ targetProbability, 3.98788,
+ 1.0 / 29996, 3.98784,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(5).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.93,
+ targetProbability, 3.98788,
+ 1.0 / 29995, 3.98784,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(6).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.93,
+ targetProbability, 3.98788,
+ 1.0 / 29995, 3.98784,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(7).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.93,
+ targetProbability, 3.98788,
+ 1.0 / 29995, 3.98784,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(8).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.93,
+ targetProbability, 3.98788,
+ 1.0 / 29995, 3.98784,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(9).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.93,
+ targetProbability, 3.98788,
+ 1.0 / 29995, 3.98784,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(10).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.93,
+ targetProbability, 3.98788,
+ 1.0 / 29995, 3.98784,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(11).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.93,
+ targetProbability, 3.98788,
+ 1.0 / 29995, 3.98784,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(12).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.93,
+ targetProbability, 3.98788,
+ 1.0 / 29995, 3.98784,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(13).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.93,
+ targetProbability, 3.98788,
+ 1.0 / 29995, 3.98784,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(14).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.93,
+ targetProbability, 3.98788,
+ 1.0 / 29995, 3.98784,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(15).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.54,
+ targetProbability, 3.98788,
+ 1.0 / 29996, 3.98785,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(16).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 5.86,
+ targetProbability, 3.98788,
+ 1.0 / 29994, 3.98783,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(17).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 6.00,
+ targetProbability, 3.98788,
+ 1.0 / 29993, 3.98782,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ }
+
+ private static void SetHydraulicBoundaryLocationWaveHeightOutputValues(IAssessmentSection assessmentSection)
+ {
+ const double targetProbability = 1.0 / 30000;
+
+ IObservableEnumerable calculations = assessmentSection.WaveHeightCalculationsForLowerLimitNorm;
+
+ calculations.ElementAt(0).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.13,
+ targetProbability, 3.98788,
+ 1.0 / 29972, 3.98766,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(1).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.19,
+ targetProbability, 3.98788,
+ 1.0 / 29962, 3.98770,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(2).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.02,
+ targetProbability, 3.98788,
+ 1.0 / 29977, 3.98758,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(3).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 3.87,
+ targetProbability, 3.98788,
+ 1.0 / 29963, 3.98759,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(4).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 3.73,
+ targetProbability, 3.98788,
+ 1.0 / 29957, 3.98754,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(5).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 2.65,
+ targetProbability, 3.98788,
+ 1.0 / 30022, 3.98805,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(6).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 3.04,
+ targetProbability, 3.98788,
+ 1.0 / 30001, 3.98789,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(7).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 3.20,
+ targetProbability, 3.98788,
+ 1.0 / 30000, 3.98788,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(8).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 3.35,
+ targetProbability, 3.98788,
+ 1.0 / 29996, 3.98785,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(9).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 3.53,
+ targetProbability, 3.98788,
+ 1.0 / 29999, 3.98787,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(10).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 3.62,
+ targetProbability, 3.98788,
+ 1.0 / 29888, 3.98699,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(11).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 3.68,
+ targetProbability, 3.98788,
+ 1.0 / 29890, 3.98701,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(12).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 3.73,
+ targetProbability, 3.98788,
+ 1.0 / 29882, 3.98694,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(13).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 3.75,
+ targetProbability, 3.98788,
+ 1.0 / 29902, 3.98710,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(14).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 3.30,
+ targetProbability, 3.98788,
+ 1.0 / 30037, 3.98817,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(15).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 9.57,
+ targetProbability, 3.98788,
+ 1.0 / 29999, 3.98787,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(16).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 8.02,
+ targetProbability, 3.98788,
+ 1.0 / 30108, 3.98873,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ calculations.ElementAt(17).Output = new HydraulicBoundaryLocationCalculationOutput(
+ 4.11,
+ targetProbability, 3.98788,
+ 1.0 / 29929, 3.98732,
+ CalculationConvergence.CalculatedConverged,
+ null);
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Commands/OpenChartViewCommand.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Commands/OpenChartViewCommand.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Commands/OpenChartViewCommand.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,297 @@
+// Copyright (C) Stichting Deltares 2018. 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.Drawing;
+using Core.Common.Base.Geometry;
+using Core.Common.Controls.Commands;
+using Core.Common.Gui.Commands;
+using Core.Components.Chart.Data;
+using Core.Components.Chart.Styles;
+using Demo.Riskeer.Properties;
+
+namespace Demo.Riskeer.Commands
+{
+ ///
+ /// This class describes the command for opening a view for with some arbitrary data.
+ ///
+ public class OpenChartViewCommand : ICommand
+ {
+ private readonly IViewCommands viewCommands;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to use internally.
+ public OpenChartViewCommand(IViewCommands viewCommands)
+ {
+ this.viewCommands = viewCommands;
+ }
+
+ public bool Checked
+ {
+ get
+ {
+ return false;
+ }
+ }
+
+ public void Execute()
+ {
+ var line1 = new ChartLineData(Resources.OpenChartViewCommand_Execute_Line_one,
+ new ChartLineStyle
+ {
+ Color = Color.DarkRed,
+ Width = 3,
+ DashStyle = ChartLineDashStyle.Solid,
+ IsEditable = true
+ })
+ {
+ Points = new[]
+ {
+ new Point2D(0.0, 0.500),
+ new Point2D(0.1, 0.723),
+ new Point2D(0.2, 0.892),
+ new Point2D(0.3, 1.013),
+ new Point2D(0.4, 1.092),
+ new Point2D(0.5, 1.135),
+ new Point2D(0.6, 1.148),
+ new Point2D(0.7, 1.137),
+ new Point2D(0.8, 1.108),
+ new Point2D(0.9, 1.067),
+ new Point2D(1.0, 1.020),
+ new Point2D(1.1, 0.973),
+ new Point2D(1.2, 0.932),
+ new Point2D(1.3, 0.903),
+ new Point2D(1.4, 0.892),
+ new Point2D(1.5, 0.905),
+ new Point2D(1.6, 0.948),
+ new Point2D(1.7, 1.027),
+ new Point2D(1.8, 1.148),
+ new Point2D(1.9, 1.317),
+ new Point2D(2.0, 1.540),
+ new Point2D(2.1, 1.823)
+ }
+ };
+
+ var line2 = new ChartLineData(Resources.OpenChartViewCommand_Execute_Line_two,
+ new ChartLineStyle
+ {
+ Color = Color.DarkSlateBlue,
+ Width = 2,
+ DashStyle = ChartLineDashStyle.DashDot,
+ IsEditable = true
+ })
+ {
+ Points = new[]
+ {
+ new Point2D(0.0, 0.800),
+ new Point2D(0.1, 1.009),
+ new Point2D(0.2, 1.162),
+ new Point2D(0.3, 1.267),
+ new Point2D(0.4, 1.328),
+ new Point2D(0.5, 1.351),
+ new Point2D(0.6, 1.340),
+ new Point2D(0.7, 1.302),
+ new Point2D(0.8, 1.242),
+ new Point2D(0.9, 1.165),
+ new Point2D(1.0, 1.076),
+ new Point2D(1.1, 0.982),
+ new Point2D(1.2, 0.886),
+ new Point2D(1.3, 0.796),
+ new Point2D(1.4, 0.716),
+ new Point2D(1.5, 0.652),
+ new Point2D(1.6, 0.608),
+ new Point2D(1.7, 0.591),
+ new Point2D(1.8, 0.606),
+ new Point2D(1.9, 0.658),
+ new Point2D(2.0, 0.752),
+ new Point2D(2.1, 0.895)
+ }
+ };
+
+ var area1 = new ChartAreaData(Resources.OpenChartViewCommand_Execute_Area_one,
+ new ChartAreaStyle
+ {
+ FillColor = Color.DarkSeaGreen,
+ StrokeColor = Color.DarkGreen,
+ StrokeThickness = 5,
+ IsEditable = true
+ })
+ {
+ Points = new[]
+ {
+ new Point2D(0.0, 0.500),
+ new Point2D(0.1, 0.723),
+ new Point2D(0.2, 0.892),
+ new Point2D(0.3, 1.013),
+ new Point2D(0.4, 1.092),
+ new Point2D(0.5, 1.135),
+ new Point2D(0.6, 1.148),
+ new Point2D(0.7, 1.137),
+ new Point2D(0.8, 1.108),
+ new Point2D(0.9, 1.067),
+ new Point2D(1.0, 1.020),
+ new Point2D(1.1, 0.973),
+ new Point2D(1.2, 0.932),
+ new Point2D(1.3, 0.903),
+ new Point2D(1.4, 0.892),
+ new Point2D(1.5, 0.905),
+ new Point2D(1.5, 0.905 - 0.5),
+ new Point2D(1.4, 0.892 - 0.5),
+ new Point2D(1.3, 0.903 - 0.5),
+ new Point2D(1.2, 0.932 - 0.5),
+ new Point2D(1.1, 0.973 - 0.5),
+ new Point2D(1.0, 1.020 - 0.5),
+ new Point2D(0.9, 1.067 - 0.5),
+ new Point2D(0.8, 1.108 - 0.51),
+ new Point2D(0.7, 1.137 - 0.52),
+ new Point2D(0.6, 1.148 - 0.53),
+ new Point2D(0.5, 1.135 - 0.52),
+ new Point2D(0.4, 1.092 - 0.51),
+ new Point2D(0.3, 1.013 - 0.5),
+ new Point2D(0.2, 0.892 - 0.5),
+ new Point2D(0.1, 0.723 - 0.5),
+ new Point2D(0.0, 0.000),
+ new Point2D(0.0, 0.500)
+ }
+ };
+
+ var area2 = new ChartAreaData(Resources.OpenChartViewCommand_Execute_Area_two,
+ new ChartAreaStyle
+ {
+ FillColor = Color.FromArgb(120, Color.Wheat),
+ StrokeColor = Color.DarkOrange,
+ StrokeThickness = 2,
+ IsEditable = true
+ })
+ {
+ Points = new[]
+ {
+ new Point2D(0.1, 0.723 - 0.5),
+ new Point2D(0.2, 0.892 - 0.5),
+ new Point2D(0.3, 1.013 - 0.49),
+ new Point2D(0.4, 1.092 - 0.48),
+ new Point2D(0.5, 1.135 - 0.47),
+ new Point2D(0.6, 1.148 - 0.46),
+ new Point2D(0.7, 1.137 - 0.47),
+ new Point2D(0.8, 1.108 - 0.48),
+ new Point2D(0.9, 1.067 - 0.49),
+ new Point2D(1.0, 1.020 - 0.50),
+ new Point2D(1.1, 0.973 - 0.5),
+ new Point2D(1.2, 0.932 - 0.5),
+ new Point2D(1.3, 0.903 - 0.5),
+ new Point2D(1.4, 0.892 - 0.5),
+ new Point2D(1.5, 0.905 - 0.5),
+ new Point2D(1.5, 0.905),
+ new Point2D(1.6, 0.948),
+ new Point2D(1.7, 1.027),
+ new Point2D(1.8, 1.148),
+ new Point2D(1.8, 0.606),
+ new Point2D(1.9, 0.658),
+ new Point2D(2.0, 0.752),
+ new Point2D(2.0, 0.350),
+ new Point2D(1.5, 0.905 - 0.7),
+ new Point2D(1.4, 0.892 - 0.7),
+ new Point2D(1.3, 0.903 - 0.7),
+ new Point2D(1.2, 0.932 - 0.7),
+ new Point2D(1.1, 0.973 - 0.7),
+ new Point2D(1.0, 1.020 - 0.7),
+ new Point2D(0.9, 1.067 - 0.7),
+ new Point2D(0.8, 1.108 - 0.7),
+ new Point2D(0.7, 1.137 - 0.7),
+ new Point2D(0.6, 1.148 - 0.7),
+ new Point2D(0.5, 1.135 - 0.7),
+ new Point2D(0.4, 1.092 - 0.7),
+ new Point2D(0.3, 1.013 - 0.7),
+ new Point2D(0.2, 0.892 - 0.7),
+ new Point2D(0.1, 0.723 - 0.7),
+ new Point2D(0.1, 0.723 - 0.5)
+ }
+ };
+
+ var points1 = new ChartPointData(Resources.OpenChartViewCommand_Execute_Points_one,
+ new ChartPointStyle
+ {
+ Color = Color.Crimson,
+ StrokeColor = Color.AntiqueWhite,
+ Size = 6,
+ StrokeThickness = 3,
+ Symbol = ChartPointSymbol.Circle,
+ IsEditable = true
+ })
+ {
+ Points = new[]
+ {
+ new Point2D(0.2, 0.892 + 0.04),
+ new Point2D(0.3, 1.013 + 0.02),
+ new Point2D(0.4, 1.092),
+ new Point2D(0.5, 1.135 - 0.02),
+ new Point2D(0.6, 1.148 + 0.01),
+ new Point2D(1.4, 0.892 - 0.02),
+ new Point2D(1.5, 0.905 + 0.01),
+ new Point2D(1.8, 1.148 + 0.02)
+ }
+ };
+
+ var points2 = new ChartPointData(Resources.OpenChartViewCommand_Execute_Points_two,
+ new ChartPointStyle
+ {
+ Color = Color.FromArgb(190, Color.Gold),
+ StrokeColor = Color.DeepSkyBlue,
+ Size = 7,
+ StrokeThickness = 2,
+ Symbol = ChartPointSymbol.Diamond,
+ IsEditable = true
+ })
+ {
+ Points = new[]
+ {
+ new Point2D(0.0, 0.800 + 0.01),
+ new Point2D(0.1, 1.009 + 0.02),
+ new Point2D(0.2, 1.162 + 0.03),
+ new Point2D(0.2, 1.162 + 0.05),
+ new Point2D(0.2, 1.162 - 0.03),
+ new Point2D(0.2, 1.162 - 0.01),
+ new Point2D(0.3, 1.267),
+ new Point2D(0.4, 1.328 - 0.01),
+ new Point2D(0.53, 1.351),
+ new Point2D(0.69, 1.340),
+ new Point2D(0.73, 1.302),
+ new Point2D(1.4, 0.716 - 0.02),
+ new Point2D(1.4, 0.716 + 0.02),
+ new Point2D(1.7, 0.591),
+ new Point2D(1.8, 0.606)
+ }
+ };
+
+ var chartDataCollection = new ChartDataCollection(Resources.OpenChartViewCommand_Execute_Graph_data);
+
+ chartDataCollection.Add(area1);
+ chartDataCollection.Add(area2);
+ chartDataCollection.Add(line1);
+ chartDataCollection.Add(line2);
+ chartDataCollection.Add(points1);
+ chartDataCollection.Add(points2);
+
+ viewCommands.OpenView(chartDataCollection);
+ }
+ }
+}
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Commands/OpenMapViewCommand.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Commands/OpenMapViewCommand.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Commands/OpenMapViewCommand.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,226 @@
+// Copyright (C) Stichting Deltares 2018. 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.Collections.Generic;
+using Core.Common.Base.Geometry;
+using Core.Common.Controls.Commands;
+using Core.Common.Gui.Commands;
+using Core.Components.Gis.Data;
+using Core.Components.Gis.Features;
+using Core.Components.Gis.Geometries;
+using Demo.Riskeer.Properties;
+
+namespace Demo.Riskeer.Commands
+{
+ ///
+ /// The command for opening a view for with some arbitrary data.
+ ///
+ public class OpenMapViewCommand : ICommand
+ {
+ private readonly IViewCommands viewCommands;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to use internally.
+ public OpenMapViewCommand(IViewCommands viewCommands)
+ {
+ this.viewCommands = viewCommands;
+ }
+
+ public bool Checked
+ {
+ get
+ {
+ return false;
+ }
+ }
+
+ public void Execute()
+ {
+ var mapDataCollection = new MapDataCollection(Resources.OpenMapViewCommand_Execute_Demo_map_netherlands);
+ var waddenMapDataCollection = new MapDataCollection(Resources.OpenMapViewCommand_Execute_Wadden);
+ var nestedWaddenMapDataCollection = new MapDataCollection(Resources.OpenMapViewCommand_Execute_Wadden_two);
+ var emptyMapDataCollection = new MapDataCollection(Resources.OpenMapViewCommand_Execute_Empty);
+
+ waddenMapDataCollection.Add(new MapPolygonData(Resources.OpenMapViewCommand_Execute_Texel)
+ {
+ Features = GetFeatureWithPoints(new[]
+ {
+ new Point2D(4.764723, 52.990274),
+ new Point2D(4.713888, 53.056108),
+ new Point2D(4.883333, 53.184168)
+ })
+ });
+
+ waddenMapDataCollection.Add(new MapPolygonData(Resources.OpenMapViewCommand_Execute_Vlieland)
+ {
+ Features = GetFeatureWithPoints(new[]
+ {
+ new Point2D(4.957224, 53.23778),
+ new Point2D(4.879999, 53.214441),
+ new Point2D(5.10639, 53.303331)
+ })
+ });
+
+ waddenMapDataCollection.Add(new MapPolygonData(Resources.OpenMapViewCommand_Execute_Terschelling)
+ {
+ Features = GetFeatureWithPoints(new[]
+ {
+ new Point2D(5.213057, 53.35),
+ new Point2D(5.16889, 53.373888),
+ new Point2D(5.581945, 53.447779)
+ })
+ });
+
+ nestedWaddenMapDataCollection.Add(new MapPolygonData(Resources.OpenMapViewCommand_Execute_Ameland)
+ {
+ Features = GetFeatureWithPoints(new[]
+ {
+ new Point2D(5.699167, 53.462778),
+ new Point2D(5.956114, 53.462778),
+ new Point2D(5.633055, 53.441668)
+ })
+ });
+
+ nestedWaddenMapDataCollection.Add(new MapPolygonData(Resources.OpenMapViewCommand_Execute_Schiermonnikoog)
+ {
+ Features = GetFeatureWithPoints(new[]
+ {
+ new Point2D(6.135, 53.453608),
+ new Point2D(6.14889, 53.497499),
+ new Point2D(6.341112, 53.502779)
+ })
+ });
+
+ waddenMapDataCollection.Add(emptyMapDataCollection);
+ waddenMapDataCollection.Add(nestedWaddenMapDataCollection);
+ mapDataCollection.Add(waddenMapDataCollection);
+
+ mapDataCollection.Add(new MapPointData(Resources.OpenMapViewCommand_Execute_Randstad)
+ {
+ Features = GetFeatureWithPoints(new[]
+ {
+ new Point2D(4.4818, 51.9242),
+ new Point2D(4.7167, 52.0167),
+ new Point2D(5.1146, 52.0918),
+ new Point2D(4.3007, 52.0705),
+ new Point2D(4.8952, 52.3702),
+ new Point2D(4.3667, 52.0167)
+ })
+ });
+
+ mapDataCollection.Add(new MapLineData(Resources.OpenMapViewCommand_Execute_Snelwegen_randstad)
+ {
+ Features = GetFeatureWithPoints(new[]
+ {
+ new Point2D(4.4818, 51.9242),
+ new Point2D(4.7167, 52.0167),
+ new Point2D(5.1146, 52.0918),
+ new Point2D(4.3007, 52.0705),
+ new Point2D(4.7167, 52.0167),
+ new Point2D(4.8952, 52.3702),
+ new Point2D(4.3667, 52.0167),
+ new Point2D(5.1146, 52.0918),
+ new Point2D(4.8952, 52.3702)
+ })
+ });
+
+ mapDataCollection.Add(new MapLineData(Resources.OpenMapViewCommand_Execute_Kustlijn_Flevoland)
+ {
+ Features = GetFeatureWithPoints(new[]
+ {
+ new Point2D(5.763887, 52.415277),
+ new Point2D(5.573057, 52.368052),
+ new Point2D(5.534166, 52.283335),
+ new Point2D(5.428614, 52.264162),
+ new Point2D(5.135557, 52.380274),
+ new Point2D(5.643614, 52.601107),
+ new Point2D(5.855558, 52.544168),
+ new Point2D(5.855558, 52.492495),
+ new Point2D(5.763887, 52.415277)
+ })
+ });
+
+ mapDataCollection.Add(new MapPolygonData(Resources.OpenMapViewCommand_Execute_Continentaal_Nederland)
+ {
+ Features = GetFeatureWithPoints(new[]
+ {
+ new Point2D(6.871668, 53.416109),
+ new Point2D(7.208364, 53.242807),
+ new Point2D(7.051668, 52.64361),
+ new Point2D(6.68889, 52.549166),
+ new Point2D(7.065557, 52.385828),
+ new Point2D(6.82889, 51.965555),
+ new Point2D(5.9625, 51.807779),
+ new Point2D(6.222223, 51.46583),
+ new Point2D(5.864721, 51.046106),
+ new Point2D(6.011801, 50.757273),
+ new Point2D(5.640833, 50.839724),
+ new Point2D(5.849173, 51.156382),
+ new Point2D(5.041391, 51.486666),
+ new Point2D(4.252371, 51.375147),
+ new Point2D(3.440832, 51.53583),
+ new Point2D(4.286112, 51.44861),
+ new Point2D(3.687502, 51.709719),
+ new Point2D(4.167753, 51.685572),
+ new Point2D(3.865557, 51.814997),
+ new Point2D(4.584433, 52.461504),
+ new Point2D(5.424444, 52.248606),
+ new Point2D(5.533609, 52.267221),
+ new Point2D(5.624723, 52.354166),
+ new Point2D(5.774168, 52.405275),
+ new Point2D(5.878057, 52.509439),
+ new Point2D(5.855001, 52.606913),
+ new Point2D(5.599443, 52.658609),
+ new Point2D(5.599169, 52.757776),
+ new Point2D(5.718351, 52.838022),
+ new Point2D(5.368612, 52.877779),
+ new Point2D(5.420557, 52.964441),
+ new Point2D(5.364168, 53.070276),
+ new Point2D(5.100279, 52.948053),
+ new Point2D(5.304167, 52.706942),
+ new Point2D(5.033335, 52.634165),
+ new Point2D(5.028334, 52.375834),
+ new Point2D(4.58, 52.471666),
+ new Point2D(4.734167, 52.955553),
+ new Point2D(6.871668, 53.416109)
+ })
+ });
+
+ viewCommands.OpenView(mapDataCollection);
+ }
+
+ private static IEnumerable GetFeatureWithPoints(Point2D[] points)
+ {
+ return new[]
+ {
+ new MapFeature(new[]
+ {
+ new MapGeometry(new[]
+ {
+ points
+ })
+ })
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Commands/OpenPointedTreeGraphViewCommand.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Commands/OpenPointedTreeGraphViewCommand.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Commands/OpenPointedTreeGraphViewCommand.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,90 @@
+// Copyright (C) Stichting Deltares 2018. 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.Drawing;
+using Core.Common.Controls.Commands;
+using Core.Common.Gui.Commands;
+using Core.Components.PointedTree.Data;
+
+namespace Demo.Riskeer.Commands
+{
+ ///
+ /// This class describes the command for opening a view for with some arbitrary data.
+ ///
+ public class OpenPointedTreeGraphViewCommand : ICommand
+ {
+ private readonly IViewCommands viewCommands;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to use internally.
+ public OpenPointedTreeGraphViewCommand(IViewCommands viewCommands)
+ {
+ this.viewCommands = viewCommands;
+ }
+
+ public bool Checked
+ {
+ get
+ {
+ return false;
+ }
+ }
+
+ public void Execute()
+ {
+ var connectingNodeStyle = new GraphNodeStyle(GraphNodeShape.None, Color.BlanchedAlmond, Color.Black, 1);
+ var lastNodeStyle = new GraphNodeStyle(GraphNodeShape.Rectangle, Color.LightSkyBlue, Color.Black, 1);
+ var treeNodeStyle = new GraphNodeStyle(GraphNodeShape.Rectangle, Color.LightGray, Color.Black, 1);
+
+ var doubleUsedNode = new GraphNode("Double " + Environment.NewLine +
+ "used", new[]
+ {
+ new GraphNode("En", new[]
+ {
+ new GraphNode("Child 2", new GraphNode[0], true, lastNodeStyle),
+ new GraphNode("Child 3", new GraphNode[0], true, lastNodeStyle)
+ }, false, connectingNodeStyle),
+ new GraphNode("Child 4", new GraphNode[0], true, lastNodeStyle)
+ }, true, treeNodeStyle);
+
+ var node = new GraphNode("Root", new[]
+ {
+ new GraphNode("Of", new[]
+ {
+ doubleUsedNode,
+ new GraphNode("Child 1", new[]
+ {
+ new GraphNode("Of", new[]
+ {
+ new GraphNode("Child 5", new GraphNode[0], true, lastNodeStyle),
+ doubleUsedNode
+ }, false, connectingNodeStyle)
+ }, false, treeNodeStyle)
+ }, false, connectingNodeStyle)
+ }, false, treeNodeStyle);
+
+ viewCommands.OpenView(node);
+ }
+ }
+}
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Commands/OpenStackChartViewCommand.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Commands/OpenStackChartViewCommand.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Commands/OpenStackChartViewCommand.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,88 @@
+// Copyright (C) Stichting Deltares 2018. 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.Drawing;
+using Core.Common.Controls.Commands;
+using Core.Common.Gui.Commands;
+using Core.Components.Stack.Data;
+
+namespace Demo.Riskeer.Commands
+{
+ ///
+ /// This class describes the command for opening a view for with some arbitrary data.
+ ///
+ public class OpenStackChartViewCommand : ICommand
+ {
+ private readonly IViewCommands viewCommands;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to use internally.
+ public OpenStackChartViewCommand(IViewCommands viewCommands)
+ {
+ this.viewCommands = viewCommands;
+ }
+
+ public bool Checked
+ {
+ get
+ {
+ return false;
+ }
+ }
+
+ public void Execute()
+ {
+ var data = new StackChartData();
+ data.AddColumn("Column 1");
+ data.AddColumn("Column 2");
+ data.AddColumn("Column 3");
+
+ data.AddRow("Row 1", new[]
+ {
+ 0.25,
+ 0.60,
+ 0.15
+ });
+ data.AddRow("Row 2", new[]
+ {
+ 0.25,
+ 0.20,
+ 0.81
+ });
+ data.AddRow("Row 3", new[]
+ {
+ 0.25,
+ 0.10,
+ 0.01
+ });
+ data.AddRow("Row 4", new[]
+ {
+ 0.25,
+ 0.10,
+ 0.03
+ }, Color.Gray);
+
+ viewCommands.OpenView(data);
+ }
+ }
+}
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Commands/OpenThematicalMapViewCommand.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Commands/OpenThematicalMapViewCommand.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Commands/OpenThematicalMapViewCommand.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,347 @@
+// Copyright (C) Stichting Deltares 2018. 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.Collections.Generic;
+using System.Drawing;
+using Core.Common.Base.Geometry;
+using Core.Common.Controls.Commands;
+using Core.Common.Gui.Commands;
+using Core.Common.Util;
+using Core.Common.Util.Attributes;
+using Core.Components.Gis.Data;
+using Core.Components.Gis.Features;
+using Core.Components.Gis.Geometries;
+using Core.Components.Gis.Style;
+using Core.Components.Gis.Theme;
+using Demo.Riskeer.Properties;
+
+namespace Demo.Riskeer.Commands
+{
+ ///
+ /// The command for opening a view for with
+ /// categorial theming on random data.
+ ///
+ public class OpenThematicalMapViewCommand : ICommand
+ {
+ private enum ThematicalFeatureTypes
+ {
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.ThematicalFeatureTypes_A))]
+ A,
+
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.ThematicalFeatureTypes_B))]
+ B,
+
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.ThematicalFeatureTypes_C))]
+ C,
+
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.ThematicalFeatureTypes_D))]
+ D,
+
+ [ResourcesDisplayName(typeof(Resources), nameof(Resources.ThematicalFeatureTypes_E))]
+ E
+ }
+
+ private const string selectedMetaDataAttributeName = "Waarde";
+ private readonly IViewCommands viewCommands;
+
+ ///
+ /// Creates a new instance of .
+ ///
+ /// The to be used internally.
+ public OpenThematicalMapViewCommand(IViewCommands viewCommands)
+ {
+ this.viewCommands = viewCommands;
+ }
+
+ public bool Checked { get; } = false;
+
+ public void Execute()
+ {
+ var mapDataCollection = new MapDataCollection(Resources.OpenThematicalMapViewCommand_Execute_Demo_map_with_theming);
+
+ var mapPointDataEqualCriteria = new MapPointData(Resources.OpenThematicalMapViewCommand_Execute_MapPointData_with_EqualValueCriteria,
+ CreatePointStyle(Color.Black),
+ CreatePointCategoryThemeWithEqualCriteria())
+ {
+ Features = CreateMapPointFeaturesWithMetaData(40, 0),
+ Style =
+ {
+ Size = 10
+ },
+ SelectedMetaDataAttribute = selectedMetaDataAttributeName
+ };
+ mapDataCollection.Add(mapPointDataEqualCriteria);
+
+ var mapPointDataUnequalCriteria = new MapPointData(Resources.OpenThematicalMapViewCommand_Execute_MapPointData_with_UnequalValueCriteria,
+ CreatePointStyle(Color.Black),
+ CreatePointCategoryThemeWithUnequalCriteria())
+ {
+ Features = CreateMapPointFeaturesWithMetaData(15, 5),
+ Style =
+ {
+ Size = 10
+ },
+ SelectedMetaDataAttribute = selectedMetaDataAttributeName
+ };
+ mapDataCollection.Add(mapPointDataUnequalCriteria);
+
+ var mapLineDataEqualCriteria = new MapLineData(Resources.OpenThematicalMapViewCommand_Execute_MapLineData_with_EqualValueCriteria,
+ CreateLineStyle(Color.Black),
+ CreateLineCategoryThemeWithEqualCriteria())
+ {
+ Features = CreateMapLineFeaturesWithMetaData(40, 10),
+ SelectedMetaDataAttribute = selectedMetaDataAttributeName
+ };
+ mapDataCollection.Add(mapLineDataEqualCriteria);
+
+ var mapLineDataUnequalCriteria = new MapLineData(Resources.OpenThematicalMapViewCommand_Execute_MapLineData_with_UnequalValueCriteria,
+ CreateLineStyle(Color.Black),
+ CreateLineCategoryThemeWithUnequalCriteria())
+ {
+ Features = CreateMapLineFeaturesWithMetaData(10, 15),
+ SelectedMetaDataAttribute = selectedMetaDataAttributeName
+ };
+ mapDataCollection.Add(mapLineDataUnequalCriteria);
+
+ var mapPolygonDataEqualCriteria = new MapPolygonData(Resources.OpenThematicalMapViewCommand_Execute_MapPolygonData_with_EqualValueCriteria,
+ CreatePolygonStyle(Color.Black),
+ CreatePolygonCategoryThemeWithEqualCriteria())
+ {
+ Features = CreatePolygonFeaturesWithMetaData(40, 20),
+ SelectedMetaDataAttribute = selectedMetaDataAttributeName
+ };
+ mapDataCollection.Add(mapPolygonDataEqualCriteria);
+
+ var mapPolygonDataUnequalCriteria = new MapPolygonData(Resources.OpenThematicalMapViewCommand_Execute_MapPolygonData_with_UnequalValueCriteria,
+ CreatePolygonStyle(Color.Black),
+ CreatePolygonCategoryThemeWithUnequalCriteria())
+ {
+ Features = CreatePolygonFeaturesWithMetaData(10, 25),
+ SelectedMetaDataAttribute = selectedMetaDataAttributeName
+ };
+ mapDataCollection.Add(mapPolygonDataUnequalCriteria);
+
+ viewCommands.OpenView(mapDataCollection);
+ }
+
+ private static ValueCriterion CreateEqualValueCriterion(ThematicalFeatureTypes featureType)
+ {
+ return new ValueCriterion(ValueCriterionOperator.EqualValue, GetDisplayName(featureType));
+ }
+
+ private static ValueCriterion CreateUnEqualValueCriterion(ThematicalFeatureTypes featureType)
+ {
+ return new ValueCriterion(ValueCriterionOperator.UnequalValue, GetDisplayName(featureType));
+ }
+
+ private static string GetDisplayName(ThematicalFeatureTypes thematicalFeatureTypes)
+ {
+ return new EnumDisplayWrapper(thematicalFeatureTypes).DisplayName;
+ }
+
+ private static IEnumerable CreateMapPointFeaturesWithMetaData(int nrOfPoints, int bottom)
+ {
+ const double offset = 12;
+ double xCoordinate = 0;
+
+ var features = new MapFeature[nrOfPoints];
+
+ for (var i = 0; i < nrOfPoints; i++)
+ {
+ MapFeature feature = GetFeatureWithPoints(new[]
+ {
+ new Point2D(xCoordinate, bottom)
+ });
+ feature.MetaData[selectedMetaDataAttributeName] = GetThematicalFeatureType(i);
+ features[i] = feature;
+
+ xCoordinate += offset;
+ }
+
+ return features;
+ }
+
+ private static IEnumerable CreateMapLineFeaturesWithMetaData(int nrOfLines, int bottom)
+ {
+ double xCoordinate = 0;
+
+ var features = new MapFeature[nrOfLines];
+
+ for (var i = 0; i < nrOfLines; i++)
+ {
+ MapFeature feature = GetFeatureWithPoints(new[]
+ {
+ new Point2D(xCoordinate, bottom),
+ new Point2D(xCoordinate++, bottom + 3)
+ });
+ feature.MetaData[selectedMetaDataAttributeName] = GetThematicalFeatureType(i);
+ features[i] = feature;
+ }
+
+ return features;
+ }
+
+ private static string GetThematicalFeatureType(int i)
+ {
+ return GetDisplayName((ThematicalFeatureTypes) (i % 5));
+ }
+
+ private static IEnumerable CreatePolygonFeaturesWithMetaData(int nrOfPolygons, int bottom)
+ {
+ const double offset = 3;
+ double leftCoordinate = 0;
+ double rightCoordinate = 1;
+
+ var features = new MapFeature[nrOfPolygons];
+
+ for (var i = 0; i < nrOfPolygons; i++)
+ {
+ MapFeature feature = GetFeatureWithPoints(new[]
+ {
+ new Point2D(leftCoordinate, bottom),
+ new Point2D(leftCoordinate, bottom + 3),
+ new Point2D(rightCoordinate, bottom + 3),
+ new Point2D(rightCoordinate, bottom),
+ new Point2D(leftCoordinate, bottom)
+ });
+ feature.MetaData[selectedMetaDataAttributeName] = GetThematicalFeatureType(i);
+ features[i] = feature;
+
+ leftCoordinate += offset;
+ rightCoordinate += offset;
+ }
+
+ return features;
+ }
+
+ private static MapFeature GetFeatureWithPoints(Point2D[] points)
+ {
+ return new MapFeature(new[]
+ {
+ new MapGeometry(new[]
+ {
+ points
+ })
+ });
+ }
+
+ #region MapLineData CategoryThemes
+
+ private static MapTheme CreateLineCategoryThemeWithEqualCriteria()
+ {
+ return new MapTheme(selectedMetaDataAttributeName, new[]
+ {
+ new LineCategoryTheme(CreateEqualValueCriterion(ThematicalFeatureTypes.A), CreateLineStyle(Color.DarkOrange)),
+ new LineCategoryTheme(CreateEqualValueCriterion(ThematicalFeatureTypes.B), CreateLineStyle(Color.OrangeRed)),
+ new LineCategoryTheme(CreateEqualValueCriterion(ThematicalFeatureTypes.C), CreateLineStyle(Color.SkyBlue)),
+ new LineCategoryTheme(CreateEqualValueCriterion(ThematicalFeatureTypes.D), CreateLineStyle(Color.GreenYellow))
+ });
+ }
+
+ private static MapTheme CreateLineCategoryThemeWithUnequalCriteria()
+ {
+ return new MapTheme(selectedMetaDataAttributeName, new[]
+ {
+ new LineCategoryTheme(CreateUnEqualValueCriterion(ThematicalFeatureTypes.E), CreateLineStyle(Color.HotPink))
+ });
+ }
+
+ private static LineStyle CreateLineStyle(Color color)
+ {
+ return new LineStyle
+ {
+ Width = 6,
+ Color = color,
+ DashStyle = LineDashStyle.Solid
+ };
+ }
+
+ #endregion
+
+ #region MapPointData CategoryThemes
+
+ private static MapTheme CreatePointCategoryThemeWithEqualCriteria()
+ {
+ return new MapTheme(selectedMetaDataAttributeName, new[]
+ {
+ new PointCategoryTheme(CreateEqualValueCriterion(ThematicalFeatureTypes.A), CreatePointStyle(Color.DarkOrange)),
+ new PointCategoryTheme(CreateEqualValueCriterion(ThematicalFeatureTypes.B), CreatePointStyle(Color.OrangeRed)),
+ new PointCategoryTheme(CreateEqualValueCriterion(ThematicalFeatureTypes.C), CreatePointStyle(Color.SkyBlue)),
+ new PointCategoryTheme(CreateEqualValueCriterion(ThematicalFeatureTypes.D), CreatePointStyle(Color.GreenYellow))
+ });
+ }
+
+ private static MapTheme CreatePointCategoryThemeWithUnequalCriteria()
+ {
+ return new MapTheme(selectedMetaDataAttributeName, new[]
+ {
+ new PointCategoryTheme(CreateUnEqualValueCriterion(ThematicalFeatureTypes.E), CreatePointStyle(Color.HotPink))
+ });
+ }
+
+ private static PointStyle CreatePointStyle(Color color)
+ {
+ return new PointStyle
+ {
+ Color = color,
+ Size = 6,
+ Symbol = PointSymbol.Hexagon,
+ StrokeColor = color,
+ StrokeThickness = 2
+ };
+ }
+
+ #endregion
+
+ #region MapPolygonData CategoryThemes
+
+ private static MapTheme CreatePolygonCategoryThemeWithEqualCriteria()
+ {
+ return new MapTheme(selectedMetaDataAttributeName, new[]
+ {
+ new PolygonCategoryTheme(CreateEqualValueCriterion(ThematicalFeatureTypes.A), CreatePolygonStyle(Color.DarkOrange)),
+ new PolygonCategoryTheme(CreateEqualValueCriterion(ThematicalFeatureTypes.B), CreatePolygonStyle(Color.OrangeRed)),
+ new PolygonCategoryTheme(CreateEqualValueCriterion(ThematicalFeatureTypes.C), CreatePolygonStyle(Color.SkyBlue)),
+ new PolygonCategoryTheme(CreateEqualValueCriterion(ThematicalFeatureTypes.D), CreatePolygonStyle(Color.GreenYellow))
+ });
+ }
+
+ private static MapTheme CreatePolygonCategoryThemeWithUnequalCriteria()
+ {
+ return new MapTheme(selectedMetaDataAttributeName, new[]
+ {
+ new PolygonCategoryTheme(CreateUnEqualValueCriterion(ThematicalFeatureTypes.E), CreatePolygonStyle(Color.HotPink))
+ });
+ }
+
+ private static PolygonStyle CreatePolygonStyle(Color color)
+ {
+ return new PolygonStyle
+ {
+ FillColor = color,
+ StrokeColor = color,
+ StrokeThickness = 2
+ };
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Demo.Riskeer.csproj
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Demo.Riskeer.csproj (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Demo.Riskeer.csproj (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,278 @@
+
+
+
+ {FFE3A667-3A4C-4F48-BC6B-1589867FCB41}
+ Demo.Riskeer
+ Demo.Riskeer
+
+
+
+
+ ..\..\..\..\packages\Fluent.Ribbon.3.4.0\lib\net40\Fluent.dll
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ True
+ Resources.resx
+
+
+ RingtoetsDemoProjectRibbon.xaml
+
+
+ UserControl
+
+
+ ChartDataView.cs
+
+
+ UserControl
+
+
+ MapDataView.cs
+
+
+ UserControl
+
+
+ PointedTreeGraphView.cs
+
+
+ UserControl
+
+
+ StackChartDataView.cs
+
+
+
+
+ {3bbfd65b-b277-4e50-ae6d-bd24c3434609}
+ Core.Common.Base
+ False
+
+
+ {9a2d67e6-26ac-4d17-b11a-2b4372f2f572}
+ Core.Common.Controls
+ False
+
+
+ {30e4c2ae-719e-4d70-9fa9-668a9767fbfa}
+ Core.Common.Gui
+ False
+
+
+ {f49bd8b2-332a-4c91-a196-8cce0a2c7d98}
+ Core.Common.Util
+ False
+
+
+ {2465CCA1-C505-4827-9454-4FD5FD9194CD}
+ Core.Components.Chart.Forms
+ False
+
+
+ {516EBC95-B8F2-428C-B7F6-733F01BF8FDD}
+ Core.Components.Chart
+ False
+
+
+ {5A91174A-FB95-4C9D-9CA5-81C0B8D4361A}
+ Core.Components.DotSpatial.Forms
+ False
+
+
+ {4A06DF0D-5D75-4BAD-A95A-A3DB9B7C4AD5}
+ Core.Components.Gis.Forms
+ False
+
+
+ {318ba582-88c9-4816-a54a-a7e431461de3}
+ Core.Components.Gis
+ False
+
+
+ {4e575459-ad64-4f5f-b313-9f8e0ec8c03f}
+ Core.Components.GraphSharp.Forms
+ False
+
+
+ {DADAA0A5-288C-49CB-9F08-337F16832C86}
+ Core.Components.OxyPlot.Forms
+ False
+
+
+ {dbf5a590-2a11-4eb4-a8cc-f3036475e4d5}
+ Core.Components.PointedTree.Forms
+ False
+
+
+ {ad3b1634-c435-4618-9971-2ea0817f5de2}
+ Core.Components.PointedTree
+ False
+
+
+ {72109e33-6518-4632-accf-6cbf2a312711}
+ Core.Components.Stack.Forms
+ False
+
+
+ {6a146889-a3c4-48bf-af53-c0b0cd355be4}
+ Core.Components.Stack
+ False
+
+
+ {4163B996-3455-4324-A38A-9F2F0E6FCB52}
+ Core.Plugins.Chart
+ False
+
+
+ {C6309704-D67B-434C-BC98-9F8910BC1D10}
+ Ringtoets.ClosingStructures.Data
+ False
+
+
+ {d4200f43-3f72-4f42-af0a-8ced416a38ec}
+ Ringtoets.Common.Data
+ False
+
+
+ {52ba7627-cbab-4209-be77-3b5f31378277}
+ Ringtoets.Common.IO
+ False
+
+
+ {90de728e-48ef-4665-ab38-3d88e41d9f4d}
+ Ringtoets.GrassCoverErosionInwards.Data
+ False
+
+
+ {e7225477-577f-4a17-b7ec-6721158e1543}
+ Ringtoets.GrassCoverErosionOutwards.Data
+ False
+
+
+ {1C0017D8-35B5-4CA0-8FC7-A83F46DBDC99}
+ Ringtoets.HeightStructures.Data
+ False
+
+
+ {11f1f874-45af-43e4-8ae5-15a5c9593e28}
+ Ringtoets.Integration.Data
+ False
+
+
+ {c8383b76-b3f1-4e6e-b56c-527b469fa20a}
+ Ringtoets.Integration.Plugin
+ False
+
+
+ {174BA68D-6176-4AC5-8DFD-98CDD2C4D971}
+ Ringtoets.Integration.TestUtil
+
+
+ {ce994cc9-6f6a-48ac-b4be-02c30a21f4db}
+ Ringtoets.Piping.Data
+ False
+
+
+ {1d3d58b6-ef7e-401e-92a0-104067d222ee}
+ Ringtoets.Piping.Plugin
+ False
+
+
+ {14C6F716-64E2-4BC4-A1EF-05865FCEFA4C}
+ Ringtoets.Piping.Primitives
+ False
+
+
+ {87c2c553-c0bc-40bf-b1ea-b83bff357f27}
+ Ringtoets.Revetment.Data
+ False
+
+
+ {3D4B9740-8348-4434-8D77-B611FC6EE57F}
+ Ringtoets.StabilityPointStructures.Data
+ False
+
+
+ {B479E3AF-7C34-488C-BB73-D324100D36C9}
+ Ringtoets.StabilityStoneCover.Data
+ False
+
+
+ {567E0B69-5280-41CE-ADD6-443725A61C86}
+ Ringtoets.WaveImpactAsphaltCover.Data
+ False
+
+
+
+
+ MapDataView.cs
+
+
+ PointedTreeGraphView.cs
+
+
+ StackChartDataView.cs
+
+
+ Copying.licenseheader
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+
+
+ PublicResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/DR6.soil
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/DR6_surfacelines.csv
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/DR6_surfacelines.csv (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/DR6_surfacelines.csv (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,5 @@
+LOCATIONID;X1;Y1;Z1;.....;Xn;Yn;Zn;(Profiel)A9;A10;A11;A12;A13;A14;A15;A16;A17;A18;A19;A20;A21;A22;A23;A24;A25;A26;A27;A28;A29;A30;A31;A32;A33;A34;A35;A36;A37;A38;A39;A40;A41;A42;A43;A44;A45;A46;A47;A48;A49;A50;A51;A52;A53;A54;A55;A56;A57;A58;A59;A60;A61;A62;A63;A64;A65;A66;A67;A68;A69;A70;A71;A72;A73;A74;A75;A76;A77;A78;A79;A80;A81;A82;A83;A84;A85;A86;A87;A88;A89;A90;A91;A92;A93;A94;A95;A96;A97;A98;A99;A100;A101;A102;A103;A104;A105;A106;A107;A108;A109;A110;A111;A112;A113;A114;A115;A116;A117;A118;A119;A120;A121;A122;A123;A124;A125;A126;A127;A128;A129;A130;A131;A132;A133;A134;A135;A136;A137;A138;A139;A140;A141;A142;A143;A144;A145;A146;A147;A148;A149;A150;A151;A152;A153;A154;A155;A156;A157;A158;A159;A160;A161;A162;A163;A164;A165;A166;A167;A168;A169;A170;A171;A172;A173;A174;A175;A176;A177;A178;A179;A180;A181;A182;A183;A184;A185;A186;A187;A188;A189;A190;A191;A192;A193;A194;A195;A196;A197;A198;A199;A200;A201;A202;A203;A204;A205;A206;A207;A208;A209;A210;A211;A212;A213;A214;A215;A216;A217;A218;A219;A220;A221;A222;A223;A224;A225;A226;A227;A228;A229;A230;A231;A232;A233;A234;A235;A236;A237;A238;A239;A240;A241;A242;A243;A244;A245;A246;A247;A248;A249;A250;A251;A252;A253;A254;A255;A256;A257;A258;A259;A260;A261;A262;A263;A264;A265;A266;A267;A268;A269;A270;A271;A272;A273;A274;A275;A276;A277;A278;A279;A280;A281;A282;A283;A284;A285;A286;A287;A288;A289;A290;A291;A292;A293;A294;A295;A296;A297;A298;A299;A300;A301;A302;A303;A304;A305;A306;A307;A308;A309;A310;A311;A312;A313;A314;A315;A316;A317;A318;A319;A320;A321;A322;A323;A324;A325;A326;A327;A328;A329;A330;A331;A332;A333;A334;A335;A336;A337;A338;A339;A340;A341;A342;A343;A344;A345;A346;A347;A348;A349;A350;A351;A352;A353;A354;A355;A356;A357;A358;A359;A360;A361;A362;A363;A364;A365;A366;A367;A368;A369;A370;A371;A372;A373;A374;A375;A376;A377;A378;A379;A380;A381;A382;A383;A384;A385;A386;A387;A388;A389;A390;A391;A392;A393;A394;A395;A396;A397;A398;A399;A400;A401;A402;A403;A404;A405;A406;A407;A408;A409;A410;A411;A412;A413;A414;A415;A416;A417;A418;A419;A420;A421;A422;A423;A424;A425;A426;A427;A428;A429;A430;A431;A432;A433;A434;A435;A436;A437;A438;A439;A440;A441;A442;A443;A444;A445;A446;A447;A448;A449;A450;A451;A452;A453;A454;A455;A456;A457;A458;A459;A460;A461;A462;A463;A464;A465;A466;A467;A468;A469;A470;A471;A472;A473;A474;A475;A476;A477;A478;A479;A480;A481;A482;A483;A484;A485;A486;A487;A488;A489;A490;A491;A492;A493;A494;A495;A496;A497;A498;A499;A500;A501;A502;A503;A504;A505;A506;A507;A508;A509;A510;A511;A512;A513;A514;A515;A516;A517;A518;A519;A520;A521;A522;A523;A524;A525;A526;A527;A528;A529;A530;A531;A532;A533;A534;A535;A536;A537;A538;A539;A540;A541;A542;A543;A544;A545;A546;A547;A548;A549;A550;A551;A552;A553;A554;A555;A556;A557;A558;A559;A560;A561;A562;A563;A564;A565;A566;A567;A568;A569;A570;A571;A572;A573;A574;A575;A576;A577;A578;A579;A580;A581;A582;A583;A584;A585;A586;A587;A588;A589;A590;A591;A592;A593;A594;A595;A596;A597;A598;A599;A600;A601;A602;A603;A604;A605;A606;A607;A608;A609;A610;A611;A612;A613;A614;A615;A616;A617;A618;A619;A620;A621;A622;A623;A624;A625;A626;A627;A628;A629;A630;A631;A632;A633;A634;A635;A636;A637;A638;A639;A640;A641;A642;A643;A644;A645;A646;A647;A648;A649;A650;A651;A652;A653;A654;A655;A656;A657;A658;A659;A660;A661;A662;A663;A664;A665;A666;A667;A668;A669;A670;A671;A672;A673;A674;A675;A676;A677;A678;A679;A680;A681;A682;A683;A684;A685;A686;A687;A688;A689;A690;A691;A692;A693;A694;A695;A696;A697;A698;A699;A700;A701;A702;A703;A704;A705;A706;A707;A708;A709;A710;A711;A712;A713;A714;A715;A716;A717;A718;A719;A720;A721;A722;A723;A724;A725;A726;A727;A728;A729;A730;A731;A732;A733;A734;A735;A736;A737;A738;A739;A740;A741;A742;A743;A744;A745;A746;A747;A748;A749;A750;A751;A752;A753;A754;A755;A756;A757;A758;A759;A760;A761;A762;A763;A764;A765;A766;A767;A768;A769;A770;A771;A772;A773;A774;A775;A776;A777;A778;A779;A780;A781;A782;A783;A784;A785;A786;A787;A788;A789;A790;A791;A792;A793;A794;A795;A796;A797;A798;A799;A800;A801;A802;A803;A804;A805;A806;A807;A808;A809;A810;A811;A812;A813;A814;A815;A816;A817;A818;A819;A820;A821;A822;A823;A824;A825;A826;A827;A828;A829;A830;A831;A832;A833;A834;A835;A836;A837;A838;A839;A840;
+PK001_0001;155790.132;569960.564;-4.000;155797.109;569953.400;-4.000;155811.446;569938.677;0.110;155811.500;569938.622;0.110;155811.849;569938.264;0.240;155812.197;569937.906;0.410;155812.546;569937.547;0.510;155812.895;569937.189;0.530;155813.244;569936.831;0.680;155813.593;569936.473;0.800;155813.942;569936.114;0.800;155814.290;569935.756;0.970;155814.639;569935.398;1.100;155814.988;569935.040;1.100;155815.337;569934.682;1.110;155815.686;569934.323;1.370;155816.035;569933.965;1.530;155816.383;569933.607;1.530;155816.732;569933.249;1.580;155817.081;569932.891;1.730;155817.430;569932.532;1.730;155817.779;569932.174;1.860;155818.128;569931.816;2.070;155818.476;569931.458;2.070;155818.825;569931.099;2.200;155819.174;569930.741;2.310;155819.523;569930.383;2.440;155819.872;569930.025;2.440;155820.221;569929.667;2.590;155820.569;569929.308;2.710;155820.918;569928.950;2.790;155821.267;569928.592;2.910;155821.616;569928.234;3.040;155821.965;569927.876;3.120;155822.314;569927.517;3.140;155822.662;569927.159;3.340;155823.011;569926.801;3.470;155823.360;569926.443;3.490;155823.709;569926.085;3.600;155824.058;569925.726;3.700;155824.407;569925.368;3.750;155824.755;569925.010;3.810;155825.104;569924.652;3.950;155825.453;569924.293;4.050;155825.802;569923.935;4.210;155826.151;569923.577;4.320;155826.500;569923.219;4.400;155826.848;569922.861;4.540;155827.197;569922.502;4.660;155827.546;569922.144;4.790;155827.895;569921.786;4.880;155828.244;569921.428;4.990;155828.593;569921.070;5.050;155828.941;569920.711;5.040;155829.290;569920.353;5.260;155829.639;569919.995;5.380;155829.988;569919.637;5.380;155830.337;569919.278;5.520;155830.686;569918.920;5.640;155831.034;569918.562;5.750;155831.383;569918.204;5.820;155831.732;569917.846;5.970;155832.081;569917.487;6.120;155832.430;569917.129;6.120;155832.778;569916.771;6.200;155833.127;569916.413;6.290;155833.476;569916.055;6.290;155833.825;569915.696;6.370;155834.174;569915.338;6.520;155834.523;569914.980;6.540;155834.871;569914.622;6.540;155835.220;569914.264;6.640;155835.569;569913.905;6.770;155835.918;569913.547;6.770;155836.267;569913.189;6.900;155836.616;569912.831;7.160;155836.964;569912.472;7.270;155837.313;569912.114;7.350;155837.662;569911.756;7.570;155838.011;569911.398;7.750;155838.360;569911.040;7.750;155838.709;569910.681;7.960;155839.057;569910.323;8.130;155839.406;569909.965;8.200;155839.755;569909.607;8.300;155840.104;569909.249;8.410;155840.453;569908.890;8.510;155840.802;569908.532;8.560;155841.150;569908.174;8.720;155841.499;569907.816;8.830;155841.848;569907.458;8.960;155842.197;569907.099;9.000;155842.546;569906.741;9.170;155842.895;569906.383;9.220;155843.243;569906.025;9.310;155843.592;569905.666;9.430;155843.941;569905.308;9.500;155844.290;569904.950;9.620;155844.639;569904.592;9.680;155844.988;569904.234;9.690;155845.336;569903.875;9.710;155845.685;569903.517;9.720;155846.034;569903.159;9.640;155846.383;569902.801;9.590;155846.732;569902.443;9.390;155847.081;569902.084;9.280;155847.429;569901.726;9.180;155847.778;569901.368;8.890;155848.127;569901.010;8.780;155848.476;569900.651;8.670;155848.825;569900.293;8.440;155849.174;569899.935;8.230;155849.522;569899.577;8.110;155849.871;569899.219;8.010;155850.220;569898.860;7.830;155850.569;569898.502;7.680;155850.918;569898.144;7.500;155851.267;569897.786;7.280;155851.615;569897.428;7.040;155851.964;569897.069;7.040;155852.313;569896.711;6.840;155852.662;569896.353;6.580;155853.011;569895.995;6.360;155853.360;569895.636;6.360;155853.708;569895.278;6.100;155854.057;569894.920;5.860;155854.406;569894.562;5.860;155854.755;569894.204;5.610;155855.104;569893.845;5.370;155855.453;569893.487;5.170;155855.801;569893.129;5.060;155856.150;569892.771;4.850;155856.499;569892.413;4.710;155856.848;569892.054;4.540;155857.197;569891.696;4.260;155857.546;569891.338;4.000;155857.894;569890.980;3.890;155858.243;569890.622;3.720;155858.592;569890.263;3.500;155858.941;569889.905;3.330;155859.290;569889.547;3.260;155859.639;569889.189;3.000;155859.987;569888.830;2.900;155860.336;569888.472;2.650;155860.685;569888.114;2.530;155861.034;569887.756;2.310;155861.383;569887.398;2.130;155861.732;569887.039;2.010;155862.080;569886.681;1.690;155862.429;569886.323;1.550;155862.778;569885.965;1.350;155863.127;569885.607;1.370;155863.476;569885.248;1.380;155863.825;569884.890;1.090;155864.173;569884.532;0.950;155864.522;569884.174;1.030;155864.871;569883.815;1.100;155865.220;569883.457;1.210;155865.569;569883.099;1.270;155865.918;569882.741;1.280;155866.266;569882.383;1.310;155866.615;569882.024;1.380;155866.964;569881.666;1.370;155867.313;569881.308;1.400;155867.662;569880.950;1.410;155868.011;569880.592;1.450;155868.359;569880.233;1.440;155868.708;569879.875;1.460;155869.057;569879.517;1.450;155869.406;569879.159;1.460;155869.755;569878.801;1.410;155870.104;569878.442;1.350;155870.452;569878.084;1.350;155870.801;569877.726;1.290;155871.150;569877.368;1.180;155871.499;569877.009;1.180;155871.848;569876.651;1.140;155872.197;569876.293;0.910;155872.224;569876.265;0.910;155874.184;569874.252;-1.900;155882.067;569866.157;-1.900;155883.762;569864.416;0.530;155884.057;569864.114;0.280;155884.406;569863.756;0.480;155884.755;569863.397;0.410;155885.103;569863.039;0.690;155885.452;569862.681;0.670;155885.801;569862.323;0.730;155886.150;569861.965;0.750;155886.499;569861.606;0.750;155886.848;569861.248;0.750;155887.196;569860.890;0.780;155887.545;569860.532;0.840;155887.894;569860.174;0.790;155888.243;569859.815;0.790;155888.592;569859.457;0.830;155888.941;569859.099;0.830;155889.289;569858.741;0.800;155889.638;569858.382;0.780;155889.987;569858.024;0.780;155890.336;569857.666;0.900;155890.685;569857.308;0.920;155891.034;569856.950;0.970;155891.382;569856.591;0.970;155891.731;569856.233;0.960;155892.080;569855.875;0.980;155892.429;569855.517;0.980;155892.778;569855.159;1.010;155893.127;569854.800;1.070;155893.475;569854.442;1.030;155893.824;569854.084;1.020;155894.173;569853.726;1.060;155894.522;569853.367;1.020;155894.871;569853.009;1.020;155895.220;569852.651;1.050;155895.568;569852.293;1.090;155895.917;569851.935;1.070;155896.266;569851.576;1.060;155896.615;569851.218;1.020;155896.964;569850.860;0.990;155897.313;569850.502;1.010;155897.661;569850.144;1.030;155898.010;569849.785;1.040;155898.359;569849.427;1.010;155898.708;569849.069;1.080;155899.057;569848.711;1.080;155899.406;569848.353;1.040;155899.754;569847.994;1.100;155900.103;569847.636;1.110;155900.452;569847.278;1.130;155900.801;569846.920;1.110;155901.150;569846.561;1.110;155901.499;569846.203;1.110;155901.847;569845.845;1.080;155902.196;569845.487;1.030;155902.545;569845.129;1.000;155902.894;569844.770;1.070;155903.243;569844.412;0.990;155903.592;569844.054;0.990;155903.940;569843.696;0.960;155904.289;569843.338;0.920;155904.638;569842.979;0.910;155904.987;569842.621;0.910;155905.336;569842.263;0.910;155905.685;569841.905;0.850;155906.033;569841.546;0.820;155906.382;569841.188;0.780;155906.731;569840.830;0.710;155907.080;569840.472;0.660;155907.429;569840.114;0.660;155907.778;569839.755;0.670;155908.126;569839.397;0.830;155908.475;569839.039;0.830;155908.824;569838.681;0.860;155909.173;569838.323;0.980;155909.522;569837.964;1.060;155909.871;569837.606;1.060;155910.219;569837.248;1.120;155910.568;569836.890;1.240;155910.917;569836.532;1.240;155911.266;569836.173;1.260;155911.615;569835.815;1.160;155911.964;569835.457;1.020;155912.312;569835.099;1.010;155912.661;569834.740;0.900;155913.010;569834.382;0.400;155913.359;569834.024;0.400;155913.708;569833.666;-0.080;155914.057;569833.308;-0.460
+PK001_0002;155499.819;569709.619;-4.000;155505.259;569701.229;-4.000;155516.875;569683.315;0.270;155517.134;569682.916;0.410;155517.406;569682.497;0.420;155517.678;569682.077;0.560;155517.950;569681.658;0.600;155518.222;569681.238;0.710;155518.494;569680.819;0.870;155518.766;569680.399;0.910;155519.038;569679.980;1.100;155519.310;569679.560;1.100;155519.582;569679.141;1.180;155519.854;569678.721;1.250;155520.126;569678.302;1.370;155520.398;569677.882;1.470;155520.670;569677.463;1.640;155520.942;569677.043;1.640;155521.214;569676.623;1.760;155521.486;569676.204;1.720;155521.758;569675.784;2.060;155522.030;569675.365;2.160;155522.302;569674.945;2.260;155522.574;569674.526;2.360;155522.846;569674.106;2.450;155523.118;569673.687;2.620;155523.390;569673.267;2.710;155523.662;569672.848;2.880;155523.934;569672.428;2.890;155524.206;569672.009;2.970;155524.478;569671.589;3.110;155524.750;569671.170;3.240;155525.022;569670.750;3.390;155525.294;569670.331;3.520;155525.566;569669.911;3.640;155525.838;569669.492;3.730;155526.110;569669.072;3.780;155526.382;569668.652;3.890;155526.654;569668.233;4.020;155526.927;569667.813;4.090;155527.199;569667.394;4.270;155527.471;569666.974;4.340;155527.743;569666.555;4.330;155528.015;569666.135;4.530;155528.287;569665.716;4.640;155528.559;569665.296;4.710;155528.831;569664.877;4.820;155529.103;569664.457;4.890;155529.375;569664.038;4.890;155529.647;569663.618;5.010;155529.919;569663.199;5.080;155530.191;569662.779;5.240;155530.463;569662.360;5.340;155530.735;569661.940;5.490;155531.007;569661.521;5.550;155531.279;569661.101;5.630;155531.551;569660.681;5.810;155531.823;569660.262;5.860;155532.095;569659.842;5.960;155532.367;569659.423;6.050;155532.639;569659.003;6.080;155532.911;569658.584;6.160;155533.183;569658.164;6.290;155533.455;569657.745;6.400;155533.727;569657.325;6.460;155533.999;569656.906;6.540;155534.271;569656.486;6.610;155534.543;569656.067;6.640;155534.815;569655.647;6.720;155535.087;569655.228;6.870;155535.359;569654.808;6.930;155535.631;569654.389;7.100;155535.903;569653.969;7.230;155536.175;569653.550;7.280;155536.447;569653.130;7.390;155536.719;569652.711;7.570;155536.991;569652.291;7.670;155537.264;569651.871;7.870;155537.536;569651.452;8.030;155537.808;569651.032;8.030;155538.080;569650.613;8.210;155538.352;569650.193;8.290;155538.624;569649.774;8.440;155538.896;569649.354;8.500;155539.168;569648.935;8.670;155539.440;569648.515;8.670;155539.712;569648.096;8.850;155539.984;569647.676;8.890;155540.256;569647.257;9.070;155540.528;569646.837;9.200;155540.800;569646.418;9.280;155541.072;569645.998;9.430;155541.344;569645.579;9.430;155541.616;569645.159;9.560;155541.888;569644.740;9.630;155542.160;569644.320;9.680;155542.432;569643.901;9.720;155542.704;569643.481;9.750;155542.976;569643.061;9.750;155543.248;569642.642;9.730;155543.520;569642.222;9.690;155543.792;569641.803;9.640;155544.064;569641.383;9.550;155544.336;569640.964;9.560;155544.608;569640.545;9.540;155544.608;569640.544;9.540;155544.880;569640.125;9.540;155545.152;569639.705;9.520;155545.424;569639.286;9.490;155545.696;569638.866;9.520;155545.968;569638.447;9.550;155546.240;569638.027;9.500;155546.512;569637.608;9.420;155546.784;569637.188;9.270;155547.056;569636.769;9.030;155547.328;569636.349;8.860;155547.601;569635.930;8.620;155547.873;569635.510;8.620;155548.145;569635.090;8.430;155548.417;569634.671;8.340;155548.689;569634.251;8.060;155548.961;569633.832;7.880;155549.233;569633.412;7.650;155549.505;569632.993;7.420;155549.777;569632.573;7.420;155550.049;569632.154;7.230;155550.321;569631.734;6.980;155550.593;569631.315;6.750;155550.865;569630.895;6.530;155551.137;569630.476;6.330;155551.409;569630.056;6.330;155551.681;569629.637;6.060;155551.953;569629.217;5.830;155552.225;569628.798;5.590;155552.497;569628.378;5.500;155552.769;569627.959;5.150;155553.041;569627.539;5.030;155553.313;569627.119;4.860;155553.585;569626.700;4.610;155553.857;569626.280;4.450;155554.129;569625.861;4.180;155554.401;569625.441;3.980;155554.673;569625.022;3.810;155554.945;569624.602;3.710;155555.217;569624.183;3.370;155555.489;569623.763;3.220;155555.761;569623.344;2.940;155556.033;569622.924;2.720;155556.305;569622.505;2.720;155556.577;569622.085;2.490;155556.849;569621.666;2.250;155557.121;569621.246;2.140;155557.393;569620.827;2.000;155557.666;569620.407;1.770;155557.938;569619.988;1.650;155558.210;569619.568;1.680;155558.482;569619.149;1.660;155558.754;569618.729;1.450;155559.026;569618.309;1.380;155559.298;569617.890;1.410;155559.570;569617.470;1.460;155559.842;569617.051;1.460;155560.114;569616.631;1.470;155560.386;569616.212;1.520;155560.658;569615.792;1.540;155560.930;569615.373;1.530;155561.202;569614.953;1.480;155561.474;569614.534;1.480;155561.746;569614.114;1.490;155562.018;569613.695;1.450;155562.290;569613.275;1.460;155562.562;569612.856;1.410;155562.834;569612.436;1.320;155563.106;569612.017;1.320;155563.378;569611.597;1.270;155563.650;569611.178;1.120;155563.922;569610.758;1.030;155564.194;569610.338;0.820;155564.466;569609.919;0.690;155564.738;569609.499;0.430;155565.010;569609.080;0.330;155565.282;569608.660;0.320;155565.554;569608.241;0.400;155565.826;569607.821;0.410;155566.098;569607.402;0.400;155566.370;569606.982;0.370;155566.914;569606.143;0.380;155567.186;569605.724;0.380;155567.458;569605.304;0.360;155567.731;569604.885;0.320;155568.003;569604.465;0.350;155568.275;569604.046;0.350;155568.547;569603.626;0.390;155568.819;569603.207;0.410;155569.091;569602.787;0.390;155570.179;569601.109;0.470;155570.451;569600.689;0.480;155570.723;569600.270;0.360;155570.995;569599.850;0.420;155571.267;569599.431;0.350;155571.539;569599.011;0.390;155571.811;569598.592;0.370;155572.083;569598.172;0.400;155572.355;569597.753;0.350;155572.627;569597.333;0.340;155572.899;569596.914;0.360;155573.171;569596.494;0.310;155573.443;569596.075;0.310;155573.715;569595.655;0.270;155573.987;569595.236;0.310;155574.259;569594.816;0.320;155574.531;569594.397;0.290;155574.803;569593.977;0.300;155575.075;569593.557;0.280;155575.347;569593.138;0.300;155575.619;569592.718;0.310;155575.891;569592.299;0.270;155576.163;569591.879;0.320;155576.435;569591.460;0.280;155576.707;569591.040;0.330;155576.979;569590.621;0.290;155577.251;569590.201;0.300;155577.523;569589.782;0.340;155577.796;569589.362;0.320;155578.068;569588.943;0.310;155578.340;569588.523;0.310;155578.612;569588.104;0.330;155578.884;569587.684;0.340;155579.156;569587.265;0.340;155579.428;569586.845;0.310;155579.700;569586.426;0.310;155579.972;569586.006;0.310;155580.244;569585.587;0.290;155580.516;569585.167;0.330;155580.788;569584.747;0.360;155581.060;569584.328;0.300;155581.332;569583.908;0.320;155581.604;569583.489;0.340;155581.876;569583.069;0.340;155582.148;569582.650;0.280;155582.420;569582.230;0.260;155582.692;569581.811;0.220;155582.964;569581.391;0.250;155583.236;569580.972;0.290;155583.508;569580.552;0.270;155583.780;569580.133;0.260;155584.052;569579.713;0.250;155584.324;569579.294;0.270;155584.596;569578.874;0.220;155584.868;569578.455;0.240;155585.140;569578.035;0.170;155585.412;569577.616;0.210;155585.684;569577.196;0.160;155585.956;569576.776;0.160;155586.228;569576.357;0.120;155586.500;569575.937;0.150;155586.772;569575.518;0.150;155587.044;569575.098;0.100;155587.316;569574.679;0.070;155587.588;569574.259;-0.010;155587.861;569573.840;0.080;155588.133;569573.420;-0.090;155588.405;569573.001;-0.090;155588.677;569572.581;-0.220;155588.949;569572.162;-0.240;155589.221;569571.742;-0.100;155589.493;569571.323;-0.200;155589.765;569570.903;-0.070;155590.037;569570.484;-0.100;155590.309;569570.064;-0.100;155594.117;569564.191;-0.460;155594.389;569563.771;-0.390;155594.661;569563.352;-0.320;155594.933;569562.932;-0.260;155595.205;569562.513;-0.130;155595.477;569562.093;-0.150;155595.749;569561.674;0.000;155596.021;569561.254;0.070;155596.293;569560.835;0.070;155596.565;569560.415;0.120
+PK001_0003;154993.839;569391.981;-4.000;154999.006;569383.419;-4.000;155009.650;569365.782;0.120;155009.869;569365.418;0.290;155010.128;569364.990;0.430;155010.386;569364.562;0.430;155010.644;569364.134;0.610;155010.903;569363.706;0.730;155011.161;569363.277;0.860;155011.419;569362.849;0.900;155011.678;569362.421;0.970;155011.936;569361.993;1.060;155012.194;569361.565;1.160;155012.453;569361.137;1.260;155012.711;569360.709;1.400;155012.969;569360.281;1.520;155013.228;569359.853;1.680;155013.486;569359.425;1.810;155013.744;569358.997;2.010;155014.003;569358.569;2.020;155014.261;569358.140;2.130;155014.519;569357.712;2.310;155014.778;569357.284;2.370;155015.036;569356.856;2.490;155015.294;569356.428;2.630;155015.553;569356.000;2.750;155015.811;569355.572;2.750;155016.069;569355.144;2.940;155016.328;569354.716;3.060;155016.586;569354.288;3.210;155016.845;569353.860;3.350;155017.103;569353.431;3.420;155017.361;569353.003;3.420;155017.620;569352.575;3.600;155017.878;569352.147;3.760;155018.136;569351.719;3.870;155018.395;569351.291;3.990;155018.653;569350.863;4.120;155018.911;569350.435;4.190;155019.170;569350.007;4.270;155019.428;569349.579;4.370;155019.686;569349.151;4.530;155019.945;569348.722;4.660;155020.203;569348.294;4.760;155020.461;569347.866;4.870;155020.720;569347.438;4.980;155020.978;569347.010;4.980;155021.236;569346.582;5.090;155021.495;569346.154;5.230;155021.753;569345.726;5.300;155022.011;569345.298;5.410;155022.270;569344.870;5.510;155022.528;569344.442;5.610;155022.786;569344.014;5.610;155023.045;569343.585;5.740;155023.303;569343.157;5.840;155023.561;569342.729;5.940;155023.820;569342.301;5.990;155024.078;569341.873;6.140;155024.336;569341.445;6.240;155024.595;569341.017;6.250;155024.853;569340.589;6.350;155025.111;569340.161;6.420;155025.370;569339.733;6.510;155025.628;569339.305;6.540;155025.886;569338.876;6.550;155026.145;569338.448;6.690;155026.403;569338.020;6.690;155026.661;569337.592;6.760;155026.920;569337.164;6.870;155027.178;569336.736;7.030;155027.437;569336.308;7.120;155027.695;569335.880;7.290;155027.953;569335.452;7.390;155028.212;569335.024;7.430;155028.470;569334.596;7.530;155028.728;569334.167;7.640;155028.987;569333.739;7.790;155029.245;569333.311;7.930;155029.503;569332.883;8.080;155029.762;569332.455;8.200;155030.020;569332.027;8.210;155030.278;569331.599;8.360;155030.537;569331.171;8.450;155030.795;569330.743;8.530;155031.053;569330.315;8.690;155031.312;569329.887;8.750;155031.570;569329.459;8.870;155031.828;569329.030;8.870;155032.087;569328.602;9.010;155032.345;569328.174;9.070;155032.603;569327.746;9.190;155032.862;569327.318;9.250;155033.120;569326.890;9.330;155033.378;569326.462;9.380;155033.637;569326.034;9.460;155033.895;569325.606;9.450;155034.153;569325.178;9.490;155034.412;569324.750;9.440;155034.670;569324.321;9.400;155034.928;569323.893;9.300;155035.187;569323.465;9.170;155035.445;569323.037;9.170;155035.703;569322.609;8.930;155035.962;569322.181;8.880;155036.220;569321.753;8.650;155036.478;569321.325;8.530;155036.737;569320.897;8.340;155036.995;569320.469;8.230;155037.253;569320.041;8.150;155037.512;569319.612;7.870;155037.770;569319.184;7.790;155038.028;569318.756;7.570;155038.287;569318.328;7.420;155038.545;569317.900;7.230;155038.804;569317.472;7.120;155039.062;569317.044;6.980;155039.320;569316.616;6.860;155039.579;569316.188;6.640;155039.837;569315.760;6.440;155040.095;569315.332;6.230;155040.354;569314.904;6.070;155040.612;569314.475;5.840;155040.870;569314.047;5.840;155041.129;569313.619;5.570;155041.387;569313.191;5.530;155041.645;569312.763;5.180;155041.904;569312.335;5.090;155042.162;569311.907;4.850;155042.420;569311.479;4.680;155042.679;569311.051;4.620;155042.937;569310.623;4.430;155043.195;569310.195;4.140;155043.454;569309.766;4.080;155043.712;569309.338;3.780;155043.970;569308.910;3.680;155044.229;569308.482;3.370;155044.487;569308.054;3.370;155044.745;569307.626;3.080;155045.004;569307.198;2.810;155045.262;569306.770;2.670;155045.520;569306.342;2.390;155045.779;569305.914;2.270;155046.037;569305.486;2.020;155046.295;569305.057;2.020;155046.554;569304.629;1.770;155046.812;569304.201;1.680;155047.070;569303.773;1.540;155047.329;569303.345;1.490;155047.587;569302.917;1.420;155047.845;569302.489;1.420;155048.104;569302.061;1.310;155048.362;569301.633;1.300;155048.620;569301.205;1.300;155048.879;569300.777;1.330;155049.137;569300.349;1.320;155049.395;569299.920;1.300;155049.654;569299.492;1.350;155049.912;569299.064;1.350;155050.171;569298.636;1.350;155050.429;569298.208;1.360;155050.687;569297.780;1.420;155050.946;569297.352;1.380;155051.204;569296.924;1.340;155051.462;569296.496;1.340;155051.721;569296.068;1.310;155051.979;569295.640;1.360;155052.237;569295.211;1.250;155052.496;569294.783;1.260;155052.754;569294.355;1.210;155053.012;569293.927;1.130;155053.271;569293.499;0.990;155053.529;569293.071;0.950;155053.787;569292.643;0.770;155054.046;569292.215;0.460;155054.304;569291.787;0.320;155054.562;569291.359;0.170;155054.821;569290.931;0.020;155055.079;569290.502;-0.050;155055.337;569290.074;-0.070;155055.596;569289.646;-0.150;155055.854;569289.218;-0.250;155056.112;569288.790;-0.310;155056.297;569288.485;-0.370;155056.855;569287.560;-1.450;155063.272;569276.926;-1.450;155063.763;569276.113;-0.500;155063.863;569275.947;-0.360;155064.121;569275.519;-0.490;155064.379;569275.091;-0.420;155064.638;569274.663;-0.490;155064.896;569274.235;-0.440;155065.154;569273.807;-0.480;155065.413;569273.379;-0.520;155065.671;569272.951;-0.450;155065.929;569272.523;-0.450;155066.188;569272.095;-0.440;155066.446;569271.667;-0.440;155066.704;569271.238;-0.460;155066.963;569270.810;-0.460;155067.221;569270.382;-0.410;155067.479;569269.954;-0.410;155067.738;569269.526;-0.400;155067.996;569269.098;-0.390;155068.254;569268.670;-0.410;155068.513;569268.242;-0.430;155068.771;569267.814;-0.490;155069.029;569267.386;-0.470;155069.288;569266.958;-0.510;155069.546;569266.530;-0.490;155069.804;569266.101;-0.480;155070.063;569265.673;-0.430;155070.321;569265.245;-0.360;155070.579;569264.817;-0.330;155070.838;569264.389;-0.300;155071.096;569263.961;-0.290;155071.354;569263.533;-0.290;155071.613;569263.105;-0.320;155071.871;569262.677;-0.310;155072.130;569262.249;-0.360;155072.388;569261.821;-0.400;155072.646;569261.392;-0.650;155072.905;569260.964;-0.680;155073.163;569260.536;-0.670;155074.196;569258.824;-0.570;155074.455;569258.396;-0.410;155074.713;569257.968;-0.340;155074.971;569257.540;-0.340;155075.230;569257.112;-0.290;155075.488;569256.683;-0.320;155075.746;569256.255;-0.310;155076.005;569255.827;-0.300;155076.263;569255.399;-0.300;155076.521;569254.971;-0.310;155076.780;569254.543;-0.310;155077.038;569254.115;-0.330;155077.296;569253.687;-0.290;155077.555;569253.259;-0.370;155077.813;569252.831;-0.340;155078.071;569252.403;-0.350;155078.330;569251.974;-0.360;155078.588;569251.546;-0.360;155078.846;569251.118;-0.340;155079.105;569250.690;-0.370;155079.363;569250.262;-0.370;155079.621;569249.834;-0.350;155079.880;569249.406;-0.350;155080.138;569248.978;-0.350;155080.396;569248.550;-0.350;155080.655;569248.122;-0.330;155080.913;569247.694;-0.320;155081.171;569247.266;-0.370;155081.430;569246.837;-0.380;155081.688;569246.409;-0.390;155081.946;569245.981;-0.460;155082.205;569245.553;-0.430;155082.463;569245.125;-0.460;155082.722;569244.697;-0.470;155082.980;569244.269;-0.460;155083.238;569243.841;-0.390;155083.497;569243.413;-0.380;155083.755;569242.985;-0.350;155084.013;569242.557;-0.320;155084.272;569242.128;-0.350;155084.530;569241.700;-0.330;155084.788;569241.272;-0.330
+PK001_0004;154576.111;568119.849;-4.000;154586.088;568119.170;-4.000;154608.536;568117.644;0.500;154608.554;568117.643;0.500;154609.052;568117.609;0.680;154609.551;568117.575;0.700;154610.050;568117.541;0.580;154610.549;568117.507;0.680;154611.048;568117.473;0.560;154611.547;568117.439;0.580;154612.046;568117.405;0.740;154612.544;568117.371;0.860;154613.043;568117.338;1.000;154613.542;568117.304;1.150;154614.041;568117.270;1.290;154614.540;568117.236;1.410;154615.039;568117.202;1.520;154615.538;568117.168;1.650;154616.036;568117.134;1.790;154616.535;568117.100;1.910;154617.034;568117.066;2.030;154617.533;568117.032;2.150;154618.032;568116.998;2.290;154618.531;568116.964;2.410;154619.029;568116.931;2.570;154619.528;568116.897;2.660;154620.027;568116.863;2.820;154620.526;568116.829;2.930;154621.025;568116.795;3.000;154621.524;568116.761;3.140;154622.023;568116.727;3.270;154622.521;568116.693;3.330;154623.020;568116.659;3.440;154623.519;568116.625;3.600;154624.018;568116.591;3.720;154624.517;568116.557;3.780;154625.016;568116.523;3.960;154625.514;568116.490;4.090;154626.013;568116.456;4.200;154626.512;568116.422;4.290;154627.011;568116.388;4.400;154627.510;568116.354;4.470;154628.009;568116.320;4.600;154628.508;568116.286;4.760;154629.006;568116.252;4.830;154629.505;568116.218;4.940;154630.004;568116.184;5.000;154630.503;568116.150;5.100;154631.002;568116.116;5.260;154631.501;568116.083;5.340;154632.000;568116.049;5.340;154632.498;568116.015;5.460;154632.997;568115.981;5.530;154633.496;568115.947;5.710;154633.995;568115.913;5.800;154634.494;568115.879;5.910;154634.993;568115.845;6.000;154635.491;568115.811;6.090;154635.990;568115.777;6.160;154636.489;568115.743;6.340;154636.988;568115.709;6.380;154637.487;568115.675;6.460;154637.986;568115.642;6.500;154638.485;568115.608;6.580;154638.983;568115.574;6.650;154639.482;568115.540;6.620;154639.981;568115.506;6.680;154640.480;568115.472;6.830;154640.979;568115.438;6.920;154641.478;568115.404;7.030;154641.976;568115.370;7.150;154642.475;568115.336;7.290;154642.974;568115.302;7.350;154643.473;568115.268;7.500;154643.972;568115.234;7.560;154644.471;568115.201;7.630;154644.970;568115.167;7.760;154645.468;568115.133;7.840;154645.967;568115.099;7.970;154646.466;568115.065;8.070;154646.965;568115.031;8.090;154647.464;568114.997;8.260;154647.963;568114.963;8.260;154648.461;568114.929;8.360;154648.960;568114.895;8.450;154649.459;568114.861;8.510;154649.958;568114.827;8.590;154650.457;568114.794;8.690;154650.956;568114.760;8.820;154651.455;568114.726;8.900;154651.953;568114.692;8.990;154652.452;568114.658;9.050;154652.951;568114.624;9.160;154653.450;568114.590;9.150;154653.949;568114.556;9.240;154654.448;568114.522;9.270;154654.947;568114.488;9.280;154655.445;568114.454;9.280;154655.944;568114.420;9.310;154656.443;568114.386;9.290;154656.942;568114.353;9.190;154657.441;568114.319;9.110;154657.940;568114.285;9.020;154658.438;568114.251;8.850;154658.937;568114.217;8.720;154659.436;568114.183;8.590;154659.935;568114.149;8.380;154660.434;568114.115;8.220;154660.933;568114.081;8.070;154661.432;568114.047;7.910;154661.930;568114.013;7.730;154662.429;568113.979;7.540;154662.928;568113.946;7.390;154663.427;568113.912;7.200;154663.926;568113.878;7.110;154664.425;568113.844;7.010;154664.924;568113.810;6.900;154665.422;568113.776;6.790;154665.921;568113.742;6.860;154666.420;568113.708;6.830;154666.919;568113.674;6.820;154667.418;568113.640;6.820;154667.917;568113.606;6.810;154668.415;568113.572;6.820;154668.914;568113.538;6.800;154669.413;568113.505;6.810;154669.912;568113.471;6.800;154670.411;568113.437;6.710;154670.910;568113.403;6.650;154671.409;568113.369;6.660;154671.907;568113.335;6.530;154672.406;568113.301;6.420;154672.905;568113.267;6.150;154673.404;568113.233;5.900;154673.903;568113.199;5.660;154674.402;568113.165;5.400;154674.900;568113.131;5.060;154675.399;568113.097;4.820;154675.898;568113.064;4.600;154676.397;568113.030;4.320;154676.896;568112.996;4.040;154677.395;568112.962;3.720;154677.894;568112.928;3.450;154678.392;568112.894;3.220;154678.891;568112.860;2.980;154679.390;568112.826;2.710;154679.889;568112.792;2.440;154680.388;568112.758;2.170;154680.887;568112.724;1.930;154681.385;568112.690;1.810;154681.884;568112.657;1.670;154682.383;568112.623;1.550;154682.882;568112.589;1.560;154683.381;568112.555;1.570;154683.880;568112.521;1.580;154684.379;568112.487;1.580;154684.877;568112.453;1.600;154685.376;568112.419;1.600;154685.875;568112.385;1.620;154686.374;568112.351;1.600;154686.873;568112.317;1.630;154687.372;568112.283;1.650;154687.871;568112.249;1.630;154688.369;568112.216;1.660;154688.868;568112.182;1.670;154689.367;568112.148;1.660;154689.866;568112.114;1.690;154690.365;568112.080;1.690;154690.864;568112.046;1.680;154691.362;568112.012;1.670;154691.861;568111.978;1.630;154692.360;568111.944;1.580;154692.859;568111.910;1.590;154693.358;568111.876;1.560;154693.857;568111.842;1.540;154694.356;568111.809;1.460;154694.854;568111.775;1.470;154695.353;568111.741;1.510;154695.852;568111.707;1.480;154696.351;568111.673;1.440;154696.850;568111.639;1.430;154697.349;568111.605;1.420;154697.847;568111.571;1.400;154698.346;568111.537;1.340;154698.845;568111.503;1.300;154699.344;568111.469;1.320;154699.843;568111.435;1.300;154700.342;568111.401;1.300;154700.841;568111.368;1.290;154701.339;568111.334;1.250;154701.838;568111.300;1.170;154702.337;568111.266;1.150;154702.836;568111.232;1.060;154703.335;568111.198;0.950;154703.834;568111.164;0.930;154704.333;568111.130;1.100;154704.831;568111.096;1.180;154705.330;568111.062;1.220;154705.829;568111.028;1.300;154706.328;568110.994;1.310;154706.827;568110.960;1.360;154707.326;568110.927;1.360;154707.824;568110.893;1.360;154708.323;568110.859;1.340;154708.822;568110.825;1.330;154709.321;568110.791;1.330;154709.820;568110.757;1.300;154710.319;568110.723;1.310;154710.818;568110.689;1.290;154711.316;568110.655;1.250;154711.815;568110.621;1.270;154712.314;568110.587;1.270;154712.813;568110.553;1.250;154713.312;568110.520;1.220;154713.811;568110.486;1.200;154714.309;568110.452;1.220;154714.808;568110.418;1.190;154715.307;568110.384;1.160;154715.806;568110.350;1.170;154716.305;568110.316;1.150;154716.804;568110.282;1.180;154717.303;568110.248;1.130;154717.801;568110.214;1.100;154718.300;568110.180;1.120;154718.799;568110.146;1.070;154719.298;568110.112;1.090;154719.797;568110.079;1.030;154720.296;568110.045;1.050;154720.794;568110.011;1.020;154721.293;568109.977;1.040;154721.792;568109.943;1.020;154722.291;568109.909;1.000;154722.790;568109.875;0.970;154723.289;568109.841;0.960;154723.788;568109.807;0.960;154724.286;568109.773;0.940;154724.785;568109.739;0.930;154725.284;568109.705;0.910;154725.783;568109.672;0.930;154726.282;568109.638;0.900;154726.781;568109.604;0.910;154727.280;568109.570;0.940;154727.778;568109.536;1.010;154728.277;568109.502;1.020;154728.776;568109.468;1.000;154729.275;568109.434;1.060;154729.774;568109.400;1.060;154730.273;568109.366;1.110;154730.771;568109.332;1.110;154731.270;568109.298;1.090;154731.769;568109.264;1.110;154732.268;568109.231;1.110;154732.767;568109.197;1.060;154733.266;568109.163;1.030;154733.765;568109.129;1.050;154734.263;568109.095;1.020;154734.762;568109.061;0.980;154735.261;568109.027;1.000;154735.760;568108.993;0.990;154736.259;568108.959;0.960;154736.758;568108.925;0.970;154737.256;568108.891;0.920;154737.755;568108.857;0.900;154738.254;568108.823;0.900;154738.753;568108.790;0.900;154739.252;568108.756;0.910;154739.751;568108.722;0.890;154740.250;568108.688;0.870;154740.748;568108.654;0.870;154741.247;568108.620;0.870;154741.746;568108.586;0.770;154742.245;568108.552;0.850;154742.744;568108.518;0.830;154743.243;568108.484;0.820;154743.741;568108.450;0.790;154744.240;568108.416;0.770;154744.739;568108.383;0.740;154745.238;568108.349;0.750;154745.737;568108.315;0.730
Index: Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/DR6_surfacelines.krp.csv
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/DR6_surfacelines.krp.csv (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/DR6_surfacelines.krp.csv (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,5 @@
+LOCATIONID;X_Maaiveld binnenwaarts;Y_Maaiveld binnenwaarts;Z_Maaiveld binnenwaarts;X_Insteek sloot polderzijde;Y_Insteek sloot polderzijde;Z_Insteek sloot polderzijde;X_Slootbodem polderzijde;Y_Slootbodem polderzijde;Z_Slootbodem polderzijde;X_Slootbodem dijkzijde;Y_Slootbodem dijkzijde;Z_Slootbodem dijkzijde;X_Insteek sloot dijkzijde;Y_Insteek_sloot dijkzijde;Z_Insteek sloot dijkzijde;X_Teen dijk binnenwaarts;Y_Teen dijk binnenwaarts;Z_Teen dijk binnenwaarts;X_Kruin binnenberm;Y_Kruin binnenberm;Z_Kruin binnenberm;X_Insteek binnenberm;Y_Insteek binnenberm;Z_Insteek binnenberm;X_Kruin binnentalud;Y_Kruin binnentalud;Z_Kruin binnentalud;X_Verkeersbelasting kant binnenwaarts;Y_Verkeersbelasting kant binnenwaarts;Z_Verkeersbelasting kant binnenwaarts;X_Verkeersbelasting kant buitenwaarts;Y_Verkeersbelasting kant buitenwaarts;Z_Verkeersbelasting kant buitenwaarts;X_Kruin buitentalud;Y_Kruin buitentalud;Z_Kruin buitentalud;X_Insteek buitenberm;Y_Insteek buitenberm;Z_Insteek buitenberm;X_Kruin buitenberm;Y_Kruin buitenberm;Z_Kruin buitenberm;X_Teen dijk buitenwaarts;Y_Teen dijk buitenwaarts;Z_Teen dijk buitenwaarts;X_Insteek geul;Y_Insteek geul;Z_Insteek geul;X_Teen geul;Y_Teen geul;Z_Teen geul;X_Maaiveld buitenwaarts;Y_Maaiveld buitenwaarts;Z_Maaiveld buitenwaarts
+PK001_0001;155914.057;569833.308;-0.460;155883.762;569864.416;0.530;155882.067;569866.157;-1.900;155874.184;569874.252;-1.900;155872.224;569876.265;0.910;155864.173;569884.532;0.950;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;155846.034;569903.159;9.640;155846.034;569903.159;9.640;155844.290;569904.950;9.620;155844.290;569904.950;9.620;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;155797.109;569953.400;-4.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;155790.132;569960.564;-4.000
+PK001_0002;155596.565;569560.415;0.120;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;155558.754;569618.729;1.450;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;155546.240;569638.027;9.500;155545.968;569638.447;9.550;155544.608;569640.545;9.540;155542.160;569644.320;9.680;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;155505.259;569701.229;-4.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;155499.819;569709.619;-4.000
+PK001_0003;155084.788;569241.272;-0.330;155063.763;569276.113;-0.500;155063.272;569276.926;-1.450;155056.855;569287.560;-1.450;155056.297;569288.485;-0.370;155047.587;569302.917;1.420;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;155034.928;569323.893;9.300;155034.928;569323.893;9.300;155033.637;569326.034;9.460;155033.378;569326.462;9.380;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;154999.006;569383.419;-4.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;154993.839;569391.981;-4.000
+PK001_0004;154745.737;568108.315;0.730;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;154682.383;568112.623;1.550;154671.907;568113.335;6.530;154664.924;568113.810;6.900;154656.942;568114.353;9.190;154656.942;568114.353;9.190;154654.448;568114.522;9.270;154653.450;568114.590;9.150;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;154586.088;568119.170;-4.000;-1.000;-1.000;-1.000;-1.000;-1.000;-1.000;154576.111;568119.849;-4.000
Index: Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/HLCD.sqlite
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/HRD dutch coast south.config.sqlite
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/HRD dutch coast south.sqlite
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/traject_6-3.dbf
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/traject_6-3.prj
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/traject_6-3.prj (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/traject_6-3.prj (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1 @@
+PROJCS["RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]]
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/traject_6-3.shp
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/traject_6-3.shx
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/traject_6-3_vakken.dbf
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/traject_6-3_vakken.prj
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/traject_6-3_vakken.prj (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/traject_6-3_vakken.prj (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1 @@
+PROJCS["RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]]
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/traject_6-3_vakken.shp
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/EmbeddedResources/traject_6-3_vakken.shx
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/GUIs/DemoProjectPlugin.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/GUIs/DemoProjectPlugin.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/GUIs/DemoProjectPlugin.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,77 @@
+// Copyright (C) Stichting Deltares 2018. 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.Collections.Generic;
+using Core.Common.Gui.Forms;
+using Core.Common.Gui.Plugin;
+using Core.Components.Chart.Data;
+using Core.Components.Gis.Data;
+using Core.Components.PointedTree.Data;
+using Core.Components.Stack.Data;
+using Demo.Riskeer.Properties;
+using Demo.Riskeer.Ribbons;
+using Demo.Riskeer.Views;
+using ChartResources = Core.Plugins.Chart.Properties.Resources;
+using CoreCommonGuiResources = Core.Common.Gui.Properties.Resources;
+
+namespace Demo.Riskeer.GUIs
+{
+ ///
+ /// UI plug-in that provides access to the demo projects for Ringtoets.
+ ///
+ public class DemoProjectPlugin : PluginBase
+ {
+ public override IRibbonCommandHandler RibbonCommandHandler
+ {
+ get
+ {
+ return new RingtoetsDemoProjectRibbon(Gui, Gui.ViewCommands);
+ }
+ }
+
+ public override IEnumerable GetViewInfos()
+ {
+ yield return new ViewInfo
+ {
+ Image = ChartResources.ChartIcon,
+ GetViewName = (v, o) => ChartResources.OxyPlotPlugin_GetViewInfos_Diagram
+ };
+
+ yield return new ViewInfo
+ {
+ Image = CoreCommonGuiResources.DocumentHS,
+ GetViewName = (v, o) => CoreCommonGuiResources.DotSpatialPlugin_GetViewInfoObjects_Map
+ };
+
+ yield return new ViewInfo
+ {
+ Image = CoreCommonGuiResources.DocumentHS,
+ GetViewName = (v, o) => ChartResources.OxyPlotPlugin_GetViewInfos_Diagram
+ };
+
+ yield return new ViewInfo
+ {
+ Image = Resources.FaultTreeIcon,
+ GetViewName = (v, o) => Resources.General_FaultTree
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Properties/AssemblyInfo.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Properties/AssemblyInfo.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Properties/AssemblyInfo.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,25 @@
+// Copyright (C) Stichting Deltares 2018. 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.Reflection;
+
+[assembly: AssemblyTitle("Demo.Riskeer")]
+[assembly: AssemblyProduct("Demo.Riskeer")]
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Properties/Resources.Designer.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Properties/Resources.Designer.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Properties/Resources.Designer.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,531 @@
+// Copyright (C) Stichting Deltares 2018. 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.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Demo.Riskeer.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", "15.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("Demo.Riskeer.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 resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap ChartIcon {
+ get {
+ object obj = ResourceManager.GetObject("ChartIcon", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Kolom grafiek.
+ ///
+ public static string Column_Chart {
+ get {
+ return ResourceManager.GetString("Column_Chart", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap ColumnChartIcon {
+ get {
+ object obj = ResourceManager.GetObject("ColumnChartIcon", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Demo.
+ ///
+ public static string Demo {
+ get {
+ return ResourceManager.GetString("Demo", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Demo traject.
+ ///
+ public static string DemoAssessmentSection {
+ get {
+ return ResourceManager.GetString("DemoAssessmentSection", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Voorbeeld data.
+ ///
+ public static string ExampleData {
+ get {
+ return ResourceManager.GetString("ExampleData", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap FaultTreeIcon {
+ get {
+ object obj = ResourceManager.GetObject("FaultTreeIcon", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap FolderIcon {
+ get {
+ object obj = ResourceManager.GetObject("FolderIcon", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap FolderIconLarge {
+ get {
+ object obj = ResourceManager.GetObject("FolderIconLarge", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Grafiek.
+ ///
+ public static string General_Chart {
+ get {
+ return ResourceManager.GetString("General_Chart", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Foutenboom.
+ ///
+ public static string General_FaultTree {
+ get {
+ return ResourceManager.GetString("General_FaultTree", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Kaart.
+ ///
+ public static string General_Map {
+ get {
+ return ResourceManager.GetString("General_Map", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Thematische kaart.
+ ///
+ public static string General_ThematicMap {
+ get {
+ return ResourceManager.GetString("General_ThematicMap", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap map {
+ get {
+ object obj = ResourceManager.GetObject("map", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Open een documentvenster met een diagram..
+ ///
+ public static string OpenChartView_ToolTip {
+ get {
+ return ResourceManager.GetString("OpenChartView_ToolTip", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Gebied 1.
+ ///
+ public static string OpenChartViewCommand_Execute_Area_one {
+ get {
+ return ResourceManager.GetString("OpenChartViewCommand_Execute_Area_one", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Gebied 2.
+ ///
+ public static string OpenChartViewCommand_Execute_Area_two {
+ get {
+ return ResourceManager.GetString("OpenChartViewCommand_Execute_Area_two", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Grafiek data.
+ ///
+ public static string OpenChartViewCommand_Execute_Graph_data {
+ get {
+ return ResourceManager.GetString("OpenChartViewCommand_Execute_Graph_data", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Lijn 1.
+ ///
+ public static string OpenChartViewCommand_Execute_Line_one {
+ get {
+ return ResourceManager.GetString("OpenChartViewCommand_Execute_Line_one", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Lijn 2.
+ ///
+ public static string OpenChartViewCommand_Execute_Line_two {
+ get {
+ return ResourceManager.GetString("OpenChartViewCommand_Execute_Line_two", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Punten 1.
+ ///
+ public static string OpenChartViewCommand_Execute_Points_one {
+ get {
+ return ResourceManager.GetString("OpenChartViewCommand_Execute_Points_one", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Punten 2.
+ ///
+ public static string OpenChartViewCommand_Execute_Points_two {
+ get {
+ return ResourceManager.GetString("OpenChartViewCommand_Execute_Points_two", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Open een documentvenster met een foutenboom..
+ ///
+ public static string OpenFaultTree_ToolTip {
+ get {
+ return ResourceManager.GetString("OpenFaultTree_ToolTip", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Open een documentvenster met een kaart..
+ ///
+ public static string OpenMapView_ToolTip {
+ get {
+ return ResourceManager.GetString("OpenMapView_ToolTip", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Ameland.
+ ///
+ public static string OpenMapViewCommand_Execute_Ameland {
+ get {
+ return ResourceManager.GetString("OpenMapViewCommand_Execute_Ameland", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Continentaal Nederland.
+ ///
+ public static string OpenMapViewCommand_Execute_Continentaal_Nederland {
+ get {
+ return ResourceManager.GetString("OpenMapViewCommand_Execute_Continentaal_Nederland", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Demo kaart Nederland.
+ ///
+ public static string OpenMapViewCommand_Execute_Demo_map_netherlands {
+ get {
+ return ResourceManager.GetString("OpenMapViewCommand_Execute_Demo_map_netherlands", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Lege map.
+ ///
+ public static string OpenMapViewCommand_Execute_Empty {
+ get {
+ return ResourceManager.GetString("OpenMapViewCommand_Execute_Empty", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Kustlijn Flevoland.
+ ///
+ public static string OpenMapViewCommand_Execute_Kustlijn_Flevoland {
+ get {
+ return ResourceManager.GetString("OpenMapViewCommand_Execute_Kustlijn_Flevoland", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Randstad.
+ ///
+ public static string OpenMapViewCommand_Execute_Randstad {
+ get {
+ return ResourceManager.GetString("OpenMapViewCommand_Execute_Randstad", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Schiermonnikoog.
+ ///
+ public static string OpenMapViewCommand_Execute_Schiermonnikoog {
+ get {
+ return ResourceManager.GetString("OpenMapViewCommand_Execute_Schiermonnikoog", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Snelwegen randstad.
+ ///
+ public static string OpenMapViewCommand_Execute_Snelwegen_randstad {
+ get {
+ return ResourceManager.GetString("OpenMapViewCommand_Execute_Snelwegen_randstad", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Terschelling.
+ ///
+ public static string OpenMapViewCommand_Execute_Terschelling {
+ get {
+ return ResourceManager.GetString("OpenMapViewCommand_Execute_Terschelling", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Texel.
+ ///
+ public static string OpenMapViewCommand_Execute_Texel {
+ get {
+ return ResourceManager.GetString("OpenMapViewCommand_Execute_Texel", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Vlieland.
+ ///
+ public static string OpenMapViewCommand_Execute_Vlieland {
+ get {
+ return ResourceManager.GetString("OpenMapViewCommand_Execute_Vlieland", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Waddeneilanden.
+ ///
+ public static string OpenMapViewCommand_Execute_Wadden {
+ get {
+ return ResourceManager.GetString("OpenMapViewCommand_Execute_Wadden", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Wadden 2.
+ ///
+ public static string OpenMapViewCommand_Execute_Wadden_two {
+ get {
+ return ResourceManager.GetString("OpenMapViewCommand_Execute_Wadden_two", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Demo kaart categorial theming.
+ ///
+ public static string OpenThematicalMapViewCommand_Execute_Demo_map_with_theming {
+ get {
+ return ResourceManager.GetString("OpenThematicalMapViewCommand_Execute_Demo_map_with_theming", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Lijn data met gelijk criterium.
+ ///
+ public static string OpenThematicalMapViewCommand_Execute_MapLineData_with_EqualValueCriteria {
+ get {
+ return ResourceManager.GetString("OpenThematicalMapViewCommand_Execute_MapLineData_with_EqualValueCriteria", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Lijn data met ongelijk criterium.
+ ///
+ public static string OpenThematicalMapViewCommand_Execute_MapLineData_with_UnequalValueCriteria {
+ get {
+ return ResourceManager.GetString("OpenThematicalMapViewCommand_Execute_MapLineData_with_UnequalValueCriteria", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Punt data met gelijk criterium.
+ ///
+ public static string OpenThematicalMapViewCommand_Execute_MapPointData_with_EqualValueCriteria {
+ get {
+ return ResourceManager.GetString("OpenThematicalMapViewCommand_Execute_MapPointData_with_EqualValueCriteria", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Punt data met ongelijk criterium.
+ ///
+ public static string OpenThematicalMapViewCommand_Execute_MapPointData_with_UnequalValueCriteria {
+ get {
+ return ResourceManager.GetString("OpenThematicalMapViewCommand_Execute_MapPointData_with_UnequalValueCriteria", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Polygon data met gelijk criterium.
+ ///
+ public static string OpenThematicalMapViewCommand_Execute_MapPolygonData_with_EqualValueCriteria {
+ get {
+ return ResourceManager.GetString("OpenThematicalMapViewCommand_Execute_MapPolygonData_with_EqualValueCriteria", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Polygon data met ongelijk criterium.
+ ///
+ public static string OpenThematicalMapViewCommand_Execute_MapPolygonData_with_UnequalValueCriteria {
+ get {
+ return ResourceManager.GetString("OpenThematicalMapViewCommand_Execute_MapPolygonData_with_UnequalValueCriteria", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to AA.
+ ///
+ public static string ThematicalFeatureTypes_A {
+ get {
+ return ResourceManager.GetString("ThematicalFeatureTypes_A", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to BB.
+ ///
+ public static string ThematicalFeatureTypes_B {
+ get {
+ return ResourceManager.GetString("ThematicalFeatureTypes_B", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to CC.
+ ///
+ public static string ThematicalFeatureTypes_C {
+ get {
+ return ResourceManager.GetString("ThematicalFeatureTypes_C", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to DD.
+ ///
+ public static string ThematicalFeatureTypes_D {
+ get {
+ return ResourceManager.GetString("ThematicalFeatureTypes_D", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to EE.
+ ///
+ public static string ThematicalFeatureTypes_E {
+ get {
+ return ResourceManager.GetString("ThematicalFeatureTypes_E", resourceCulture);
+ }
+ }
+ }
+}
Index: Demo/Riskeer/src/Demo.Riskeer/Properties/Resources.resx
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Properties/Resources.resx (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Properties/Resources.resx (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,268 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ Demo
+
+
+ Demo traject
+
+
+ Voorbeeld data
+
+
+ Kaart
+
+
+
+ ..\Resources\map.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Open een documentvenster met een kaart.
+
+
+ ..\resources\chart_line.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Grafiek
+
+
+ Open een documentvenster met een diagram.
+
+
+ Lijn 1
+
+
+ Lijn 2
+
+
+ Gebied 1
+
+
+ Gebied 2
+
+
+ Punten 1
+
+
+ Punten 2
+
+
+ Grafiek data
+
+
+ Texel
+
+
+ Vlieland
+
+
+ Terschelling
+
+
+ Ameland
+
+
+ Schiermonnikoog
+
+
+ Randstad
+
+
+ Snelwegen randstad
+
+
+ Kustlijn Flevoland
+
+
+ Continentaal Nederland
+
+
+ Demo kaart Nederland
+
+
+ ..\Resources\folder-horizontal.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\folder-horizontal_large.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\chart_bar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Kolom grafiek
+
+
+ Foutenboom
+
+
+ Open een documentvenster met een foutenboom.
+
+
+ ..\Resources\chart_organisation.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Thematische kaart
+
+
+ Demo kaart categorial theming
+
+
+ Punt data met gelijk criterium
+
+
+ Punt data met ongelijk criterium
+
+
+ Lijn data met gelijk criterium
+
+
+ Lijn data met ongelijk criterium
+
+
+ Polygon data met gelijk criterium
+
+
+ Polygon data met ongelijk criterium
+
+
+ AA
+
+
+ BB
+
+
+ CC
+
+
+ DD
+
+
+ EE
+
+
+ Waddeneilanden
+
+
+ Lege map
+
+
+ Wadden 2
+
+
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Resources/chart_bar.png
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/Resources/chart_line.png
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/Resources/chart_organisation.png
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/Resources/folder-horizontal.png
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/Resources/folder-horizontal_large.png
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/Resources/map.png
===================================================================
diff -u
Binary files differ
Index: Demo/Riskeer/src/Demo.Riskeer/Ribbons/RingtoetsDemoProjectRibbon.xaml
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Ribbons/RingtoetsDemoProjectRibbon.xaml (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Ribbons/RingtoetsDemoProjectRibbon.xaml (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: Demo/Riskeer/src/Demo.Riskeer/Ribbons/RingtoetsDemoProjectRibbon.xaml.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Ribbons/RingtoetsDemoProjectRibbon.xaml.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Ribbons/RingtoetsDemoProjectRibbon.xaml.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,93 @@
+// Copyright (C) Stichting Deltares 2018. 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.Windows;
+using Core.Common.Controls.Commands;
+using Core.Common.Gui;
+using Core.Common.Gui.Commands;
+using Core.Common.Gui.Forms;
+using Demo.Riskeer.Commands;
+using Fluent;
+
+namespace Demo.Riskeer.Ribbons
+{
+ ///
+ /// Interaction logic for RingtoetsDemoProjectRibbon.xaml
+ ///
+ public partial class RingtoetsDemoProjectRibbon : IRibbonCommandHandler
+ {
+ private readonly ICommand addNewAssessmentSection,
+ openMapViewCommand,
+ openThematicMapViewCommand,
+ openChartViewCommand,
+ openStackChartViewCommand,
+ openPointedTreeGraphViewCommand;
+
+ public RingtoetsDemoProjectRibbon(IProjectOwner projectOwner, IViewCommands viewCommands)
+ {
+ InitializeComponent();
+
+ addNewAssessmentSection = new AddNewDemoAssessmentSectionCommand(projectOwner, viewCommands);
+ openChartViewCommand = new OpenChartViewCommand(viewCommands);
+ openMapViewCommand = new OpenMapViewCommand(viewCommands);
+ openThematicMapViewCommand = new OpenThematicalMapViewCommand(viewCommands);
+ openStackChartViewCommand = new OpenStackChartViewCommand(viewCommands);
+ openPointedTreeGraphViewCommand = new OpenPointedTreeGraphViewCommand(viewCommands);
+ }
+
+ public Ribbon GetRibbonControl()
+ {
+ return RingtoetsDemoProjectRibbonControl;
+ }
+
+ public void ValidateItems() {}
+
+ private void AddNewDemoAssessmentSectionButton_Click(object sender, RoutedEventArgs e)
+ {
+ addNewAssessmentSection.Execute();
+ }
+
+ private void ButtonOpenChartView_Click(object sender, RoutedEventArgs e)
+ {
+ openChartViewCommand.Execute();
+ }
+
+ private void ButtonOpenMapView_Click(object sender, RoutedEventArgs e)
+ {
+ openMapViewCommand.Execute();
+ }
+
+ private void ButtonOpenThematicMapView_Click(object sender, RoutedEventArgs e)
+ {
+ openThematicMapViewCommand.Execute();
+ }
+
+ private void ButtonOpenStackChartView_Click(object sender, RoutedEventArgs e)
+ {
+ openStackChartViewCommand.Execute();
+ }
+
+ private void OpenPointedTreeGraphViewButton_OnClick(object sender, RoutedEventArgs e)
+ {
+ openPointedTreeGraphViewCommand.Execute();
+ }
+ }
+}
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Views/ChartDataView.Designer.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Views/ChartDataView.Designer.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Views/ChartDataView.Designer.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,79 @@
+// Copyright (C) Stichting Deltares 2018. 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 Core.Components.OxyPlot.Forms;
+
+namespace Demo.Riskeer.Views
+{
+ partial class ChartDataView
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ChartDataView));
+ this.chartControl = new Core.Components.OxyPlot.Forms.ChartControl();
+ this.SuspendLayout();
+ //
+ // chart
+ //
+ this.chartControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.chartControl.Location = new System.Drawing.Point(0, 0);
+ this.chartControl.MinimumSize = new System.Drawing.Size(50, 75);
+ this.chartControl.Name = "chartControl";
+ this.chartControl.Size = new System.Drawing.Size(150, 150);
+ this.chartControl.TabIndex = 0;
+ //
+ // ChartDataView
+ //
+ this.Controls.Add(this.chartControl);
+ this.MinimumSize = new System.Drawing.Size(0, 1);
+ this.Name = "ChartDataView";
+ this.ResumeLayout(false);
+ }
+
+ #endregion
+
+ private ChartControl chartControl;
+ }
+}
Index: Demo/Riskeer/src/Demo.Riskeer/Views/ChartDataView.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Views/ChartDataView.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Views/ChartDataView.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,61 @@
+// Copyright (C) Stichting Deltares 2018. 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.Windows.Forms;
+using Core.Components.Chart.Data;
+using Core.Components.Chart.Forms;
+
+namespace Demo.Riskeer.Views
+{
+ ///
+ /// This class represents a simple view with a chart, to which data can be added.
+ ///
+ public partial class ChartDataView : UserControl, IChartView
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public ChartDataView()
+ {
+ InitializeComponent();
+ }
+
+ public object Data
+ {
+ get
+ {
+ return Chart.Data;
+ }
+ set
+ {
+ Chart.Data = value as ChartDataCollection;
+ }
+ }
+
+ public IChartControl Chart
+ {
+ get
+ {
+ return chartControl;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Views/MapDataView.Designer.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Views/MapDataView.Designer.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Views/MapDataView.Designer.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,78 @@
+// Copyright (C) Stichting Deltares 2018. 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 Demo.Riskeer.Views
+{
+ partial class MapDataView
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.mapControl = new Core.Components.DotSpatial.Forms.MapControl();
+ this.SuspendLayout();
+ //
+ // mapControl
+ //
+ this.mapControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.mapControl.Location = new System.Drawing.Point(0, 0);
+ this.mapControl.Name = "mapControl";
+ this.mapControl.Size = new System.Drawing.Size(150, 150);
+ this.mapControl.TabIndex = 0;
+ this.mapControl.Text = "mapControl";
+ //
+ // MapDataView
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.mapControl);
+ this.Name = "MapDataView";
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private Core.Components.DotSpatial.Forms.MapControl mapControl;
+ }
+}
Index: Demo/Riskeer/src/Demo.Riskeer/Views/MapDataView.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Views/MapDataView.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Views/MapDataView.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,61 @@
+// Copyright (C) Stichting Deltares 2018. 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.Windows.Forms;
+using Core.Components.Gis.Data;
+using Core.Components.Gis.Forms;
+
+namespace Demo.Riskeer.Views
+{
+ ///
+ /// This class represents a simple view with a map, to which data can be added.
+ ///
+ public partial class MapDataView : UserControl, IMapView
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public MapDataView()
+ {
+ InitializeComponent();
+ }
+
+ public object Data
+ {
+ get
+ {
+ return Map.Data;
+ }
+ set
+ {
+ mapControl.Data = value as MapDataCollection;
+ }
+ }
+
+ public IMapControl Map
+ {
+ get
+ {
+ return mapControl;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Views/MapDataView.resx
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Views/MapDataView.resx (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Views/MapDataView.resx (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Views/PointedTreeGraphView.Designer.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Views/PointedTreeGraphView.Designer.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Views/PointedTreeGraphView.Designer.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,78 @@
+// Copyright (C) Stichting Deltares 2018. 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 Demo.Riskeer.Views
+{
+ partial class PointedTreeGraphView
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.pointedTreeGraphControl = new Core.Components.GraphSharp.Forms.PointedTreeGraphControl();
+ this.SuspendLayout();
+ //
+ // pointedTreeGraphControl
+ //
+ this.pointedTreeGraphControl.Data = null;
+ this.pointedTreeGraphControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pointedTreeGraphControl.Location = new System.Drawing.Point(0, 0);
+ this.pointedTreeGraphControl.Name = "pointedTreeGraphControl";
+ this.pointedTreeGraphControl.Size = new System.Drawing.Size(150, 150);
+ this.pointedTreeGraphControl.TabIndex = 0;
+ //
+ // PointedTreeGraphView
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.pointedTreeGraphControl);
+ this.Name = "PointedTreeGraphView";
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private Core.Components.GraphSharp.Forms.PointedTreeGraphControl pointedTreeGraphControl;
+ }
+}
Index: Demo/Riskeer/src/Demo.Riskeer/Views/PointedTreeGraphView.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Views/PointedTreeGraphView.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Views/PointedTreeGraphView.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,53 @@
+// Copyright (C) Stichting Deltares 2018. 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.Windows.Forms;
+using Core.Common.Controls.Views;
+using Core.Components.PointedTree.Data;
+
+namespace Demo.Riskeer.Views
+{
+ ///
+ /// This class represents a simple view with a pointed tree, to which data can be added.
+ ///
+ public partial class PointedTreeGraphView : UserControl, IView
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public PointedTreeGraphView()
+ {
+ InitializeComponent();
+ }
+
+ public object Data
+ {
+ get
+ {
+ return pointedTreeGraphControl.Data;
+ }
+ set
+ {
+ pointedTreeGraphControl.Data = value as GraphNode;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Views/PointedTreeGraphView.resx
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Views/PointedTreeGraphView.resx (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Views/PointedTreeGraphView.resx (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Views/StackChartDataView.Designer.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Views/StackChartDataView.Designer.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Views/StackChartDataView.Designer.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,80 @@
+// Copyright (C) Stichting Deltares 2018. 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 Demo.Riskeer.Views
+{
+ partial class StackChartDataView
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.stackChartControl = new Core.Components.OxyPlot.Forms.StackChartControl();
+ this.SuspendLayout();
+ //
+ // stackChartControl
+ //
+ this.stackChartControl.ChartTitle = null;
+ this.stackChartControl.Data = null;
+ this.stackChartControl.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.stackChartControl.Location = new System.Drawing.Point(0, 0);
+ this.stackChartControl.Name = "stackChartControl";
+ this.stackChartControl.Size = new System.Drawing.Size(150, 150);
+ this.stackChartControl.TabIndex = 0;
+ this.stackChartControl.Text = "stackChartControl1";
+ //
+ // StackChartDataView
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.stackChartControl);
+ this.Name = "StackChartDataView";
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private Core.Components.OxyPlot.Forms.StackChartControl stackChartControl;
+ }
+}
Index: Demo/Riskeer/src/Demo.Riskeer/Views/StackChartDataView.cs
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Views/StackChartDataView.cs (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Views/StackChartDataView.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,53 @@
+// Copyright (C) Stichting Deltares 2018. 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.Windows.Forms;
+using Core.Common.Controls.Views;
+using Core.Components.Stack.Data;
+
+namespace Demo.Riskeer.Views
+{
+ ///
+ /// This class represents a simple view with a stack chart, to which data can be added.
+ ///
+ public partial class StackChartDataView : UserControl, IView
+ {
+ ///
+ /// Creates a new instance of .
+ ///
+ public StackChartDataView()
+ {
+ InitializeComponent();
+ }
+
+ public object Data
+ {
+ get
+ {
+ return stackChartControl.Data;
+ }
+ set
+ {
+ stackChartControl.Data = value as StackChartData;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/Views/StackChartDataView.resx
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/Views/StackChartDataView.resx (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/Views/StackChartDataView.resx (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
\ No newline at end of file
Index: Demo/Riskeer/src/Demo.Riskeer/packages.config
===================================================================
diff -u
--- Demo/Riskeer/src/Demo.Riskeer/packages.config (revision 0)
+++ Demo/Riskeer/src/Demo.Riskeer/packages.config (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,25 @@
+
+
+
+
\ No newline at end of file
Index: Demo/Riskeer/test/Demo.Riskeer.Test/Commands/AddNewDemoAssessmentSectionCommandTest.cs
===================================================================
diff -u
--- Demo/Riskeer/test/Demo.Riskeer.Test/Commands/AddNewDemoAssessmentSectionCommandTest.cs (revision 0)
+++ Demo/Riskeer/test/Demo.Riskeer.Test/Commands/AddNewDemoAssessmentSectionCommandTest.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,678 @@
+// Copyright (C) Stichting Deltares 2018. 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.IO;
+using System.Linq;
+using Core.Common.Base;
+using Core.Common.Base.Data;
+using Core.Common.Base.Geometry;
+using Core.Common.Controls.Commands;
+using Core.Common.Gui;
+using Core.Common.Gui.Commands;
+using Demo.Riskeer.Commands;
+using NUnit.Framework;
+using Rhino.Mocks;
+using Ringtoets.ClosingStructures.Data;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.Calculation;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Common.Data.Structures;
+using Ringtoets.Common.Data.TestUtil;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.GrassCoverErosionOutwards.Data;
+using Ringtoets.HeightStructures.Data;
+using Ringtoets.Integration.Data;
+using Ringtoets.Piping.Data;
+using Ringtoets.Piping.Data.SoilProfile;
+using Ringtoets.Piping.Primitives;
+using Ringtoets.Piping.Service;
+using Ringtoets.Revetment.Data;
+using Ringtoets.StabilityPointStructures.Data;
+using Ringtoets.StabilityStoneCover.Data;
+using Ringtoets.WaveImpactAsphaltCover.Data;
+
+namespace Demo.Riskeer.Test.Commands
+{
+ [TestFixture]
+ public class AddNewDemoAssessmentSectionCommandTest
+ {
+ [Test]
+ public void DefaultConstructor_ExpectedValues()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var projectOwner = mocks.Stub();
+ var viewCommands = mocks.Stub();
+ mocks.ReplayAll();
+
+ // Call
+ var command = new AddNewDemoAssessmentSectionCommand(projectOwner, viewCommands);
+
+ // Assert
+ Assert.IsInstanceOf(command);
+ Assert.IsFalse(command.Checked);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void Execute_GuiIsProperlyInitialized_AddNewAssessmentSectionWithDemoDataToRootProject()
+ {
+ // Setup
+ var project = new RingtoetsProject();
+
+ var mocks = new MockRepository();
+ var projectOwner = mocks.Stub();
+ projectOwner.Stub(po => po.Project).Return(project);
+
+ var observer = mocks.StrictMock();
+ observer.Expect(o => o.UpdateObserver());
+
+ var viewCommands = mocks.Stub();
+ mocks.ReplayAll();
+
+ var command = new AddNewDemoAssessmentSectionCommand(projectOwner, viewCommands);
+ project.Attach(observer);
+
+ // Call
+ command.Execute();
+
+ // Assert
+ Assert.AreEqual(1, project.AssessmentSections.Count);
+ AssessmentSection demoAssessmentSection = project.AssessmentSections[0];
+ Assert.AreEqual("Demo traject", demoAssessmentSection.Name);
+ Assert.AreEqual("6-3", demoAssessmentSection.Id);
+
+ AssertHydraulicBoundaryDatabase(demoAssessmentSection);
+
+ Assert.AreEqual(2380, demoAssessmentSection.ReferenceLine.Points.Count());
+
+ foreach (IFailureMechanism failureMechanism in demoAssessmentSection.GetFailureMechanisms())
+ {
+ Assert.AreEqual(283, failureMechanism.Sections.Count());
+ Assert.IsTrue(failureMechanism.FailureMechanismSectionSourcePath.Contains("traject_6-3_vakken.shp"));
+ }
+
+ AssertGrassCoverErosionInwardsFailureMechanism(demoAssessmentSection);
+ AssertGrassCoverErosionOutwardsFailureMechanism(demoAssessmentSection);
+ AssertHeightStructuresFailureMechanism(demoAssessmentSection);
+ AssertClosingStructuresFailureMechanism(demoAssessmentSection);
+ AssertPipingFailureMechanism(demoAssessmentSection);
+ AssertStabilityPointStructuresFailureMechanism(demoAssessmentSection);
+ AssertStabilityStoneCoverFailureMechanism(demoAssessmentSection);
+ AssertWaveImpactAsphaltCoverFailureMechanism(demoAssessmentSection);
+ mocks.VerifyAll();
+ }
+
+ #region General
+
+ private static void AssertCalculationConvergence(IEnumerable calculations)
+ {
+ Assert.IsTrue(calculations.All(c => c.Output.CalculationConvergence == CalculationConvergence.CalculatedConverged));
+ }
+
+ #region WaveConditions
+
+ private static void AssertFailureMechanismCategoryWaveConditionsInput(FailureMechanismCategoryWaveConditionsInput inputParameters)
+ {
+ Assert.AreEqual(1300001, inputParameters.HydraulicBoundaryLocation.Id);
+ Assert.AreEqual(FailureMechanismCategoryType.MechanismSpecificLowerLimitNorm, inputParameters.CategoryType);
+ }
+
+ private static void AssertAssessmentSectionCategoryWaveConditionsInput(AssessmentSectionCategoryWaveConditionsInput inputParameters)
+ {
+ Assert.AreEqual(1300001, inputParameters.HydraulicBoundaryLocation.Id);
+ Assert.AreEqual(AssessmentSectionCategoryType.LowerLimitNorm, inputParameters.CategoryType);
+ }
+
+ #endregion
+
+ #endregion
+
+ #region FailureMechanisms
+
+ #region GrassCoverErosionInwardsFailureMechanism
+
+ private static void AssertGrassCoverErosionInwardsFailureMechanism(AssessmentSection demoAssessmentSection)
+ {
+ Assert.AreEqual(1, demoAssessmentSection.GrassCoverErosionInwards.CalculationsGroup.Children.Count);
+ GrassCoverErosionInwardsCalculation calculation = demoAssessmentSection.GrassCoverErosionInwards
+ .CalculationsGroup.GetCalculations()
+ .OfType()
+ .First();
+ AssertExpectedGrassCoverErosionInwardsInput(calculation.InputParameters);
+ }
+
+ private static void AssertExpectedGrassCoverErosionInwardsInput(GrassCoverErosionInwardsInput inputParameters)
+ {
+ Assert.AreEqual(1300001, inputParameters.HydraulicBoundaryLocation.Id);
+ }
+
+ #endregion
+
+ #region GrassCoverErosionOutwardsFailureMechanism
+
+ private static void AssertGrassCoverErosionOutwardsFailureMechanism(AssessmentSection demoAssessmentSection)
+ {
+ ObservableList hydraulicBoundaryLocations = demoAssessmentSection.HydraulicBoundaryDatabase.Locations;
+ GrassCoverErosionOutwardsFailureMechanism grassCoverErosionOutwardsFailureMechanism = demoAssessmentSection.GrassCoverErosionOutwards;
+
+ AssertHydraulicBoundaryLocationCalculations(grassCoverErosionOutwardsFailureMechanism, hydraulicBoundaryLocations);
+ AssertDesignWaterLevelsForGrassCoverErosionOutwards(grassCoverErosionOutwardsFailureMechanism.WaterLevelCalculationsForMechanismSpecificLowerLimitNorm);
+ AssertCalculationConvergence(grassCoverErosionOutwardsFailureMechanism.WaterLevelCalculationsForMechanismSpecificLowerLimitNorm);
+ AssertWaveHeightsForGrassCoverErosionOutwards(grassCoverErosionOutwardsFailureMechanism.WaveHeightCalculationsForMechanismSpecificLowerLimitNorm);
+ AssertCalculationConvergence(grassCoverErosionOutwardsFailureMechanism.WaveHeightCalculationsForMechanismSpecificLowerLimitNorm);
+
+ Assert.AreEqual(1, demoAssessmentSection.GrassCoverErosionInwards.CalculationsGroup.Children.Count);
+ GrassCoverErosionOutwardsWaveConditionsCalculation calculation = grassCoverErosionOutwardsFailureMechanism.WaveConditionsCalculationGroup.GetCalculations()
+ .OfType()
+ .First();
+ AssertFailureMechanismCategoryWaveConditionsInput(calculation.InputParameters);
+ }
+
+ private static void AssertHydraulicBoundaryLocationCalculations(GrassCoverErosionOutwardsFailureMechanism failureMechanism, IList hydraulicBoundaryLocations)
+ {
+ CollectionAssert.AreEqual(hydraulicBoundaryLocations, failureMechanism.WaterLevelCalculationsForMechanismSpecificFactorizedSignalingNorm.Select(hblc => hblc.HydraulicBoundaryLocation));
+ CollectionAssert.AreEqual(hydraulicBoundaryLocations, failureMechanism.WaterLevelCalculationsForMechanismSpecificSignalingNorm.Select(hblc => hblc.HydraulicBoundaryLocation));
+ CollectionAssert.AreEqual(hydraulicBoundaryLocations, failureMechanism.WaterLevelCalculationsForMechanismSpecificLowerLimitNorm.Select(hblc => hblc.HydraulicBoundaryLocation));
+ CollectionAssert.AreEqual(hydraulicBoundaryLocations, failureMechanism.WaveHeightCalculationsForMechanismSpecificFactorizedSignalingNorm.Select(hblc => hblc.HydraulicBoundaryLocation));
+ CollectionAssert.AreEqual(hydraulicBoundaryLocations, failureMechanism.WaveHeightCalculationsForMechanismSpecificSignalingNorm.Select(hblc => hblc.HydraulicBoundaryLocation));
+ CollectionAssert.AreEqual(hydraulicBoundaryLocations, failureMechanism.WaveHeightCalculationsForMechanismSpecificLowerLimitNorm.Select(hblc => hblc.HydraulicBoundaryLocation));
+ }
+
+ private static void AssertDesignWaterLevelsForGrassCoverErosionOutwards(IObservableEnumerable calculations)
+ {
+ AssertHydraulicBoundaryCalculationResult(7.19, calculations, 0);
+ AssertHydraulicBoundaryCalculationResult(7.19, calculations, 1);
+ AssertHydraulicBoundaryCalculationResult(7.18, calculations, 2);
+ AssertHydraulicBoundaryCalculationResult(7.18, calculations, 3);
+ AssertHydraulicBoundaryCalculationResult(7.18, calculations, 4);
+ AssertHydraulicBoundaryCalculationResult(7.39, calculations, 5);
+ AssertHydraulicBoundaryCalculationResult(7.39, calculations, 6);
+ AssertHydraulicBoundaryCalculationResult(7.39, calculations, 7);
+ AssertHydraulicBoundaryCalculationResult(7.40, calculations, 8);
+ AssertHydraulicBoundaryCalculationResult(7.40, calculations, 9);
+ AssertHydraulicBoundaryCalculationResult(7.40, calculations, 10);
+ AssertHydraulicBoundaryCalculationResult(7.40, calculations, 11);
+ AssertHydraulicBoundaryCalculationResult(7.40, calculations, 12);
+ AssertHydraulicBoundaryCalculationResult(7.41, calculations, 13);
+ AssertHydraulicBoundaryCalculationResult(7.41, calculations, 14);
+ AssertHydraulicBoundaryCalculationResult(6.91, calculations, 15);
+ AssertHydraulicBoundaryCalculationResult(7.53, calculations, 16);
+ AssertHydraulicBoundaryCalculationResult(7.80, calculations, 17);
+ }
+
+ private static void AssertWaveHeightsForGrassCoverErosionOutwards(IObservableEnumerable calculations)
+ {
+ AssertHydraulicBoundaryCalculationResult(4.99, calculations, 0);
+ AssertHydraulicBoundaryCalculationResult(5.04, calculations, 1);
+ AssertHydraulicBoundaryCalculationResult(4.87, calculations, 2);
+ AssertHydraulicBoundaryCalculationResult(4.73, calculations, 3);
+ AssertHydraulicBoundaryCalculationResult(4.59, calculations, 4);
+ AssertHydraulicBoundaryCalculationResult(3.35, calculations, 5);
+ AssertHydraulicBoundaryCalculationResult(3.83, calculations, 6);
+ AssertHydraulicBoundaryCalculationResult(4.00, calculations, 7);
+ AssertHydraulicBoundaryCalculationResult(4.20, calculations, 8);
+ AssertHydraulicBoundaryCalculationResult(4.41, calculations, 9);
+ AssertHydraulicBoundaryCalculationResult(4.50, calculations, 10);
+ AssertHydraulicBoundaryCalculationResult(4.57, calculations, 11);
+ AssertHydraulicBoundaryCalculationResult(4.63, calculations, 12);
+ AssertHydraulicBoundaryCalculationResult(4.68, calculations, 13);
+ AssertHydraulicBoundaryCalculationResult(4.17, calculations, 14);
+ AssertHydraulicBoundaryCalculationResult(11.13, calculations, 15);
+ AssertHydraulicBoundaryCalculationResult(9.24, calculations, 16);
+ AssertHydraulicBoundaryCalculationResult(5.34, calculations, 17);
+ }
+
+ #endregion
+
+ #region HeightStructuresFailureMechanism
+
+ private static void AssertHeightStructuresFailureMechanism(AssessmentSection demoAssessmentSection)
+ {
+ Assert.AreEqual(1, demoAssessmentSection.HeightStructures.HeightStructures.Count);
+ AssertExpectedHeightStructureValues(demoAssessmentSection.HeightStructures.HeightStructures[0]);
+
+ Assert.AreEqual(1, demoAssessmentSection.HeightStructures.CalculationsGroup.Children.Count);
+ StructuresCalculation calculation = demoAssessmentSection.HeightStructures
+ .Calculations
+ .OfType>()
+ .First();
+ AssertExpectedHeightStructuresInput(calculation.InputParameters);
+ }
+
+ private static void AssertExpectedHeightStructureValues(HeightStructure heightStructure)
+ {
+ Assert.AreEqual("Kunstwerk 1", heightStructure.Name);
+ Assert.AreEqual("KUNST1", heightStructure.Id);
+ Assert.AreEqual(new Point2D(12345.56789, 9876.54321), heightStructure.Location);
+ Assert.AreEqual(10.0, heightStructure.StructureNormalOrientation.Value);
+ Assert.AreEqual(4.95, heightStructure.LevelCrestStructure.Mean.Value);
+ Assert.AreEqual(0.05, heightStructure.LevelCrestStructure.StandardDeviation.Value);
+ Assert.AreEqual(25.0, heightStructure.FlowWidthAtBottomProtection.Mean.Value);
+ Assert.AreEqual(0.05, heightStructure.FlowWidthAtBottomProtection.StandardDeviation.Value);
+ Assert.AreEqual(0.1, heightStructure.CriticalOvertoppingDischarge.Mean.Value);
+ Assert.AreEqual(0.15, heightStructure.CriticalOvertoppingDischarge.CoefficientOfVariation.Value);
+ Assert.AreEqual(21.0, heightStructure.WidthFlowApertures.Mean.Value);
+ Assert.AreEqual(0.05, heightStructure.WidthFlowApertures.StandardDeviation.Value);
+ Assert.AreEqual(1.0, heightStructure.FailureProbabilityStructureWithErosion);
+ Assert.AreEqual(20000.0, heightStructure.StorageStructureArea.Mean.Value);
+ Assert.AreEqual(0.1, heightStructure.StorageStructureArea.CoefficientOfVariation.Value);
+ Assert.AreEqual(0.2, heightStructure.AllowedLevelIncreaseStorage.Mean.Value);
+ Assert.AreEqual(0.1, heightStructure.AllowedLevelIncreaseStorage.StandardDeviation.Value);
+ }
+
+ private static void AssertExpectedHeightStructuresInput(HeightStructuresInput inputParameters)
+ {
+ Assert.AreEqual(1300001, inputParameters.HydraulicBoundaryLocation.Id);
+ AssertExpectedHeightStructureValues(inputParameters.Structure);
+ }
+
+ #endregion
+
+ #region ClosingStructuresFailureMechanism
+
+ private static void AssertClosingStructuresFailureMechanism(AssessmentSection demoAssessmentSection)
+ {
+ Assert.AreEqual(1, demoAssessmentSection.ClosingStructures.ClosingStructures.Count);
+ AssertExpectedClosingStructureValues(demoAssessmentSection.ClosingStructures.ClosingStructures[0]);
+
+ Assert.AreEqual(1, demoAssessmentSection.ClosingStructures.CalculationsGroup.Children.Count);
+ StructuresCalculation calculation = demoAssessmentSection.ClosingStructures
+ .Calculations
+ .OfType>()
+ .First();
+ AssertExpectedClosingStructuresInput(calculation.InputParameters);
+ }
+
+ private static void AssertExpectedClosingStructureValues(ClosingStructure closingStructure)
+ {
+ Assert.AreEqual("Kunstwerk 1", closingStructure.Name);
+ Assert.AreEqual("KUNST1", closingStructure.Id);
+ Assert.AreEqual(new Point2D(12345.56789, 9876.54321), closingStructure.Location);
+ Assert.AreEqual(20000.0, closingStructure.StorageStructureArea.Mean.Value);
+ Assert.AreEqual(0.1, closingStructure.StorageStructureArea.CoefficientOfVariation.Value);
+ Assert.AreEqual(0.2, closingStructure.AllowedLevelIncreaseStorage.Mean.Value);
+ Assert.AreEqual(0.1, closingStructure.AllowedLevelIncreaseStorage.StandardDeviation.Value);
+ Assert.AreEqual(10.0, closingStructure.StructureNormalOrientation.Value);
+ Assert.AreEqual(21.0, closingStructure.WidthFlowApertures.Mean.Value);
+ Assert.AreEqual(0.05, closingStructure.WidthFlowApertures.StandardDeviation.Value);
+ Assert.AreEqual(4.95, closingStructure.LevelCrestStructureNotClosing.Mean.Value);
+ Assert.AreEqual(0.05, closingStructure.LevelCrestStructureNotClosing.StandardDeviation.Value);
+ Assert.AreEqual(0.5, closingStructure.InsideWaterLevel.Mean.Value);
+ Assert.AreEqual(0.1, closingStructure.InsideWaterLevel.StandardDeviation.Value);
+ Assert.AreEqual(4.95, closingStructure.ThresholdHeightOpenWeir.Mean.Value);
+ Assert.AreEqual(0.1, closingStructure.ThresholdHeightOpenWeir.StandardDeviation.Value);
+ Assert.AreEqual(31.5, closingStructure.AreaFlowApertures.Mean.Value);
+ Assert.AreEqual(0.01, closingStructure.AreaFlowApertures.StandardDeviation.Value);
+ Assert.AreEqual(1.0, closingStructure.CriticalOvertoppingDischarge.Mean.Value);
+ Assert.AreEqual(0.15, closingStructure.CriticalOvertoppingDischarge.CoefficientOfVariation.Value);
+ Assert.AreEqual(25.0, closingStructure.FlowWidthAtBottomProtection.Mean.Value);
+ Assert.AreEqual(0.05, closingStructure.FlowWidthAtBottomProtection.StandardDeviation.Value);
+ Assert.AreEqual(1.0, closingStructure.ProbabilityOpenStructureBeforeFlooding);
+ Assert.AreEqual(0.1, closingStructure.FailureProbabilityOpenStructure);
+ Assert.AreEqual(4, closingStructure.IdenticalApertures);
+ Assert.AreEqual(1.0, closingStructure.FailureProbabilityReparation);
+ Assert.AreEqual(ClosingStructureInflowModelType.VerticalWall, closingStructure.InflowModelType);
+ }
+
+ private static void AssertExpectedClosingStructuresInput(ClosingStructuresInput inputParameters)
+ {
+ Assert.AreEqual(1300001, inputParameters.HydraulicBoundaryLocation.Id);
+ AssertExpectedClosingStructureValues(inputParameters.Structure);
+ }
+
+ #endregion
+
+ #region PipingFailureMechanism
+
+ private static void AssertPipingFailureMechanism(AssessmentSection demoAssessmentSection)
+ {
+ PipingStochasticSoilModel[] soilModels = demoAssessmentSection.Piping.StochasticSoilModels.ToArray();
+ Assert.AreEqual(4, soilModels.Length);
+ PipingSurfaceLine[] surfaceLines = demoAssessmentSection.Piping.SurfaceLines.ToArray();
+ Assert.AreEqual(4, surfaceLines.Length);
+ AssertCharacteristicPointsOnSurfaceLines(surfaceLines);
+
+ Assert.AreEqual(1, demoAssessmentSection.Piping.CalculationsGroup.Children.Count);
+ PipingCalculationScenario pipingCalculationScenario = demoAssessmentSection.Piping
+ .CalculationsGroup.GetCalculations()
+ .OfType()
+ .First();
+ AssertCalculationAbleToCalculate(pipingCalculationScenario, demoAssessmentSection);
+ AssertCalculationInFailureMechanismSectionResult(
+ pipingCalculationScenario,
+ demoAssessmentSection.Piping.SectionResults.ToArray(),
+ demoAssessmentSection.Piping.Calculations.OfType());
+ }
+
+ private static void AssertCharacteristicPointsOnSurfaceLines(PipingSurfaceLine[] surfaceLines)
+ {
+ PipingSurfaceLine surfaceLine1 = surfaceLines.FirstOrDefault(s => s.Name == "PK001_0001");
+ PipingSurfaceLine surfaceLine2 = surfaceLines.FirstOrDefault(s => s.Name == "PK001_0002");
+ PipingSurfaceLine surfaceLine3 = surfaceLines.FirstOrDefault(s => s.Name == "PK001_0003");
+ PipingSurfaceLine surfaceLine4 = surfaceLines.FirstOrDefault(s => s.Name == "PK001_0004");
+
+ Assert.IsNotNull(surfaceLine1);
+ Assert.IsNotNull(surfaceLine2);
+ Assert.IsNotNull(surfaceLine3);
+ Assert.IsNotNull(surfaceLine4);
+
+ Assert.AreEqual(new Point3D(155883.762, 569864.416, 0.53), surfaceLine1.DitchPolderSide);
+ Assert.AreEqual(new Point3D(155882.067, 569866.157, -1.9), surfaceLine1.BottomDitchPolderSide);
+ Assert.AreEqual(new Point3D(155874.184, 569874.252, -1.9), surfaceLine1.BottomDitchDikeSide);
+ Assert.AreEqual(new Point3D(155872.224, 569876.265, 0.91), surfaceLine1.DitchDikeSide);
+ Assert.AreEqual(new Point3D(155864.173, 569884.532, 0.95), surfaceLine1.DikeToeAtPolder);
+ Assert.AreEqual(new Point3D(155797.109, 569953.4, -4), surfaceLine1.DikeToeAtRiver);
+
+ Assert.IsNull(surfaceLine2.DitchPolderSide);
+ Assert.IsNull(surfaceLine2.BottomDitchPolderSide);
+ Assert.IsNull(surfaceLine2.BottomDitchDikeSide);
+ Assert.IsNull(surfaceLine2.DitchDikeSide);
+ Assert.AreEqual(new Point3D(155558.754, 569618.729, 1.45), surfaceLine2.DikeToeAtPolder);
+ Assert.AreEqual(new Point3D(155505.259, 569701.229, -4), surfaceLine2.DikeToeAtRiver);
+
+ Assert.AreEqual(new Point3D(155063.763, 569276.113, -0.5), surfaceLine3.DitchPolderSide);
+ Assert.AreEqual(new Point3D(155063.272, 569276.926, -1.45), surfaceLine3.BottomDitchPolderSide);
+ Assert.AreEqual(new Point3D(155056.855, 569287.56, -1.45), surfaceLine3.BottomDitchDikeSide);
+ Assert.AreEqual(new Point3D(155056.297, 569288.485, -0.37), surfaceLine3.DitchDikeSide);
+ Assert.AreEqual(new Point3D(155047.587, 569302.917, 1.42), surfaceLine3.DikeToeAtPolder);
+ Assert.AreEqual(new Point3D(154999.006, 569383.419, -4), surfaceLine3.DikeToeAtRiver);
+
+ Assert.IsNull(surfaceLine4.DitchPolderSide);
+ Assert.IsNull(surfaceLine4.BottomDitchPolderSide);
+ Assert.IsNull(surfaceLine4.BottomDitchDikeSide);
+ Assert.IsNull(surfaceLine4.DitchDikeSide);
+ Assert.AreEqual(new Point3D(154682.383, 568112.623, 1.55), surfaceLine4.DikeToeAtPolder);
+ Assert.AreEqual(new Point3D(154586.088, 568119.17, -4), surfaceLine4.DikeToeAtRiver);
+ }
+
+ private static void AssertExpectedPipingInput(PipingInput inputParameters)
+ {
+ Console.WriteLine(@"{0} en {1}", Math.Exp(-0.5), Math.Sqrt((Math.Exp(1) - 1) * Math.Exp(1)));
+ Assert.AreEqual(1.0, inputParameters.UpliftModelFactor, 1e-3);
+ Assert.AreEqual(1.0, inputParameters.SellmeijerModelFactor, 1e-3);
+
+ Assert.AreEqual(9.81, inputParameters.WaterVolumetricWeight, 1e-3);
+ Assert.AreEqual(0.3, inputParameters.SellmeijerReductionFactor, 1e-3);
+ Assert.AreEqual(16.19, inputParameters.SandParticlesVolumicWeight, 1e-3);
+ Assert.AreEqual(0.25, inputParameters.WhitesDragCoefficient, 1e-3);
+ Assert.AreEqual(1.33e-6, inputParameters.WaterKinematicViscosity, 1e-3);
+ Assert.AreEqual(9.81, inputParameters.Gravity, 1e-3);
+ Assert.AreEqual(0.000, inputParameters.MeanDiameter70, 1e-3);
+ Assert.AreEqual(37, inputParameters.BeddingAngle, 1e-3);
+
+ Assert.AreEqual("PK001_0001", inputParameters.SurfaceLine.Name);
+ Assert.AreEqual("PK001_0001_Piping", inputParameters.StochasticSoilModel.Name);
+ Assert.AreEqual("W1-6_0_1D1", inputParameters.StochasticSoilProfile.SoilProfile.Name);
+ Assert.AreEqual(1300001, inputParameters.HydraulicBoundaryLocation.Id);
+
+ Assert.AreEqual(0.875, PipingSemiProbabilisticDesignVariableFactory.GetDampingFactorExit(inputParameters).GetDesignValue(),
+ inputParameters.DampingFactorExit.GetAccuracy());
+ Assert.AreEqual(2.836, PipingSemiProbabilisticDesignVariableFactory.GetPhreaticLevelExit(inputParameters).GetDesignValue(),
+ inputParameters.PhreaticLevelExit.GetAccuracy());
+
+ Assert.AreEqual(106.13, inputParameters.ExitPointL, 1e-2);
+ Assert.AreEqual(81.18, PipingSemiProbabilisticDesignVariableFactory.GetSeepageLength(inputParameters).GetDesignValue(),
+ inputParameters.DampingFactorExit.GetAccuracy());
+ Assert.AreEqual(5.86, PipingSemiProbabilisticDesignVariableFactory.GetThicknessCoverageLayer(inputParameters).GetDesignValue(),
+ inputParameters.DampingFactorExit.GetAccuracy());
+ Assert.AreEqual(20.13, PipingSemiProbabilisticDesignVariableFactory.GetThicknessAquiferLayer(inputParameters).GetDesignValue(),
+ inputParameters.DampingFactorExit.GetAccuracy());
+ }
+
+ private static void AssertCalculationAbleToCalculate(PipingCalculationScenario calculation, IAssessmentSection assessmentSection)
+ {
+ PipingInput inputParameters = calculation.InputParameters;
+ AssertExpectedPipingInput(inputParameters);
+
+ RoundedDouble assessmentLevel = assessmentSection.GetNormativeAssessmentLevel(calculation.InputParameters.HydraulicBoundaryLocation);
+
+ Assert.IsTrue(PipingCalculationService.Validate(calculation, assessmentLevel));
+
+ PipingCalculationService.Calculate(calculation, assessmentLevel);
+ Assert.IsTrue(calculation.HasOutput);
+ Assert.AreEqual(0.683, calculation.Output.HeaveFactorOfSafety, 1e-3);
+ Assert.AreEqual(-0.139, calculation.Output.HeaveZValue, 1e-3);
+ Assert.AreEqual(1.784, calculation.Output.UpliftFactorOfSafety, 1e-3);
+ Assert.AreEqual(2.019, calculation.Output.UpliftZValue, 1e-3);
+ Assert.AreEqual(1.199, calculation.Output.SellmeijerFactorOfSafety, 1e-3);
+ Assert.AreEqual(0.237, calculation.Output.SellmeijerZValue, 1e-3);
+ }
+
+ private static void AssertCalculationInFailureMechanismSectionResult(PipingCalculationScenario calculation, PipingFailureMechanismSectionResult[] sectionResults, IEnumerable calculations)
+ {
+ Assert.AreEqual(283, sectionResults.Length);
+ PipingFailureMechanismSectionResult sectionResultWithCalculation = sectionResults[22];
+
+ CollectionAssert.AreEqual(new[]
+ {
+ calculation
+ }, sectionResultWithCalculation.GetCalculationScenarios(calculations));
+ }
+
+ #endregion
+
+ #region StabilityPointStructuresFailureMechanism
+
+ private static void AssertStabilityPointStructuresFailureMechanism(AssessmentSection demoAssessmentSection)
+ {
+ Assert.AreEqual(1, demoAssessmentSection.StabilityPointStructures.CalculationsGroup.Children.Count);
+ AssertExpectedStabilityPointStructureValues(demoAssessmentSection.StabilityPointStructures.StabilityPointStructures[0]);
+ StructuresCalculation calculation = demoAssessmentSection.StabilityPointStructures
+ .Calculations
+ .OfType>()
+ .First();
+ AssertExpectedStabilityPointStructuresInput(calculation.InputParameters);
+ }
+
+ private static void AssertExpectedStabilityPointStructureValues(StabilityPointStructure structure)
+ {
+ Assert.AreEqual("Kunstwerk", structure.Name);
+ Assert.AreEqual("Kunstwerk id", structure.Id);
+ Assert.AreEqual(new Point2D(131470.777221421, 548329.82912364), structure.Location);
+ Assert.AreEqual(10, structure.StructureNormalOrientation, structure.StructureNormalOrientation.GetAccuracy());
+ Assert.AreEqual(20000, structure.StorageStructureArea.Mean, structure.StorageStructureArea.Mean.GetAccuracy());
+ Assert.AreEqual(0.1, structure.StorageStructureArea.CoefficientOfVariation,
+ structure.StorageStructureArea.CoefficientOfVariation.GetAccuracy());
+ Assert.AreEqual(0.2, structure.AllowedLevelIncreaseStorage.Mean, structure.AllowedLevelIncreaseStorage.Mean.GetAccuracy());
+ Assert.AreEqual(0.1, structure.AllowedLevelIncreaseStorage.StandardDeviation,
+ structure.AllowedLevelIncreaseStorage.StandardDeviation.GetAccuracy());
+ Assert.AreEqual(21, structure.WidthFlowApertures.Mean, structure.WidthFlowApertures.Mean.GetAccuracy());
+ Assert.AreEqual(0.05, structure.WidthFlowApertures.StandardDeviation, structure.WidthFlowApertures.StandardDeviation.GetAccuracy());
+ Assert.AreEqual(0.5, structure.InsideWaterLevel.Mean, structure.InsideWaterLevel.Mean.GetAccuracy());
+ Assert.AreEqual(0.1, structure.InsideWaterLevel.StandardDeviation, structure.InsideWaterLevel.StandardDeviation.GetAccuracy());
+ Assert.AreEqual(4.95, structure.ThresholdHeightOpenWeir.Mean, structure.ThresholdHeightOpenWeir.Mean.GetAccuracy());
+ Assert.AreEqual(0.1, structure.ThresholdHeightOpenWeir.StandardDeviation, structure.ThresholdHeightOpenWeir.StandardDeviation.GetAccuracy());
+ Assert.AreEqual(1, structure.CriticalOvertoppingDischarge.Mean, structure.CriticalOvertoppingDischarge.Mean.GetAccuracy());
+ Assert.AreEqual(0.15, structure.CriticalOvertoppingDischarge.CoefficientOfVariation,
+ structure.CriticalOvertoppingDischarge.CoefficientOfVariation.GetAccuracy());
+ Assert.AreEqual(25, structure.FlowWidthAtBottomProtection.Mean, structure.FlowWidthAtBottomProtection.Mean.GetAccuracy());
+ Assert.AreEqual(1.25, structure.FlowWidthAtBottomProtection.StandardDeviation,
+ structure.FlowWidthAtBottomProtection.StandardDeviation.GetAccuracy());
+ Assert.AreEqual(10, structure.ConstructiveStrengthLinearLoadModel.Mean, structure.ConstructiveStrengthLinearLoadModel.Mean.GetAccuracy());
+ Assert.AreEqual(0.1, structure.ConstructiveStrengthLinearLoadModel.CoefficientOfVariation,
+ structure.ConstructiveStrengthLinearLoadModel.CoefficientOfVariation.GetAccuracy());
+ Assert.AreEqual(10, structure.ConstructiveStrengthQuadraticLoadModel.Mean,
+ structure.ConstructiveStrengthQuadraticLoadModel.Mean.GetAccuracy());
+ Assert.AreEqual(0.1, structure.ConstructiveStrengthQuadraticLoadModel.CoefficientOfVariation,
+ structure.ConstructiveStrengthQuadraticLoadModel.CoefficientOfVariation.GetAccuracy());
+ Assert.AreEqual(0, structure.BankWidth.Mean, structure.BankWidth.Mean.GetAccuracy());
+ Assert.AreEqual(0, structure.BankWidth.StandardDeviation, structure.BankWidth.StandardDeviation.GetAccuracy());
+ Assert.AreEqual(0.5, structure.InsideWaterLevelFailureConstruction.Mean, structure.InsideWaterLevelFailureConstruction.Mean.GetAccuracy());
+ Assert.AreEqual(0.1, structure.InsideWaterLevelFailureConstruction.StandardDeviation,
+ structure.InsideWaterLevelFailureConstruction.StandardDeviation.GetAccuracy());
+ Assert.AreEqual(0, structure.EvaluationLevel, structure.EvaluationLevel.GetAccuracy());
+ Assert.AreEqual(4.95, structure.LevelCrestStructure.Mean, structure.LevelCrestStructure.Mean.GetAccuracy());
+ Assert.AreEqual(0.05, structure.LevelCrestStructure.StandardDeviation, structure.LevelCrestStructure.StandardDeviation.GetAccuracy());
+ Assert.AreEqual(0, structure.VerticalDistance, structure.VerticalDistance.GetAccuracy());
+ Assert.AreEqual(0.5, structure.FailureProbabilityRepairClosure);
+ Assert.AreEqual(10, structure.FailureCollisionEnergy.Mean, structure.FailureCollisionEnergy.Mean.GetAccuracy());
+ Assert.AreEqual(0.3, structure.FailureCollisionEnergy.CoefficientOfVariation,
+ structure.FailureCollisionEnergy.CoefficientOfVariation.GetAccuracy());
+ Assert.AreEqual(16000, structure.ShipMass.Mean, structure.ShipMass.Mean.GetAccuracy());
+ Assert.AreEqual(0.2, structure.ShipMass.CoefficientOfVariation, structure.ShipMass.CoefficientOfVariation.GetAccuracy());
+ Assert.AreEqual(2, structure.ShipVelocity.Mean, structure.ShipVelocity.Mean.GetAccuracy());
+ Assert.AreEqual(0.2, structure.ShipVelocity.CoefficientOfVariation, structure.ShipVelocity.CoefficientOfVariation.GetAccuracy());
+ Assert.AreEqual(0, structure.LevellingCount);
+ Assert.AreEqual(0, structure.ProbabilityCollisionSecondaryStructure);
+ Assert.AreEqual(1, structure.FlowVelocityStructureClosable.Mean, structure.FlowVelocityStructureClosable.Mean.GetAccuracy());
+ Assert.AreEqual(15, structure.StabilityLinearLoadModel.Mean, structure.StabilityLinearLoadModel.Mean.GetAccuracy());
+ Assert.AreEqual(0.1, structure.StabilityLinearLoadModel.CoefficientOfVariation,
+ structure.StabilityLinearLoadModel.CoefficientOfVariation.GetAccuracy());
+ Assert.AreEqual(15, structure.StabilityQuadraticLoadModel.Mean, structure.StabilityQuadraticLoadModel.Mean.GetAccuracy());
+ Assert.AreEqual(0.1, structure.StabilityQuadraticLoadModel.CoefficientOfVariation,
+ structure.StabilityQuadraticLoadModel.CoefficientOfVariation.GetAccuracy());
+ Assert.AreEqual(2.5, structure.AreaFlowApertures.Mean, structure.AreaFlowApertures.Mean.GetAccuracy());
+ Assert.AreEqual(0.01, structure.AreaFlowApertures.StandardDeviation, structure.AreaFlowApertures.StandardDeviation.GetAccuracy());
+ Assert.AreEqual(StabilityPointStructureInflowModelType.FloodedCulvert, structure.InflowModelType);
+ }
+
+ private static void AssertExpectedStabilityPointStructuresInput(StabilityPointStructuresInput inputParameters)
+ {
+ Assert.AreEqual(1300001, inputParameters.HydraulicBoundaryLocation.Id);
+ }
+
+ #endregion
+
+ #region StabilityStoneCoverFailureMechanism
+
+ private static void AssertStabilityStoneCoverFailureMechanism(AssessmentSection demoAssessmentSection)
+ {
+ Assert.AreEqual(1, demoAssessmentSection.StabilityStoneCover.WaveConditionsCalculationGroup.Children.Count);
+ StabilityStoneCoverWaveConditionsCalculation calculation = demoAssessmentSection.StabilityStoneCover
+ .WaveConditionsCalculationGroup.GetCalculations()
+ .OfType()
+ .First();
+ AssertAssessmentSectionCategoryWaveConditionsInput(calculation.InputParameters);
+ }
+
+ #endregion
+
+ #region WaveImpactAsphaltCoverFailureMechanism
+
+ private static void AssertWaveImpactAsphaltCoverFailureMechanism(AssessmentSection demoAssessmentSection)
+ {
+ Assert.AreEqual(1, demoAssessmentSection.WaveImpactAsphaltCover.WaveConditionsCalculationGroup.Children.Count);
+ WaveImpactAsphaltCoverWaveConditionsCalculation calculation = demoAssessmentSection.WaveImpactAsphaltCover
+ .WaveConditionsCalculationGroup.GetCalculations()
+ .OfType()
+ .First();
+ AssertAssessmentSectionCategoryWaveConditionsInput(calculation.InputParameters);
+ }
+
+ #endregion
+
+ #endregion
+
+ #region HydraulicBoundaryDatabase
+
+ private static void AssertHydraulicBoundaryDatabase(AssessmentSection demoAssessmentSection)
+ {
+ Assert.IsNotEmpty(demoAssessmentSection.HydraulicBoundaryDatabase.FilePath);
+ Assert.IsTrue(File.Exists(demoAssessmentSection.HydraulicBoundaryDatabase.FilePath));
+ string directoryName = Path.GetDirectoryName(demoAssessmentSection.HydraulicBoundaryDatabase.FilePath);
+ Assert.IsNotNull(directoryName);
+ Assert.IsTrue(File.Exists(Path.Combine(directoryName, "HLCD.sqlite")));
+
+ ObservableList hydraulicBoundaryLocations = demoAssessmentSection.HydraulicBoundaryDatabase.Locations;
+ Assert.AreEqual(18, hydraulicBoundaryLocations.Count);
+ AssertHydraulicBoundaryLocationCalculations(demoAssessmentSection);
+ AssertDesignWaterLevelsForAssessmentSection(demoAssessmentSection);
+ AssertCalculationConvergence(demoAssessmentSection.WaterLevelCalculationsForLowerLimitNorm);
+ AssertWaveHeightsForAssessmentSection(demoAssessmentSection);
+ AssertCalculationConvergence(demoAssessmentSection.WaveHeightCalculationsForLowerLimitNorm);
+ }
+
+ private static void AssertHydraulicBoundaryLocationCalculations(IAssessmentSection assessmentSection)
+ {
+ ObservableList hydraulicBoundaryLocations = assessmentSection.HydraulicBoundaryDatabase.Locations;
+
+ CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.WaterLevelCalculationsForFactorizedSignalingNorm.Select(hblc => hblc.HydraulicBoundaryLocation));
+ CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.WaterLevelCalculationsForSignalingNorm.Select(hblc => hblc.HydraulicBoundaryLocation));
+ CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.WaterLevelCalculationsForLowerLimitNorm.Select(hblc => hblc.HydraulicBoundaryLocation));
+ CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.WaterLevelCalculationsForFactorizedLowerLimitNorm.Select(hblc => hblc.HydraulicBoundaryLocation));
+ CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.WaveHeightCalculationsForFactorizedSignalingNorm.Select(hblc => hblc.HydraulicBoundaryLocation));
+ CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.WaveHeightCalculationsForSignalingNorm.Select(hblc => hblc.HydraulicBoundaryLocation));
+ CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.WaveHeightCalculationsForLowerLimitNorm.Select(hblc => hblc.HydraulicBoundaryLocation));
+ CollectionAssert.AreEqual(hydraulicBoundaryLocations, assessmentSection.WaveHeightCalculationsForFactorizedLowerLimitNorm.Select(hblc => hblc.HydraulicBoundaryLocation));
+ }
+
+ private static void AssertDesignWaterLevelsForAssessmentSection(IAssessmentSection assessmentSection)
+ {
+ IObservableEnumerable calculations = assessmentSection.WaterLevelCalculationsForLowerLimitNorm;
+
+ AssertHydraulicBoundaryCalculationResult(5.78, calculations, 0);
+ AssertHydraulicBoundaryCalculationResult(5.77, calculations, 1);
+ AssertHydraulicBoundaryCalculationResult(5.77, calculations, 2);
+ AssertHydraulicBoundaryCalculationResult(5.77, calculations, 3);
+ AssertHydraulicBoundaryCalculationResult(5.77, calculations, 4);
+ AssertHydraulicBoundaryCalculationResult(5.93, calculations, 5);
+ AssertHydraulicBoundaryCalculationResult(5.93, calculations, 6);
+ AssertHydraulicBoundaryCalculationResult(5.93, calculations, 7);
+ AssertHydraulicBoundaryCalculationResult(5.93, calculations, 8);
+ AssertHydraulicBoundaryCalculationResult(5.93, calculations, 9);
+ AssertHydraulicBoundaryCalculationResult(5.93, calculations, 10);
+ AssertHydraulicBoundaryCalculationResult(5.93, calculations, 11);
+ AssertHydraulicBoundaryCalculationResult(5.93, calculations, 12);
+ AssertHydraulicBoundaryCalculationResult(5.93, calculations, 13);
+ AssertHydraulicBoundaryCalculationResult(5.93, calculations, 14);
+ AssertHydraulicBoundaryCalculationResult(5.54, calculations, 15);
+ AssertHydraulicBoundaryCalculationResult(5.86, calculations, 16);
+ AssertHydraulicBoundaryCalculationResult(6.00, calculations, 17);
+ }
+
+ private static void AssertWaveHeightsForAssessmentSection(IAssessmentSection assessmentSection)
+ {
+ IObservableEnumerable calculations = assessmentSection.WaveHeightCalculationsForLowerLimitNorm;
+
+ AssertHydraulicBoundaryCalculationResult(4.13, calculations, 0);
+ AssertHydraulicBoundaryCalculationResult(4.19, calculations, 1);
+ AssertHydraulicBoundaryCalculationResult(4.02, calculations, 2);
+ AssertHydraulicBoundaryCalculationResult(3.87, calculations, 3);
+ AssertHydraulicBoundaryCalculationResult(3.73, calculations, 4);
+ AssertHydraulicBoundaryCalculationResult(2.65, calculations, 5);
+ AssertHydraulicBoundaryCalculationResult(3.04, calculations, 6);
+ AssertHydraulicBoundaryCalculationResult(3.20, calculations, 7);
+ AssertHydraulicBoundaryCalculationResult(3.35, calculations, 8);
+ AssertHydraulicBoundaryCalculationResult(3.53, calculations, 9);
+ AssertHydraulicBoundaryCalculationResult(3.62, calculations, 10);
+ AssertHydraulicBoundaryCalculationResult(3.68, calculations, 11);
+ AssertHydraulicBoundaryCalculationResult(3.73, calculations, 12);
+ AssertHydraulicBoundaryCalculationResult(3.75, calculations, 13);
+ AssertHydraulicBoundaryCalculationResult(3.30, calculations, 14);
+ AssertHydraulicBoundaryCalculationResult(9.57, calculations, 15);
+ AssertHydraulicBoundaryCalculationResult(8.02, calculations, 16);
+ AssertHydraulicBoundaryCalculationResult(4.11, calculations, 17);
+ }
+
+ private static void AssertHydraulicBoundaryCalculationResult(double expectedResult, IObservableEnumerable calculations, int index)
+ {
+ RoundedDouble result = calculations.ElementAt(index).Output.Result;
+
+ Assert.AreEqual(expectedResult, result, result.GetAccuracy());
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Demo/Riskeer/test/Demo.Riskeer.Test/Commands/OpenChartViewCommandTest.cs
===================================================================
diff -u
--- Demo/Riskeer/test/Demo.Riskeer.Test/Commands/OpenChartViewCommandTest.cs (revision 0)
+++ Demo/Riskeer/test/Demo.Riskeer.Test/Commands/OpenChartViewCommandTest.cs (revision ce200e5d78847b62ce11373a2f5c4507618caf56)
@@ -0,0 +1,68 @@
+// Copyright (C) Stichting Deltares 2018. 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 Core.Common.Gui.Commands;
+using Demo.Riskeer.Commands;
+using NUnit.Framework;
+using Rhino.Mocks;
+
+namespace Demo.Riskeer.Test.Commands
+{
+ [TestFixture]
+ public class OpenChartViewCommandTest
+ {
+ [Test]
+ public void Execute_Always_OpensViewForIChartData()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var viewCommands = mocks.StrictMock();
+ viewCommands.Expect(g => g.OpenView(Arg