From 4051720e3853f749dd319614ee891a59c0a973d9 Mon Sep 17 00:00:00 2001 From: Chris Barth Date: Thu, 8 Apr 2021 10:15:16 -0700 Subject: [PATCH 1/8] update babylonnative --- Modules/@babylonjs/react-native/submodules/BabylonNative | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/@babylonjs/react-native/submodules/BabylonNative b/Modules/@babylonjs/react-native/submodules/BabylonNative index 11e741183..cc6409fd5 160000 --- a/Modules/@babylonjs/react-native/submodules/BabylonNative +++ b/Modules/@babylonjs/react-native/submodules/BabylonNative @@ -1 +1 @@ -Subproject commit 11e74118373bed93e1195da034af42cda49b376a +Subproject commit cc6409fd586e4cec41bb6fa9474372ee149827fd From 745ae4bcee636f62d846cdc38998399cd84e0c5e Mon Sep 17 00:00:00 2001 From: Chris Barth Date: Thu, 8 Apr 2021 10:16:00 -0700 Subject: [PATCH 2/8] change branch reference for now --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 6383857a2..fabc4f0a7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "Core/react-native-babylon/submodules/BabylonNative"] path = Modules/@babylonjs/react-native/submodules/BabylonNative - url = https://github.com/BabylonJS/BabylonNative.git + url = https://github.com/chrisfromwork/BabylonNative.git From dd57d2a11ffdd42bf81c65c6d72c4105f92de70c Mon Sep 17 00:00:00 2001 From: Chris Barth Date: Thu, 8 Apr 2021 10:41:01 -0700 Subject: [PATCH 3/8] add native anchor access --- Modules/@babylonjs/react-native/submodules/BabylonNative | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/@babylonjs/react-native/submodules/BabylonNative b/Modules/@babylonjs/react-native/submodules/BabylonNative index cc6409fd5..9f06be273 160000 --- a/Modules/@babylonjs/react-native/submodules/BabylonNative +++ b/Modules/@babylonjs/react-native/submodules/BabylonNative @@ -1 +1 @@ -Subproject commit cc6409fd586e4cec41bb6fa9474372ee149827fd +Subproject commit 9f06be2739ca5686618a7b187adf9fa2710e6ccd From 544eae9fc0ed4054efc5a7a8e9861bd7f45c6ad4 Mon Sep 17 00:00:00 2001 From: Chris Barth Date: Thu, 8 Apr 2021 11:40:36 -0700 Subject: [PATCH 4/8] fix helper header to compile --- .../windows/include/XrAnchorHelperOpenXR.h | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Modules/@babylonjs/react-native-windows/windows/include/XrAnchorHelperOpenXR.h diff --git a/Modules/@babylonjs/react-native-windows/windows/include/XrAnchorHelperOpenXR.h b/Modules/@babylonjs/react-native-windows/windows/include/XrAnchorHelperOpenXR.h new file mode 100644 index 000000000..55b3978a6 --- /dev/null +++ b/Modules/@babylonjs/react-native-windows/windows/include/XrAnchorHelperOpenXR.h @@ -0,0 +1,40 @@ +#pragma once + +#if __has_include("jsi/jsi.h") +#include "jsi/jsi.h" +#include + +namespace BabylonReactNative +{ + bool TryGetNativeAnchor(facebook::jsi::Runtime& jsiRuntime, facebook::jsi::Value& jsAnchor, XrSpatialAnchorMSFT& nativeAnchor) + { + nativeAnchor = nullptr; + if (!jsAnchor.isObject()) + { + return false; + } + + if (!jsiRuntime.global().hasProperty(jsiRuntime, "navigator")) + { + return false; + } + + auto navigator{ jsiRuntime.global().getProperty(jsiRuntime, "navigator").asObject(jsiRuntime) }; + if (!navigator.hasProperty(jsiRuntime, "xr")) + { + return false; + } + + auto nativeXr{ navigator.getProperty(jsiRuntime, "xr").asObject(jsiRuntime) }; + if (!nativeXr.hasProperty(jsiRuntime, "getNativeAnchor")) + { + return false; + } + + auto getNativeAnchor = nativeXr.getPropertyAsFunction(jsiRuntime, "getNativeAnchor"); + auto nativeAnchorPtr = static_cast(getNativeAnchor.call(jsiRuntime, { jsAnchor.asObject(jsiRuntime) }).asNumber()); + nativeAnchor = reinterpret_cast(nativeAnchorPtr); + return true; + } +} +#endif \ No newline at end of file From 1b6f02676c83af5d52ddbe28f164c329da7414f9 Mon Sep 17 00:00:00 2001 From: Chris Barth Date: Thu, 8 Apr 2021 11:46:23 -0700 Subject: [PATCH 5/8] update babylonnative --- Modules/@babylonjs/react-native/submodules/BabylonNative | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/@babylonjs/react-native/submodules/BabylonNative b/Modules/@babylonjs/react-native/submodules/BabylonNative index 9f06be273..fc89f0f24 160000 --- a/Modules/@babylonjs/react-native/submodules/BabylonNative +++ b/Modules/@babylonjs/react-native/submodules/BabylonNative @@ -1 +1 @@ -Subproject commit 9f06be2739ca5686618a7b187adf9fa2710e6ccd +Subproject commit fc89f0f244325cbbf1c9e27f7823dc4d88abc662 From 354ec1599710e213cbede81478f02440bb7e8548 Mon Sep 17 00:00:00 2001 From: Chris Barth Date: Thu, 8 Apr 2021 11:49:49 -0700 Subject: [PATCH 6/8] move back to correct repo reference --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index fabc4f0a7..6383857a2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "Core/react-native-babylon/submodules/BabylonNative"] path = Modules/@babylonjs/react-native/submodules/BabylonNative - url = https://github.com/chrisfromwork/BabylonNative.git + url = https://github.com/BabylonJS/BabylonNative.git From 460d1a14fa7681d6801e28edafd85cdb54255578 Mon Sep 17 00:00:00 2001 From: "C. M. Barth" Date: Fri, 9 Apr 2021 11:31:50 -0700 Subject: [PATCH 7/8] Update Modules/@babylonjs/react-native-windows/windows/include/XrAnchorHelperOpenXR.h Co-authored-by: Ryan Tremblay --- .../windows/include/XrAnchorHelperOpenXR.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Modules/@babylonjs/react-native-windows/windows/include/XrAnchorHelperOpenXR.h b/Modules/@babylonjs/react-native-windows/windows/include/XrAnchorHelperOpenXR.h index 55b3978a6..270d1acf5 100644 --- a/Modules/@babylonjs/react-native-windows/windows/include/XrAnchorHelperOpenXR.h +++ b/Modules/@babylonjs/react-native-windows/windows/include/XrAnchorHelperOpenXR.h @@ -31,10 +31,11 @@ namespace BabylonReactNative return false; } - auto getNativeAnchor = nativeXr.getPropertyAsFunction(jsiRuntime, "getNativeAnchor"); - auto nativeAnchorPtr = static_cast(getNativeAnchor.call(jsiRuntime, { jsAnchor.asObject(jsiRuntime) }).asNumber()); + auto getNativeAnchor{nativeXr.getPropertyAsFunction(jsiRuntime, "getNativeAnchor")}; + auto nativeAnchorPtr{static_cast(getNativeAnchor.call(jsiRuntime, { jsAnchor.asObject(jsiRuntime) }).asNumber())}; + nativeAnchor = reinterpret_cast(nativeAnchorPtr); return true; } } -#endif \ No newline at end of file +#endif From e80945889a6b7d51e577eaa7bcd280af99d93342 Mon Sep 17 00:00:00 2001 From: Chris Barth Date: Tue, 13 Apr 2021 10:24:18 -0700 Subject: [PATCH 8/8] expose ability to get native anchor --- Modules/@babylonjs/react-native/submodules/BabylonNative | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/@babylonjs/react-native/submodules/BabylonNative b/Modules/@babylonjs/react-native/submodules/BabylonNative index fc89f0f24..2a7e5394e 160000 --- a/Modules/@babylonjs/react-native/submodules/BabylonNative +++ b/Modules/@babylonjs/react-native/submodules/BabylonNative @@ -1 +1 @@ -Subproject commit fc89f0f244325cbbf1c9e27f7823dc4d88abc662 +Subproject commit 2a7e5394ea6b76dbde80fa6a7aa572b488484e97