8.13 Physical types and structs
The following definitions constitute the types sub-module of the standard library.
They are reflected in types.osc, and are made available via either import osc.standard.types, import osc.standard.all, or import osc.standard statements, as defined in Importing the standard library.
They reside in the stdtypes namespace.
8.13.1 Scalar types
8.13.1.1 Type length
Physical type for length.
type length is SI(m: 1)
unit nanometer of length is SI(m: 1, factor: 0.000000001)
unit nm of length is SI(m: 1, factor: 0.000000001)
unit micrometer of length is SI(m: 1, factor: 0.000001)
unit millimeter of length is SI(m: 1, factor: 0.001)
unit mm of length is SI(m: 1, factor: 0.001)
unit centimeter of length is SI(m: 1, factor: 0.01)
unit cm of length is SI(m: 1, factor: 0.01)
unit meter of length is SI(m: 1, factor: 1)
unit m of length is SI(m: 1, factor: 1)
unit kilometer of length is SI(m: 1, factor: 1000)
unit km of length is SI(m: 1, factor: 1000)
unit inch of length is SI(m: 1, factor: 0.0254)
unit feet of length is SI(m: 1, factor: 0.3048)
unit mile of length is SI(m: 1, factor: 1609.344)
unit mi of length is SI(m: 1, factor: 1609.344)
8.13.1.2 Type time
Physical type for time.
type time is SI(s: 1)
unit millisecond of time is SI(s: 1, factor: 0.001)
unit ms of time is SI(s: 1, factor: 0.001)
unit second of time is SI(s: 1, factor: 1)
unit sec of time is SI(s: 1, factor: 1)
unit s of time is SI(s: 1, factor: 1)
unit minute of time is SI(s: 1, factor: 60)
unit min of time is SI(s: 1, factor: 60)
unit hour of time is SI(s: 1, factor: 3600)
unit h of time is SI(s: 1, factor: 3600)
8.13.1.3 Type speed
Physical type for speed.
type speed is SI(m: 1, s: -1)
unit meter_per_second of speed is SI(m: 1, s: -1, factor: 1)
unit mps of speed is SI(m: 1, s: -1, factor: 1)
unit kilometer_per_hour of speed is SI(m: 1, s: -1, factor: 0.277777778)
unit kmph of speed is SI(m: 1, s: -1, factor: 0.277777778)
unit kph of speed is SI(m: 1, s: -1, factor: 0.277777778)
unit mile_per_hour of speed is SI(m: 1, s: -1, factor: 0.447038889)
unit mph of speed is SI(m: 1, s: -1, factor: 0.447038889)
unit miph of speed is SI(m: 1, s: -1, factor: 0.447038889)
unit mmph of speed is SI(m: 1, s: -1, factor: 0.000000278)
unit millimeter_per_hour of speed is SI(m: 1, s: -1, factor: 0.000000278)
8.13.1.4 Type acceleration
Physical type for acceleration.
type acceleration is SI(m: 1, s: -2)
unit meter_per_sec_sqr of acceleration is SI(m: 1, s: -2, factor: 1)
unit mpsps of acceleration is SI(m: 1, s: -2, factor: 1)
unit mpss of acceleration is SI(m: 1, s: -2, factor: 1)
unit kilometer_per_hour_per_sec of acceleration is SI(m: 1, s: -2, factor: 0.277777778)
unit kmphps of acceleration is SI(m: 1, s: -2, factor: 0.277777778)
unit mile_per_hour_per_sec of acceleration is SI(m: 1, s: -2, factor: 0.447038889)
unit miphps of acceleration is SI(m: 1, s: -2, factor: 0.447038889)
8.13.1.5 Type jerk
Physical type for jerk.
type jerk is SI(m: 1, s: -3)
unit meter_per_sec_cubed of jerk is SI(m: 1, s: -3, factor: 1)
unit mpspsps of jerk is SI(m: 1, s: -3, factor: 1)
unit mile_per_sec_cubed of jerk is SI(m: 1, s: -3, factor: 1609.344)
unit mipspsps of jerk is SI(m: 1, s: -3, factor: 1609.344)
8.13.1.6 Type angle
Physical type for angle.
type angle is SI(rad: 1)
unit degree of angle is SI(rad: 1, factor: 0.01745329252)
unit deg of angle is SI(rad: 1, factor: 0.01745329252)
unit radian of angle is SI(rad: 1, factor: 1)
unit rad of angle is SI(rad: 1, factor: 1)
8.13.1.7 Type angular_rate
Physical type for angular_rate.
type angular_rate is SI(rad: 1, s: -1)
unit degree_per_sec of angular_rate is SI(rad: 1, s: -1, factor: 0.01745329252)
unit degps of angular_rate is SI(rad: 1, s: -1, factor: 0.01745329252)
unit radian_per_sec of angular_rate is SI(rad: 1, s: -1, factor: 1)
unit radps of angular_rate is SI(rad: 1, s: -1, factor: 1)
8.13.1.8 Type angular_acceleration
Physical type for angular_acceleration.
type angular_acceleration is SI(rad: 1, s: -2)
unit degree_per_sec_sqr of angular_acceleration is SI(rad: 1, s: -2, factor: 0.01745329252)
unit degpsps of angular_acceleration is SI(rad: 1, s: -2, factor: 0.01745329252)
unit radian_per_sec_sqr of angular_acceleration is SI(rad: 1, s: -2, factor: 1)
unit radpsps of angular_acceleration is SI(rad: 1, s: -2, factor: 1)
8.13.1.9 Type mass
Physical type for mass. The pound and lb units refer to pounds-mass.
type mass is SI(kg: 1)
unit gram of mass is SI(kg: 1, factor: 0.001)
unit kilogram of mass is SI(kg: 1, factor: 1)
unit kg of mass is SI(kg: 1, factor: 1)
unit ton of mass is SI(kg: 1, factor: 1000)
unit pound of mass is SI(kg: 1, factor: 0.45359237)
unit lb of mass is SI(kg: 1, factor: 0.45359237)
8.13.1.10 Type temperature
Physical type for temperature.
type temperature is SI(K: 1)
unit K of temperature is SI(K: 1, factor: 1)
unit kelvin of temperature is SI(K: 1, factor: 1)
unit celsius of temperature is SI(K: 1, factor: 1, offset: 273.15)
unit C of temperature is SI(K: 1, factor: 1, offset: 273.15)
unit fahrenheit of temperature is SI(K: 1, factor: 0.555555556, offset: 255.372222222)
unit F of temperature is SI(K: 1, factor: 0.555555556, offset: 255.372222222)
8.13.1.11 Type pressure
Physical type for pressure.
type pressure is SI(kg: 1, m: -1, s: -2)
unit newton_per_meter_sqr of pressure is SI(kg: 1, m: -1, s: -2, factor: 1)
unit Pa of pressure is SI(kg: 1, m: -1, s: -2, factor: 1)
unit pascal of pressure is SI(kg: 1, m: -1, s: -2, factor: 1)
unit hPa of pressure is SI(kg: 1, m: -1, s: -2, factor: 100)
unit atm of pressure is SI(kg: 1, m: -1, s: -2, factor: 101325)
8.13.1.12 Type luminous_intensity
Physical type for luminous_intensity.
type luminous_intensity is SI(cd: 1)
unit cd of luminous_intensity is SI(cd: 1, factor: 1)
unit candela of luminous_intensity is SI(cd: 1, factor: 1)
8.13.1.13 Type luminous_flux
Physical type for luminous_flux.
type luminous_flux is SI(cd: 1, rad: 2)
unit lm of luminous_flux is SI(cd: 1, rad: 2, factor: 1)
unit lumen of luminous_flux is SI(cd: 1, rad: 2, factor: 1)
8.13.1.14 Type illuminance
Physical type for illuminance.
type illuminance is SI(cd: 1, rad: 2, m: -2)
unit lx of illuminance is SI(cd: 1, rad: 2, m: -2, factor: 1)
unit lux of illuminance is SI(cd: 1, rad: 2, m: -2, factor: 1)
8.13.2 Compound types
8.13.2.2 Struct position_3d
Compound type for three-dimensional position in x-, y-, z-direction. Inherited from generic position class.
struct position_3d inherits position:
x: length
y: length
z: length
def norm() -> length is undefined
8.13.2.3 Struct geodetic_position_2d
Compound type for geodetic position as latitude and longitude in a geographical coordinate system. Positive latitude angles in North direction from equator. Positive longitude angles in East direction from prime Meridian. Inherited from generic position class.
8.13.2.4 Struct celestial_position_2d
Compound type for celestial position in azimuth and elevation in a Horizontal Coordinate System, in which the y-axis-direction is 0 deg and the x-axis-direction is 90 deg. As a result, North is 0 deg and East is 90 deg, if x-axis and y-axis are mapped to East and North respectively. The origin of Horizontal Coordinate System equals the World Coordinate System origin. Inherited from generic position class.
8.13.2.5 Struct orientation_3d
Compound type for three-dimensional orientation of objects using Tait-Bryan angles roll, pitch and yaw. The rotations are to be performed yaw first (around the z-axis), pitch second (around the new y-axis) and roll third (around the new x-axis) to follow the definition according to ISO 8855.
8.13.2.6 Struct pose_3d
Compound type for pose in three-dimensional space, including compound types for three-dimensional position and orientation.
8.13.2.7 Struct translational_velocity_3d
Compound type for three-dimensional translational velocity in x, y, z-direction.
8.13.2.8 Struct orientation_rate_3d
Compound type for three-dimensional orientation rate of objects using Tait-Bryan angles roll, pitch and yaw. The rotations are to be performed yaw first (around the z-axis), pitch second (around the new y-axis) and roll third (around the new x-axis) to follow the definition according to ISO 8855.
8.13.2.9 Struct velocity_6d
Compound type for velocity including compound types for three-dimensional translational velocity and orientation rate.
8.13.2.10 Struct translational_acceleration_3d
Compound type for three-dimensional translational acceleration in x, y, z-direction.
8.13.2.11 Struct orientation_acceleration_3d
Compound type for three-dimensional orientation acceleration of objects using Tait-Bryan angles roll, pitch and yaw. The rotations are to be performed yaw first (around the z-axis), pitch second (around the new y-axis) and roll third (around the new x-axis) to follow the definition according to ISO 8855.