コード例 #1
0
ファイル: Density.cs プロジェクト: lapolinarweb/Magick.NET
 /// <summary>
 /// Initializes a new instance of the <see cref="Density"/> class.
 /// </summary>
 /// <param name="xy">The x and y.</param>
 /// <param name="units">The units.</param>
 public Density(double xy, DensityUnit units)
     : this(xy, xy, units)
 {
 }
コード例 #2
0
 /// <summary>
 /// Initializes a new instance of <see cref="Gu.Units.Wpf.DensityConverter"/>.
 /// </summary>
 /// <param name="unit"><see cref="Gu.Units.DensityUnit"/>.</param>
 public DensityConverter(DensityUnit unit)
 {
     Unit = unit;
 }
コード例 #3
0
 /// <summary>
 ///     Get string representation of value and unit. Using two significant digits after radix.
 /// </summary>
 /// <param name="unit">Unit representation to use.</param>
 /// <param name="cultureName">Name of culture (ex: "en-US") to use for localization and number formatting. Defaults to <see cref="UnitSystem" />'s default culture.</param>
 /// <returns>String representation.</returns>
 public string ToString(DensityUnit unit, [CanBeNull] string cultureName)
 {
     return(ToString(unit, cultureName, 2));
 }
コード例 #4
0
ファイル: Density.g.cs プロジェクト: Bijan86/UnitsNet
 public string ToString(DensityUnit unit, CultureInfo culture = null, int significantDigitsAfterRadix = 2)
 {
     return(ToString(unit, culture, UnitFormatter.GetFormat(As(unit), significantDigitsAfterRadix)));
 }
コード例 #5
0
        /// <summary>
        ///     Converts this Duration to another Duration with the unit representation <paramref name="unit" />.
        /// </summary>
        /// <returns>A Duration with the specified unit.</returns>
        public Density ToUnit(DensityUnit unit)
        {
            var convertedValue = GetValueAs(unit);

            return(new Density(convertedValue, unit));
        }
コード例 #6
0
        public static string GetAbbreviation(DensityUnit unit, [CanBeNull] IFormatProvider provider)
        {
            provider = provider ?? UnitSystem.DefaultCulture;

            return(UnitSystem.GetCached(provider).GetDefaultAbbreviation(unit));
        }
コード例 #7
0
        /// <summary>
        ///     Converts this Density to another Density with the unit representation <paramref name="unit" />.
        /// </summary>
        /// <returns>A Density with the specified unit.</returns>
        public Density ToUnit(DensityUnit unit)
        {
            var convertedValue = AsBaseNumericType(unit);

            return(new Density(convertedValue, unit));
        }
コード例 #8
0
 /// <summary>
 ///     Dynamically convert from value and unit enum <see cref="DensityUnit" /> to <see cref="Density" />.
 /// </summary>
 /// <param name="value">Value to convert from.</param>
 /// <param name="fromUnit">Unit to convert from.</param>
 /// <returns>Density unit value.</returns>
 public static Density From(double value, DensityUnit fromUnit)
 {
     return(new Density(value, fromUnit));
 }
コード例 #9
0
 public static Density From(double value, DensityUnit fromUnit)
コード例 #10
0
        public static Density From(QuantityValue value, DensityUnit fromUnit)
#endif
        {
            return(new Density((double)value, fromUnit));
        }
コード例 #11
0
 Density(double numericValue, DensityUnit unit)
 {
     _value = numericValue;
     _unit  = unit;
 }
コード例 #12
0
        // This processing detemines the N P K values in lb per acre for the fertilizer select and appricatio rate/density etc.
        public FertilizerNutrients GetFertilizerNutrients()
        {
            FertilizerNutrients fn = new FertilizerNutrients();

            // get the fertilizer N P K % values from fertlizer look up
            //  for dry fertilizers
            //      N (lb/ac) = Application rate converted to lb/ac * N %
            //      P and K same as above
            //  for wet fertilizers
            //      N (lb/ac) = Application rate converted to lb/ac * N% * Density converted to lb / imp gallons
            //

            decimal applicationRateConversion = 0;
            decimal densityInSelectedUnit     = 0;
            decimal densityUnitConversion     = 0;

            Fertilizer _fertilizer = _sd.GetFertilizer(FertilizerId.ToString());

            if ((CustomFertilizer && FertilizerType == "dry") || (!CustomFertilizer && _fertilizer.dry_liquid == "dry"))
            {
                densityUnitConversion = 1;
                switch (ApplicationRateUnits)
                {
                case 1:   // application rate in lb/ac no conversion required
                    applicationRateConversion = 1;
                    break;

                case 2:   // application rate in kg/ha, convert to lb/ac
                    ConversionFactor _cf = _sd.GetConversionFactor();
                    applicationRateConversion = _cf.kgperha_lbperac_conversion;
                    break;

                case 7:   // application rate in lb/100 ft squared, convert to lb/ac
                    ConversionFactor _cf1 = _sd.GetConversionFactor();
                    applicationRateConversion = _cf1.lbper1000ftsquared_lbperac_conversion;
                    break;
                }
            }
            else //use liquid fertilizer
            {
                FertilizerUnit _fU = _sd.GetFertilizerUnit(ApplicationRateUnits);
                applicationRateConversion = _fU.conv_to_impgalperac;
                if (CustomFertilizer)
                {
                    densityInSelectedUnit = Density;
                }
                else
                {
                    LiquidFertilizerDensity _lfd = _sd.GetLiquidFertilizerDensity(FertilizerId, DensityUnits);
                    densityInSelectedUnit = _lfd.value;
                }
                DensityUnit _du = _sd.GetDensityUnit(DensityUnits);
                densityUnitConversion = _du.convfactor * densityInSelectedUnit;
            }

            fn.fertilizer_N    = ApplicationRate * decimal.Divide(userN, 100) * applicationRateConversion * densityUnitConversion;
            fn.fertilizer_P2O5 = ApplicationRate * decimal.Divide(userP2o5, 100) * applicationRateConversion * densityUnitConversion;
            fn.fertilizer_K2O  = ApplicationRate * decimal.Divide(userK2o, 100) * applicationRateConversion * densityUnitConversion;

            return(fn);
        }
コード例 #13
0
 protected static string CreateSuffix(SymbolFormat format, DensityUnit unit)
 {
     return default(Density).ToString(unit, format).Trim('0');
 }
コード例 #14
0
 protected override DensityUnit __DoSubstraction(DensityUnit right)
 {
     return new KilogramPerCubicMeter(Value - right.Value);
 }
コード例 #15
0
        private double AsBaseNumericType(DensityUnit unit)
        {
            if (Unit == unit)
            {
                return(_value);
            }

            var baseUnitValue = AsBaseUnit();

            switch (unit)
            {
            case DensityUnit.DecigramPerDeciliter: return((baseUnitValue * 1e-1) / 1e-1d);

            case DensityUnit.DecigramPerLiter: return((baseUnitValue * 1) / 1e-1d);

            case DensityUnit.DecigramPerMilliliter: return((baseUnitValue * 1e-3) / 1e-1d);

            case DensityUnit.GramPerCubicCentimeter: return(baseUnitValue * 1e-3);

            case DensityUnit.GramPerCubicMeter: return(baseUnitValue * 1e3);

            case DensityUnit.GramPerCubicMillimeter: return(baseUnitValue * 1e-6);

            case DensityUnit.GramPerDeciliter: return(baseUnitValue * 1e-1);

            case DensityUnit.GramPerLiter: return(baseUnitValue * 1);

            case DensityUnit.GramPerMilliliter: return(baseUnitValue * 1e-3);

            case DensityUnit.KilogramPerCubicCentimeter: return((baseUnitValue * 1e-3) / 1e3d);

            case DensityUnit.KilogramPerCubicMeter: return((baseUnitValue * 1e3) / 1e3d);

            case DensityUnit.KilogramPerCubicMillimeter: return((baseUnitValue * 1e-6) / 1e3d);

            case DensityUnit.KilopoundPerCubicFoot: return((baseUnitValue * 0.062427961) / 1e3d);

            case DensityUnit.KilopoundPerCubicInch: return((baseUnitValue * 3.6127298147753e-5) / 1e3d);

            case DensityUnit.MilligramPerCubicMeter: return((baseUnitValue * 1e3) / 1e-3d);

            case DensityUnit.MilligramPerDeciliter: return((baseUnitValue * 1e-1) / 1e-3d);

            case DensityUnit.MilligramPerLiter: return((baseUnitValue * 1) / 1e-3d);

            case DensityUnit.MilligramPerMilliliter: return((baseUnitValue * 1e-3) / 1e-3d);

            case DensityUnit.PoundPerCubicFoot: return(baseUnitValue * 0.062427961);

            case DensityUnit.PoundPerCubicInch: return(baseUnitValue * 3.6127298147753e-5);

            case DensityUnit.PoundPerImperialGallon: return(baseUnitValue / 9.9776398e1);

            case DensityUnit.PoundPerUSGallon: return(baseUnitValue / 1.19826427e2);

            case DensityUnit.SlugPerCubicFoot: return(baseUnitValue * 0.00194032033);

            case DensityUnit.TonnePerCubicCentimeter: return(baseUnitValue * 1e-9);

            case DensityUnit.TonnePerCubicMeter: return(baseUnitValue * 0.001);

            case DensityUnit.TonnePerCubicMillimeter: return(baseUnitValue * 1e-12);

            default:
                throw new NotImplementedException($"Can not convert {Unit} to {unit}.");
            }
        }
コード例 #16
0
 private Density(FLT flt, double value, DensityUnit unit)
     : base(flt, value, unit)
 {
 }
コード例 #17
0
 public static void HasConversion(this PropertyBuilder <Density> propertyBuilder, DensityUnit unit) =>
 propertyBuilder.HasConversion(v => v.As(unit), v => new Density(v, unit));
コード例 #18
0
 /// <summary>
 ///     Convert to the unit representation <paramref name="unit" />.
 /// </summary>
 /// <returns>Value converted to the specified unit.</returns>
 public double As(DensityUnit unit) => GetValueAs(unit);
コード例 #19
0
        //HeatFluxDensityUnit heatTransferCoefficient;
        //ForceUnit force;
        //SurfaceTensionUnit surfaceTension;

        public UnitSystem(TemperatureUnit temperature, PressureUnit pressure, MassFlowRateUnit massFlowRate,
                          VolumeFlowRateUnit volumeFlowRate, MoistureContentUnit moistureContent,
                          RatioUnit relativeHumidity, SpecificEnergyUnit enthalpy,
                          SpecificHeatUnit specificHeat, EnergyUnit energy, PowerUnit power, DensityUnit density,
                          DynamicViscosityUnit dynamicViscosity, KinematicViscosityUnit kinematicViscosity,
                          ThermalConductivityUnit conductivity, DiffusivityUnit diffusivity, MassUnit mass,
                          LengthUnit length, AreaUnit area, VolumeUnit volume, TimeUnit Time, string name) //ep
        {
            this.temperature        = temperature;
            this.pressure           = pressure;
            this.massFlowRate       = massFlowRate;
            this.volumeFlowRate     = volumeFlowRate;
            this.moistureContent    = moistureContent;
            this.relativeHumidity   = relativeHumidity;
            this.enthalpy           = enthalpy;
            this.specificHeat       = specificHeat;
            this.energy             = energy;
            this.power              = power;
            this.density            = density;
            this.dynamicViscosity   = dynamicViscosity;
            this.kinematicViscosity = kinematicViscosity;
            this.conductivity       = conductivity;
            this.diffusivity        = diffusivity;
            this.mass     = mass;
            this.length   = length;
            this.area     = area;
            this.volume   = volume;
            this.time     = time;
            this.Name     = name;  //ep
            this.readOnly = false; //ep
        }
コード例 #20
0
 public static Density?From(QuantityValue?value, DensityUnit fromUnit)
 {
     return(value.HasValue ? new Density((double)value.Value, fromUnit) : default(Density?));
 }
コード例 #21
0
        // This processing detemines the N P K values in lb per acre for the fertilizer select and appricatio rate/density etc.
        public FertilizerNutrients GetFertilizerNutrients(int FertilizerId,
                                                          string fertilizerType,
                                                          decimal applicationRate,
                                                          int applicationRateUnits,
                                                          decimal density,
                                                          int densityUnits,
                                                          decimal userN,
                                                          decimal userP2o5,
                                                          decimal userK2o,
                                                          bool customFertilizer)
        {
            var fn = new FertilizerNutrients();

            // get the fertilizer N P K % values from fertlizer look up
            //  for dry fertilizers
            //      N (lb/ac) = Application rate converted to lb/ac * N %
            //      P and K same as above
            //  for wet fertilizers
            //      N (lb/ac) = Application rate converted to lb/ac * N% * Density converted to lb / imp gallons
            //

            decimal applicationRateConversion = 0;
            decimal densityInSelectedUnit     = 0;
            decimal densityUnitConversion     = 0;

            Fertilizer _fertilizer = _sd.GetFertilizer(FertilizerId.ToString());

            if (customFertilizer && fertilizerType == "dry" || !customFertilizer && _fertilizer.DryLiquid == "dry")
            {
                densityUnitConversion = 1;
                switch (applicationRateUnits)
                {
                case 1:     // application rate in lb/ac no conversion required
                    applicationRateConversion = 1;
                    break;

                case 2:     // application rate in kg/ha, convert to lb/ac
                    ConversionFactor _cf = _sd.GetConversionFactor();
                    applicationRateConversion = _cf.KilogramPerHectareToPoundPerAcreConversion;
                    break;

                case 7:     // application rate in lb/100 ft squared, convert to lb/ac
                    ConversionFactor _cf1 = _sd.GetConversionFactor();
                    applicationRateConversion = _cf1.PoundPer1000FtSquaredToPoundPerAcreConversion;
                    break;
                }
            }
            else //use liquid fertilizer
            {
                FertilizerUnit _fU = _sd.GetFertilizerUnit(applicationRateUnits);
                applicationRateConversion = _fU.ConversionToImperialGallonsPerAcre;
                if (customFertilizer)
                {
                    densityInSelectedUnit = density;
                }
                else
                {
                    LiquidFertilizerDensity _lfd = _sd.GetLiquidFertilizerDensity(FertilizerId, densityUnits);
                    densityInSelectedUnit = _lfd.Value;
                }
                DensityUnit _du = _sd.GetDensityUnit(densityUnits);
                densityUnitConversion = _du.ConvFactor * densityInSelectedUnit;
            }

            fn.fertilizer_N    = applicationRate * decimal.Divide(userN, 100) * applicationRateConversion * densityUnitConversion;
            fn.fertilizer_P2O5 = applicationRate * decimal.Divide(userP2o5, 100) * applicationRateConversion * densityUnitConversion;
            fn.fertilizer_K2O  = applicationRate * decimal.Divide(userK2o, 100) * applicationRateConversion * densityUnitConversion;

            return(fn);
        }
コード例 #22
0
 /// <summary>
 ///     Get string representation of value and unit. Using two significant digits after radix.
 /// </summary>
 /// <param name="unit">Unit representation to use.</param>
 /// <param name="provider">Format to use for localization and number formatting. Defaults to <see cref="UnitSystem.DefaultCulture" />.</param>
 /// <returns>String representation.</returns>
 public string ToString(DensityUnit unit, [CanBeNull] IFormatProvider provider)
 {
     return(ToString(unit, provider, 2));
 }
コード例 #23
0
 /// <summary>
 ///     Get string representation of value and unit. Using current UI culture and two significant digits after radix.
 /// </summary>
 /// <param name="unit">Unit representation to use.</param>
 /// <returns>String representation.</returns>
 public string ToString(DensityUnit unit)
 {
     return(ToString(unit, null, 2));
 }
コード例 #24
0
ファイル: Density.g.cs プロジェクト: Bijan86/UnitsNet
 public static string GetAbbreviation(DensityUnit unit, CultureInfo culture = null)
 {
     return(UnitSystem.GetCached(culture).GetDefaultAbbreviation(unit));
 }
コード例 #25
0
 /// <summary>
 ///     Get string representation of value and unit. Using two significant digits after radix.
 /// </summary>
 /// <param name="unit">Unit representation to use.</param>
 /// <param name="culture">Culture to use for localization and number formatting.</param>
 /// <returns>String representation.</returns>
 public string ToString(DensityUnit unit, [CanBeNull] Culture culture)
 {
     return(ToString(unit, culture, 2));
 }
コード例 #26
0
ファイル: Density.g.cs プロジェクト: Bijan86/UnitsNet
 public string ToString(DensityUnit unit, CultureInfo culture, string format, params object[] args)
 {
     return(string.Format(culture, format, UnitFormatter.GetFormatArgs(unit, As(unit), culture, args)));
 }
コード例 #27
0
 public static string GetAbbreviation(DensityUnit unit)
 {
     return(GetAbbreviation(unit, null));
 }
コード例 #28
0
ファイル: Density.cs プロジェクト: lapolinarweb/Magick.NET
 /// <summary>
 /// Initializes a new instance of the <see cref="Density"/> class.
 /// </summary>
 /// <param name="x">The x.</param>
 /// <param name="y">The y.</param>
 /// <param name="units">The units.</param>
 public Density(double x, double y, DensityUnit units)
 {
     X     = x;
     Y     = y;
     Units = units;
 }
コード例 #29
0
 public static string GetAbbreviation(DensityUnit unit, [CanBeNull] Culture culture)
 {
     return(UnitSystem.GetCached(culture).GetDefaultAbbreviation(unit));
 }
コード例 #30
0
 protected override DensityUnit __DoAddition(DensityUnit right)
 {
     return new KilogramPerCubicMeter(Value + right.Value);
 }
コード例 #31
0
 /// <summary>
 ///     Creates the quantity with the given numeric value and unit.
 /// </summary>
 /// <param name="value">The numeric value to construct this quantity with.</param>
 /// <param name="unit">The unit representation to construct this quantity with.</param>
 /// <exception cref="ArgumentException">If value is NaN or Infinity.</exception>
 public Density(double value, DensityUnit unit)
 {
     _value = value;
     _unit  = unit;
 }
コード例 #32
0
        /// <summary>
        /// Jpeg_set_defaultses this instance.
        /// </summary>
        /// <remarks>Uses only the input image's color space (property <see cref="jpeg_compress_struct.In_color_space"/>, 
        /// which must already be set in <see cref="jpeg_compress_struct"/>). Many applications will only need 
        /// to use this routine and perhaps <see cref="jpeg_compress_struct.jpeg_set_quality"/>.
        /// </remarks>
        /// <seealso href="ce3f6712-3633-4a58-af07-626a4fba9ae4.htm" target="_self">Compression parameter selection</seealso>
        public void jpeg_set_defaults()
        {
            /* Safety check to ensure start_compress not called yet. */
            if (m_global_state != JpegState.CSTATE_START)
                ERREXIT(J_MESSAGE_CODE.JERR_BAD_STATE, (int)m_global_state);

            /* Allocate comp_info array large enough for maximum component count.
            * Array is made permanent in case application wants to compress
            * multiple images at same param settings.
            */
            if (m_comp_info == null)
            {
                m_comp_info = jpeg_component_info.createArrayOfComponents(JpegConstants.MAX_COMPONENTS);
            }

            /* Initialize everything not dependent on the color space */

            m_data_precision = JpegConstants.BITS_IN_JSAMPLE;

            /* Set up two quantization tables using default quality of 75 */
            jpeg_set_quality(75, true);

            /* Set up two Huffman tables */
            std_huff_tables();

            /* Default is no multiple-scan output */
            m_scan_info = null;
            m_num_scans = 0;

            /* Expect normal source image, not raw downsampled data */
            m_raw_data_in = false;

            /* By default, don't do extra passes to optimize entropy coding */
            m_optimize_coding = false;

            /* The standard Huffman tables are only valid for 8-bit data precision.
            * If the precision is higher, force optimization on so that usable
            * tables will be computed.  This test can be removed if default tables
            * are supplied that are valid for the desired precision.
            */
            if (m_data_precision > 8)
                m_optimize_coding = true;

            /* By default, use the simpler non-cosited sampling alignment */
            m_CCIR601_sampling = false;

            /* No input smoothing */
            m_smoothing_factor = 0;

            /* DCT algorithm preference */
            m_dct_method = JpegConstants.JDCT_DEFAULT;

            /* No restart markers */
            m_restart_interval = 0;
            m_restart_in_rows = 0;

            /* Fill in default JFIF marker parameters.  Note that whether the marker
            * will actually be written is determined by jpeg_set_colorspace.
            *
            * By default, the library emits JFIF version code 1.01.
            * An application that wants to emit JFIF 1.02 extension markers should set
            * JFIF_minor_version to 2.  We could probably get away with just defaulting
            * to 1.02, but there may still be some decoders in use that will complain
            * about that; saying 1.01 should minimize compatibility problems.
            */
            m_JFIF_major_version = 1; /* Default JFIF version = 1.01 */
            m_JFIF_minor_version = 1;
            m_density_unit = DensityUnit.Unknown;    /* Pixel size is unknown by default */
            m_X_density = 1;       /* Pixel aspect ratio is square by default */
            m_Y_density = 1;

            /* Choose JPEG colorspace based on input space, set defaults accordingly */
            jpeg_default_colorspace();
        }
コード例 #33
0
 public Density(double value, DensityUnit unit)
     : base(FLT.Density, NormalizeValue(value, unit), DefaultUnit)
 {
 }