AppVolumeGestureEvent struct
One mapped gesture on an app volume, copied out of the native callback.
Namespace: Quaternar.Qaros · Assembly: Quaternar.Qaros.dll
public readonly struct AppVolumeGestureEvent
Constructors
AppVolumeGestureEvent(PeerId, AppVolumeId, GestureKind, GesturePhase, TimePoint, bool, Vector3, bool, Vector3, Vector3, Quaternion, bool, Handedness, ulong, uint)
public AppVolumeGestureEvent(PeerId sourcePeerId, AppVolumeId targetAppVolumeId, GestureKind gestureKind, GesturePhase state, TimePoint timestamp, bool hasStartPoint, Vector3 startPoint, bool hasActionPoint, Vector3 actionPoint, Vector3 translationDelta, Quaternion rotationDelta, bool wasMappedToAppTransform, Handedness handedness, ulong gestureId, uint modeId)
Parameters
| Name | Type | Description |
|---|---|---|
sourcePeerId | PeerId | |
targetAppVolumeId | AppVolumeId | |
gestureKind | GestureKind | |
state | GesturePhase | |
timestamp | TimePoint | |
hasStartPoint | bool | |
startPoint | Vector3 | |
hasActionPoint | bool | |
actionPoint | Vector3 | |
translationDelta | Vector3 | |
rotationDelta | Quaternion | |
wasMappedToAppTransform | bool | |
handedness | Handedness | |
gestureId | ulong | |
modeId | uint |
Properties
| Member | Description |
|---|---|
| SourcePeerId | The peer whose hand or controller produced the gesture, not the peer that recognised it. |
| TargetAppVolumeId | |
| GestureKind | |
| State | Where in its lifecycle the gesture sits. |
| Timestamp | When the recogniser emitted it, as UTC wall-clock time on its host; comparable only within one source peer. |
| HasStartPoint | |
| StartPoint | Where the hand was when the gesture began, in app content space, in app units. Zero when AppVolumeGestureEvent.HasStartPoint is false. |
| HasActionPoint | |
| ActionPoint | The intersection the gesture acts on (or the start point), in app content space, in app units. Zero when AppVolumeGestureEvent.HasActionPoint is false. |
| TranslationDelta | Accumulated translation since the gesture started, in the target volume's app volume space (not app content space), shaped by the mapping rule. |
| RotationDelta | Accumulated rotation since the gesture started, in the target volume's app volume space. |
| WasMappedToAppTransform | True when the library already folded the delta into the volume's app pose or app scale; applying it again moves the content twice. |
| Handedness | The hand that made the gesture; Handedness.Unspecified for two-hand gestures, which have no single hand. |
| GestureId | Lifecycle id, unique within the source peer; 0 for an instant gesture. |
| ModeId | The gesture mode whose rule mapped the gesture, fixed for the gesture's whole lifecycle. |
SourcePeerId
The peer whose hand or controller produced the gesture, not the peer that recognised it.
public PeerId SourcePeerId { get; }
Value: PeerId
TargetAppVolumeId
public AppVolumeId TargetAppVolumeId { get; }
Value: AppVolumeId
GestureKind
public GestureKind GestureKind { get; }
Value: GestureKind
State
Where in its lifecycle the gesture sits.
public GesturePhase State { get; }
Value: GesturePhase
Timestamp
When the recogniser emitted it, as UTC wall-clock time on its host; comparable only within one source peer.
public TimePoint Timestamp { get; }
Value: TimePoint
HasStartPoint
public bool HasStartPoint { get; }
Value: bool
StartPoint
Where the hand was when the gesture began, in app content space, in app units. Zero when AppVolumeGestureEvent.HasStartPoint is false.
public Vector3 StartPoint { get; }
Value: Vector3
HasActionPoint
public bool HasActionPoint { get; }
Value: bool
ActionPoint
The intersection the gesture acts on (or the start point), in app content space, in app units. Zero when AppVolumeGestureEvent.HasActionPoint is false.
public Vector3 ActionPoint { get; }
Value: Vector3
TranslationDelta
Accumulated translation since the gesture started, in the target volume's app volume space (not app content space), shaped by the mapping rule.
public Vector3 TranslationDelta { get; }
Value: Vector3
RotationDelta
Accumulated rotation since the gesture started, in the target volume's app volume space.
public Quaternion RotationDelta { get; }
Value: Quaternion
WasMappedToAppTransform
True when the library already folded the delta into the volume's app pose or app scale; applying it again moves the content twice.
public bool WasMappedToAppTransform { get; }
Value: bool
Handedness
The hand that made the gesture; Handedness.Unspecified for two-hand gestures, which have no single hand.
public Handedness Handedness { get; }
Value: Handedness
GestureId
Lifecycle id, unique within the source peer; 0 for an instant gesture.
public ulong GestureId { get; }
Value: ulong
ModeId
The gesture mode whose rule mapped the gesture, fixed for the gesture's whole lifecycle.
public uint ModeId { get; }
Value: uint