internal static unsafe (Transform, bool) Invoke(EControllerHand Hand, EHandTrackingKeypoint Keypoint, EGestureTransformSpace TransformSpace) { long *p = stackalloc long[] { 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L }; byte *b = (byte *)p; *(b + 0) = (byte)Hand; *(b + 1) = (byte)Keypoint; *(b + 2) = (byte)TransformSpace; Main.GetProcessEvent(MagicLeapHandTrackingFunctionLibrary.DefaultObject, GetGestureKeypointTransform_ptr, new IntPtr(p));; return(*((Transform *)(b + 16)), *((bool *)(b + 64))); } }
///<summary>Get Transform for a point on the hand.</summary> ///<remarks> ///@param Hand ///@param Keypoint the specific joint or wrist point to fetch. ///@param Transform Output parameter to write the data to. ///@param TransformSpace Get the transform relative to the world, hand center, or tracking space. ///@return true if the output param was populated with a valid value, false means that is is either unchanged or populated with a stale value. ///</remarks> public static (Transform, bool) GetGestureKeypointTransform(EControllerHand Hand, EHandTrackingKeypoint Keypoint, EGestureTransformSpace TransformSpace) => MagicLeapHandTrackingFunctionLibrary_methods.GetGestureKeypointTransform_method.Invoke(Hand, Keypoint, TransformSpace);