private static bool TryConvert(Pressure p, Unit toUnit, out double newValue) { switch (toUnit) { case Unit.Pascal: newValue = p.Pascals; return true; case Unit.KiloPascal: newValue = p.KiloPascals; return true; case Unit.Psi: newValue = p.Psi; return true; case Unit.NewtonPerSquareCentimeter: newValue = p.NewtonsPerSquareCentimeter; return true; case Unit.NewtonPerSquareMillimeter: newValue = p.NewtonsPerSquareMeter; return true; case Unit.NewtonPerSquareMeter: newValue = p.NewtonsPerSquareMillimeter; return true; case Unit.Bar: newValue = p.Bars; return true; case Unit.TechnicalAtmosphere: newValue = p.TechnicalAtmosphere; return true; case Unit.Atmosphere: newValue = p.Atmosphere; return true; case Unit.Torr: newValue = p.Torr; return true; default: newValue = 0; return false; } }
/// <summary> /// Gets the altitude. /// </summary> /// <param name="connection">The BMP085 connection.</param> /// <param name="sealevelPressure">The sealevel pressure.</param> /// <returns>The altitude</returns> public static Length GetAltitude(this Bmp085I2cConnection connection, UnitsNet.Pressure sealevelPressure) { var pressure = connection.GetPressure(); return(Length.FromMeters(44330 * (1.0 - Math.Pow(pressure.Pascals / sealevelPressure.Pascals, 1 / 5.255)))); }
/// <summary>Get <see cref="Pressure"/> from <see cref="Force"/> divided by <see cref="Area"/>.</summary> public static Pressure operator /(Force force, Area area) { return(Pressure.FromPascals(force.Newtons / area.SquareMeters)); }
/// <summary>Get <see cref="Force"/> from <see cref="Pressure"/> divided by <see cref="Area"/>.</summary> public static Force FromPressureByArea(Pressure p, Area area) { double newtons = p.Pascals * area.SquareMeters; return(new Force(newtons, ForceUnit.Newton)); }
/// <summary> /// Dynamically constructs a quantity of the given <see cref="QuantityType"/> with the value in the quantity's base units. /// </summary> /// <param name="quantityType">The <see cref="QuantityType"/> of the quantity to create.</param> /// <param name="value">The value to construct the quantity with.</param> /// <returns>The created quantity.</returns> public static IQuantity FromQuantityType(QuantityType quantityType, QuantityValue value) { switch (quantityType) { case QuantityType.Acceleration: return(Acceleration.From(value, Acceleration.BaseUnit)); case QuantityType.AmountOfSubstance: return(AmountOfSubstance.From(value, AmountOfSubstance.BaseUnit)); case QuantityType.AmplitudeRatio: return(AmplitudeRatio.From(value, AmplitudeRatio.BaseUnit)); case QuantityType.Angle: return(Angle.From(value, Angle.BaseUnit)); case QuantityType.ApparentEnergy: return(ApparentEnergy.From(value, ApparentEnergy.BaseUnit)); case QuantityType.ApparentPower: return(ApparentPower.From(value, ApparentPower.BaseUnit)); case QuantityType.Area: return(Area.From(value, Area.BaseUnit)); case QuantityType.AreaDensity: return(AreaDensity.From(value, AreaDensity.BaseUnit)); case QuantityType.AreaMomentOfInertia: return(AreaMomentOfInertia.From(value, AreaMomentOfInertia.BaseUnit)); case QuantityType.BitRate: return(BitRate.From(value, BitRate.BaseUnit)); case QuantityType.BrakeSpecificFuelConsumption: return(BrakeSpecificFuelConsumption.From(value, BrakeSpecificFuelConsumption.BaseUnit)); case QuantityType.Capacitance: return(Capacitance.From(value, Capacitance.BaseUnit)); case QuantityType.CoefficientOfThermalExpansion: return(CoefficientOfThermalExpansion.From(value, CoefficientOfThermalExpansion.BaseUnit)); case QuantityType.Density: return(Density.From(value, Density.BaseUnit)); case QuantityType.Duration: return(Duration.From(value, Duration.BaseUnit)); case QuantityType.DynamicViscosity: return(DynamicViscosity.From(value, DynamicViscosity.BaseUnit)); case QuantityType.ElectricAdmittance: return(ElectricAdmittance.From(value, ElectricAdmittance.BaseUnit)); case QuantityType.ElectricCharge: return(ElectricCharge.From(value, ElectricCharge.BaseUnit)); case QuantityType.ElectricChargeDensity: return(ElectricChargeDensity.From(value, ElectricChargeDensity.BaseUnit)); case QuantityType.ElectricConductance: return(ElectricConductance.From(value, ElectricConductance.BaseUnit)); case QuantityType.ElectricConductivity: return(ElectricConductivity.From(value, ElectricConductivity.BaseUnit)); case QuantityType.ElectricCurrent: return(ElectricCurrent.From(value, ElectricCurrent.BaseUnit)); case QuantityType.ElectricCurrentDensity: return(ElectricCurrentDensity.From(value, ElectricCurrentDensity.BaseUnit)); case QuantityType.ElectricCurrentGradient: return(ElectricCurrentGradient.From(value, ElectricCurrentGradient.BaseUnit)); case QuantityType.ElectricField: return(ElectricField.From(value, ElectricField.BaseUnit)); case QuantityType.ElectricInductance: return(ElectricInductance.From(value, ElectricInductance.BaseUnit)); case QuantityType.ElectricPotential: return(ElectricPotential.From(value, ElectricPotential.BaseUnit)); case QuantityType.ElectricPotentialAc: return(ElectricPotentialAc.From(value, ElectricPotentialAc.BaseUnit)); case QuantityType.ElectricPotentialDc: return(ElectricPotentialDc.From(value, ElectricPotentialDc.BaseUnit)); case QuantityType.ElectricResistance: return(ElectricResistance.From(value, ElectricResistance.BaseUnit)); case QuantityType.ElectricResistivity: return(ElectricResistivity.From(value, ElectricResistivity.BaseUnit)); case QuantityType.Energy: return(Energy.From(value, Energy.BaseUnit)); case QuantityType.Entropy: return(Entropy.From(value, Entropy.BaseUnit)); case QuantityType.Force: return(Force.From(value, Force.BaseUnit)); case QuantityType.ForceChangeRate: return(ForceChangeRate.From(value, ForceChangeRate.BaseUnit)); case QuantityType.ForcePerLength: return(ForcePerLength.From(value, ForcePerLength.BaseUnit)); case QuantityType.Frequency: return(Frequency.From(value, Frequency.BaseUnit)); case QuantityType.HeatFlux: return(HeatFlux.From(value, HeatFlux.BaseUnit)); case QuantityType.HeatTransferCoefficient: return(HeatTransferCoefficient.From(value, HeatTransferCoefficient.BaseUnit)); case QuantityType.Illuminance: return(Illuminance.From(value, Illuminance.BaseUnit)); case QuantityType.Information: return(Information.From(value, Information.BaseUnit)); case QuantityType.Irradiance: return(Irradiance.From(value, Irradiance.BaseUnit)); case QuantityType.Irradiation: return(Irradiation.From(value, Irradiation.BaseUnit)); case QuantityType.KinematicViscosity: return(KinematicViscosity.From(value, KinematicViscosity.BaseUnit)); case QuantityType.LapseRate: return(LapseRate.From(value, LapseRate.BaseUnit)); case QuantityType.Length: return(Length.From(value, Length.BaseUnit)); case QuantityType.Level: return(Level.From(value, Level.BaseUnit)); case QuantityType.LinearDensity: return(LinearDensity.From(value, LinearDensity.BaseUnit)); case QuantityType.LuminousFlux: return(LuminousFlux.From(value, LuminousFlux.BaseUnit)); case QuantityType.LuminousIntensity: return(LuminousIntensity.From(value, LuminousIntensity.BaseUnit)); case QuantityType.MagneticField: return(MagneticField.From(value, MagneticField.BaseUnit)); case QuantityType.MagneticFlux: return(MagneticFlux.From(value, MagneticFlux.BaseUnit)); case QuantityType.Magnetization: return(Magnetization.From(value, Magnetization.BaseUnit)); case QuantityType.Mass: return(Mass.From(value, Mass.BaseUnit)); case QuantityType.MassFlow: return(MassFlow.From(value, MassFlow.BaseUnit)); case QuantityType.MassFlux: return(MassFlux.From(value, MassFlux.BaseUnit)); case QuantityType.MassMomentOfInertia: return(MassMomentOfInertia.From(value, MassMomentOfInertia.BaseUnit)); case QuantityType.MolarEnergy: return(MolarEnergy.From(value, MolarEnergy.BaseUnit)); case QuantityType.MolarEntropy: return(MolarEntropy.From(value, MolarEntropy.BaseUnit)); case QuantityType.Molarity: return(Molarity.From(value, Molarity.BaseUnit)); case QuantityType.MolarMass: return(MolarMass.From(value, MolarMass.BaseUnit)); case QuantityType.Permeability: return(Permeability.From(value, Permeability.BaseUnit)); case QuantityType.Permittivity: return(Permittivity.From(value, Permittivity.BaseUnit)); case QuantityType.Power: return(Power.From(value, Power.BaseUnit)); case QuantityType.PowerDensity: return(PowerDensity.From(value, PowerDensity.BaseUnit)); case QuantityType.PowerRatio: return(PowerRatio.From(value, PowerRatio.BaseUnit)); case QuantityType.Pressure: return(Pressure.From(value, Pressure.BaseUnit)); case QuantityType.PressureChangeRate: return(PressureChangeRate.From(value, PressureChangeRate.BaseUnit)); case QuantityType.Ratio: return(Ratio.From(value, Ratio.BaseUnit)); case QuantityType.ReactiveEnergy: return(ReactiveEnergy.From(value, ReactiveEnergy.BaseUnit)); case QuantityType.ReactivePower: return(ReactivePower.From(value, ReactivePower.BaseUnit)); case QuantityType.RotationalAcceleration: return(RotationalAcceleration.From(value, RotationalAcceleration.BaseUnit)); case QuantityType.RotationalSpeed: return(RotationalSpeed.From(value, RotationalSpeed.BaseUnit)); case QuantityType.RotationalStiffness: return(RotationalStiffness.From(value, RotationalStiffness.BaseUnit)); case QuantityType.RotationalStiffnessPerLength: return(RotationalStiffnessPerLength.From(value, RotationalStiffnessPerLength.BaseUnit)); case QuantityType.SolidAngle: return(SolidAngle.From(value, SolidAngle.BaseUnit)); case QuantityType.SpecificEnergy: return(SpecificEnergy.From(value, SpecificEnergy.BaseUnit)); case QuantityType.SpecificEntropy: return(SpecificEntropy.From(value, SpecificEntropy.BaseUnit)); case QuantityType.SpecificVolume: return(SpecificVolume.From(value, SpecificVolume.BaseUnit)); case QuantityType.SpecificWeight: return(SpecificWeight.From(value, SpecificWeight.BaseUnit)); case QuantityType.Speed: return(Speed.From(value, Speed.BaseUnit)); case QuantityType.Temperature: return(Temperature.From(value, Temperature.BaseUnit)); case QuantityType.TemperatureChangeRate: return(TemperatureChangeRate.From(value, TemperatureChangeRate.BaseUnit)); case QuantityType.TemperatureDelta: return(TemperatureDelta.From(value, TemperatureDelta.BaseUnit)); case QuantityType.ThermalConductivity: return(ThermalConductivity.From(value, ThermalConductivity.BaseUnit)); case QuantityType.ThermalResistance: return(ThermalResistance.From(value, ThermalResistance.BaseUnit)); case QuantityType.Torque: return(Torque.From(value, Torque.BaseUnit)); case QuantityType.VitaminA: return(VitaminA.From(value, VitaminA.BaseUnit)); case QuantityType.Volume: return(Volume.From(value, Volume.BaseUnit)); case QuantityType.VolumeFlow: return(VolumeFlow.From(value, VolumeFlow.BaseUnit)); case QuantityType.VolumePerLength: return(VolumePerLength.From(value, VolumePerLength.BaseUnit)); default: throw new ArgumentException($"{quantityType} is not a supported quantity type."); } }
/// <summary> /// Try to dynamically construct a quantity. /// </summary> /// <param name="value">Numeric value.</param> /// <param name="unit">Unit enum value.</param> /// <param name="quantity">The resulting quantity if successful, otherwise <c>default</c>.</param> /// <returns><c>True</c> if successful with <paramref name="quantity"/> assigned the value, otherwise <c>false</c>.</returns> public static bool TryFrom(QuantityValue value, Enum unit, out IQuantity quantity) { switch (unit) { case AccelerationUnit accelerationUnit: quantity = Acceleration.From(value, accelerationUnit); return(true); case AmountOfSubstanceUnit amountOfSubstanceUnit: quantity = AmountOfSubstance.From(value, amountOfSubstanceUnit); return(true); case AmplitudeRatioUnit amplitudeRatioUnit: quantity = AmplitudeRatio.From(value, amplitudeRatioUnit); return(true); case AngleUnit angleUnit: quantity = Angle.From(value, angleUnit); return(true); case ApparentEnergyUnit apparentEnergyUnit: quantity = ApparentEnergy.From(value, apparentEnergyUnit); return(true); case ApparentPowerUnit apparentPowerUnit: quantity = ApparentPower.From(value, apparentPowerUnit); return(true); case AreaUnit areaUnit: quantity = Area.From(value, areaUnit); return(true); case AreaDensityUnit areaDensityUnit: quantity = AreaDensity.From(value, areaDensityUnit); return(true); case AreaMomentOfInertiaUnit areaMomentOfInertiaUnit: quantity = AreaMomentOfInertia.From(value, areaMomentOfInertiaUnit); return(true); case BitRateUnit bitRateUnit: quantity = BitRate.From(value, bitRateUnit); return(true); case BrakeSpecificFuelConsumptionUnit brakeSpecificFuelConsumptionUnit: quantity = BrakeSpecificFuelConsumption.From(value, brakeSpecificFuelConsumptionUnit); return(true); case CapacitanceUnit capacitanceUnit: quantity = Capacitance.From(value, capacitanceUnit); return(true); case CoefficientOfThermalExpansionUnit coefficientOfThermalExpansionUnit: quantity = CoefficientOfThermalExpansion.From(value, coefficientOfThermalExpansionUnit); return(true); case DensityUnit densityUnit: quantity = Density.From(value, densityUnit); return(true); case DurationUnit durationUnit: quantity = Duration.From(value, durationUnit); return(true); case DynamicViscosityUnit dynamicViscosityUnit: quantity = DynamicViscosity.From(value, dynamicViscosityUnit); return(true); case ElectricAdmittanceUnit electricAdmittanceUnit: quantity = ElectricAdmittance.From(value, electricAdmittanceUnit); return(true); case ElectricChargeUnit electricChargeUnit: quantity = ElectricCharge.From(value, electricChargeUnit); return(true); case ElectricChargeDensityUnit electricChargeDensityUnit: quantity = ElectricChargeDensity.From(value, electricChargeDensityUnit); return(true); case ElectricConductanceUnit electricConductanceUnit: quantity = ElectricConductance.From(value, electricConductanceUnit); return(true); case ElectricConductivityUnit electricConductivityUnit: quantity = ElectricConductivity.From(value, electricConductivityUnit); return(true); case ElectricCurrentUnit electricCurrentUnit: quantity = ElectricCurrent.From(value, electricCurrentUnit); return(true); case ElectricCurrentDensityUnit electricCurrentDensityUnit: quantity = ElectricCurrentDensity.From(value, electricCurrentDensityUnit); return(true); case ElectricCurrentGradientUnit electricCurrentGradientUnit: quantity = ElectricCurrentGradient.From(value, electricCurrentGradientUnit); return(true); case ElectricFieldUnit electricFieldUnit: quantity = ElectricField.From(value, electricFieldUnit); return(true); case ElectricInductanceUnit electricInductanceUnit: quantity = ElectricInductance.From(value, electricInductanceUnit); return(true); case ElectricPotentialUnit electricPotentialUnit: quantity = ElectricPotential.From(value, electricPotentialUnit); return(true); case ElectricPotentialAcUnit electricPotentialAcUnit: quantity = ElectricPotentialAc.From(value, electricPotentialAcUnit); return(true); case ElectricPotentialDcUnit electricPotentialDcUnit: quantity = ElectricPotentialDc.From(value, electricPotentialDcUnit); return(true); case ElectricResistanceUnit electricResistanceUnit: quantity = ElectricResistance.From(value, electricResistanceUnit); return(true); case ElectricResistivityUnit electricResistivityUnit: quantity = ElectricResistivity.From(value, electricResistivityUnit); return(true); case EnergyUnit energyUnit: quantity = Energy.From(value, energyUnit); return(true); case EntropyUnit entropyUnit: quantity = Entropy.From(value, entropyUnit); return(true); case ForceUnit forceUnit: quantity = Force.From(value, forceUnit); return(true); case ForceChangeRateUnit forceChangeRateUnit: quantity = ForceChangeRate.From(value, forceChangeRateUnit); return(true); case ForcePerLengthUnit forcePerLengthUnit: quantity = ForcePerLength.From(value, forcePerLengthUnit); return(true); case FrequencyUnit frequencyUnit: quantity = Frequency.From(value, frequencyUnit); return(true); case HeatFluxUnit heatFluxUnit: quantity = HeatFlux.From(value, heatFluxUnit); return(true); case HeatTransferCoefficientUnit heatTransferCoefficientUnit: quantity = HeatTransferCoefficient.From(value, heatTransferCoefficientUnit); return(true); case IlluminanceUnit illuminanceUnit: quantity = Illuminance.From(value, illuminanceUnit); return(true); case InformationUnit informationUnit: quantity = Information.From(value, informationUnit); return(true); case IrradianceUnit irradianceUnit: quantity = Irradiance.From(value, irradianceUnit); return(true); case IrradiationUnit irradiationUnit: quantity = Irradiation.From(value, irradiationUnit); return(true); case KinematicViscosityUnit kinematicViscosityUnit: quantity = KinematicViscosity.From(value, kinematicViscosityUnit); return(true); case LapseRateUnit lapseRateUnit: quantity = LapseRate.From(value, lapseRateUnit); return(true); case LengthUnit lengthUnit: quantity = Length.From(value, lengthUnit); return(true); case LevelUnit levelUnit: quantity = Level.From(value, levelUnit); return(true); case LinearDensityUnit linearDensityUnit: quantity = LinearDensity.From(value, linearDensityUnit); return(true); case LuminousFluxUnit luminousFluxUnit: quantity = LuminousFlux.From(value, luminousFluxUnit); return(true); case LuminousIntensityUnit luminousIntensityUnit: quantity = LuminousIntensity.From(value, luminousIntensityUnit); return(true); case MagneticFieldUnit magneticFieldUnit: quantity = MagneticField.From(value, magneticFieldUnit); return(true); case MagneticFluxUnit magneticFluxUnit: quantity = MagneticFlux.From(value, magneticFluxUnit); return(true); case MagnetizationUnit magnetizationUnit: quantity = Magnetization.From(value, magnetizationUnit); return(true); case MassUnit massUnit: quantity = Mass.From(value, massUnit); return(true); case MassFlowUnit massFlowUnit: quantity = MassFlow.From(value, massFlowUnit); return(true); case MassFluxUnit massFluxUnit: quantity = MassFlux.From(value, massFluxUnit); return(true); case MassMomentOfInertiaUnit massMomentOfInertiaUnit: quantity = MassMomentOfInertia.From(value, massMomentOfInertiaUnit); return(true); case MolarEnergyUnit molarEnergyUnit: quantity = MolarEnergy.From(value, molarEnergyUnit); return(true); case MolarEntropyUnit molarEntropyUnit: quantity = MolarEntropy.From(value, molarEntropyUnit); return(true); case MolarityUnit molarityUnit: quantity = Molarity.From(value, molarityUnit); return(true); case MolarMassUnit molarMassUnit: quantity = MolarMass.From(value, molarMassUnit); return(true); case PermeabilityUnit permeabilityUnit: quantity = Permeability.From(value, permeabilityUnit); return(true); case PermittivityUnit permittivityUnit: quantity = Permittivity.From(value, permittivityUnit); return(true); case PowerUnit powerUnit: quantity = Power.From(value, powerUnit); return(true); case PowerDensityUnit powerDensityUnit: quantity = PowerDensity.From(value, powerDensityUnit); return(true); case PowerRatioUnit powerRatioUnit: quantity = PowerRatio.From(value, powerRatioUnit); return(true); case PressureUnit pressureUnit: quantity = Pressure.From(value, pressureUnit); return(true); case PressureChangeRateUnit pressureChangeRateUnit: quantity = PressureChangeRate.From(value, pressureChangeRateUnit); return(true); case RatioUnit ratioUnit: quantity = Ratio.From(value, ratioUnit); return(true); case ReactiveEnergyUnit reactiveEnergyUnit: quantity = ReactiveEnergy.From(value, reactiveEnergyUnit); return(true); case ReactivePowerUnit reactivePowerUnit: quantity = ReactivePower.From(value, reactivePowerUnit); return(true); case RotationalAccelerationUnit rotationalAccelerationUnit: quantity = RotationalAcceleration.From(value, rotationalAccelerationUnit); return(true); case RotationalSpeedUnit rotationalSpeedUnit: quantity = RotationalSpeed.From(value, rotationalSpeedUnit); return(true); case RotationalStiffnessUnit rotationalStiffnessUnit: quantity = RotationalStiffness.From(value, rotationalStiffnessUnit); return(true); case RotationalStiffnessPerLengthUnit rotationalStiffnessPerLengthUnit: quantity = RotationalStiffnessPerLength.From(value, rotationalStiffnessPerLengthUnit); return(true); case SolidAngleUnit solidAngleUnit: quantity = SolidAngle.From(value, solidAngleUnit); return(true); case SpecificEnergyUnit specificEnergyUnit: quantity = SpecificEnergy.From(value, specificEnergyUnit); return(true); case SpecificEntropyUnit specificEntropyUnit: quantity = SpecificEntropy.From(value, specificEntropyUnit); return(true); case SpecificVolumeUnit specificVolumeUnit: quantity = SpecificVolume.From(value, specificVolumeUnit); return(true); case SpecificWeightUnit specificWeightUnit: quantity = SpecificWeight.From(value, specificWeightUnit); return(true); case SpeedUnit speedUnit: quantity = Speed.From(value, speedUnit); return(true); case TemperatureUnit temperatureUnit: quantity = Temperature.From(value, temperatureUnit); return(true); case TemperatureChangeRateUnit temperatureChangeRateUnit: quantity = TemperatureChangeRate.From(value, temperatureChangeRateUnit); return(true); case TemperatureDeltaUnit temperatureDeltaUnit: quantity = TemperatureDelta.From(value, temperatureDeltaUnit); return(true); case ThermalConductivityUnit thermalConductivityUnit: quantity = ThermalConductivity.From(value, thermalConductivityUnit); return(true); case ThermalResistanceUnit thermalResistanceUnit: quantity = ThermalResistance.From(value, thermalResistanceUnit); return(true); case TorqueUnit torqueUnit: quantity = Torque.From(value, torqueUnit); return(true); case VitaminAUnit vitaminAUnit: quantity = VitaminA.From(value, vitaminAUnit); return(true); case VolumeUnit volumeUnit: quantity = Volume.From(value, volumeUnit); return(true); case VolumeFlowUnit volumeFlowUnit: quantity = VolumeFlow.From(value, volumeFlowUnit); return(true); case VolumePerLengthUnit volumePerLengthUnit: quantity = VolumePerLength.From(value, volumePerLengthUnit); return(true); default: { quantity = default(IQuantity); return(false); } } }