Component:QuaternionMemberEditor: Difference between revisions

From Resonite Wiki
Automated: create new component page
 
instead of filling out useful components I'm filling out this one
Line 3: Line 3:
|Name=Quaternion Member Editor
|Name=Quaternion Member Editor
}}
}}
{{stub}}
 
The '''QuaternionMemberEditor''' component is a low-level component for use in editing [[Type:FloatQ|FloatQ]] elements as XYZ Euler angles in degrees. It is used, for example, in the ProtoFlux input node for FloatQ values.


== Usage ==
== Usage ==
Line 9: Line 10:
|Continuous|Bool|
|Continuous|Bool|
|_path|String|
|_path|String|
|_target|{{RootFieldType|RelayRef`1|[[Type:IField|IField]]}}|TypeAdv2=true|
|_target|{{RootFieldType|RelayRef`1|[[Type:IField|IField]]}}|TypeAdv2=true|Target field, which should be a FloatQ.
|Vertical|Bool|
|Vertical|Bool|Whether the target UI is a vertical layout, as opposed to a horizontal layout.
|_xEditor|{{RootFieldType|RelayRef`1|[[Component:TextEditor|TextEditor]]}}|TypeAdv4=true|
|_xEditor|{{RootFieldType|RelayRef`1|[[Component:TextEditor|TextEditor]]}}|TypeAdv4=true|TextEditor for the X field.
|_yEditor|{{RootFieldType|RelayRef`1|[[Component:TextEditor|TextEditor]]}}|TypeAdv5=true|
|_yEditor|{{RootFieldType|RelayRef`1|[[Component:TextEditor|TextEditor]]}}|TypeAdv5=true|TextEditor for the Y field.
|_zEditor|{{RootFieldType|RelayRef`1|[[Component:TextEditor|TextEditor]]}}|TypeAdv6=true|
|_zEditor|{{RootFieldType|RelayRef`1|[[Component:TextEditor|TextEditor]]}}|TypeAdv6=true|TextEditor for the Z field.
|_xDrive|{{RootFieldType|FieldDrive`1|[[Type:String|String]]}}|TypeAdv7=true|
|_xDrive|{{RootFieldType|FieldDrive`1|[[Type:String|String]]}}|TypeAdv7=true|Field to be driven by the X angle. Should be the <code>Content</code> field on the [[Component:Text|Text]] component that <code>_xEditor</code> is pointing to.
|_yDrive|{{RootFieldType|FieldDrive`1|[[Type:String|String]]}}|TypeAdv8=true|
|_yDrive|{{RootFieldType|FieldDrive`1|[[Type:String|String]]}}|TypeAdv8=true|Field to be driven by the Y angle.
|_zDrive|{{RootFieldType|FieldDrive`1|[[Type:String|String]]}}|TypeAdv9=true|
|_zDrive|{{RootFieldType|FieldDrive`1|[[Type:String|String]]}}|TypeAdv9=true|Field to be driven by the Z angle.
|_xButton|'''[[Component:Button|Button]]'''|TypeAdv10=true|
|_xButton|'''[[Component:Button|Button]]'''|TypeAdv10=true|Button whose sync delegates are attached to the <code>_xEditor</code>
|_yButton|'''[[Component:Button|Button]]'''|TypeAdv11=true|
|_yButton|'''[[Component:Button|Button]]'''|TypeAdv11=true|Button whose sync delegates are attached to the <code>_yEditor</code>
|_zButton|'''[[Component:Button|Button]]'''|TypeAdv12=true|
|_zButton|'''[[Component:Button|Button]]'''|TypeAdv12=true|Button whose sync delegates are attached to the <code>_zEditor</code>
|_editingValue|'''[[Type:Nullable`1|Nullable`1]]&lt;[[Type:Double3|Double3]]&gt;'''|TypeAdv13=true|
|_editingValue|'''[[Type:Nullable`1|Nullable`1]]&lt;[[Type:Double3|Double3]]&gt;'''|TypeAdv13=true|
}}
}}


== Behavior ==
== Behavior ==
This component's behavior is very similar to [[Component:PrimitiveMemberEditor|PrimitiveMemberEditor]], but a layer of abstraction exists between the FloatQ field in <code>_target</code> and the text field being driven for each member. This abstraction layer converts to and from Euler angles and quaterion values, which is then used for building a UI to edit quaternions as Euler angles.


== Examples ==
== Examples ==

Revision as of 05:38, 23 May 2024

Component image 
Quaternion Member Editor component as seen in the Scene Inspector


The QuaternionMemberEditor component is a low-level component for use in editing FloatQ elements as XYZ Euler angles in degrees. It is used, for example, in the ProtoFlux input node for FloatQ values.

Usage

Fields
Name Type Description
persistent Bool Determines whether or not this item will be saved to the server.
UpdateOrder Int Controls the order in which this component is updated.
Enabled Bool Controls whether or not this component is enabled.
Continuous Bool
_path String
_target direct RelayRef`1<IField> Target field, which should be a FloatQ.
Vertical Bool Whether the target UI is a vertical layout, as opposed to a horizontal layout.
_xEditor direct RelayRef`1<TextEditor> TextEditor for the X field.
_yEditor direct RelayRef`1<TextEditor> TextEditor for the Y field.
_zEditor direct RelayRef`1<TextEditor> TextEditor for the Z field.
_xDrive field drive of String Field to be driven by the X angle. Should be the Content field on the Text component that _xEditor is pointing to.
_yDrive field drive of String Field to be driven by the Y angle.
_zDrive field drive of String Field to be driven by the Z angle.
_xButton Button Button whose sync delegates are attached to the _xEditor
_yButton Button Button whose sync delegates are attached to the _yEditor
_zButton Button Button whose sync delegates are attached to the _zEditor
_editingValue Nullable`1<Double3>

Behavior

This component's behavior is very similar to PrimitiveMemberEditor, but a layer of abstraction exists between the FloatQ field in _target and the text field being driven for each member. This abstraction layer converts to and from Euler angles and quaterion values, which is then used for building a UI to edit quaternions as Euler angles.

Examples

See Also