private static void DispatchNamedExtrinsicDataEvent(IntPtr handle, IntPtr clientData) { try { VLExtrinsicDataWrapper extrinsicData = new VLExtrinsicDataWrapper( handle, false); GCHandle gcHandle = GCHandle.FromIntPtr(clientData); VLDebugCameraBehaviour debugCameraBehaviour = (VLDebugCameraBehaviour)gcHandle.Target; debugCameraBehaviour.OnExtrinsicData(extrinsicData); extrinsicData.Dispose(); } catch (Exception e) // Catch all exceptions, because this is a callback // invoked from native code { Debug.LogError("[vlUnitySDK] " + e.GetType().Name + ": " + e.Message); } }
private void ExtrinsicDataHandler(IntPtr handle) { VLExtrinsicDataWrapper extrinsicData = new VLExtrinsicDataWrapper(handle, false); if (OnExtrinsicData != null) { OnExtrinsicData(extrinsicData); } if (OnTrackingState != null) { if (extrinsicData.GetValid()) { OnTrackingState(100, "0"); } else { OnTrackingState(0, "0"); } } extrinsicData.Dispose(); }