Provides state tracking and transition management for transform-based features in the Interaction SDK.
This provider interprets transform values and quantizes them into discrete states while implementing hysteresis to prevent rapid state fluctuations. See Oculus.Interaction.PoseDetection.TransformFeatureStateProvider and Oculus.Interaction.TransformFeatureStateProviderRef for example implementations.
Member Functions
bool IsStateActive
( TransformConfig config,
TransformFeature feature,
FeatureStateActiveMode mode,
string stateId )
Checks if the specified feature is currently in the given state.
Parameters
config
The TransformConfig to use for the check
feature
The TransformFeature to check
mode
The FeatureStateActiveMode to use when checking the feature state
stateId
The ID of the state to compare against
Returns
true if the feature is in the specified state; otherwise, false
bool GetCurrentState
( TransformConfig config,
TransformFeature transformFeature,
out string currentState )
Retrieves the current state of a specified transform feature.
Parameters
config
The TransformConfig to use for the query
transformFeature
The TransformFeature to query
currentState
The current state of the transform feature
Returns
true if the current state was successfully retrieved; otherwise, false
void RegisterConfig
( TransformConfig transformConfig )
Registers a transform configuration with the state provider.
Parameters
transformConfig
The TransformConfig to register
void UnRegisterConfig
( TransformConfig transformConfig )
Unregisters a previously registered transform configuration from the state provider.
Parameters
transformConfig
The TransformConfig to unregister
void GetFeatureVectorAndWristPos
( TransformConfig config,
TransformFeature transformFeature,
bool isHandVector,
ref Vector3? featureVec,
ref Vector3? wristPos )
Retrieves the feature vector and wrist position for a specified transform feature.
Parameters
config
The TransformConfig to use for the query
transformFeature
The TransformFeature to query
isHandVector
true if the feature vector is a hand vector; otherwise, false