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 default 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.