public static void GetGeospatialPose( IntPtr sessionHandle, IntPtr geospatialPoseHandle, ref GeospatialPose pose) { #if !UNITY_IOS || GEOSPATIAL_IOS_SUPPORT ExternApi.ArGeospatialPose_getLatitudeLongitude( sessionHandle, geospatialPoseHandle, ref pose.Latitude, ref pose.Longitude); ExternApi.ArGeospatialPose_getAltitude( sessionHandle, geospatialPoseHandle, ref pose.Altitude); ExternApi.ArGeospatialPose_getHeading(sessionHandle, geospatialPoseHandle, ref pose.Heading); ExternApi.ArGeospatialPose_getHeadingAccuracy( sessionHandle, geospatialPoseHandle, ref pose.HeadingAccuracy); ExternApi.ArGeospatialPose_getHorizontalAccuracy( sessionHandle, geospatialPoseHandle, ref pose.HorizontalAccuracy); ExternApi.ArGeospatialPose_getVerticalAccuracy( sessionHandle, geospatialPoseHandle, ref pose.VerticalAccuracy); #endif }
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 }