To work with various quantities, Resonite provides a generic quantity system, which allows converting between various units for a given quantity type. An example of this is converting a Distance quantity value between metric and imperial units. There are various quantity types available, which can be used with all generic quantity nodes and components. Each quantity type has a base unit, which can be used to create a quantity value, which can then be converted between all known units of the given quantity type.
Technical
The quantity system is part of the Elements.Quantity assembly. Every quantity type is a struct that implements either an IQuantity<T> or IQuantitySI<T> interface.
Quantity Types
| Quantity Type | Default Unit |
|---|---|
| Acceleration | m/s² |
| Angle | radian |
| Current | ampere |
| Distance | meter |
| Mass | gram |
| Ratio | (no unit) |
| Resistance | ohm |
| Temperature | Kelvin |
| Time | Second |
| Velocity | m/s |
| Voltage | volt |
Quantity Components
| Component | Description |
|---|---|
| FeedQuantityFieldInterface<Q,T> | A quantity field interface for use with the Data Feed system |
| QuantityTextEditorParser<U,T> | Text editor for parsing and converting a Quantity value from text input |
| QuantityTextEditorParser<U> | Text editor for parsing a Quantity value from text input |
| QuantityTextFormatDriver<U> | Drives a formatted text form a Quantity value |
Quantity ProtoFlux Nodes
| ProtoFlux Node | Description |
|---|---|
| BaseValue<U> | Returns the base value of a quantity |
| FormatQuantity<U> | Formats a quantity string |
| FromBaseValue<U> | Creates a quantity from the quantity type's base value |
| ParseQuantity<U> | Parses a quantity string |
Deprecated
The quantity interface before the type update was referenced as QuantityX.