API reference
API reference
Select your platform
No SDKs available
No versions available

DataModifier Class

A specialization of DataSource<TData> which consumes data from another IDataSource<TData>, modifies that data in some way, then makes the modified data available to downstream consumers.
Examples of this include Filter.HandFilter (which applies smoothing to hand tracking data) and SyntheticHand (which can change the position and shape of hand tracking data based on conditions in the scene).

Protected Fields

_applyModifier : bool
Signature
bool Oculus.Interaction.Input.DataModifier< TData >._applyModifier
_iModifyDataFromSourceMono : UnityEngine.Object
Signature
UnityEngine.Object Oculus.Interaction.Input.DataModifier< TData >._iModifyDataFromSourceMono
DataAsset : override TData
Signature
override TData Oculus.Interaction.Input.DataModifier< TData >.DataAsset

Fields

ModifyDataFromSource : IDataSource< TData >
Returns the IDataSource<TData> from which this DataModifier retrieves the TData it modifies.
This source is typically set through the UnityEditor, but it can also be set programmatically using InjectModifyDataFromSource(IDataSource<TData>).
Signature
virtual IDataSource<TData> Oculus.Interaction.Input.DataModifier< TData >.ModifyDataFromSource

Properties

CurrentDataVersion : override int
[Get]
Implementation of IDataSource.CurrentDataVersion; for details, please refer to the related documentation provided for that interface.
Signature
override int Oculus.Interaction.Input.DataModifier< TData >.CurrentDataVersion

Protected Methods

Apply ( data )
Signature
abstract void Oculus.Interaction.Input.DataModifier< TData >.Apply(TData data)
Parameters
data: TData
Returns
abstract void
Start ()
Signature
override void Oculus.Interaction.Input.DataModifier< TData >.Start()
Returns
override void
UpdateData ()
Signature
override void Oculus.Interaction.Input.DataModifier< TData >.UpdateData()
Returns
override void

Methods

InjectAllDataModifier ( updateMode , updateAfter , modifyDataFromSource , applyModifier )
Injects all required dependencies for a dynamically instantiated DataModifier; effectively wraps DataSource<TData>.InjectAllDataSource(DataSource<TData>.UpdateModeFlags, IDataSource), InjectModifyDataFromSource(IDataSource<TData>), and InjectApplyModifier(bool).
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.Input.DataModifier< TData >.InjectAllDataModifier(UpdateModeFlags updateMode, IDataSource updateAfter, IDataSource< TData > modifyDataFromSource, bool applyModifier)
Parameters
updateMode: UpdateModeFlags
updateAfter: IDataSource
modifyDataFromSource: IDataSource< TData >
applyModifier: bool
Returns
void
InjectApplyModifier ( applyModifier )
Sets whether or not to apply modification on a dynamically instantiated DataSource.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.Input.DataModifier< TData >.InjectApplyModifier(bool applyModifier)
Parameters
applyModifier: bool
Returns
void
InjectModifyDataFromSource ( modifyDataFromSource )
Sets the IDataSource<TData> for unmodified data on a dynamically instantiated DataModifier.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.Input.DataModifier< TData >.InjectModifyDataFromSource(IDataSource< TData > modifyDataFromSource)
Parameters
modifyDataFromSource: IDataSource< TData >
Returns
void
ResetSources ( modifyDataFromSource , updateAfter , updateMode )
Changes the source from which this modifier retrieves the data it modifies, the source for updates, and the DataSource<TData>.UpdateModeFlags.
Typically, the same value is passed as both modifyDataFromSource and updateAfter so that the modifier is updated whenever and immediately after the source from which it retrieves the unmodified data acquires new data to modify.
Signature
void Oculus.Interaction.Input.DataModifier< TData >.ResetSources(IDataSource< TData > modifyDataFromSource, IDataSource updateAfter, UpdateModeFlags updateMode)
Parameters
modifyDataFromSource: IDataSource< TData >  The source from which this modifier retrieves the data it modifies
updateAfter: IDataSource  The IDataSource after which this modifier should be updated
updateMode: UpdateModeFlags  The DataSource<TData>.UpdateModeFlags to use from now on
Returns
void