package Ġp cb . uw u . amount . derived . geometry Ċ Ċ import Ġp cb . uw u . amount . base . Length Ċ import Ġp cb . uw u . amount . derived . opt ics . I llum in ance Ċ import Ġp cb . uw u . amount . derived . opt ics . L umin ous Flux Ċ import Ġp cb . uw u . core . Composite Unit Amount Ċ import Ġp cb . uw u . core . Magnitude Ċ import Ġp cb . uw u . core . Magnitude . NAT UR AL Ċ import Ġp cb . uw u . core . Unit Amount Ċ import Ġp cb . uw u . unit . derived . geometry . Area Unit Ċ import Ġp cb . uw u . unit . derived . geometry . Volume Unit Ċ import Ġp cb . uw u . unit . derived . opt ics . L umin ous Flux Unit Ċ import Ġp cb . uw u . util . Unit Amount Utils . get Amount In Ċ Ċ open Ġclass ĠArea Ġ: ĠComposite Unit Amount < Area Unit > Ċ { ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġconstructor ( amount : ĠNumber , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmagnitude : ĠM agnitude Ġ= ĠN ATUR AL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunit : ĠArea Unit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: Ġsuper ( amount , Ġmagnitude , Ġunit ) ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġconstructor ( amount : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmagnitude : ĠM agnitude Ġ= ĠN ATUR AL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunit : ĠArea Unit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: Ġsuper ( amount , Ġmagnitude , Ġunit ) ĊĊĠĠĠ Ġ// Ġregion ĠUnit Amount ĊĊĠĠĠ Ġ@ Suppress (" PARAMETER _ NAME _ CHANGED _ ON _ OVERRIDE ") ĊĠĠĠ Ġoverride Ġfun Ġplus ( area : ĠUnit Amount < Area Unit >) Ġ= ĊĠĠĠĠĠĠĠ ĠArea ( amount Ġ= Ġthis . amount Ġ+ Ġ( area Ġto Ġthis . unit ). amount , ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġunit Ġ= Ġthis . unit ) ĊĊĠĠĠ Ġ@ Suppress (" PARAMETER _ NAME _ CHANGED _ ON _ OVERRIDE ") ĊĠĠĠ Ġoverride Ġfun Ġminus ( area : ĠUnit Amount < Area Unit >) Ġ= ĊĠĠĠĠĠĠĠ ĠArea ( amount Ġ= Ġthis . amount Ġ- Ġ( area Ġto Ġthis . unit ). amount , ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġunit Ġ= Ġthis . unit ) ĊĊĠĠĠ Ġoverride Ġfun Ġtimes ( scalar : ĠNumber ) Ġ= ĊĠĠĠĠĠĠĠ ĠArea ( amount Ġ= Ġthis . amount Ġ* Ġscalar , ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġunit Ġ= Ġthis . unit ) ĊĊĠĠĠ Ġoverride Ġfun Ġdiv ( scalar : ĠNumber ) Ġ= ĊĠĠĠĠĠĠĠ ĠArea ( amount Ġ= Ġthis . amount Ġ/ Ġscalar , ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġunit Ġ= Ġthis . unit ) ĊĊĠĠĠ Ġoverride Ġfun Ġto ( unit : ĠArea Unit ) Ġ= ĊĠĠĠĠĠĠĠ ĠArea ( amount Ġ= Ġget Amount In ( unit Amount Ġ= Ġthis , Ġnew Unit Ġ= Ġunit ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġunit Ġ= Ġunit ) ĊĊĠĠĠ Ġ// Ġend region ĊĊĠĠĠ Ġ// Ġregion Ġcomposition ĊĊĠĠĠ Ġopen Ġoperator Ġfun Ġtimes ( length : ĠLength ) Ġ= ĊĠĠĠĠĠĠĠ ĠVolume ( amount Ġ= Ġthis . amount Ġ* Ġlength . amount , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunit Ġ= ĠVolume Unit ( area Unit Ġ= Ġthis . unit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize Unit Ġ= Ġlength . unit )) ĊĊĠĠĠ Ġopen Ġoperator Ġfun Ġtimes ( ill uminance : ĠI llum in ance ) Ġ= ĊĠĠĠĠĠĠĠ ĠL umin ous Flux ( amount Ġ= Ġthis . amount Ġ* Ġill uminance . amount , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunit Ġ= ĠL umin ous Flux Unit ( area Unit Ġ= Ġthis . unit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġill uminance Unit Ġ= Ġill uminance . unit )) ĊĊĠĠĠ Ġ// Ġend region Ċ } Ċ