Example #1
0
        private Pressure As(PressureReference reference)
        {
            if (Reference == reference)
            {
                return(new Pressure(Pressure.Value, Pressure.Unit));
            }

            var converted = AsBaseNumericType(reference);

            if (converted < 0)
            {
                converted *= -1;
            }
            return(new Pressure(converted, Pressure.Unit));
        }
Example #2
0
        private double AsBaseNumericType(PressureReference reference)
        {
            if (Reference == reference)
            {
                return(Pressure.Value);
            }

            var baseReferenceValue = AsBaseReference();
            var negatingValue      = Reference == PressureReference.Vacuum ? -1 : 1;

            switch (reference)
            {
            case PressureReference.Absolute: return(baseReferenceValue);

            case PressureReference.Gauge: return(baseReferenceValue - ReferencedPressure.ToUnit(Pressure.Unit).Value);

            case PressureReference.Vacuum: return(ReferencedPressure.ToUnit(Pressure.Unit).Value - negatingValue * baseReferenceValue);

            default:
                throw new NotImplementedException($"Can not convert {Reference} to {reference}.");
            }
        }
 /// <summary>
 ///     Initializes a new instance of the <see cref="ReferencePressure" /> struct requiring
 ///     measured <see cref="UnitsNet.Pressure" />, <see cref="PressureReference" />, and atmospheric <see cref="UnitsNet.Pressure" />
 ///     parameters
 /// </summary>
 /// <param name="pressure">The measured <see cref="UnitsNet.Pressure" /></param>
 /// <param name="reference">
 ///     The referenced <see cref="PressureReference" /> for the measured <see cref="UnitsNet.Pressure" />
 /// </param>
 /// <param name="atmosphericPressure">The atmospheric <see cref="UnitsNet.Pressure" /> where the measurement was taken.</param>
 public ReferencePressure(Pressure pressure, PressureReference reference, Pressure atmosphericPressure)
 {
     Reference           = reference;
     Pressure            = pressure;
     AtmosphericPressure = atmosphericPressure;
 }
 /// <summary>
 ///     Initializes a new instance of the <see cref="ReferencePressure" /> struct requiring
 ///     measured <see cref="UnitsNet.Pressure" /> and <see cref="PressureReference" /> parameters. Assumes 1 atm as the atmospheric
 ///     <see cref="UnitsNet.Pressure" />.
 /// </summary>
 /// <param name="pressure">The measured <see cref="UnitsNet.Pressure" /></param>
 /// <param name="reference">
 ///     The referenced <see cref="PressureReference" /> for the measured <see cref="UnitsNet.Pressure" />
 /// </param>
 public ReferencePressure(Pressure pressure, PressureReference reference) : this(pressure, reference, DefaultAtmosphericPressure)
 {
 }
        /// <summary>
        ///     Converts <see cref="ReferencePressure" /> to <see cref="UnitsNet.Pressure" /> at <see cref="PressureReference" />
        /// </summary>
        /// <param name="reference">The <see cref="PressureReference" /> to convert <see cref="ReferencePressure" /> to.</param>
        /// <returns>The <see cref="UnitsNet.Pressure" /> at the specified <see cref="PressureReference" /></returns>
        private Pressure As(PressureReference reference)
        {
            var converted = AsBaseNumericType(reference);

            return(new Pressure(converted, Pressure.Unit));
        }
Example #6
0
 public ReferencePressure(Pressure pressure, PressureReference reference)
 {
     _reference = reference;
     Pressure   = pressure;
 }