Area constructor

Area({
  1. int significantFigures = 10,
  2. bool removeTrailingZeros = true,
  3. bool useScientificNotation = true,
  4. dynamic name,
})

Class for area conversions, e.g. if you want to convert 1 square meters in acres:

var area = Area(removeTrailingZeros: false);
area.convert(Unit(AREA.square_meters, value: 1));
print(AREA.acres);

Implementation

Area(
    {super.significantFigures,
    super.removeTrailingZeros,
    super.useScientificNotation,
    name})
    : super(
        name: name ?? PROPERTY.area,
        mapSymbols: {
          AREA.squareMeters: 'm²',
          AREA.squareCentimeters: 'cm²',
          AREA.squareInches: 'in²',
          AREA.squareFeet: 'ft²',
          AREA.squareFeetUs: 'ft² (US survey)',
          AREA.squareMiles: 'mi²',
          AREA.squareYard: 'yd²',
          AREA.squareMillimeters: 'mm²',
          AREA.squareKilometers: 'km²',
          AREA.hectares: 'ha',
          AREA.acres: 'ac',
          AREA.are: 'a',
        },
        conversionTree: ConversionNode(name: AREA.squareMeters, children: [
          ConversionNode(
              coefficientProduct: 1e-4,
              name: AREA.squareCentimeters,
              children: [
                ConversionNode(
                    coefficientProduct: 6.4516,
                    name: AREA.squareInches,
                    children: [
                      ConversionNode(
                        coefficientProduct: 144.0,
                        name: AREA.squareFeet,
                      ),
                      ConversionNode(
                        coefficientProduct: 12.000024 * 12.000024,
                        name: AREA.squareFeetUs,
                      ),
                    ]),
              ]),
          ConversionNode(
            coefficientProduct: 1e-6,
            name: AREA.squareMillimeters,
          ),
          ConversionNode(
            coefficientProduct: 10000.0,
            name: AREA.hectares,
          ),
          ConversionNode(
            coefficientProduct: 1000000.0,
            name: AREA.squareKilometers,
          ),
          ConversionNode(
            coefficientProduct: 0.83612736,
            name: AREA.squareYard,
            children: [
              ConversionNode(
                coefficientProduct: 3097600.0,
                name: AREA.squareMiles,
              ),
              ConversionNode(
                coefficientProduct: 4840.0,
                name: AREA.acres,
              ),
            ],
          ),
          ConversionNode(
            coefficientProduct: 100.0,
            name: AREA.are,
          )
        ]),
      );