Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProject.cs =================================================================== diff -u -r6727 -r6793 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProject.cs (.../DamProject.cs) (revision 6727) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProject.cs (.../DamProject.cs) (revision 6793) @@ -176,36 +176,6 @@ } /// - /// Loads DAM project data from the given .damx file. - /// - /// Name of the file. - /// The project data - /// - /// - public static DamProjectData LoadData(string fileName) - { - if (string.IsNullOrWhiteSpace(fileName)) - { - throw new ArgumentException("fileName"); - } - - if (!File.Exists(fileName)) - { - throw new FileNotFoundException(fileName); - } - - if (!fileName.EndsWith("damx")) - { - throw new ArgumentException("No damx file", "fileName"); - } - - using (var damProject = new DamProject()) - { - return damProject.OpenXMLProject(fileName) as DamProjectData; - } - } - - /// /// Saves DAM project data to the given .damx file. /// /// If the file already exists it will be overriden Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml =================================================================== diff -u -r6782 -r6793 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml (.../Translations.xml) (revision 6782) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml (.../Translations.xml) (revision 6793) @@ -169,8 +169,7 @@ - - + @@ -480,8 +479,7 @@ - - + Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/FailureMechanismeParamatersMStab.cs =================================================================== diff -u -r6436 -r6793 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/FailureMechanismeParamatersMStab.cs (.../FailureMechanismeParamatersMStab.cs) (revision 6436) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/FailureMechanismeParamatersMStab.cs (.../FailureMechanismeParamatersMStab.cs) (revision 6793) @@ -39,12 +39,8 @@ public Location Location { get; set; } public SurfaceLine2 SurfaceLine { get; set; } - public PLLines PLLines { get; set; } public SoilProfile1D SoilProfile { get; set; } public string SoilGeometry2DName { get; set; } - public double RiverLevel { get; set; } - public double DikeTableHeight { get; set; } - public double TrafficLoad { get; set; } /// /// Indicates whether in stability calculation a check on uplift will be performed before performin UpliftVan calculation. @@ -66,11 +62,6 @@ SurfaceLine = failureMechanismeParametersMStab.SurfaceLine; SoilProfile = failureMechanismeParametersMStab.SoilProfile; SoilGeometry2DName = failureMechanismeParametersMStab.SoilGeometry2DName; - PLLines = failureMechanismeParametersMStab.PLLines; - - RiverLevel = failureMechanismeParametersMStab.RiverLevel; - DikeTableHeight = failureMechanismeParametersMStab.DikeTableHeight; - TrafficLoad = failureMechanismeParametersMStab.TrafficLoad; Design = failureMechanismeParametersMStab.Design; MStabParameters.Assign(failureMechanismeParametersMStab.MStabParameters); Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DAMEnumerations.cs =================================================================== diff -u -r6750 -r6793 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DAMEnumerations.cs (.../DAMEnumerations.cs) (revision 6750) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DAMEnumerations.cs (.../DAMEnumerations.cs) (revision 6793) @@ -80,12 +80,6 @@ BeeSwarm } -public enum StabilityGridPosition -{ - Left, - Right -} - public enum StabilityZoneType { [Label("No zones")] Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProjectData.cs =================================================================== diff -u -r6778 -r6793 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProjectData.cs (.../DamProjectData.cs) (revision 6778) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamProjectData.cs (.../DamProjectData.cs) (revision 6793) @@ -326,7 +326,7 @@ /// /// Updates the design calculations. /// - public void UpdateDesignCalculations() + private void UpdateDesignCalculations() { if (designCalculations == null) { @@ -348,38 +348,7 @@ DataEventPublisher.DataListModified(designCalculations); } - - public CalculationResult Validate() - { - try - { - //Todo validation has to extended, handling the actual messages instead of just CalculationResult too. - foreach (Dike dike in WaterBoard.Dikes) - { - dike.Validate(); - } - - return CalculationResult.Succeeded; - } - catch - { - return CalculationResult.InvalidInputData; - } - } - - public LocationJob GetLocationJob(Location location) - { - foreach (LocationJob locationJob in LocationJobs) - { - if (locationJob.Location == location) - { - return locationJob; - } - } - - return null; - } - + public LocationJob GetFirstLocationJobWithDesignResults() { foreach (LocationJob locationJob in LocationJobs) @@ -431,7 +400,7 @@ jobs.Clear(); } - // Delete calculationresults in scenarios + // Delete calculation results in scenarios List scenarios = CreateScenarioListForDeletion(); foreach (Scenario scenario in scenarios) { @@ -534,8 +503,6 @@ switch (property) { case "SensorData": return damProjectType == DamProjectType.DamLiveConfiguration; - case "SchematizationFactors": return false; - //Bka: for now (release 1.4.1), do not show SchematizationFactors return this.HasResults() && this.DamProjectType == Data.DamProjectType.Assessment; case "DesignCalculations": return HasResults() && DamProjectType == DamProjectType.Design; case "DamProjectCalculationSpecification": return DamProjectCalculationSpecification.DamCalculationSpecifications.Count > 0; Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.TestHelper/ComputeHelper.cs =================================================================== diff -u -r6787 -r6793 --- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.TestHelper/ComputeHelper.cs (.../ComputeHelper.cs) (revision 6787) +++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.TestHelper/ComputeHelper.cs (.../ComputeHelper.cs) (revision 6793) @@ -58,14 +58,10 @@ .MStabParameters.SearchMethod = StabilitySearchMethod.Grid; if (isStabilityInside) { - damProjectData.DamProjectCalculationSpecification.CurrentSpecification.FailureMechanismeParamatersMStab - .MStabParameters.GridPosition = StabilityGridPosition.Right; damProjectData.DamProjectCalculationSpecification.CurrentSpecification.FailureMechanismSystemType = FailureMechanismSystemType.StabilityInside; } else { - damProjectData.DamProjectCalculationSpecification.CurrentSpecification.FailureMechanismeParamatersMStab - .MStabParameters.GridPosition = StabilityGridPosition.Left; damProjectData.DamProjectCalculationSpecification.CurrentSpecification.FailureMechanismSystemType = FailureMechanismSystemType.StabilityOutside; } Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/WaterBoard.cs =================================================================== diff -u -r6750 -r6793 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/WaterBoard.cs (.../WaterBoard.cs) (revision 6750) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/WaterBoard.cs (.../WaterBoard.cs) (revision 6793) @@ -40,7 +40,6 @@ private List locations; private IList featureList; private IList segments; - private IList soilgeometry2DNames; private string waterLevelTimeSeriesFileName; private Dike selectedDike; @@ -50,7 +49,6 @@ featureList = new List(); backgroundRepository = new FeatureRepository(); segments = new List(); - soilgeometry2DNames = new List(); } public virtual IList Segments @@ -65,18 +63,6 @@ } } - public virtual IList SoilGeometry2DNames - { - get - { - return soilgeometry2DNames; - } - set - { - soilgeometry2DNames = value; - } - } - /// /// Gets the selected dike. /// Is a helper property to be able to show the soil table. When more Dikes than one are allowed, @@ -151,15 +137,6 @@ } } - [Label("Number of Dikes")] - public virtual string NumberOfDikes - { - get - { - return dikes.Count.ToString(); - } - } - public virtual string Name { get @@ -187,23 +164,6 @@ } } - public void FillGeometry2DNamesFromSegments() - { - // Add soilgeometry2D names into list - foreach (Segment segment in Segments) - { - foreach (SoilGeometryProbability soilGeometryProbability in segment.SoilProfileProbabilities) - { - if (soilGeometryProbability.SoilGeometry2DName != null && !SoilGeometry2DNamesContains(soilGeometryProbability.SoilGeometry2DName)) - { - var soilGeometry2DName = new SoilGeometry2DName(); - soilGeometry2DName.Geometry2DName = soilGeometryProbability.SoilGeometry2DName; - SoilGeometry2DNames.Add(soilGeometry2DName); - } - } - } - } - public void FillFeatureList() { foreach (IFeature feature in backgroundRepository.Features) @@ -214,17 +174,6 @@ } } - /// - /// Updates the locations for scenarios. - /// - public void UpdateLocationsForScenarios() - { - foreach (Dike dike in Dikes) - { - dike.UpdateLocationsForScenarios(); - } - } - public void AddBackgroundGeometry(IFeature geometry) { backgroundRepository.Add(geometry); @@ -264,19 +213,6 @@ return true; } - private bool SoilGeometry2DNamesContains(string Name) - { - foreach (SoilGeometry2DName soilGeometry2DName in SoilGeometry2DNames) - { - if (soilGeometry2DName.Geometry2DName == Name) - { - return true; - } - } - - return false; - } - private void FillBackGroundRepos() { if (featureList != null) Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamFailureMechanismeCalculationSpecification.cs =================================================================== diff -u -r6436 -r6793 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamFailureMechanismeCalculationSpecification.cs (.../DamFailureMechanismeCalculationSpecification.cs) (revision 6436) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamFailureMechanismeCalculationSpecification.cs (.../DamFailureMechanismeCalculationSpecification.cs) (revision 6793) @@ -48,7 +48,6 @@ failureMechanismSystemType = FailureMechanismSystemType.StabilityInside; FailureMechanismeParamatersMStab = new FailureMechanismeParamatersMStab(); CalculationModel = FailureMechanismeParamatersMStab.MStabParameters.Model; - FailureMechanismeParamatersMStab.MStabParameters.GridPosition = StabilityGridPosition.Right; ReadUserSettingsSlipCircleDefinition(); } @@ -79,17 +78,9 @@ break; } - switch (failureMechanismSystemType) + if (failureMechanismSystemType == FailureMechanismSystemType.Piping) { - case FailureMechanismSystemType.StabilityInside: - FailureMechanismeParamatersMStab.MStabParameters.GridPosition = StabilityGridPosition.Right; - break; - case FailureMechanismSystemType.StabilityOutside: - FailureMechanismeParamatersMStab.MStabParameters.GridPosition = StabilityGridPosition.Left; - break; - case FailureMechanismSystemType.Piping: - PipingModelType = oldPipingModelType; - break; + PipingModelType = oldPipingModelType; } DataEventPublisher.AfterChange(this, "FailureMechanismSystemType"); @@ -168,7 +159,7 @@ } } - public void Assign(DamFailureMechanismeCalculationSpecification damFailureMechanismeCalculation) + private void Assign(DamFailureMechanismeCalculationSpecification damFailureMechanismeCalculation) { failureMechanismSystemType = damFailureMechanismeCalculation.FailureMechanismSystemType; calculationModel = damFailureMechanismeCalculation.CalculationModel; @@ -188,26 +179,9 @@ } /// - /// Determines whether slip circle definition is undefined. - /// - /// - /// true if [is slip circle definition undefined]; otherwise, false. - /// - public bool IsSlipCircleDefinitionUndefined() - { - bool isSlipCircleDefinitionUndefined = (FailureMechanismeParamatersMStab.MStabParameters.SlipCircleDefinition == null); - if (!isSlipCircleDefinitionUndefined) - { - isSlipCircleDefinitionUndefined = (FailureMechanismeParamatersMStab.MStabParameters.SlipCircleDefinition.UpliftVanLeftGridHorizontalPointCount == 0); - } - - return isSlipCircleDefinitionUndefined; - } - - /// /// Reads the user settings. /// - public void ReadUserSettingsSlipCircleDefinition() + private void ReadUserSettingsSlipCircleDefinition() { if (FailureMechanismeParamatersMStab.MStabParameters.SlipCircleDefinition == null) { Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/DikeCoordinateSystemConverterTest.cs =================================================================== diff -u -r6436 -r6793 --- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/DikeCoordinateSystemConverterTest.cs (.../DikeCoordinateSystemConverterTest.cs) (revision 6436) +++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/DikeCoordinateSystemConverterTest.cs (.../DikeCoordinateSystemConverterTest.cs) (revision 6793) @@ -223,38 +223,26 @@ surfaceLine = CreateGlobalSurfaceLineWithAlphaBetween0and90Degrees(); surfaceLine.Name = "SL1"; dike.SurfaceLines2.Add(surfaceLine); - // Location 1 pl1 line - PL1Line pl1Line; - pl1Line = CreateGlobalPL1LineWithAlphaBetween0and90Degrees(); - pl1Line.Name = "PL1_1"; - dike.PL1Lines.Add(pl1Line); // Location 1 var location = new Location(); location.Name = "Loc1"; location.SurfaceLine2 = surfaceLine; - location.PL1Line = pl1Line; dike.Locations.Add(location); // Location 2 surface line surfaceLine = CreateGlobalSurfaceLineSteepWithAlphaBetween0and90Degrees(); surfaceLine.Name = "SL2"; dike.SurfaceLines2.Add(surfaceLine); - // Location 2 pl1 line - pl1Line = CreateGlobalPL1LineSteepWithAlphaBetween0and90Degrees(); - pl1Line.Name = "PL1_2"; - dike.PL1Lines.Add(pl1Line); // Location 2 (with sheetpiling) location = new Location(); location.Name = "Loc2"; location.SurfaceLine2 = surfaceLine; - location.PL1Line = pl1Line; dike.Locations.Add(location); // Location 3: a location which has the same surfaceline and pl1-line as Location 2 location = new Location(); location.Name = "Loc3"; location.SurfaceLine2 = surfaceLine; - location.PL1Line = pl1Line; dike.Locations.Add(location); return dike; Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Dike.cs =================================================================== diff -u -r6781 -r6793 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Dike.cs (.../Dike.cs) (revision 6781) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Dike.cs (.../Dike.cs) (revision 6793) @@ -23,6 +23,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Linq; +using System.Xml.Serialization; using Deltares.Dam.Data.CsvImporters; using Deltares.Geotechnics.Soils; using Deltares.Geotechnics.SurfaceLines; @@ -51,7 +52,6 @@ { private IList locations; - private IList pl1Lines; private SoilList soilList; private List damSoils; private IList soilProfiles; @@ -64,7 +64,6 @@ locations = new List(); soilProfiles = new List(); SurfaceLines2 = new List(); - pl1Lines = new List(); soilList = new SoilList(); damSoils = new List(); } @@ -87,12 +86,6 @@ public IList SurfaceLines2 { get; set; } - public virtual IList PL1Lines - { - get => pl1Lines; - set => pl1Lines = value; - } - public virtual IList SoilProfiles { get => soilProfiles; @@ -118,22 +111,6 @@ [Browsable(false)] public virtual IList GaugePLLines { get; set; } = new List(); - public bool UsesGauges => (GaugePLLines != null) && (GaugePLLines.Count > 0) && (Gauges != null); - - public virtual List Scenarios - { - get - { - var scenarios = new List(); - foreach (Location location in Locations) - { - scenarios.AddRange(location.Scenarios); - } - - return scenarios; - } - } - public string Description { get; set; } = ""; /// @@ -147,20 +124,6 @@ } /// - /// Updates the locations for scenarios. - /// - public void UpdateLocationsForScenarios() - { - foreach (Location location in Locations) - { - foreach (Scenario scenario in location.Scenarios) - { - scenario.Location = location; - } - } - } - - /// /// Sorts the locations. /// public void SortLocations() @@ -471,9 +434,7 @@ } } - internal List ImportedCsvSoils { get; } = new(); - internal List ImportedCsvStressCurves { get; } = new(); - internal List ImportedCsvSuTables { get; } = new(); + [XmlIgnore] internal List ImportedCsvSoils { get; } = new(); /// /// Remove the from both soil lists (SoilList and DamSoils). @@ -485,6 +446,9 @@ soilList.Remove(damSoil); } + [XmlIgnore] private List ImportedCsvStressCurves { get; } = new(); + [XmlIgnore] private List ImportedCsvSuTables { get; } = new(); + /// /// Tries to make the soil data as read for 1D profiles consistent with the data in the soil database. /// In the end we have a neat soil list with parameters for every soil as read from the database. @@ -594,7 +558,7 @@ } /// - /// Checks wether a location (or rather the soilprofiles in the segement of the location) contains invalid soils. + /// Checks whether a location (or rather the soil profiles in the segment of the location) contains invalid soils. /// A soil is hereby considered invalid if it is not found in the database. /// /// @@ -628,17 +592,17 @@ } /// - /// Delete all locations without surfacelines + /// Delete all locations without surface lines /// private List DeleteLocationsWithoutSurfaceLines() { var logMessages = new List(); - //Add all locations with valid surfaceline + //Add all locations with valid surface line var newLocations = new List(); newLocations.AddRange(Locations.Where(loc => loc.SurfaceLine2 != null)); - // Report which locations are not added because no valid surfaceline is found + // Report which locations are not added because no valid surface line is found var deletedLocations = new List(); deletedLocations.AddRange(Locations.Where(loc => loc.SurfaceLine2 == null)); foreach (Location deletedLocation in deletedLocations) Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.TestHelper/FactoryForStabilityTests.cs =================================================================== diff -u -r6436 -r6793 --- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.TestHelper/FactoryForStabilityTests.cs (.../FactoryForStabilityTests.cs) (revision 6436) +++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.TestHelper/FactoryForStabilityTests.cs (.../FactoryForStabilityTests.cs) (revision 6793) @@ -34,8 +34,7 @@ return new MStabParameters { Model = StabilityModelType.Bishop, - SearchMethod = StabilitySearchMethod.Grid, - GridPosition = StabilityGridPosition.Right + SearchMethod = StabilitySearchMethod.Grid }; } } Index: DamClients/DamUI/trunk/src/Dam/Forms/Translations.xml =================================================================== diff -u -r6779 -r6793 --- DamClients/DamUI/trunk/src/Dam/Forms/Translations.xml (.../Translations.xml) (revision 6779) +++ DamClients/DamUI/trunk/src/Dam/Forms/Translations.xml (.../Translations.xml) (revision 6793) @@ -23,8 +23,7 @@ --> - - + Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Location.cs =================================================================== diff -u -r6750 -r6793 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Location.cs (.../Location.cs) (revision 6750) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Location.cs (.../Location.cs) (revision 6793) @@ -29,7 +29,6 @@ using Deltares.Dam.Data.Sensors; using Deltares.DamEngine.Data.Standard; using Deltares.Geographic; -using Deltares.Geometry; using Deltares.Geotechnics.Soils; using Deltares.Geotechnics.SurfaceLines; using Deltares.Geotechnics.Validation; @@ -50,7 +49,6 @@ public const string YRd = "YRd"; public const string SegmentId = "SegmentId"; public const string SurfaceLineId = "SurfaceLineId"; - public const string PL1LineId = "PL1LineId"; public const string XSoilGeometry2DOrigin = "XSoilGeometry2DOrigin"; public const string DikeEmbankmentMaterial = "DikeEmbankmentMaterial"; public const string ShoulderEmbankmentMaterial = "ShoulderEmbankmentMaterial"; @@ -134,7 +132,6 @@ private double newShoulderTopSlope = 1.0 / 20.0; // as tangent private double newSlopeAngleDitch = 1.0 / 0.5; // as tangent private double newWidthDitchBottom = 1.0; - private PL1Line pL1Line; private PLLineCreationMethod pLLineCreationMethod = PLLineCreationMethod.ExpertKnowledgeRRD; private double penetrationLength; private bool redesignDikeHeight = true; @@ -185,14 +182,6 @@ this.name = name; } - public bool HasSensorData - { - get - { - return sensorLocation != null; - } - } - [Browsable(false)] [XmlOldName("SensorData")] public virtual SensorLocation SensorLocation @@ -371,21 +360,6 @@ } [Browsable(false)] - public virtual PL1Line PL1Line - { - get - { - return pL1Line; - } - set - { - DataEventPublisher.BeforeChange(this, "PL1Line"); - pL1Line = value; - DataEventPublisher.AfterChange(this, "PL1Line"); - } - } - - [Browsable(false)] public virtual PL1Line LocalXZPL1Line { get @@ -537,16 +511,8 @@ [Browsable(false)] public virtual IList Gauges { get; set; } = new List(); [Browsable(false)] public virtual IList GaugePLLines { get; set; } = new List(); + - [Browsable(false)] - public bool UsesGauges - { - get - { - return GaugePLLines != null && GaugePLLines.Count > 0 && Gauges != null; - } - } - [Browsable(false)] public double GaugeMissVal { get; set; } [Label("Redesign dike height")] @@ -1010,11 +976,6 @@ nameValuePairs[LocationParameterNames.SurfaceLineId] = SurfaceLine2.Name; } - if (PL1Line != null) - { - nameValuePairs.Add(LocationParameterNames.PL1LineId, PL1Line.Name); - } - nameValuePairs.Add(LocationParameterNames.XSoilGeometry2DOrigin, XSoilGeometry2DOrigin.ToString(numberFormatInfo)); nameValuePairs.Add(LocationParameterNames.DikeEmbankmentMaterial, DikeEmbankmentMaterial); nameValuePairs.Add(LocationParameterNames.ShoulderEmbankmentMaterial, ShoulderEmbankmentMaterial); @@ -1093,14 +1054,14 @@ { return new[] { - new ValidationResult(ValidationResultType.Error, + new ValidationResult(ValidationResultType.Error, LocalizationManager.GetTranslatedText(this, "NotAllRequiredCharacteristicPointsAreDefined"), LocalXZSurfaceLine2) }; } return null; } - + /// /// Since TrafficLoadDistributionAngle is nullable, the default validation does not apply, so explicit validation is enforced here. /// @@ -1112,6 +1073,7 @@ { return Validator.ValidateProperty(this, "TrafficLoadDistributionAngle", "Location"); } + return null; } @@ -1144,36 +1106,6 @@ } /// - /// Gets the most probable profile. If there are no elements in the it returns null - /// and leave the handling over to the caller - /// - /// The soil profile - public SoilProfile1D GetMostProbableProfile(FailureMechanismSystemType? segmentFailureMechanismType) - { - if (Segment == null) - { - throw new ArgumentNullException(String.Format(ThrowHelper.GetResourceString(StringResourceNames.LocationHasNoSegment), Name)); - } - - return Segment.GetMostProbableProfile(segmentFailureMechanismType); - } - - /// - /// Gets the most probable profile. If there are no elements in the it returns null - /// and leave the handling over to the caller - /// - /// The soil profile - public string GetMostProbableGeometry2DName(FailureMechanismSystemType? segmentFailureMechanismType) - { - if (Segment == null) - { - throw new ArgumentNullException(String.Format(ThrowHelper.GetResourceString(StringResourceNames.LocationHasNoSegment), Name)); - } - - return Segment.GetMostProbableGeometry2DName(segmentFailureMechanismType); - } - - /// /// Gets the soil profile probability. /// /// The soil profile. @@ -1290,19 +1222,6 @@ return soilSurfaceProfile; } - public void AlignBoundaryPointsOfPL1LineWithAdaptedSurfaceLine(SurfaceLine2 adaptedSurfaceLine) - { - if ((LocalXZPL1Line != null) && (LocalXZPL1Line.Points.Count > 1)) - { - GeometryPoint lastPointPL1Line = LocalXZPL1Line.Points.Last(); - GeometryPoint lastPointSurfaceLine = adaptedSurfaceLine.Geometry.Points.Last(); - lastPointPL1Line.X = lastPointSurfaceLine.X; - GeometryPoint firstPointPL1Line = LocalXZPL1Line.Points.First(); - GeometryPoint firstPointSurfaceLine = adaptedSurfaceLine.Geometry.Points.First(); - firstPointPL1Line.X = firstPointSurfaceLine.X; - } - } - public void SetParameterFromNameValuePair(string parameterName, string parameterValue) { var numberFormatInfo = new NumberFormatInfo(); Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DikeCoordinateSystemConverter.cs =================================================================== diff -u -r6436 -r6793 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DikeCoordinateSystemConverter.cs (.../DikeCoordinateSystemConverter.cs) (revision 6436) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DikeCoordinateSystemConverter.cs (.../DikeCoordinateSystemConverter.cs) (revision 6793) @@ -50,16 +50,9 @@ ThrowIfAlreadyConvertedToLocalCoordinates(location.AreLocalXZObjectsCreated, $"Location {location.Name}"); var coordinateSystemConverter = new CoordinateSystemConverter(); coordinateSystemConverter.DefineGlobalXYZBasedOnLine(location.SurfaceLine2.Geometry); - PL1Line localPL1Line = (location.PL1Line != null) ? location.PL1Line.Clone() : null; SurfaceLine2 localSurfaceLine = location.SurfaceLine2.FullDeepClone(); coordinateSystemConverter.ConvertGlobalXYZToLocalXZ(localSurfaceLine.Geometry); - if (localPL1Line != null) - { - coordinateSystemConverter.ConvertGlobalXYZToLocalXZ(localPL1Line); - } - location.LocalXZPL1Line = localPL1Line; - if (location.LocalXZSurfaceLine2 != null) { location.LocalXZSurfaceLine2.Dispose(); Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Segment.cs =================================================================== diff -u -r6436 -r6793 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Segment.cs (.../Segment.cs) (revision 6436) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Segment.cs (.../Segment.cs) (revision 6793) @@ -110,7 +110,7 @@ public virtual string Name { get; set; } /// - /// Gets the soil probalilities for this segment + /// Gets the soil probabilities for this segment /// public virtual List SoilProfileProbabilities { @@ -120,34 +120,6 @@ } } - public SoilProfile1D GetMostProbableProfile(FailureMechanismSystemType? segmentFailureMechanismType) - { - IEnumerable spps = from SoilGeometryProbability spp in soilGeometryProbabilities - where !spp.SegmentFailureMechanismType.HasValue || !segmentFailureMechanismType.HasValue || spp.SegmentFailureMechanismType == segmentFailureMechanismType - orderby spp.Probability descending - select spp; - if (spps.Count() > 0) - { - return spps.First().SoilProfile; - } - - return null; - } - - public string GetMostProbableGeometry2DName(FailureMechanismSystemType? segmentFailureMechanismType) - { - IEnumerable spps = from SoilGeometryProbability spp in soilGeometryProbabilities - where !spp.SegmentFailureMechanismType.HasValue || !segmentFailureMechanismType.HasValue || spp.SegmentFailureMechanismType == segmentFailureMechanismType - orderby spp.Probability descending - select spp; - if (spps.Count() > 0) - { - return spps.First().SoilGeometry2DName; - } - - return null; - } - public void AddSoilProfileProbability(SoilProfile1D soilProfile, double probability, FailureMechanismSystemType? segmentFailureMechanismType) { if (soilGeometryProbabilities.Where(x => x.SoilProfile == soilProfile && x.SegmentFailureMechanismType == segmentFailureMechanismType).Count() == 0) Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/MStabParameters.cs =================================================================== diff -u -r6734 -r6793 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/MStabParameters.cs (.../MStabParameters.cs) (revision 6734) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/MStabParameters.cs (.../MStabParameters.cs) (revision 6793) @@ -476,58 +476,22 @@ } } -public class MStabForbiddenZone : IAssignable, ICloneable +public class MStabDesignEmbankment : ICloneable { - public bool IsXEntryMinUsed { get; set; } - public bool IsXEntryMaxUsed { get; set; } - public double XEntryMin { get; set; } - public double XEntryMax { get; set; } - - public void Assign(MStabForbiddenZone mstabForbiddenZone) - { - IsXEntryMinUsed = mstabForbiddenZone.IsXEntryMinUsed; - IsXEntryMaxUsed = mstabForbiddenZone.IsXEntryMaxUsed; - XEntryMin = mstabForbiddenZone.XEntryMin; - XEntryMax = mstabForbiddenZone.XEntryMax; - } - - public MStabForbiddenZone Clone() - { - var mstabForbiddenZone = new MStabForbiddenZone(); - mstabForbiddenZone.Assign(this); - return mstabForbiddenZone; - } -} - -public class MStabDesignEmbankment : IAssignable, ICloneable -{ - public string EmbankmentMaterialname { get; set; } - public string PreviousGeometry2DFilename { get; set; } - - public void Assign(MStabDesignEmbankment mstabDesignEmbankment) - { - EmbankmentMaterialname = mstabDesignEmbankment.EmbankmentMaterialname; - PreviousGeometry2DFilename = mstabDesignEmbankment.PreviousGeometry2DFilename; - } - public MStabDesignEmbankment Clone() { var mstabDesignEmbankment = new MStabDesignEmbankment(); - mstabDesignEmbankment.Assign(this); return mstabDesignEmbankment; } } public class MStabParameters : ICloneable, IVisibleEnabled, IDomain { - private StabilityGridPosition gridPosition; - - public MStabParameters() + public MStabParameters() { Model = StabilityModelType.UpliftVan; SearchMethod = StabilitySearchMethod.BeeSwarm; IsUpliftVanRunOnlyWhenUpliftOccurs = true; - gridPosition = StabilityGridPosition.Right; SlipCircleDefinition = new SlipCircleDefinition(); } @@ -537,30 +501,13 @@ public bool IsUpliftVanRunOnlyWhenUpliftOccurs { get; set; } - public string ProjectFileName { get; set; } [Validate] public SlipCircleDefinition SlipCircleDefinition { get; set; } - public StabilityGridPosition GridPosition - { - get - { - return gridPosition; - } - set - { - DataEventPublisher.BeforeChange(this, "GridPosition"); - gridPosition = value; - DataEventPublisher.AfterChange(this, "GridPosition"); - } - } - public void Assign(MStabParameters mstabParameters) { Model = mstabParameters.Model; SearchMethod = mstabParameters.SearchMethod; IsUpliftVanRunOnlyWhenUpliftOccurs = mstabParameters.IsUpliftVanRunOnlyWhenUpliftOccurs; - GridPosition = mstabParameters.GridPosition; - ProjectFileName = mstabParameters.ProjectFileName; if (SlipCircleDefinition != null) { @@ -595,8 +542,6 @@ case "SearchMethod": case "IsUpliftVanRunOnlyWhenUpliftOccurs": return Location.DamProjectType == DamProjectType.Design; - case "GridPosition": return false; // position depends on failuremechanisme type (inside or outside) - case "ZonesType": return false; // Is set per location! default: return true; } } @@ -612,8 +557,6 @@ (SlipCircleDefinition.Specification.FailureMechanismSystemType == FailureMechanismSystemType.StabilityInside || SlipCircleDefinition.Specification.FailureMechanismSystemType == FailureMechanismSystemType.StabilityOutside) && (Model == StabilityModelType.BishopUpliftVan || Model == StabilityModelType.UpliftVan); - case "ZonesType": return false; // Is set per location! - case "GridPosition": return false; // position depends on failuremechanisme type (inside or outside) default: return true; } } Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.TestHelper/ProjectLoader.cs =================================================================== diff -u -r6436 -r6793 --- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.TestHelper/ProjectLoader.cs (.../ProjectLoader.cs) (revision 6436) +++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.TestHelper/ProjectLoader.cs (.../ProjectLoader.cs) (revision 6793) @@ -47,7 +47,6 @@ DamProjectData damProjectData) { MStabParameters mstabParameters = FactoryForStabilityTests.CreateMStabParameters(); - mstabParameters.GridPosition = StabilityGridPosition.Left; mstabParameters.SearchMethod = StabilitySearchMethod.Grid; var damCalculationSpecification = new DamFailureMechanismeCalculationSpecification Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/CsvImportDirectorTests.cs =================================================================== diff -u -r6436 -r6793 --- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/CsvImportDirectorTests.cs (.../CsvImportDirectorTests.cs) (revision 6436) +++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/CsvImportDirectorTests.cs (.../CsvImportDirectorTests.cs) (revision 6793) @@ -123,11 +123,32 @@ using (WaterBoard waterBoard = ImportDirector.Construct(importFolder, null)) { - Assert.That(waterBoard.Segments.Count, Is.EqualTo(2)); - Assert.That(waterBoard.Segments[0].GetMostProbableGeometry2DName(FailureMechanismSystemType.StabilityInside), Is.EqualTo("Geometrie 1")); - Assert.That(waterBoard.Segments[1].GetMostProbableGeometry2DName(FailureMechanismSystemType.Piping), Is.EqualTo("Geometrie 1 piping")); - Assert.That(waterBoard.Segments[1].GetMostProbableGeometry2DName(FailureMechanismSystemType.StabilityInside), Is.EqualTo("Geometrie 2")); - Assert.That(waterBoard.Segments[1].GetMostProbableGeometry2DName(FailureMechanismSystemType.Piping), Is.EqualTo("Geometrie 1 piping")); + Assert.That(waterBoard.Segments, Has.Count.EqualTo(2)); + Assert.Multiple(() => + { + Assert.That(waterBoard.Segments[0].SoilProfileProbabilities, Has.Count.EqualTo(3)); + Assert.That(waterBoard.Segments[1].SoilProfileProbabilities, Has.Count.EqualTo(2)); + }); + + Assert.Multiple(() => + { + Assert.That(waterBoard.Segments[0].SoilProfileProbabilities[0].SoilGeometry2DName, Is.EqualTo("Geometrie 1")); + Assert.That(waterBoard.Segments[0].SoilProfileProbabilities[0].Probability, Is.EqualTo(80)); + Assert.That(waterBoard.Segments[0].SoilProfileProbabilities[0].SegmentFailureMechanismType, Is.EqualTo(FailureMechanismSystemType.StabilityInside)); + Assert.That(waterBoard.Segments[0].SoilProfileProbabilities[1].SoilGeometry2DName, Is.EqualTo("Geometrie 2")); + Assert.That(waterBoard.Segments[0].SoilProfileProbabilities[1].Probability, Is.EqualTo(20)); + Assert.That(waterBoard.Segments[0].SoilProfileProbabilities[1].SegmentFailureMechanismType, Is.EqualTo(FailureMechanismSystemType.StabilityInside)); + Assert.That(waterBoard.Segments[0].SoilProfileProbabilities[2].SoilGeometry2DName, Is.EqualTo("Geometrie 1 piping")); + Assert.That(waterBoard.Segments[0].SoilProfileProbabilities[2].Probability, Is.EqualTo(100)); + Assert.That(waterBoard.Segments[0].SoilProfileProbabilities[2].SegmentFailureMechanismType, Is.EqualTo(FailureMechanismSystemType.Piping)); + + Assert.That(waterBoard.Segments[1].SoilProfileProbabilities[0].SoilGeometry2DName, Is.EqualTo("Geometrie 2")); + Assert.That(waterBoard.Segments[1].SoilProfileProbabilities[0].Probability, Is.EqualTo(100)); + Assert.That(waterBoard.Segments[1].SoilProfileProbabilities[0].SegmentFailureMechanismType, Is.EqualTo(FailureMechanismSystemType.StabilityInside)); + Assert.That(waterBoard.Segments[1].SoilProfileProbabilities[1].SoilGeometry2DName, Is.EqualTo("Geometrie 1 piping")); + Assert.That(waterBoard.Segments[1].SoilProfileProbabilities[1].Probability, Is.EqualTo(100)); + Assert.That(waterBoard.Segments[1].SoilProfileProbabilities[1].SegmentFailureMechanismType, Is.EqualTo(FailureMechanismSystemType.Piping)); + }); } } @@ -164,24 +185,13 @@ Assert.That(dike.SurfaceLines2[0].CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.BottomDitchPolderSide), Is.Not.Null); } } - + /// /// Test /// - [Test] - public void SoilProfilesOfImportedDikeHaveSameInstance() - { - WaterBoard waterBoard = ImportDirector.Construct(importFolder, null); - Dike dike = waterBoard.Dikes[0]; - Assert.That(waterBoard.Segments[0].GetMostProbableProfile(FailureMechanismSystemType.StabilityInside), Is.SameAs(dike.SoilProfiles[0])); - } - /// /// Test /// - /// - /// Test - /// [Test] public void SoilProfilesOfImportedDikeHaveCorrectProbability() { @@ -190,22 +200,11 @@ Assert.That(waterBoard.Segments[0].GetSoilProfileProbability(dike.SoilProfiles[0], FailureMechanismSystemType.StabilityInside), Is.EqualTo(80)); Assert.That(waterBoard.Segments[0].GetSoilProfileProbability(dike.SoilProfiles[1], FailureMechanismSystemType.Piping), Is.EqualTo(100)); } - + /// /// Test /// [Test] - public void SegmentsOfImportedDikeHaveCorrectMostProbabableSoilProfile() - { - WaterBoard waterBoard = ImportDirector.Construct(importFolder, null); - Assert.That(waterBoard.Segments[0].GetMostProbableProfile(FailureMechanismSystemType.StabilityInside).Name, Is.EqualTo("1DP1")); - Assert.That(waterBoard.Segments[0].GetMostProbableProfile(FailureMechanismSystemType.Piping).Name, Is.EqualTo("1DP2")); - } - - /// - /// Test - /// - [Test] public void SurfaceLinesOfImportedDikeHaveSameInstance() { WaterBoard waterBoard = ImportDirector.Construct(importFolder, null); Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data.Tests/MStabParametersTest.cs =================================================================== diff -u -r6436 -r6793 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data.Tests/MStabParametersTest.cs (.../MStabParametersTest.cs) (revision 6436) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data.Tests/MStabParametersTest.cs (.../MStabParametersTest.cs) (revision 6793) @@ -41,7 +41,6 @@ { Assert.That(parameters.Model, Is.EqualTo(StabilityModelType.UpliftVan)); Assert.That(parameters.SearchMethod, Is.EqualTo(StabilitySearchMethod.BeeSwarm)); - Assert.That(parameters.GridPosition, Is.EqualTo(StabilityGridPosition.Right)); Assert.That(parameters.SlipCircleDefinition, Is.Not.Null); }); } Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/IO/CombineImportedDataTest.cs =================================================================== diff -u -r6781 -r6793 --- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/IO/CombineImportedDataTest.cs (.../CombineImportedDataTest.cs) (revision 6781) +++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/IO/CombineImportedDataTest.cs (.../CombineImportedDataTest.cs) (revision 6793) @@ -143,8 +143,6 @@ // Following location has double entries in CSV file; check if this is handled correctly loc = damProjectData.WaterBoard.Dikes[0].Locations.FirstOrDefault(x => x.Name.Equals("TPL_SCHERMER_BUITEN_WEST_0490")); Assert.That(loc.Scenarios.Count, Is.EqualTo(6)); - // Total number of scenarios - Assert.That(damProjectData.WaterBoard.Dikes[0].Scenarios.Count, Is.EqualTo(19652)); // Check aquifer data IList aquifers = damProjectData.WaterBoard.Dikes[0].Aquifers;