Interface for qBeta module object
Units: obj
%include MetaSystem
-- A so far incompelte example of modeling units
Dimension:
Unit: Value
magnitude: var integer
thisUnit:< Unit
+:
in V: var thisUnit
out R: var thisUnit
=+:
in V: var integer
toBase:<
out base: var integer
fromBase:<
in base: var integer
print:<
shortName:<
out T: var String.String
Velocity: obj Dimension -- 2:
KMperHour: Unit
thisUnit:: KMperHour
print::
mult:
in L: var Length.Meter
in T: var Time.Minutes
shortName::
Area: obj Dimension
squareMeter: Unit
thisUnit:: squareMeter
print::
mult:
in A: var Length.Meter
in B: var Length.Meter
*:
in A: var Length.Meter
in B: var Length.Meter
out R: var squareMeter
Volume: obj Dimension
cubicMeter: Unit
print::
MeterPowerN: obj Dimension -- 3:
xxx: Unit
print::
yyy: Unit
in n: val integer
print::
Length: obj Dimension -- 4:
: Unit
toBase::
fromBase::
print::
Mile: Unit
Meter: Unit
thisUnit:: Meter
toBase::
fromBase::
print::
*:
in V: var integer
out Rx: var thisUnit
**:
in T: var Time.minutes
out LTx: var Velocity.KMperHour
power:
in n: var integer
out P: var MeterPowerN.xxx
power2:
in n: var integer
out P: var MeterPowerN.yyy(n) -- OBS! Note the use of n
IasMeter:
in V: var integer
out R: var Meter
shortName::
:
in m: var Meter
out f: var Foot
Time: obj Dimension -- 5:
Minutes: Unit
thisUnit:: Minutes
Temperature: obj Dimension
Celsius: Unit
toBase::
fromBase::
print::
Fahrenheit: Unit
toBase::
fromBase::
print::
Figure:
AR: var Area.SquareMeter
theArea:<
out A: var Area.SquareMeter
print:<
Rectangle: Figure
width: var Length.Meter
heigth: var Length.Meter
set:
in w: var Length.Meter
in h: var Length.Meter
theArea::
--A := width * heigth
perimeter:
out V: var Length.Meter
print::
L1: var Length.Meter -- 6:
L2: var Length.Foot -- 7:
T1: var Time.Minutes -- 8:
LT: var Velocity.KMperHour -- 9:
Pn: var MeterPowerN.xxx -- 10:
Pm: var MeterPowerN.yyy() -- 11:
R: obj Rectangle
L3: var Length.Meter
SN: ref ObjSnap -- 12: