Changed component / node links to use "Type" category. |
Changed "Base Unit" to "Default Unit" as this is technically just provided defaults. Code-wise, these are also declared as default units. |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
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 <code>Distance</code> 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. | 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 <code>Distance</code> 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 == | == Technical == | ||
The quantity system is part of the <code>Elements.Quantity</code> assembly. Every quantity type is a | The quantity system is part of the <code>Elements.Quantity</code> assembly. Every quantity type is a <code>struct</code> that implements either an <code><nowiki>IQuantity<T></nowiki></code> or <code><nowiki>IQuantitySI<T></nowiki></code> [[Interface Type|interface]]. | ||
== Quantity Types == | == Quantity Types == | ||
Line 9: | Line 8: | ||
|+ List of Quantity types | |+ List of Quantity types | ||
|- | |- | ||
! Quantity Type !! | ! Quantity Type !! Default Unit | ||
|- | |- | ||
| Acceleration || m/s² | | Acceleration || m/s² | ||
Line 21: | Line 20: | ||
| Mass || gram | | Mass || gram | ||
|- | |- | ||
| Ratio || (no unit) | | Ratio || ''(no unit)'' | ||
|- | |- | ||
| Resistance || ohm | | Resistance || ohm | ||
Line 39: | Line 38: | ||
|- | |- | ||
! Component !! Description | ! Component !! Description | ||
|- | |- | ||
| [[ Type:FeedQuantityFieldInterface´2 | <nowiki>FeedQuantityFieldInterface<Q,T></nowiki> ]] || A quantity field interface for use with the [[Data Feed]] system | | [[ Type:FeedQuantityFieldInterface´2 | <nowiki>FeedQuantityFieldInterface<Q,T></nowiki> ]] || A quantity field interface for use with the [[Data Feed]] system | ||
Line 53: | Line 50: | ||
== Quantity ProtoFlux Nodes == | == Quantity ProtoFlux Nodes == | ||
{| class="wikitable" style="margin:left" | {| class="wikitable" style="margin:left" | ||
|+ List of | |+ List of ProtoFlux nodes with generic quantity type parameters | ||
|- | |- | ||
! | ! ProtoFlux Node !! Description | ||
|- | |- | ||
| [[ Type:BaseValue´1 | <nowiki>BaseValue<U></nowiki> ]] || Returns the base value of a quantity | | [[ Type:BaseValue´1 | <nowiki>BaseValue<U></nowiki> ]] || Returns the base value of a quantity | ||
Line 65: | Line 62: | ||
| [[ Type:ParseQuantity´1 | <nowiki>ParseQuantity<U></nowiki> ]] || Parses a quantity string | | [[ Type:ParseQuantity´1 | <nowiki>ParseQuantity<U></nowiki> ]] || Parses a quantity string | ||
|} | |} | ||
== Deprecated == | |||
The quantity interface before the [[Beta_2024.7.11.1293|type update]] was referenced as <code>QuantityX</code>. |
Latest revision as of 07:21, 13 September 2024
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
.