Quantity Types: Difference between revisions

From Resonite Wiki
Changed "Base Unit" to "Default Unit" as this is technically just provided defaults. Code-wise, these are also declared as default units.
fix and add links
Line 10: Line 10:
! Quantity Type !! Default Unit
! Quantity Type !! Default Unit
|-
|-
| Acceleration || m/s²
| [[Type:Acceleration|Acceleration]] || m/s²
|-
|-
| Angle || radian
| [[Type:Angle|Angle]] || radian
|-
|-
| Current || ampere
| [[Type:Current|Current]] || ampere
|-
|-
| Distance || meter
| [[Type:Distance|Distance]] || meter
|-
|-
| Mass || gram
| [[Type:Mass|Mass]] || gram
|-
|-
| Ratio || ''(no unit)''
| [[Type:Ratio|Ratio]] || ''(no unit)''
|-
|-
| Resistance || ohm
| [[Type:Resistance|Resistance]] || ohm
|-
|-
| Temperature || Kelvin
| [[Type:Temperature|Temperature]] || Kelvin
|-
|-
| Time || Second
| [[Type:Time|Time]] || Second
|-
|-
| Velocity || m/s
| [[Type:Velocity|Velocity]] || m/s
|-
|-
| Voltage || volt
| [[Type:Voltage|Voltage]] || volt
|}
|}


Line 39: Line 39:
! Component !! Description
! Component !! Description
|-
|-
| [[ Type:FeedQuantityFieldInterface´2 | <nowiki>FeedQuantityFieldInterface<Q,T></nowiki> ]] || A quantity field interface for use with the [[Data Feed]] system
| [[Component:FeedQuantityFieldInterface`2| <nowiki>FeedQuantityFieldInterface<Q,T></nowiki> ]] || A quantity field interface for use with the [[Data Feed]] system
|-
|-
| [[ Type:QuantityTextEditorParser´2 | <nowiki>QuantityTextEditorParser<U,T></nowiki> ]] || Text editor for parsing and converting a Quantity value from text input
| [[Component:QuantityTextEditorParser`2| <nowiki>QuantityTextEditorParser<U,T></nowiki> ]] || Text editor for parsing and converting a Quantity value from text input
|-
|-
| [[ Type:QuantityTextEditorParser´1 | <nowiki>QuantityTextEditorParser<U></nowiki> ]] || Text editor for parsing a Quantity value from text input
| [[Component:QuantityTextEditorParser`1| <nowiki>QuantityTextEditorParser<U></nowiki> ]] || Text editor for parsing a Quantity value from text input
|-
|-
| [[ Type:QuantityTextFormatDriver´1 | <nowiki>QuantityTextFormatDriver<U></nowiki> ]] || Drives a formatted text form a Quantity value
| [[Component:QuantityTextFormatDriver`1| <nowiki>QuantityTextFormatDriver<U></nowiki>]] || Drives a formatted text form a Quantity value
|}
|}


Line 54: Line 54:
! ProtoFlux Node !! Description
! ProtoFlux Node !! Description
|-
|-
| [[ Type:BaseValue´1 | <nowiki>BaseValue<U></nowiki> ]] || Returns the base value of a quantity
| [[ProtoFlux:Base Value| <nowiki>BaseValue<U></nowiki> ]] || Returns the base value of a quantity
|-
|-
| [[ Type:FormatQuantity´1 | <nowiki>FormatQuantity<U></nowiki> ]] || Formats a quantity string
| [[ProtoFlux:Format Quantity| <nowiki>FormatQuantity<U></nowiki> ]] || Formats a quantity string
|-
|-
| [[ Type:FromBaseValue´1 | <nowiki>FromBaseValue<U></nowiki> ]] || Creates a quantity from the quantity type's base value
| [[ProtoFlux:From Base Value| <nowiki>FromBaseValue<U></nowiki> ]] || Creates a quantity from the quantity type's base value
|-
|-
| [[ Type:ParseQuantity´1 | <nowiki>ParseQuantity<U></nowiki> ]] || Parses a quantity string
| [[ProtoFlux:Parse Quantity| <nowiki>ParseQuantity<U></nowiki> ]] || Parses a quantity string
|}
|}


== Deprecated ==
== Deprecated ==
The quantity interface before the [[Beta_2024.7.11.1293|type update]] was referenced as <code>QuantityX</code>.
The quantity interface before the [[Beta_2024.7.11.1293|type update]] was referenced as <code>QuantityX</code>.

Revision as of 19:32, 22 February 2025

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

List of 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

List of components with generic quantity type parameters
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

List of ProtoFlux nodes with generic quantity type parameters
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.