public static TrackingState GetEarthTrackingState(IntPtr sessionHandle) { var trackingState = ApiTrackingState.Stopped; #if !UNITY_IOS || GEOSPATIAL_IOS_SUPPORT IntPtr earthHandle = SessionApi.AcquireEarth(sessionHandle); if (earthHandle == IntPtr.Zero) { return(trackingState.ToTrackingState()); } ExternApi.ArTrackable_getTrackingState(sessionHandle, earthHandle, ref trackingState); ExternApi.ArTrackable_release(earthHandle); #endif return(trackingState.ToTrackingState()); }
public static EarthState GetEarthState(IntPtr sessionHandle) { var earthState = EarthState.ErrorInternal; #if !UNITY_IOS || GEOSPATIAL_IOS_SUPPORT IntPtr earthHandle = SessionApi.AcquireEarth(sessionHandle); if (earthHandle == IntPtr.Zero) { return(earthState); } ExternApi.ArEarth_getEarthState(sessionHandle, earthHandle, ref earthState); ExternApi.ArTrackable_release(earthHandle); #endif return(earthState); }
public static void TryGetCameraGeospatialPose( IntPtr sessionHandle, ref GeospatialPose geospatialPose) { #if !UNITY_IOS || GEOSPATIAL_IOS_SUPPORT IntPtr earthHandle = SessionApi.AcquireEarth(sessionHandle); if (earthHandle == IntPtr.Zero) { return; } IntPtr geospatialPoseHandle = GeospatialPoseApi.Create(sessionHandle); ExternApi.ArEarth_getCameraGeospatialPose(sessionHandle, earthHandle, geospatialPoseHandle); GeospatialPoseApi.GetGeospatialPose( sessionHandle, geospatialPoseHandle, ref geospatialPose); GeospatialPoseApi.Destroy(geospatialPoseHandle); ExternApi.ArTrackable_release(earthHandle); #endif }