Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/SoilUtils.cs =================================================================== diff -u -r6713 -r6724 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/SoilUtils.cs (.../SoilUtils.cs) (revision 6713) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/SoilUtils.cs (.../SoilUtils.cs) (revision 6724) @@ -24,321 +24,15 @@ using System.Drawing; using System.Globalization; using Deltares.Geotechnics.Soils; -using Deltares.Probabilistic; namespace Deltares.Dam.Data { /// - /// Exception when soil type is not found - /// - /// - public class SoilTypeNotFoundException : Exception {} - - /// /// SoilUtils contains some general utility functions that were moved here from the Soil class (also used by DAM) as they are considered obsolete /// public static class SoilUtils { /// - /// The Soiltypes that are stored in the database - /// - private enum SoilBaseSoilType - { - Gravel = 1, - Sand = 2, - Loam = 3, - Clay = 4, - Peat = 5, - TertClay = 6, - SandyLoam = 7, - ClayeySand = 8 - } - - private static readonly Soil DefaultSoil = new Soil(); - - /// - /// Gets the database parameter list. - /// - /// The soil. - /// The dictionary containing the database parameters - public static Dictionary GetDatabaseParameterList(Soil soil) - { - var nameValuePairs = new Dictionary - { - { - SoilParameterNames.Color, soil.Color.ToArgb() - }, - { - SoilParameterNames.SoilType, (int) soil.SoilType - } - }; - - // General - // Piping - if (soil.GetPropertyIsAssigned("DiameterD70")) - { - nameValuePairs.Add(SoilParameterNames.DiameterD70, soil.DiameterD70); - } - - if (soil.GetPropertyIsAssigned("WhitesConstant")) - { - nameValuePairs.Add(SoilParameterNames.WhitesConstant, soil.WhitesConstant); - } - - if (soil.GetPropertyIsAssigned("BeddingAngle")) - { - nameValuePairs.Add(SoilParameterNames.BeddingAngle, soil.BeddingAngle); - } - - if (soil.GetPropertyIsAssigned("PermeabKx")) - { - nameValuePairs.Add(SoilParameterNames.PermeabKx, soil.PermeabKx); - } - - // // IsAquifer property has moved to SoilLayer - //if (soil.GetPropertyIsAssigned("IsAquifer")) - // nameValuePairs.Add(SoilParameterNames.IsAquifer, ToInt(isAquifer)); - - if (soil.GetPropertyIsAssigned("StdDiameterD70")) - { - nameValuePairs.Add(SoilParameterNames.StdDiameterD70, soil.DiameterD70Stochast.Deviation); - } - - if (soil.GetPropertyIsAssigned("DistDiameterD70")) - { - nameValuePairs.Add(SoilParameterNames.DistDiameterD70, (int) soil.DiameterD70Stochast.DistributionType); - } - - if (soil.GetPropertyIsAssigned("StdPermeabKx")) - { - nameValuePairs.Add(SoilParameterNames.StdPermeabKx, soil.PermeabKxStochast.Deviation); - } - - if (soil.GetPropertyIsAssigned("StdWhitesConstant")) - { - nameValuePairs.Add(SoilParameterNames.StdWhitesConstant, soil.WhitesConstantStochast.Deviation); - } - - if (soil.GetPropertyIsAssigned("DistPermeabKx")) - { - nameValuePairs.Add(SoilParameterNames.DistPermeabKx, (int) soil.PermeabKxStochast.DistributionType); - } - - if (soil.GetPropertyIsAssigned("DistWhitesConstant")) - { - nameValuePairs.Add(SoilParameterNames.DistWhitesConstant, (int) soil.WhitesConstantStochast.DistributionType); - } - - if (soil.GetPropertyIsAssigned("DistBeddingAngle")) - { - nameValuePairs.Add(SoilParameterNames.DistBeddingAngle, (int) soil.BeddingAngleStochast.DistributionType); - } - - if (soil.GetPropertyIsAssigned("StdBeddingAngle")) - { - nameValuePairs.Add(SoilParameterNames.StdBeddingAngle, soil.BeddingAngleStochast.Deviation); - } - - // Stability - if (soil.GetPropertyIsAssigned("AbovePhreaticLevel")) - { - nameValuePairs.Add(SoilParameterNames.AbovePhreaticLevel, soil.AbovePhreaticLevel); - } - - if (soil.GetPropertyIsAssigned("BelowPhreaticLevel")) - { - nameValuePairs.Add(SoilParameterNames.BelowPhreaticLevel, soil.BelowPhreaticLevel); - } - - if (soil.GetPropertyIsAssigned("DryUnitWeight")) - { - nameValuePairs.Add(SoilParameterNames.OvenDry, soil.DryUnitWeight); - } - - if (soil.GetPropertyIsAssigned("ExcessPorePressure")) - { - nameValuePairs.Add(SoilParameterNames.ExcessPorePressure, soil.ExcessPorePressure); - } - - if (soil.GetPropertyIsAssigned("PorePressureFactor")) - { - nameValuePairs.Add(SoilParameterNames.PorePressureFactor, soil.PorePressureFactor); - } - - if (soil.GetPropertyIsAssigned("Cohesion")) - { - nameValuePairs.Add(SoilParameterNames.Cohesion, soil.Cohesion); - } - - if (soil.GetPropertyIsAssigned("FrictionAngle")) - { - nameValuePairs.Add(SoilParameterNames.Phi, soil.FrictionAngle); - } - - if (soil.GetPropertyIsAssigned("CuTop")) - { - nameValuePairs.Add(SoilParameterNames.CuTop, soil.CuTop); - } - - if (soil.GetPropertyIsAssigned("CuGradient")) - { - nameValuePairs.Add(SoilParameterNames.CuGradient, soil.CuGradient); - } - - if (soil.GetPropertyIsAssigned("RatioCuPc")) - { - nameValuePairs.Add(SoilParameterNames.RatioCuPc, soil.RatioCuPc); - } - - if (soil.GetPropertyIsAssigned("RatioCuPcActive")) - { - nameValuePairs.Add(SoilParameterNames.RatioCuPcActive, soil.RatioCuPcActive); - } - - if (soil.GetPropertyIsAssigned("RatioCuPcPassive")) - { - nameValuePairs.Add(SoilParameterNames.RatioCuPcPassive, soil.RatioCuPcPassive); - } - - if (soil.GetPropertyIsAssigned("ShearStrengthModel")) - { - nameValuePairs.Add(SoilParameterNames.ShearStrengthModel, (int) soil.ShearStrengthModel); - } - - if (soil.GetPropertyIsAssigned("useDefaultProbabilisticValues")) - { - nameValuePairs.Add(SoilParameterNames.UseProbDefaults, ToInt(soil.UseDefaultProbabilisticValues)); - } - - if (soil.CohesionStochast.Deviation != DefaultSoil.CohesionStochast.Deviation) - { - nameValuePairs.Add(SoilParameterNames.StdCohesion, soil.CohesionStochast.Deviation); - } - - if (soil.FrictionAngleStochast.Deviation != DefaultSoil.FrictionAngleStochast.Deviation) - { - nameValuePairs.Add(SoilParameterNames.StdPhi, soil.FrictionAngleStochast.Deviation); - } - - if (soil.PnStochast.Deviation != DefaultSoil.PnStochast.Deviation) - { - nameValuePairs.Add(SoilParameterNames.StdPn, soil.PnStochast.Deviation); - } - - if (soil.POPStochast.Deviation != DefaultSoil.POPStochast.Deviation) - { - nameValuePairs.Add(SoilParameterNames.StdPOP, soil.POPStochast.Deviation); - } - - if (soil.CohesionStochast.DistributionType != DefaultSoil.CohesionStochast.DistributionType) - { - nameValuePairs.Add(SoilParameterNames.DistCohesion, (int) soil.CohesionStochast.DistributionType); - } - - if (soil.FrictionAngleStochast.DistributionType != DefaultSoil.FrictionAngleStochast.DistributionType) - { - nameValuePairs.Add(SoilParameterNames.DistPhi, (int) soil.FrictionAngleStochast.DistributionType); - } - - if (soil.StressTableStochast.DistributionType != DefaultSoil.StressTableStochast.DistributionType) - { - nameValuePairs.Add(SoilParameterNames.DistStressTable, (int) soil.StressTableStochast.DistributionType); - } - - if (soil.PnStochast.DistributionType != DefaultSoil.PnStochast.DistributionType) - { - nameValuePairs.Add(SoilParameterNames.DistPn, (int) soil.PnStochast.DistributionType); - } - - if (soil.POPStochast.DistributionType != DefaultSoil.POPStochast.DistributionType) - { - nameValuePairs.Add(SoilParameterNames.DistPOP, (int) soil.POPStochast.DistributionType); - } - - if (soil.GetPropertyIsAssigned("CorrelationCPhi")) - { - nameValuePairs.Add(SoilParameterNames.CorrelationCPhi, soil.CorrelationCPhi); - } - - if (soil.GetPropertyIsAssigned("POP")) - { - nameValuePairs.Add(SoilParameterNames.POP, soil.POP); - } - - if (soil.GetPropertyIsAssigned("StrengthIncreaseExponent")) - { - nameValuePairs.Add(SoilParameterNames.StrengthIncreaseExponent, soil.StrengthIncreaseExponent); - } - - if (soil.CohesionStochast.DesignFactor != DefaultSoil.CohesionStochast.DesignFactor) - { - nameValuePairs.Add(SoilParameterNames.DesignPartialCohesion, soil.CohesionStochast.DesignFactor); - } - - if (soil.CohesionStochast.DesignDeviation != DefaultSoil.CohesionStochast.DesignDeviation) - { - nameValuePairs.Add(SoilParameterNames.DesignStdCohesion, soil.CohesionStochast.DesignDeviation); - } - - if (soil.FrictionAngleStochast.DesignFactor != DefaultSoil.FrictionAngleStochast.DesignFactor) - { - nameValuePairs.Add(SoilParameterNames.DesignPartialPhi, soil.FrictionAngleStochast.DesignFactor); - } - - if (soil.FrictionAngleStochast.DesignDeviation != DefaultSoil.FrictionAngleStochast.DesignDeviation) - { - nameValuePairs.Add(SoilParameterNames.DesignStdPhi, soil.FrictionAngleStochast.DesignDeviation); - } - - if (soil.StressTableStochast.DesignFactor != DefaultSoil.StressTableStochast.DesignFactor) - { - nameValuePairs.Add(SoilParameterNames.DesignPartialStressTable, soil.StressTableStochast.DesignFactor); - } - - if (soil.StressTableStochast.DesignDeviation != DefaultSoil.StressTableStochast.DesignDeviation) - { - nameValuePairs.Add(SoilParameterNames.DesignStdStressTable, soil.StressTableStochast.DesignDeviation); - } - - if (soil.POPStochast.DesignFactor != DefaultSoil.POPStochast.DesignFactor) - { - nameValuePairs.Add(SoilParameterNames.DesignPartialPOP, soil.POPStochast.DesignFactor); - } - - if (soil.POPStochast.DesignDeviation != DefaultSoil.POPStochast.DesignDeviation) - { - nameValuePairs.Add(SoilParameterNames.DesignStdPOP, soil.POPStochast.DesignDeviation); - } - - if (soil.RRatioStochast.DesignFactor != DefaultSoil.RRatioStochast.DesignFactor) - { - nameValuePairs.Add(SoilParameterNames.DesignPartialRRatio, soil.RRatioStochast.DesignFactor); - } - - if (soil.RRatioStochast.DesignDeviation != DefaultSoil.RRatioStochast.DesignDeviation) - { - nameValuePairs.Add(SoilParameterNames.DesignStdRRatio, soil.RRatioStochast.DesignDeviation); - } - - if (soil.GetPropertyIsAssigned("SoilGroup")) - { - nameValuePairs.Add(SoilParameterNames.SoilGroup, soil.SoilGroup); - } - - if (soil.GetPropertyIsAssigned("UseSoilType")) - { - nameValuePairs.Add(SoilParameterNames.UseSoilType, ToInt(soil.UseSoilType)); - } - - if (soil.GetPropertyIsAssigned("RRatio")) - { - nameValuePairs.Add(SoilParameterNames.RRatio, soil.RRatio); - } - - return nameValuePairs; - } - - /// /// Get a list of all soil parameters /// /// list of name/value pair strings with soil parameters @@ -358,72 +52,6 @@ SoilParameterNames.SoilType, soil.SoilType.ToString() } }; - // Piping - if (soil.GetPropertyIsAssigned("DiameterD70")) - { - nameValuePairs.Add(SoilParameterNames.DiameterD70, soil.DiameterD70.ToString(numberFormatInfo)); - } - - if (soil.GetPropertyIsAssigned("WhitesConstant")) - { - nameValuePairs.Add(SoilParameterNames.WhitesConstant, soil.WhitesConstant.ToString(numberFormatInfo)); - } - - if (soil.GetPropertyIsAssigned("BeddingAngle")) - { - nameValuePairs.Add(SoilParameterNames.BeddingAngle, soil.BeddingAngle.ToString(numberFormatInfo)); - } - - if (soil.GetPropertyIsAssigned("PermeabKx")) - { - nameValuePairs.Add(SoilParameterNames.PermeabKx, soil.PermeabKx.ToString(numberFormatInfo)); - } - - // // IsAquifer property has moved to SoilLayer - // if (soil.GetPropertyIsAssigned("IsAquifer")) - // nameValuePairs.Add(SoilParameterNames.IsAquifer, soil.IsAquifer.ToString(numberFormatInfo)); - - if (soil.GetPropertyIsAssigned("StdDiameterD70")) - { - nameValuePairs.Add(SoilParameterNames.StdDiameterD70, soil.DiameterD70Stochast.Deviation.ToString(numberFormatInfo)); - } - - if (soil.GetPropertyIsAssigned("DistDiameterD70")) - { - nameValuePairs.Add(SoilParameterNames.DistDiameterD70, soil.DiameterD70Stochast.DistributionType.ToString()); - } - - if (soil.GetPropertyIsAssigned("StdPermeabKx")) - { - nameValuePairs.Add(SoilParameterNames.StdPermeabKx, soil.PermeabKxStochast.Deviation.ToString(numberFormatInfo)); - } - - if (soil.GetPropertyIsAssigned("StdWhitesConstant")) - { - nameValuePairs.Add(SoilParameterNames.StdWhitesConstant, soil.WhitesConstantStochast.Deviation.ToString(numberFormatInfo)); - } - - if (soil.GetPropertyIsAssigned("DistPermeabKx")) - { - nameValuePairs.Add(SoilParameterNames.DistPermeabKx, soil.PermeabKxStochast.DistributionType.ToString()); - } - - if (soil.GetPropertyIsAssigned("DistWhitesConstant")) - { - nameValuePairs.Add(SoilParameterNames.DistWhitesConstant, soil.WhitesConstantStochast.DistributionType.ToString()); - } - - if (soil.GetPropertyIsAssigned("DistBeddingAngle")) - { - nameValuePairs.Add(SoilParameterNames.DistBeddingAngle, soil.BeddingAngleStochast.DistributionType.ToString()); - } - - if (soil.GetPropertyIsAssigned("StdBeddingAngle")) - { - nameValuePairs.Add(SoilParameterNames.StdBeddingAngle, soil.BeddingAngleStochast.Deviation.ToString(numberFormatInfo)); - } - - // Stability if (soil.GetPropertyIsAssigned("AbovePhreaticLevel")) { nameValuePairs.Add(SoilParameterNames.AbovePhreaticLevel, soil.AbovePhreaticLevel.ToString(numberFormatInfo)); @@ -434,21 +62,18 @@ nameValuePairs.Add(SoilParameterNames.BelowPhreaticLevel, soil.BelowPhreaticLevel.ToString(numberFormatInfo)); } - if (soil.GetPropertyIsAssigned("DryUnitWeight")) + // Piping + if (soil.GetPropertyIsAssigned("DiameterD70")) { - nameValuePairs.Add(SoilParameterNames.OvenDry, soil.DryUnitWeight.ToString(numberFormatInfo)); + nameValuePairs.Add(SoilParameterNames.DiameterD70, soil.DiameterD70.ToString(numberFormatInfo)); } - if (soil.GetPropertyIsAssigned("ExcessPorePressure")) + if (soil.GetPropertyIsAssigned("PermeabKx")) { - nameValuePairs.Add(SoilParameterNames.ExcessPorePressure, soil.ExcessPorePressure.ToString(numberFormatInfo)); + nameValuePairs.Add(SoilParameterNames.PermeabKx, soil.PermeabKx.ToString(numberFormatInfo)); } - if (soil.GetPropertyIsAssigned("PorePressureFactor")) - { - nameValuePairs.Add(SoilParameterNames.PorePressureFactor, soil.PorePressureFactor.ToString(numberFormatInfo)); - } - + // Stability if (soil.GetPropertyIsAssigned("Cohesion")) { nameValuePairs.Add(SoilParameterNames.Cohesion, soil.Cohesion.ToString(numberFormatInfo)); @@ -464,76 +89,11 @@ nameValuePairs.Add(SoilParameterNames.RatioCuPc, soil.RatioCuPc.ToString(numberFormatInfo)); } - if (soil.GetPropertyIsAssigned("RatioCuPcActive")) - { - nameValuePairs.Add(SoilParameterNames.RatioCuPcActive, soil.RatioCuPcActive.ToString(numberFormatInfo)); - } - - if (soil.GetPropertyIsAssigned("RatioCuPcPassive")) - { - nameValuePairs.Add(SoilParameterNames.RatioCuPcPassive, soil.RatioCuPcPassive.ToString(numberFormatInfo)); - } - if (soil.GetPropertyIsAssigned("ShearStrengthModel")) { nameValuePairs.Add(SoilParameterNames.ShearStrengthModel, soil.ShearStrengthModel.ToString()); } - if (soil.GetPropertyIsAssigned("useDefaultProbabilisticValues")) - { - nameValuePairs.Add(SoilParameterNames.UseProbDefaults, soil.UseDefaultProbabilisticValues.ToString(numberFormatInfo)); - } - - if (soil.CohesionStochast.Deviation != DefaultSoil.CohesionStochast.Deviation) - { - nameValuePairs.Add(SoilParameterNames.StdCohesion, soil.CohesionStochast.Deviation.ToString(numberFormatInfo)); - } - - if (soil.FrictionAngleStochast.Deviation != DefaultSoil.FrictionAngleStochast.Deviation) - { - nameValuePairs.Add(SoilParameterNames.StdPhi, soil.FrictionAngleStochast.Deviation.ToString(numberFormatInfo)); - } - - if (soil.PnStochast.Deviation != DefaultSoil.PnStochast.Deviation) - { - nameValuePairs.Add(SoilParameterNames.StdPn, soil.PnStochast.Deviation.ToString(numberFormatInfo)); - } - - if (soil.POPStochast.Deviation != DefaultSoil.POPStochast.Deviation) - { - nameValuePairs.Add(SoilParameterNames.StdPOP, soil.POPStochast.Deviation.ToString(numberFormatInfo)); - } - - if (soil.CohesionStochast.DistributionType != DefaultSoil.CohesionStochast.DistributionType) - { - nameValuePairs.Add(SoilParameterNames.DistCohesion, soil.CohesionStochast.DistributionType.ToString()); - } - - if (soil.FrictionAngleStochast.DistributionType != DefaultSoil.FrictionAngleStochast.DistributionType) - { - nameValuePairs.Add(SoilParameterNames.DistPhi, soil.FrictionAngleStochast.DistributionType.ToString()); - } - - if (soil.StressTableStochast.DistributionType != DefaultSoil.StressTableStochast.DistributionType) - { - nameValuePairs.Add(SoilParameterNames.DistStressTable, soil.StressTableStochast.DistributionType.ToString()); - } - - if (soil.PnStochast.DistributionType != DefaultSoil.PnStochast.DistributionType) - { - nameValuePairs.Add(SoilParameterNames.DistPn, soil.PnStochast.DistributionType.ToString()); - } - - if (soil.POPStochast.DistributionType != DefaultSoil.POPStochast.DistributionType) - { - nameValuePairs.Add(SoilParameterNames.DistPOP, soil.POPStochast.DistributionType.ToString()); - } - - if (soil.GetPropertyIsAssigned("CorrelationCPhi")) - { - nameValuePairs.Add(SoilParameterNames.CorrelationCPhi, soil.CorrelationCPhi.ToString(numberFormatInfo)); - } - if (soil.GetPropertyIsAssigned("POP")) { nameValuePairs.Add(SoilParameterNames.POP, soil.POP.ToString(numberFormatInfo)); @@ -544,781 +104,61 @@ nameValuePairs.Add(SoilParameterNames.StrengthIncreaseExponent, soil.StrengthIncreaseExponent.ToString(numberFormatInfo)); } - if (soil.CohesionStochast.DesignFactor != DefaultSoil.CohesionStochast.DesignFactor) - { - nameValuePairs.Add(SoilParameterNames.DesignPartialCohesion, soil.CohesionStochast.DesignFactor.ToString(numberFormatInfo)); - } - - if (soil.CohesionStochast.DesignDeviation != DefaultSoil.CohesionStochast.DesignDeviation) - { - nameValuePairs.Add(SoilParameterNames.DesignStdCohesion, soil.CohesionStochast.DesignDeviation.ToString(numberFormatInfo)); - } - - if (soil.FrictionAngleStochast.DesignFactor != DefaultSoil.FrictionAngleStochast.DesignFactor) - { - nameValuePairs.Add(SoilParameterNames.DesignPartialPhi, soil.FrictionAngleStochast.DesignFactor.ToString(numberFormatInfo)); - } - - if (soil.FrictionAngleStochast.DesignDeviation != DefaultSoil.FrictionAngleStochast.DesignDeviation) - { - nameValuePairs.Add(SoilParameterNames.DesignStdPhi, soil.FrictionAngleStochast.DesignDeviation.ToString(numberFormatInfo)); - } - - if (soil.StressTableStochast.DesignFactor != DefaultSoil.StressTableStochast.DesignFactor) - { - nameValuePairs.Add(SoilParameterNames.DesignPartialStressTable, soil.StressTableStochast.DesignFactor.ToString(numberFormatInfo)); - } - - if (soil.StressTableStochast.DesignDeviation != DefaultSoil.StressTableStochast.DesignDeviation) - { - nameValuePairs.Add(SoilParameterNames.DesignStdStressTable, soil.StressTableStochast.DesignDeviation.ToString(numberFormatInfo)); - } - - if (soil.POPStochast.DesignFactor != DefaultSoil.POPStochast.DesignFactor) - { - nameValuePairs.Add(SoilParameterNames.DesignPartialPOP, soil.POPStochast.DesignFactor.ToString(numberFormatInfo)); - } - - if (soil.POPStochast.DesignDeviation != DefaultSoil.POPStochast.DesignDeviation) - { - nameValuePairs.Add(SoilParameterNames.DesignStdPOP, soil.POPStochast.DesignDeviation.ToString(numberFormatInfo)); - } - - if (soil.RRatioStochast.DesignFactor != DefaultSoil.RRatioStochast.DesignFactor) - { - nameValuePairs.Add(SoilParameterNames.DesignPartialRRatio, soil.RRatioStochast.DesignFactor.ToString(numberFormatInfo)); - } - - if (soil.RRatioStochast.DesignDeviation != DefaultSoil.RRatioStochast.DesignDeviation) - { - nameValuePairs.Add(SoilParameterNames.DesignStdRRatio, soil.RRatioStochast.DesignDeviation.ToString(numberFormatInfo)); - } - - if (soil.GetPropertyIsAssigned("SoilGroup")) - { - nameValuePairs.Add(SoilParameterNames.SoilGroup, soil.SoilGroup.ToString(numberFormatInfo)); - } - - if (soil.UseSoilType != DefaultSoil.UseSoilType) - { - nameValuePairs.Add(SoilParameterNames.UseSoilType, soil.UseSoilType.ToString()); - } - - if (soil.GetPropertyIsAssigned("RRatio")) - { - nameValuePairs.Add(SoilParameterNames.RRatio, soil.RRatio.ToString(numberFormatInfo)); - } - return nameValuePairs; } /// - /// Set soil property to value + /// Set a soil property according to name/value string pair. /// - /// The soil. - /// Name of the parameter. - /// The parameter value. - /// - /// - public static void SetSoilParameter(Soil soil, string parameterName, double parameterValue) + /// The soil property. + /// Name of property + /// (String) value of property + public static void SetParameterFromNameValuePair(Soil soil, string parameterName, string parameterValue) { + var numberFormatInfo = new NumberFormatInfo + { + NumberDecimalSeparator = "." + }; + switch (parameterName) { case SoilParameterNames.Color: - Color colorBGR = Color.FromArgb((int) parameterValue); - soil.Color = Color.FromArgb(255, colorBGR.B, colorBGR.G, colorBGR.R); + soil.Color = Color.FromArgb(Convert.ToInt32(parameterValue)); break; case SoilParameterNames.SoilType: - var soilBaseSoilType = (SoilBaseSoilType) Math.Round(parameterValue); - switch (soilBaseSoilType) - { - case SoilBaseSoilType.Gravel: - soil.SoilType = SoilType.Gravel; - break; - case SoilBaseSoilType.Sand: - soil.SoilType = SoilType.Sand; - break; - case SoilBaseSoilType.Loam: - soil.SoilType = SoilType.Loam; - break; - case SoilBaseSoilType.Clay: - soil.SoilType = SoilType.Clay; - break; - case SoilBaseSoilType.Peat: - soil.SoilType = SoilType.Peat; - break; - case SoilBaseSoilType.TertClay: - soil.SoilType = SoilType.Clay; - break; - case SoilBaseSoilType.SandyLoam: - soil.SoilType = SoilType.Loam; - break; - case SoilBaseSoilType.ClayeySand: - soil.SoilType = SoilType.Sand; - break; - default: - throw new SoilTypeNotFoundException(); - } - + soil.SoilType = (SoilType) Enum.Parse(typeof(SoilType), parameterValue); break; case SoilParameterNames.DiameterD70: - soil.DiameterD70 = parameterValue * 1e-6; - soil.DiameterD70Stochast.Mean = parameterValue * 1e-6; - soil.DiameterD70Stochast.ActualValue = parameterValue * 1e-6; + soil.DiameterD70 = Convert.ToDouble(parameterValue, numberFormatInfo); break; - case SoilParameterNames.DiameterD50: - soil.DiameterD50 = parameterValue * 1e-3; - soil.DiameterD50Stochast.Mean = parameterValue * 1e-3; - soil.DiameterD50Stochast.ActualValue = parameterValue * 1e-3; - break; - case SoilParameterNames.DiameterD15: - soil.DiameterD15 = parameterValue * 1e-3; - break; - case SoilParameterNames.Porosity: - soil.Porosity = parameterValue; - break; - case SoilParameterNames.WhitesConstant: - soil.WhitesConstant = parameterValue; - soil.WhitesConstantStochast.Mean = parameterValue; - soil.WhitesConstantStochast.ActualValue = parameterValue; - break; - case SoilParameterNames.BeddingAngle: - soil.BeddingAngle = parameterValue; - soil.BeddingAngleStochast.Mean = parameterValue; - soil.BeddingAngleStochast.ActualValue = parameterValue; - break; case SoilParameterNames.PermeabKx: - soil.PermeabKx = parameterValue; - soil.PermeabKxStochast.Mean = parameterValue; - soil.PermeabKxStochast.ActualValue = parameterValue; + soil.PermeabKx = Convert.ToDouble(parameterValue, numberFormatInfo); break; - case SoilParameterNames.StdDiameterD70: - soil.DiameterD70Stochast.Deviation = parameterValue * 1e-6; - break; - case SoilParameterNames.DistAbovePhreaticLevel: - soil.AbovePhreaticLevelStochast.DistributionType = DoubleToDistribution(parameterValue); - break; - case SoilParameterNames.DistBelowPhreaticLevel: - soil.BelowPhreaticLevelStochast.DistributionType = DoubleToDistribution(parameterValue); - break; - case SoilParameterNames.StdAbovePhreaticLevel: - soil.AbovePhreaticLevelStochast.Deviation = parameterValue; - break; - case SoilParameterNames.StdBelowPhreaticLevel: - soil.BelowPhreaticLevelStochast.Deviation = parameterValue; - break; - case SoilParameterNames.DistDiameterD70: - soil.DiameterD70Stochast.DistributionType = DoubleToDistribution(parameterValue); - break; - case SoilParameterNames.StdPermeabKx: - soil.PermeabKxStochast.Deviation = parameterValue; - break; - case SoilParameterNames.DistPermeabKx: - soil.PermeabKxStochast.DistributionType = DoubleToDistribution(parameterValue); - break; - case SoilParameterNames.StdWhitesConstant: - soil.WhitesConstantStochast.Deviation = parameterValue; - break; - case SoilParameterNames.DistWhitesConstant: - soil.WhitesConstantStochast.DistributionType = DoubleToDistribution(parameterValue); - break; - case SoilParameterNames.StdBeddingAngle: - soil.BeddingAngleStochast.Deviation = parameterValue; - break; - case SoilParameterNames.DistBeddingAngle: - soil.BeddingAngleStochast.DistributionType = DoubleToDistribution(parameterValue); - break; case SoilParameterNames.AbovePhreaticLevel: - soil.AbovePhreaticLevel = parameterValue; - soil.AbovePhreaticLevelStochast.Mean = parameterValue; - soil.AbovePhreaticLevelStochast.ActualValue = parameterValue; + soil.AbovePhreaticLevel = Convert.ToDouble(parameterValue, numberFormatInfo); break; case SoilParameterNames.BelowPhreaticLevel: - soil.BelowPhreaticLevel = parameterValue; - soil.BelowPhreaticLevelStochast.Mean = parameterValue; - soil.BelowPhreaticLevelStochast.ActualValue = parameterValue; + soil.BelowPhreaticLevel = Convert.ToDouble(parameterValue, numberFormatInfo); break; - case SoilParameterNames.OvenDry: - soil.DryUnitWeight = parameterValue; - break; - case SoilParameterNames.ExcessPorePressure: - soil.ExcessPorePressure = parameterValue; - break; - case SoilParameterNames.PorePressureFactor: - soil.PorePressureFactor = parameterValue; - break; case SoilParameterNames.Cohesion: - soil.Cohesion = parameterValue; - soil.CohesionStochast.Mean = parameterValue; - soil.CohesionStochast.ActualValue = parameterValue; + soil.Cohesion = Convert.ToDouble(parameterValue, numberFormatInfo); break; case SoilParameterNames.Phi: - soil.FrictionAngle = parameterValue; - soil.FrictionAngleStochast.Mean = parameterValue; - soil.FrictionAngleStochast.ActualValue = parameterValue; + soil.FrictionAngle = Convert.ToDouble(parameterValue, numberFormatInfo); break; case SoilParameterNames.RatioCuPc: - soil.RatioCuPc = parameterValue; - soil.RatioCuPcStochast.Mean = parameterValue; - soil.RatioCuPcStochast.ActualValue = parameterValue; + soil.RatioCuPc = Convert.ToDouble(parameterValue, numberFormatInfo); break; - case SoilParameterNames.RatioCuPcActive: - soil.RatioCuPcActive = parameterValue; - soil.RatioCuPcActiveStochast.Mean = parameterValue; - soil.RatioCuPcActiveStochast.ActualValue = parameterValue; - break; - case SoilParameterNames.RatioCuPcPassive: - soil.RatioCuPcPassive = parameterValue; - soil.RatioCuPcPassiveStochast.Mean = parameterValue; - soil.RatioCuPcPassiveStochast.ActualValue = parameterValue; - break; - case SoilParameterNames.StrengthIncreaseExponent: - case SoilParameterNames.StrengthIncreaseExponentOld: - soil.StrengthIncreaseExponent = parameterValue; - soil.StrengthIncreaseExponentStochast.Mean = parameterValue; - soil.StrengthIncreaseExponentStochast.ActualValue = parameterValue; - break; case SoilParameterNames.ShearStrengthModel: - // in the MSoilbase the identifier for ShearStrengthModel was MatStrengthType, so also check on this identifier - case SoilParameterNames.MatStrengthType: - // The numbers that are read from a file are 0-based - // During the read of the file the numbers are converted to 1-based. - // So - // For the next version of DGeoSTab (16.2) an extra model is added (parameterValue = 8; modelnumber in file = 7) - // This needs to be handled by setting model to Su Calc and UsePop to false. - const int offset1Based = 1; - if (Convert.ToInt32(parameterValue) == 8 + offset1Based) - { - soil.UseDefaultShearStrengthModel = false; - soil.ShearStrengthModel = ShearStrengthModel.CuCalculated; - soil.UsePop = true; - } - else - { - ShearStrengthModel shearStrengthModel = DoubleToMatStrengthType(parameterValue); - // When shearStrengthModel == ShearStrengthModel.None in the original DGeoStability it meant that the default value should be used - // In the current soil class we have a boolean that indicates that the default (projectwide) value should be used) - soil.UseDefaultShearStrengthModel = shearStrengthModel == ShearStrengthModel.None; - soil.ShearStrengthModel = shearStrengthModel; - soil.UsePop = false; - } - + soil.ShearStrengthModel = (ShearStrengthModel) Enum.Parse(typeof(ShearStrengthModel), parameterValue); break; - case SoilParameterNames.UseProbDefaults: - soil.UseDefaultProbabilisticValues = DoubleToBool(parameterValue); - break; - case SoilParameterNames.StdCohesion: - soil.CohesionStochast.Deviation = parameterValue; - break; - case SoilParameterNames.StdPhi: - soil.FrictionAngleStochast.Deviation = parameterValue; - break; - case SoilParameterNames.StdPn: - soil.PnStochast.Deviation = parameterValue; - break; - case SoilParameterNames.StdPOP: - soil.POPStochast.Deviation = parameterValue; - break; - case SoilParameterNames.DistCohesion: - soil.CohesionStochast.DistributionType = DoubleToDistribution(parameterValue); - break; - case SoilParameterNames.DistPhi: - soil.FrictionAngleStochast.DistributionType = DoubleToDistribution(parameterValue); - break; - case SoilParameterNames.DistStressTable: - soil.StressTableStochast.DistributionType = DoubleToDistribution(parameterValue); - break; - case SoilParameterNames.DistPn: - soil.PnStochast.DistributionType = DoubleToDistribution(parameterValue); - break; - case SoilParameterNames.DistPOP: - soil.POPStochast.DistributionType = DoubleToDistribution(parameterValue); - break; - case SoilParameterNames.StdRatioCuPc: - soil.RatioCuPcStochast.Deviation = parameterValue; - break; - case SoilParameterNames.DistRatioCuPc: - soil.RatioCuPcStochast.DistributionType = DoubleToDistribution(parameterValue); - break; - case SoilParameterNames.CorrelationCPhi: - soil.CorrelationCPhi = parameterValue; - break; case SoilParameterNames.POP: - soil.POPStochast.Mean = parameterValue; - soil.POPStochast.ActualValue = parameterValue; + soil.POP = Convert.ToDouble(parameterValue, numberFormatInfo); break; - case SoilParameterNames.UsePop: - soil.UsePop = Math.Abs(parameterValue - 1) < 1e-3; + case SoilParameterNames.StrengthIncreaseExponent: + soil.StrengthIncreaseExponent = Convert.ToDouble(parameterValue, numberFormatInfo); break; - case SoilParameterNames.DesignPartialCohesion: - soil.CohesionStochast.DesignFactor = parameterValue; - break; - case SoilParameterNames.DesignStdCohesion: - soil.CohesionStochast.DesignDeviation = parameterValue; - break; - case SoilParameterNames.DesignPartialPhi: - soil.FrictionAngleStochast.DesignFactor = parameterValue; - break; - case SoilParameterNames.DesignStdPhi: - soil.FrictionAngleStochast.DesignDeviation = parameterValue; - break; - case SoilParameterNames.DesignPartialStressTable: - soil.StressTableStochast.DesignFactor = parameterValue; - break; - case SoilParameterNames.DesignStdStressTable: - soil.StressTableStochast.DesignDeviation = parameterValue; - break; - case SoilParameterNames.DesignPartialPOP: - soil.POPStochast.DesignFactor = parameterValue; - break; - case SoilParameterNames.DesignStdPOP: - soil.POPStochast.DesignDeviation = parameterValue; - break; - case SoilParameterNames.DesignPartialRRatio: - soil.RRatioStochast.DesignFactor = parameterValue; - break; - case SoilParameterNames.DesignStdRRatio: - soil.RRatioStochast.DesignDeviation = parameterValue; - break; - case SoilParameterNames.SoilGroup: - soil.SoilGroup = DoubleToInt(parameterValue); - break; - case SoilParameterNames.UseSoilType: - soil.UseSoilType = DoubleToBool(parameterValue); - break; - case SoilParameterNames.RRatio: - soil.RRatio = parameterValue; - soil.RRatioStochast.Mean = parameterValue; - soil.RRatioStochast.ActualValue = parameterValue; - break; - - // Use following (debug) code to see which parameters are not handled yet - //default: - // Debug.WriteLine(@"WARNING: Unknown Soil Parameter: " + parameterName); - // break; } } - - /// - /// Convert double to int - /// - /// - /// The converted boolean value - public static bool DoubleToBool(double value) - { - return (int) Math.Round(value) != 0; - } - - /// - /// Set a soil property according to name/value string pair. - /// - /// Name of property - /// (String) value of property - public static void SetParameterFromNameValuePair(Soil soil, string parameterName, string parameterValue) - { - var numberFormatInfo = new NumberFormatInfo - { - NumberDecimalSeparator = "." - }; - if (parameterName.Equals(SoilParameterNames.Color)) - { - soil.Color = Color.FromArgb(Convert.ToInt32(parameterValue)); - - // Below 2 lines are needed to correctly read from old .sti files, but then code in GetDatabaseParameterList should also be changed - //Color colorBGR = Color.FromArgb(Convert.ToInt32(parameterValue)); - //soil.Color = Color.FromArgb(255, colorBGR.B, colorBGR.G, colorBGR.R); - } - - if (parameterName.Equals(SoilParameterNames.SoilType)) - { - soil.SoilType = (SoilType) Enum.Parse(typeof(SoilType), parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.DiameterD70)) - { - soil.DiameterD70 = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.WhitesConstant)) - { - soil.WhitesConstant = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.BeddingAngle)) - { - soil.BeddingAngle = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.PermeabKx)) - { - soil.PermeabKx = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - // // IsAquifer property has moved to SoilLayer - //if (parameterName.Equals(SoilParameterNames.IsAquifer)) - //{ - // parameterValue = AdaptNumericBooleanInput(parameterValue); - // soil.isAquifer = Convert.ToBoolean(parameterValue); - //} - - if (parameterName.Equals(SoilParameterNames.StdDiameterD70)) - { - soil.DiameterD70Stochast.Deviation = Convert.ToDouble(parameterValue, numberFormatInfo) * 1e-6; - } - - if (parameterName.Equals(SoilParameterNames.DistDiameterD70)) - { - soil.DiameterD70Stochast.DistributionType = (DistributionType) Enum.Parse(typeof(DistributionType), parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.StdPermeabKx)) - { - soil.PermeabKxStochast.Deviation = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DistPermeabKx)) - { - soil.PermeabKxStochast.DistributionType = (DistributionType) Enum.Parse(typeof(DistributionType), parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.StdWhitesConstant)) - { - soil.WhitesConstantStochast.Deviation = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DistWhitesConstant)) - { - soil.WhitesConstantStochast.DistributionType = (DistributionType) Enum.Parse(typeof(DistributionType), parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.StdBeddingAngle)) - { - soil.BeddingAngleStochast.Deviation = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DistBeddingAngle)) - { - soil.BeddingAngleStochast.DistributionType = (DistributionType) Enum.Parse(typeof(DistributionType), parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.AbovePhreaticLevel)) - { - soil.AbovePhreaticLevel = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.BelowPhreaticLevel)) - { - soil.BelowPhreaticLevel = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.OvenDry)) - { - soil.DryUnitWeight = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.ExcessPorePressure)) - { - soil.ExcessPorePressure = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.PorePressureFactor)) - { - soil.PorePressureFactor = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.Cohesion)) - { - soil.Cohesion = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.Phi)) - { - soil.FrictionAngle = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.RatioCuPc)) - { - soil.RatioCuPc = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.RatioCuPcActive)) - { - soil.RatioCuPcActive = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.RatioCuPcPassive)) - { - soil.RatioCuPcPassive = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.ShearStrengthModel)) - { - soil.ShearStrengthModel = (ShearStrengthModel) Enum.Parse(typeof(ShearStrengthModel), parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.MatStrengthType)) - { - soil.ShearStrengthModel = (ShearStrengthModel) Enum.Parse(typeof(ShearStrengthModel), parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.UseProbDefaults)) - { - parameterValue = AdaptNumericBooleanInput(parameterValue); - soil.UseDefaultProbabilisticValues = Convert.ToBoolean(parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.StdCohesion)) - { - soil.CohesionStochast.Deviation = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.StdPhi)) - { - soil.FrictionAngleStochast.Deviation = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.StdPn)) - { - soil.PnStochast.Deviation = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.StdPOP)) - { - soil.POPStochast.Deviation = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DistCohesion)) - { - soil.CohesionStochast.DistributionType = (DistributionType) Enum.Parse(typeof(DistributionType), parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.DistPhi)) - { - soil.FrictionAngleStochast.DistributionType = (DistributionType) Enum.Parse(typeof(DistributionType), parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.DistStressTable)) - { - soil.StressTableStochast.DistributionType = (DistributionType) Enum.Parse(typeof(DistributionType), parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.DistPn)) - { - soil.PnStochast.DistributionType = (DistributionType) Enum.Parse(typeof(DistributionType), parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.DistPOP)) - { - soil.POPStochast.DistributionType = (DistributionType) Enum.Parse(typeof(DistributionType), parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.CorrelationCPhi)) - { - soil.CorrelationCPhi = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.CorrelationCPhi)) - { - soil.CorrelationCPhi = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.POP)) - { - soil.POP = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.StrengthIncreaseExponent)) - { - soil.StrengthIncreaseExponent = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DesignPartialCohesion)) - { - soil.CohesionStochast.DesignFactor = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DesignStdCohesion)) - { - soil.CohesionStochast.DesignDeviation = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DesignPartialPhi)) - { - soil.FrictionAngleStochast.DesignFactor = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DesignStdPhi)) - { - soil.FrictionAngleStochast.DesignDeviation = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DesignPartialStressTable)) - { - soil.StressTableStochast.DesignFactor = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DesignStdStressTable)) - { - soil.StressTableStochast.DesignDeviation = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DesignPartialPOP)) - { - soil.POPStochast.DesignFactor = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DesignStdPOP)) - { - soil.POPStochast.DesignDeviation = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DesignPartialRRatio)) - { - soil.RRatioStochast.DesignFactor = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DesignStdRRatio)) - { - soil.RRatioStochast.DesignDeviation = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.SoilGroup)) - { - soil.SoilGroup = Convert.ToInt32(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.UseSoilType)) - { - parameterValue = AdaptNumericBooleanInput(parameterValue); - soil.UseSoilType = Convert.ToBoolean(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.RRatio)) - { - soil.RRatio = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.StdRRatio)) - { - soil.RRatioStochast.Deviation = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DistRRatio)) - { - soil.RRatioStochast.DistributionType = (DistributionType) Enum.Parse(typeof(DistributionType), parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.StdRatioCuPc)) - { - soil.RatioCuPcStochast.Deviation = Convert.ToDouble(parameterValue, numberFormatInfo); - } - - if (parameterName.Equals(SoilParameterNames.DistRatioCuPc)) - { - soil.RatioCuPcStochast.DistributionType = (DistributionType) Enum.Parse(typeof(DistributionType), parameterValue); - } - - if (parameterName.Equals(SoilParameterNames.EMod)) - { - soil.EMod = Convert.ToDouble(parameterValue, numberFormatInfo); - } - } - - /// - /// Convert a double value to Distribution type - /// - /// The value. - /// The converted distribution value - private static DistributionType DoubleToDistribution(double value) - { - int intValue = (int) Math.Round(value) - 1; - if (Enum.IsDefined(typeof(DistributionType), intValue)) - { - return (DistributionType) intValue; - } - - return DistributionType.Deterministic; - } - - /// - /// Convert a double value to ShearStrengthModel type - /// - /// The value. - /// - /// The converted ShearStrengthModel - /// - private static ShearStrengthModel DoubleToMatStrengthType(double value) - { - return (ShearStrengthModel) Math.Round(value); - } - - /// - /// Convert double to int - /// - /// - /// The converted int value - private static int DoubleToInt(double value) - { - return (int) Math.Round(value); - } - - private static double ToInt(bool b) - { - return b ? 1 : 0; - } - - /// - /// Enables the input of 0 and 1 as booleans - /// - /// - /// true for 1 and false for 0 - private static string AdaptNumericBooleanInput(string parameterValue) - { - string result = parameterValue; - if (parameterValue == "0") - { - result = "false"; - } - - if (parameterValue == "1") - { - result = "true"; - } - - return result; - } - - /// - /// This list in this class contains the property names of all parameters that are NOT to written to the database! - /// When adding a parameter which should not be stored in the database, add its name to this list (in FillNamesList)! - /// - public static class NonDatabaseParameters - { - /// - /// Gets the parameter names. - /// - /// - /// The parameter names. - /// - public static IList ParameterNames - { - get - { - return FillNamesList(); - } - } - - /// - /// Fills the names list. - /// - /// - private static List FillNamesList() - { - var parameterNames = new List(); - parameterNames.Add("Porosity"); - parameterNames.Add(""); - return parameterNames; - } - } } } \ No newline at end of file Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/SoilParameterNames.cs =================================================================== diff -u -r6713 -r6724 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/SoilParameterNames.cs (.../SoilParameterNames.cs) (revision 6713) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/SoilParameterNames.cs (.../SoilParameterNames.cs) (revision 6724) @@ -19,226 +19,37 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System.Collections.Generic; - namespace Deltares.Dam.Data { /// /// Soil Parameter Names (String constants) /// public static class SoilParameterNames { + // General public const string Color = "SoilColor"; - - // Piping deterministic public const string SoilType = "SoilSoilType"; - public const string DiameterD70 = "SoilDiameterD70"; - public const string WhitesConstant = "SoilWhitesConstant"; - public const string BeddingAngle = "SoilBeddingAngle"; - public const string PermeabKx = "SoilPermeabKx"; - public const string IsAquifer = "SoilIsAquifer"; // name of the former soilparameter IsAquifer. That is now moved to SoilLayer. - // Piping probabilistic - public const string StdDiameterD70 = "SoilStdDiameterD70"; - public const string DistDiameterD70 = "SoilDistDiameterD70"; - public const string StdPermeabKx = "SoilStdPermeabKx"; - public const string DistPermeabKx = "SoilDistPermeabKx"; - public const string StdWhitesConstant = "SoilStdWhitesConstant"; - public const string DistWhitesConstant = "SoilDistWhitesConstant"; - public const string StdBeddingAngle = "SoilStdBeddingAngle"; - public const string DistBeddingAngle = "SoilDistBeddingAngle"; - - // Stability /// - /// The above phreatic level + /// The unit weight above the phreatic level /// public const string AbovePhreaticLevel = "SoilGamDry"; /// - /// The dist above phreatic level + /// The unit weight below the phreatic level /// - public const string DistAbovePhreaticLevel = "SoilDistGamDry"; - - /// - /// The standard above phreatic level - /// - public const string StdAbovePhreaticLevel = "SoilStdGamDry"; - - /// - /// The below phreatic level - /// public const string BelowPhreaticLevel = "SoilGamWet"; - /// - /// The dist below phreatic level - /// - public const string DistBelowPhreaticLevel = "SoilDistGamWet"; + // Piping + public const string DiameterD70 = "SoilDiameterD70"; + public const string PermeabKx = "SoilPermeabKx"; - /// - /// The standard below phreatic level - /// - public const string StdBelowPhreaticLevel = "SoilStdGamWet"; - - public const string OvenDry = "SoilGamOvenDry"; - public const string ExcessPorePressure = "SoilExcessPorePressure"; - public const string PorePressureFactor = "SoilPorePressureFactor"; + // Stability public const string Cohesion = "SoilCohesion"; public const string Phi = "SoilPhi"; - public const string CuTop = "SoilCuTop"; - public const string CuGradient = "SoilCuGradient"; public const string RatioCuPc = "SoilRatioCuPc"; - public const string RatioCuPcPassive = "SoilRatioCuPcPassive"; - public const string RatioCuPcActive = "SoilRatioCuPcActive"; public const string ShearStrengthModel = "SoilShearStrengthModel"; - public const string MatStrengthType = "SoilMatStrengthType"; - public const string ProbInputValues = "SoilProbInputValues"; - public const string UseProbDefaults = "SoilUseProbDefaults"; - public const string StdCohesion = "SoilStdCohesion"; - public const string StdPhi = "SoilStdPhi"; - public const string StdPn = "SoilStdPn"; - public const string StdPOP = "SoilStdPOP"; - public const string DistCohesion = "SoilDistCohesion"; - public const string DistPhi = "SoilDistPhi"; - public const string DistStressTable = "SoilDistStressTable"; - public const string DistPn = "SoilDistPn"; - public const string DistPOP = "SoilDistPOP"; - public const string CorrelationCPhi = "SoilCorrelationCPhi"; public const string POP = "SoilPOP"; public const string StrengthIncreaseExponent = "SoilStrengthIncreaseExponent"; - public const string StrengthIncreaseExponentOld = "StrengthIncreaseExponent"; // This is used in MSoilbase 14.1 - public const string OCR = "SoilOCR"; - public const string DesignPartialCohesion = "SoilDesignPartialCohesion"; - public const string DesignStdCohesion = "SoilDesignStdCohesion"; - public const string DesignPartialPhi = "SoilDesignPartialPhi"; - public const string DesignStdPhi = "SoilDesignStdPhi"; - public const string DesignPartialStressTable = "SoilDesignPartialStressTable"; - public const string DesignStdStressTable = "SoilDesignStdStressTable"; - public const string DesignPartialPOP = "SoilDesignPartialPOP"; - public const string DesignStdPOP = "SoilDesignStdPOP"; - public const string DesignPartialRRatio = "SoilDesignPartialRRatio"; - public const string DesignStdRRatio = "SoilDesignStdRRatio"; - public const string SoilGroup = "SoilSoilGroup"; - public const string UseSoilType = "SoilUseSoilType"; - public const string RRatio = "SoilRRatio"; - public const string StdRRatio = "SoilStdRRatio"; - public const string DistRRatio = "SoilDistRRatio"; - public const string StdRatioCuPc = "SoilStdRatioCuPc"; - public const string DistRatioCuPc = "SoilDistRatioCuPc"; - public const string StressTableName = "SoilStressTableName"; - public const string SuTableName = "SoilSuTableName"; - public const string BondStressTableName = "SoilBondStressTableName"; - - public const string EMod = "EMod"; - - /// - /// The diameter D15 - /// - public const string DiameterD15 = "SoilDiameterD15"; - - /// - /// The diameter D50 - /// - public const string DiameterD50 = "SoilDiameterD50"; - - /// - /// The porosity - /// - public const string Porosity = "SoilPorosity"; - - /// - /// The use pop - /// - public const string UsePop = "IsPopCalculated"; - - /// - /// Gets the parameter names. - /// - /// - /// The parameter names. - /// - public static IList ParameterNames - { - get - { - return FillNamesList(); - } - } - - private static List FillNamesList() - { - var parameterNames = new List - { - Color, - SoilType, - DiameterD70, - WhitesConstant, - BeddingAngle, - PermeabKx, - IsAquifer, - StdDiameterD70, - DistDiameterD70, - StdPermeabKx, - DistPermeabKx, - StdWhitesConstant, - DistWhitesConstant, - StdBeddingAngle, - DistBeddingAngle, - AbovePhreaticLevel, - DistAbovePhreaticLevel, - StdAbovePhreaticLevel, - BelowPhreaticLevel, - DistBelowPhreaticLevel, - StdBelowPhreaticLevel, - OvenDry, - ExcessPorePressure, - PorePressureFactor, - Cohesion, - Phi, - RatioCuPc, - RatioCuPcPassive, - RatioCuPcActive, - ShearStrengthModel, - UseProbDefaults, - StdCohesion, - StdPhi, - StdPn, - StdPOP, - DistCohesion, - DistPhi, - DistStressTable, - DistPn, - DistPOP, - CorrelationCPhi, - POP, - StrengthIncreaseExponent, - OCR, - DesignPartialCohesion, - DesignStdCohesion, - DesignPartialPhi, - DesignStdPhi, - DesignPartialStressTable, - DesignStdStressTable, - DesignPartialPOP, - DesignStdPOP, - DesignPartialRRatio, - DesignStdRRatio, - SoilGroup, - UseSoilType, - RRatio, - StdRRatio, - DistRRatio, - StdRatioCuPc, - DistRatioCuPc, - EMod, - StressTableName, - SuTableName, - BondStressTableName, - DiameterD15, - DiameterD50, - Porosity, - UsePop - }; - return parameterNames; - } } } \ No newline at end of file