react-native-nitro-ar 2026.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/README.md +347 -0
  2. package/app.plugin.js +24 -0
  3. package/ios/Bridge.h +8 -0
  4. package/ios/HybridARAnchor.swift +58 -0
  5. package/ios/HybridARBoundingBoxBuilder.swift +142 -0
  6. package/ios/HybridARDepthData.swift +138 -0
  7. package/ios/HybridARFrame.swift +121 -0
  8. package/ios/HybridARLightEstimate.swift +58 -0
  9. package/ios/HybridARMeasurement.swift +33 -0
  10. package/ios/HybridARMeshAnchor.swift +108 -0
  11. package/ios/HybridARPlaneAnchor.swift +114 -0
  12. package/ios/HybridARRaycastResult.swift +53 -0
  13. package/ios/HybridARSession.swift +505 -0
  14. package/ios/HybridARView.swift +725 -0
  15. package/ios/HybridARVolume.swift +52 -0
  16. package/ios/HybridARWorldMap.swift +55 -0
  17. package/lib/commonjs/index.js +24 -0
  18. package/lib/commonjs/index.js.map +1 -0
  19. package/lib/commonjs/package.json +3 -0
  20. package/lib/commonjs/specs/ARAnchor.nitro.js +6 -0
  21. package/lib/commonjs/specs/ARAnchor.nitro.js.map +1 -0
  22. package/lib/commonjs/specs/ARBoundingBoxBuilder.nitro.js +6 -0
  23. package/lib/commonjs/specs/ARBoundingBoxBuilder.nitro.js.map +1 -0
  24. package/lib/commonjs/specs/ARDepthData.nitro.js +6 -0
  25. package/lib/commonjs/specs/ARDepthData.nitro.js.map +1 -0
  26. package/lib/commonjs/specs/ARFrame.nitro.js +6 -0
  27. package/lib/commonjs/specs/ARFrame.nitro.js.map +1 -0
  28. package/lib/commonjs/specs/ARLightEstimate.nitro.js +6 -0
  29. package/lib/commonjs/specs/ARLightEstimate.nitro.js.map +1 -0
  30. package/lib/commonjs/specs/ARMeasurement.nitro.js +6 -0
  31. package/lib/commonjs/specs/ARMeasurement.nitro.js.map +1 -0
  32. package/lib/commonjs/specs/ARPlaneAnchor.nitro.js +6 -0
  33. package/lib/commonjs/specs/ARPlaneAnchor.nitro.js.map +1 -0
  34. package/lib/commonjs/specs/ARRaycastResult.nitro.js +6 -0
  35. package/lib/commonjs/specs/ARRaycastResult.nitro.js.map +1 -0
  36. package/lib/commonjs/specs/ARSceneMesh.nitro.js +6 -0
  37. package/lib/commonjs/specs/ARSceneMesh.nitro.js.map +1 -0
  38. package/lib/commonjs/specs/ARSession.nitro.js +6 -0
  39. package/lib/commonjs/specs/ARSession.nitro.js.map +1 -0
  40. package/lib/commonjs/specs/ARView.nitro.js +6 -0
  41. package/lib/commonjs/specs/ARView.nitro.js.map +1 -0
  42. package/lib/commonjs/specs/ARVolume.nitro.js +6 -0
  43. package/lib/commonjs/specs/ARVolume.nitro.js.map +1 -0
  44. package/lib/commonjs/specs/ARWorldMap.nitro.js +6 -0
  45. package/lib/commonjs/specs/ARWorldMap.nitro.js.map +1 -0
  46. package/lib/module/index.js +18 -0
  47. package/lib/module/index.js.map +1 -0
  48. package/lib/module/specs/ARAnchor.nitro.js +4 -0
  49. package/lib/module/specs/ARAnchor.nitro.js.map +1 -0
  50. package/lib/module/specs/ARBoundingBoxBuilder.nitro.js +4 -0
  51. package/lib/module/specs/ARBoundingBoxBuilder.nitro.js.map +1 -0
  52. package/lib/module/specs/ARDepthData.nitro.js +4 -0
  53. package/lib/module/specs/ARDepthData.nitro.js.map +1 -0
  54. package/lib/module/specs/ARFrame.nitro.js +4 -0
  55. package/lib/module/specs/ARFrame.nitro.js.map +1 -0
  56. package/lib/module/specs/ARLightEstimate.nitro.js +4 -0
  57. package/lib/module/specs/ARLightEstimate.nitro.js.map +1 -0
  58. package/lib/module/specs/ARMeasurement.nitro.js +4 -0
  59. package/lib/module/specs/ARMeasurement.nitro.js.map +1 -0
  60. package/lib/module/specs/ARPlaneAnchor.nitro.js +4 -0
  61. package/lib/module/specs/ARPlaneAnchor.nitro.js.map +1 -0
  62. package/lib/module/specs/ARRaycastResult.nitro.js +4 -0
  63. package/lib/module/specs/ARRaycastResult.nitro.js.map +1 -0
  64. package/lib/module/specs/ARSceneMesh.nitro.js +4 -0
  65. package/lib/module/specs/ARSceneMesh.nitro.js.map +1 -0
  66. package/lib/module/specs/ARSession.nitro.js +4 -0
  67. package/lib/module/specs/ARSession.nitro.js.map +1 -0
  68. package/lib/module/specs/ARView.nitro.js +4 -0
  69. package/lib/module/specs/ARView.nitro.js.map +1 -0
  70. package/lib/module/specs/ARVolume.nitro.js +4 -0
  71. package/lib/module/specs/ARVolume.nitro.js.map +1 -0
  72. package/lib/module/specs/ARWorldMap.nitro.js +4 -0
  73. package/lib/module/specs/ARWorldMap.nitro.js.map +1 -0
  74. package/lib/typescript/src/index.d.ts +20 -0
  75. package/lib/typescript/src/index.d.ts.map +1 -0
  76. package/lib/typescript/src/specs/ARAnchor.nitro.d.ts +18 -0
  77. package/lib/typescript/src/specs/ARAnchor.nitro.d.ts.map +1 -0
  78. package/lib/typescript/src/specs/ARBoundingBoxBuilder.nitro.d.ts +11 -0
  79. package/lib/typescript/src/specs/ARBoundingBoxBuilder.nitro.d.ts.map +1 -0
  80. package/lib/typescript/src/specs/ARDepthData.nitro.d.ts +26 -0
  81. package/lib/typescript/src/specs/ARDepthData.nitro.d.ts.map +1 -0
  82. package/lib/typescript/src/specs/ARFrame.nitro.d.ts +32 -0
  83. package/lib/typescript/src/specs/ARFrame.nitro.d.ts.map +1 -0
  84. package/lib/typescript/src/specs/ARLightEstimate.nitro.d.ts +18 -0
  85. package/lib/typescript/src/specs/ARLightEstimate.nitro.d.ts.map +1 -0
  86. package/lib/typescript/src/specs/ARMeasurement.nitro.d.ts +11 -0
  87. package/lib/typescript/src/specs/ARMeasurement.nitro.d.ts.map +1 -0
  88. package/lib/typescript/src/specs/ARPlaneAnchor.nitro.d.ts +32 -0
  89. package/lib/typescript/src/specs/ARPlaneAnchor.nitro.d.ts.map +1 -0
  90. package/lib/typescript/src/specs/ARRaycastResult.nitro.d.ts +26 -0
  91. package/lib/typescript/src/specs/ARRaycastResult.nitro.d.ts.map +1 -0
  92. package/lib/typescript/src/specs/ARSceneMesh.nitro.d.ts +47 -0
  93. package/lib/typescript/src/specs/ARSceneMesh.nitro.d.ts.map +1 -0
  94. package/lib/typescript/src/specs/ARSession.nitro.d.ts +75 -0
  95. package/lib/typescript/src/specs/ARSession.nitro.d.ts.map +1 -0
  96. package/lib/typescript/src/specs/ARView.nitro.d.ts +51 -0
  97. package/lib/typescript/src/specs/ARView.nitro.d.ts.map +1 -0
  98. package/lib/typescript/src/specs/ARVolume.nitro.d.ts +14 -0
  99. package/lib/typescript/src/specs/ARVolume.nitro.d.ts.map +1 -0
  100. package/lib/typescript/src/specs/ARWorldMap.nitro.d.ts +17 -0
  101. package/lib/typescript/src/specs/ARWorldMap.nitro.d.ts.map +1 -0
  102. package/nitro.json +23 -0
  103. package/nitrogen/generated/.gitattributes +1 -0
  104. package/nitrogen/generated/ios/NitroAR+autolinking.rb +60 -0
  105. package/nitrogen/generated/ios/NitroAR-Swift-Cxx-Bridge.cpp +335 -0
  106. package/nitrogen/generated/ios/NitroAR-Swift-Cxx-Bridge.hpp +934 -0
  107. package/nitrogen/generated/ios/NitroAR-Swift-Cxx-Umbrella.hpp +169 -0
  108. package/nitrogen/generated/ios/NitroARAutolinking.mm +49 -0
  109. package/nitrogen/generated/ios/NitroARAutolinking.swift +50 -0
  110. package/nitrogen/generated/ios/c++/HybridARAnchorSpecSwift.cpp +11 -0
  111. package/nitrogen/generated/ios/c++/HybridARAnchorSpecSwift.hpp +99 -0
  112. package/nitrogen/generated/ios/c++/HybridARBoundingBoxBuilderSpecSwift.cpp +11 -0
  113. package/nitrogen/generated/ios/c++/HybridARBoundingBoxBuilderSpecSwift.hpp +95 -0
  114. package/nitrogen/generated/ios/c++/HybridARDepthDataSpecSwift.cpp +11 -0
  115. package/nitrogen/generated/ios/c++/HybridARDepthDataSpecSwift.hpp +103 -0
  116. package/nitrogen/generated/ios/c++/HybridARDirectionalLightEstimateSpecSwift.cpp +11 -0
  117. package/nitrogen/generated/ios/c++/HybridARDirectionalLightEstimateSpecSwift.hpp +88 -0
  118. package/nitrogen/generated/ios/c++/HybridARFrameSpecSwift.cpp +11 -0
  119. package/nitrogen/generated/ios/c++/HybridARFrameSpecSwift.hpp +135 -0
  120. package/nitrogen/generated/ios/c++/HybridARLightEstimateSpecSwift.cpp +11 -0
  121. package/nitrogen/generated/ios/c++/HybridARLightEstimateSpecSwift.hpp +80 -0
  122. package/nitrogen/generated/ios/c++/HybridARMeasurementSpecSwift.cpp +11 -0
  123. package/nitrogen/generated/ios/c++/HybridARMeasurementSpecSwift.hpp +90 -0
  124. package/nitrogen/generated/ios/c++/HybridARMeshAnchorSpecSwift.cpp +11 -0
  125. package/nitrogen/generated/ios/c++/HybridARMeshAnchorSpecSwift.hpp +107 -0
  126. package/nitrogen/generated/ios/c++/HybridARPlaneAnchorSpecSwift.cpp +11 -0
  127. package/nitrogen/generated/ios/c++/HybridARPlaneAnchorSpecSwift.hpp +116 -0
  128. package/nitrogen/generated/ios/c++/HybridARPlaneGeometrySpecSwift.cpp +11 -0
  129. package/nitrogen/generated/ios/c++/HybridARPlaneGeometrySpecSwift.hpp +90 -0
  130. package/nitrogen/generated/ios/c++/HybridARRaycastResultSpecSwift.cpp +11 -0
  131. package/nitrogen/generated/ios/c++/HybridARRaycastResultSpecSwift.hpp +97 -0
  132. package/nitrogen/generated/ios/c++/HybridARSessionSpecSwift.cpp +11 -0
  133. package/nitrogen/generated/ios/c++/HybridARSessionSpecSwift.hpp +296 -0
  134. package/nitrogen/generated/ios/c++/HybridARViewSpecSwift.cpp +11 -0
  135. package/nitrogen/generated/ios/c++/HybridARViewSpecSwift.hpp +243 -0
  136. package/nitrogen/generated/ios/c++/HybridARVolumeSpecSwift.cpp +11 -0
  137. package/nitrogen/generated/ios/c++/HybridARVolumeSpecSwift.hpp +94 -0
  138. package/nitrogen/generated/ios/c++/HybridARWorldMapSpecSwift.cpp +11 -0
  139. package/nitrogen/generated/ios/c++/HybridARWorldMapSpecSwift.hpp +97 -0
  140. package/nitrogen/generated/ios/c++/views/HybridARViewComponent.mm +152 -0
  141. package/nitrogen/generated/ios/swift/ARSessionConfiguration.swift +189 -0
  142. package/nitrogen/generated/ios/swift/ARViewHitResult.swift +39 -0
  143. package/nitrogen/generated/ios/swift/CameraPose.swift +46 -0
  144. package/nitrogen/generated/ios/swift/EnvironmentTexturing.swift +44 -0
  145. package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
  146. package/nitrogen/generated/ios/swift/Func_void_TrackingState_TrackingStateReason.swift +46 -0
  147. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
  148. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridARFrameSpec_.swift +50 -0
  149. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_HybridARWorldMapSpec_.swift +50 -0
  150. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_HybridARAnchorSpec___std__vector_std__shared_ptr_HybridARAnchorSpec___std__vector_std__string_.swift +54 -0
  151. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_HybridARMeshAnchorSpec___std__vector_std__shared_ptr_HybridARMeshAnchorSpec___std__vector_std__string_.swift +54 -0
  152. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_HybridARPlaneAnchorSpec___std__vector_std__shared_ptr_HybridARPlaneAnchorSpec___std__vector_std__string_.swift +54 -0
  153. package/nitrogen/generated/ios/swift/HybridARAnchorSpec.swift +60 -0
  154. package/nitrogen/generated/ios/swift/HybridARAnchorSpec_cxx.swift +192 -0
  155. package/nitrogen/generated/ios/swift/HybridARBoundingBoxBuilderSpec.swift +56 -0
  156. package/nitrogen/generated/ios/swift/HybridARBoundingBoxBuilderSpec_cxx.swift +161 -0
  157. package/nitrogen/generated/ios/swift/HybridARDepthDataSpec.swift +59 -0
  158. package/nitrogen/generated/ios/swift/HybridARDepthDataSpec_cxx.swift +188 -0
  159. package/nitrogen/generated/ios/swift/HybridARDirectionalLightEstimateSpec.swift +57 -0
  160. package/nitrogen/generated/ios/swift/HybridARDirectionalLightEstimateSpec_cxx.swift +162 -0
  161. package/nitrogen/generated/ios/swift/HybridARFrameSpec.swift +65 -0
  162. package/nitrogen/generated/ios/swift/HybridARFrameSpec_cxx.swift +285 -0
  163. package/nitrogen/generated/ios/swift/HybridARLightEstimateSpec.swift +56 -0
  164. package/nitrogen/generated/ios/swift/HybridARLightEstimateSpec_cxx.swift +140 -0
  165. package/nitrogen/generated/ios/swift/HybridARMeasurementSpec.swift +58 -0
  166. package/nitrogen/generated/ios/swift/HybridARMeasurementSpec_cxx.swift +160 -0
  167. package/nitrogen/generated/ios/swift/HybridARMeshAnchorSpec.swift +62 -0
  168. package/nitrogen/generated/ios/swift/HybridARMeshAnchorSpec_cxx.swift +212 -0
  169. package/nitrogen/generated/ios/swift/HybridARPlaneAnchorSpec.swift +62 -0
  170. package/nitrogen/generated/ios/swift/HybridARPlaneAnchorSpec_cxx.swift +209 -0
  171. package/nitrogen/generated/ios/swift/HybridARPlaneGeometrySpec.swift +58 -0
  172. package/nitrogen/generated/ios/swift/HybridARPlaneGeometrySpec_cxx.swift +178 -0
  173. package/nitrogen/generated/ios/swift/HybridARRaycastResultSpec.swift +59 -0
  174. package/nitrogen/generated/ios/swift/HybridARRaycastResultSpec_cxx.swift +179 -0
  175. package/nitrogen/generated/ios/swift/HybridARSessionSpec.swift +78 -0
  176. package/nitrogen/generated/ios/swift/HybridARSessionSpec_cxx.swift +591 -0
  177. package/nitrogen/generated/ios/swift/HybridARViewSpec.swift +78 -0
  178. package/nitrogen/generated/ios/swift/HybridARViewSpec_cxx.swift +561 -0
  179. package/nitrogen/generated/ios/swift/HybridARVolumeSpec.swift +60 -0
  180. package/nitrogen/generated/ios/swift/HybridARVolumeSpec_cxx.swift +180 -0
  181. package/nitrogen/generated/ios/swift/HybridARWorldMapSpec.swift +58 -0
  182. package/nitrogen/generated/ios/swift/HybridARWorldMapSpec_cxx.swift +176 -0
  183. package/nitrogen/generated/ios/swift/LiDARCapabilities.swift +39 -0
  184. package/nitrogen/generated/ios/swift/MeshClassification.swift +64 -0
  185. package/nitrogen/generated/ios/swift/PlaneAlignment.swift +40 -0
  186. package/nitrogen/generated/ios/swift/PlaneClassification.swift +64 -0
  187. package/nitrogen/generated/ios/swift/PlaneDetectionMode.swift +40 -0
  188. package/nitrogen/generated/ios/swift/RaycastAlignment.swift +44 -0
  189. package/nitrogen/generated/ios/swift/RaycastQuery.swift +44 -0
  190. package/nitrogen/generated/ios/swift/RaycastTarget.swift +48 -0
  191. package/nitrogen/generated/ios/swift/SceneReconstructionMode.swift +44 -0
  192. package/nitrogen/generated/ios/swift/TrackingState.swift +44 -0
  193. package/nitrogen/generated/ios/swift/TrackingStateReason.swift +52 -0
  194. package/nitrogen/generated/ios/swift/WorldAlignment.swift +44 -0
  195. package/nitrogen/generated/ios/swift/WorldMappingStatus.swift +48 -0
  196. package/nitrogen/generated/shared/c++/ARSessionConfiguration.hpp +132 -0
  197. package/nitrogen/generated/shared/c++/ARViewHitResult.hpp +91 -0
  198. package/nitrogen/generated/shared/c++/CameraPose.hpp +87 -0
  199. package/nitrogen/generated/shared/c++/EnvironmentTexturing.hpp +80 -0
  200. package/nitrogen/generated/shared/c++/HybridARAnchorSpec.cpp +26 -0
  201. package/nitrogen/generated/shared/c++/HybridARAnchorSpec.hpp +69 -0
  202. package/nitrogen/generated/shared/c++/HybridARBoundingBoxBuilderSpec.cpp +23 -0
  203. package/nitrogen/generated/shared/c++/HybridARBoundingBoxBuilderSpec.hpp +68 -0
  204. package/nitrogen/generated/shared/c++/HybridARDepthDataSpec.cpp +26 -0
  205. package/nitrogen/generated/shared/c++/HybridARDepthDataSpec.hpp +66 -0
  206. package/nitrogen/generated/shared/c++/HybridARDirectionalLightEstimateSpec.cpp +24 -0
  207. package/nitrogen/generated/shared/c++/HybridARDirectionalLightEstimateSpec.hpp +67 -0
  208. package/nitrogen/generated/shared/c++/HybridARFrameSpec.cpp +32 -0
  209. package/nitrogen/generated/shared/c++/HybridARFrameSpec.hpp +83 -0
  210. package/nitrogen/generated/shared/c++/HybridARLightEstimateSpec.cpp +22 -0
  211. package/nitrogen/generated/shared/c++/HybridARLightEstimateSpec.hpp +63 -0
  212. package/nitrogen/generated/shared/c++/HybridARMeasurementSpec.cpp +24 -0
  213. package/nitrogen/generated/shared/c++/HybridARMeasurementSpec.hpp +67 -0
  214. package/nitrogen/generated/shared/c++/HybridARMeshAnchorSpec.cpp +28 -0
  215. package/nitrogen/generated/shared/c++/HybridARMeshAnchorSpec.hpp +72 -0
  216. package/nitrogen/generated/shared/c++/HybridARPlaneAnchorSpec.cpp +28 -0
  217. package/nitrogen/generated/shared/c++/HybridARPlaneAnchorSpec.hpp +79 -0
  218. package/nitrogen/generated/shared/c++/HybridARPlaneGeometrySpec.cpp +24 -0
  219. package/nitrogen/generated/shared/c++/HybridARPlaneGeometrySpec.hpp +65 -0
  220. package/nitrogen/generated/shared/c++/HybridARRaycastResultSpec.cpp +25 -0
  221. package/nitrogen/generated/shared/c++/HybridARRaycastResultSpec.hpp +70 -0
  222. package/nitrogen/generated/shared/c++/HybridARSessionSpec.cpp +45 -0
  223. package/nitrogen/generated/shared/c++/HybridARSessionSpec.hpp +131 -0
  224. package/nitrogen/generated/shared/c++/HybridARViewSpec.cpp +55 -0
  225. package/nitrogen/generated/shared/c++/HybridARViewSpec.hpp +101 -0
  226. package/nitrogen/generated/shared/c++/HybridARVolumeSpec.cpp +26 -0
  227. package/nitrogen/generated/shared/c++/HybridARVolumeSpec.hpp +67 -0
  228. package/nitrogen/generated/shared/c++/HybridARWorldMapSpec.cpp +25 -0
  229. package/nitrogen/generated/shared/c++/HybridARWorldMapSpec.hpp +66 -0
  230. package/nitrogen/generated/shared/c++/LiDARCapabilities.hpp +91 -0
  231. package/nitrogen/generated/shared/c++/MeshClassification.hpp +100 -0
  232. package/nitrogen/generated/shared/c++/PlaneAlignment.hpp +76 -0
  233. package/nitrogen/generated/shared/c++/PlaneClassification.hpp +100 -0
  234. package/nitrogen/generated/shared/c++/PlaneDetectionMode.hpp +76 -0
  235. package/nitrogen/generated/shared/c++/RaycastAlignment.hpp +80 -0
  236. package/nitrogen/generated/shared/c++/RaycastQuery.hpp +99 -0
  237. package/nitrogen/generated/shared/c++/RaycastTarget.hpp +84 -0
  238. package/nitrogen/generated/shared/c++/SceneReconstructionMode.hpp +80 -0
  239. package/nitrogen/generated/shared/c++/TrackingState.hpp +80 -0
  240. package/nitrogen/generated/shared/c++/TrackingStateReason.hpp +88 -0
  241. package/nitrogen/generated/shared/c++/WorldAlignment.hpp +80 -0
  242. package/nitrogen/generated/shared/c++/WorldMappingStatus.hpp +84 -0
  243. package/nitrogen/generated/shared/c++/views/HybridARViewComponent.cpp +182 -0
  244. package/nitrogen/generated/shared/c++/views/HybridARViewComponent.hpp +120 -0
  245. package/nitrogen/generated/shared/json/ARViewConfig.json +19 -0
  246. package/package.json +98 -0
  247. package/react-native-nitro-ar.podspec +40 -0
  248. package/src/index.ts +60 -0
  249. package/src/specs/ARAnchor.nitro.ts +21 -0
  250. package/src/specs/ARBoundingBoxBuilder.nitro.ts +11 -0
  251. package/src/specs/ARDepthData.nitro.ts +29 -0
  252. package/src/specs/ARFrame.nitro.ts +41 -0
  253. package/src/specs/ARLightEstimate.nitro.ts +20 -0
  254. package/src/specs/ARMeasurement.nitro.ts +10 -0
  255. package/src/specs/ARPlaneAnchor.nitro.ts +46 -0
  256. package/src/specs/ARRaycastResult.nitro.ts +32 -0
  257. package/src/specs/ARSceneMesh.nitro.ts +63 -0
  258. package/src/specs/ARSession.nitro.ts +112 -0
  259. package/src/specs/ARView.nitro.ts +84 -0
  260. package/src/specs/ARVolume.nitro.ts +15 -0
  261. package/src/specs/ARWorldMap.nitro.ts +20 -0
@@ -0,0 +1,591 @@
1
+ ///
2
+ /// HybridARSessionSpec_cxx.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /**
11
+ * A class implementation that bridges HybridARSessionSpec over to C++.
12
+ * In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined.
13
+ *
14
+ * Also, some Swift types need to be bridged with special handling:
15
+ * - Enums need to be wrapped in Structs, otherwise they cannot be accessed bi-directionally (Swift bug: https://github.com/swiftlang/swift/issues/75330)
16
+ * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper
17
+ * - Throwing methods need to be wrapped with a Result<T, Error> type, as exceptions cannot be propagated to C++
18
+ */
19
+ open class HybridARSessionSpec_cxx {
20
+ /**
21
+ * The Swift <> C++ bridge's namespace (`margelo::nitro::ar::bridge::swift`)
22
+ * from `NitroAR-Swift-Cxx-Bridge.hpp`.
23
+ * This contains specialized C++ templates, and C++ helper functions that can be accessed from Swift.
24
+ */
25
+ public typealias bridge = margelo.nitro.ar.bridge.swift
26
+
27
+ /**
28
+ * Holds an instance of the `HybridARSessionSpec` Swift protocol.
29
+ */
30
+ private var __implementation: any HybridARSessionSpec
31
+
32
+ /**
33
+ * Holds a weak pointer to the C++ class that wraps the Swift class.
34
+ */
35
+ private var __cxxPart: bridge.std__weak_ptr_HybridARSessionSpec_
36
+
37
+ /**
38
+ * Create a new `HybridARSessionSpec_cxx` that wraps the given `HybridARSessionSpec`.
39
+ * All properties and methods bridge to C++ types.
40
+ */
41
+ public init(_ implementation: any HybridARSessionSpec) {
42
+ self.__implementation = implementation
43
+ self.__cxxPart = .init()
44
+ /* no base class */
45
+ }
46
+
47
+ /**
48
+ * Get the actual `HybridARSessionSpec` instance this class wraps.
49
+ */
50
+ @inline(__always)
51
+ public func getHybridARSessionSpec() -> any HybridARSessionSpec {
52
+ return __implementation
53
+ }
54
+
55
+ /**
56
+ * Casts this instance to a retained unsafe raw pointer.
57
+ * This acquires one additional strong reference on the object!
58
+ */
59
+ public func toUnsafe() -> UnsafeMutableRawPointer {
60
+ return Unmanaged.passRetained(self).toOpaque()
61
+ }
62
+
63
+ /**
64
+ * Casts an unsafe pointer to a `HybridARSessionSpec_cxx`.
65
+ * The pointer has to be a retained opaque `Unmanaged<HybridARSessionSpec_cxx>`.
66
+ * This removes one strong reference from the object!
67
+ */
68
+ public class func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> HybridARSessionSpec_cxx {
69
+ return Unmanaged<HybridARSessionSpec_cxx>.fromOpaque(pointer).takeRetainedValue()
70
+ }
71
+
72
+ /**
73
+ * Gets (or creates) the C++ part of this Hybrid Object.
74
+ * The C++ part is a `std::shared_ptr<HybridARSessionSpec>`.
75
+ */
76
+ public func getCxxPart() -> bridge.std__shared_ptr_HybridARSessionSpec_ {
77
+ let cachedCxxPart = self.__cxxPart.lock()
78
+ if Bool(fromCxx: cachedCxxPart) {
79
+ return cachedCxxPart
80
+ } else {
81
+ let newCxxPart = bridge.create_std__shared_ptr_HybridARSessionSpec_(self.toUnsafe())
82
+ __cxxPart = bridge.weakify_std__shared_ptr_HybridARSessionSpec_(newCxxPart)
83
+ return newCxxPart
84
+ }
85
+ }
86
+
87
+
88
+
89
+ /**
90
+ * Get the memory size of the Swift class (plus size of any other allocations)
91
+ * so the JS VM can properly track it and garbage-collect the JS object if needed.
92
+ */
93
+ @inline(__always)
94
+ public var memorySize: Int {
95
+ return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize
96
+ }
97
+
98
+ /**
99
+ * Compares this object with the given [other] object for reference equality.
100
+ */
101
+ @inline(__always)
102
+ public func equals(other: HybridARSessionSpec_cxx) -> Bool {
103
+ return self.__implementation === other.__implementation
104
+ }
105
+
106
+ /**
107
+ * Call dispose() on the Swift class.
108
+ * This _may_ be called manually from JS.
109
+ */
110
+ @inline(__always)
111
+ public func dispose() {
112
+ self.__implementation.dispose()
113
+ }
114
+
115
+ /**
116
+ * Call toString() on the Swift class.
117
+ */
118
+ @inline(__always)
119
+ public func toString() -> String {
120
+ return self.__implementation.toString()
121
+ }
122
+
123
+ // Properties
124
+ public final var trackingState: Int32 {
125
+ @inline(__always)
126
+ get {
127
+ return self.__implementation.trackingState.rawValue
128
+ }
129
+ }
130
+
131
+ public final var trackingStateReason: Int32 {
132
+ @inline(__always)
133
+ get {
134
+ return self.__implementation.trackingStateReason.rawValue
135
+ }
136
+ }
137
+
138
+ public final var worldMappingStatus: Int32 {
139
+ @inline(__always)
140
+ get {
141
+ return self.__implementation.worldMappingStatus.rawValue
142
+ }
143
+ }
144
+
145
+ public final var isRunning: Bool {
146
+ @inline(__always)
147
+ get {
148
+ return self.__implementation.isRunning
149
+ }
150
+ }
151
+
152
+ public final var currentFrame: bridge.std__optional_std__shared_ptr_HybridARFrameSpec__ {
153
+ @inline(__always)
154
+ get {
155
+ return { () -> bridge.std__optional_std__shared_ptr_HybridARFrameSpec__ in
156
+ if let __unwrappedValue = self.__implementation.currentFrame {
157
+ return bridge.create_std__optional_std__shared_ptr_HybridARFrameSpec__({ () -> bridge.std__shared_ptr_HybridARFrameSpec_ in
158
+ let __cxxWrapped = __unwrappedValue.getCxxWrapper()
159
+ return __cxxWrapped.getCxxPart()
160
+ }())
161
+ } else {
162
+ return .init()
163
+ }
164
+ }()
165
+ }
166
+ }
167
+
168
+ public final var anchors: bridge.std__vector_std__shared_ptr_HybridARAnchorSpec__ {
169
+ @inline(__always)
170
+ get {
171
+ return { () -> bridge.std__vector_std__shared_ptr_HybridARAnchorSpec__ in
172
+ var __vector = bridge.create_std__vector_std__shared_ptr_HybridARAnchorSpec__(self.__implementation.anchors.count)
173
+ for __item in self.__implementation.anchors {
174
+ __vector.push_back({ () -> bridge.std__shared_ptr_HybridARAnchorSpec_ in
175
+ let __cxxWrapped = __item.getCxxWrapper()
176
+ return __cxxWrapped.getCxxPart()
177
+ }())
178
+ }
179
+ return __vector
180
+ }()
181
+ }
182
+ }
183
+
184
+ public final var planeAnchors: bridge.std__vector_std__shared_ptr_HybridARPlaneAnchorSpec__ {
185
+ @inline(__always)
186
+ get {
187
+ return { () -> bridge.std__vector_std__shared_ptr_HybridARPlaneAnchorSpec__ in
188
+ var __vector = bridge.create_std__vector_std__shared_ptr_HybridARPlaneAnchorSpec__(self.__implementation.planeAnchors.count)
189
+ for __item in self.__implementation.planeAnchors {
190
+ __vector.push_back({ () -> bridge.std__shared_ptr_HybridARPlaneAnchorSpec_ in
191
+ let __cxxWrapped = __item.getCxxWrapper()
192
+ return __cxxWrapped.getCxxPart()
193
+ }())
194
+ }
195
+ return __vector
196
+ }()
197
+ }
198
+ }
199
+
200
+ public final var meshAnchors: bridge.std__vector_std__shared_ptr_HybridARMeshAnchorSpec__ {
201
+ @inline(__always)
202
+ get {
203
+ return { () -> bridge.std__vector_std__shared_ptr_HybridARMeshAnchorSpec__ in
204
+ var __vector = bridge.create_std__vector_std__shared_ptr_HybridARMeshAnchorSpec__(self.__implementation.meshAnchors.count)
205
+ for __item in self.__implementation.meshAnchors {
206
+ __vector.push_back({ () -> bridge.std__shared_ptr_HybridARMeshAnchorSpec_ in
207
+ let __cxxWrapped = __item.getCxxWrapper()
208
+ return __cxxWrapped.getCxxPart()
209
+ }())
210
+ }
211
+ return __vector
212
+ }()
213
+ }
214
+ }
215
+
216
+ // Methods
217
+ @inline(__always)
218
+ public final func start(config: bridge.std__optional_ARSessionConfiguration_) -> bridge.Result_void_ {
219
+ do {
220
+ try self.__implementation.start(config: config.value)
221
+ return bridge.create_Result_void_()
222
+ } catch (let __error) {
223
+ let __exceptionPtr = __error.toCpp()
224
+ return bridge.create_Result_void_(__exceptionPtr)
225
+ }
226
+ }
227
+
228
+ @inline(__always)
229
+ public final func pause() -> bridge.Result_void_ {
230
+ do {
231
+ try self.__implementation.pause()
232
+ return bridge.create_Result_void_()
233
+ } catch (let __error) {
234
+ let __exceptionPtr = __error.toCpp()
235
+ return bridge.create_Result_void_(__exceptionPtr)
236
+ }
237
+ }
238
+
239
+ @inline(__always)
240
+ public final func reset() -> bridge.Result_void_ {
241
+ do {
242
+ try self.__implementation.reset()
243
+ return bridge.create_Result_void_()
244
+ } catch (let __error) {
245
+ let __exceptionPtr = __error.toCpp()
246
+ return bridge.create_Result_void_(__exceptionPtr)
247
+ }
248
+ }
249
+
250
+ @inline(__always)
251
+ public final func getCameraPose() -> bridge.Result_CameraPose_ {
252
+ do {
253
+ let __result = try self.__implementation.getCameraPose()
254
+ let __resultCpp = __result
255
+ return bridge.create_Result_CameraPose_(__resultCpp)
256
+ } catch (let __error) {
257
+ let __exceptionPtr = __error.toCpp()
258
+ return bridge.create_Result_CameraPose_(__exceptionPtr)
259
+ }
260
+ }
261
+
262
+ @inline(__always)
263
+ public final func raycast(x: Double, y: Double) -> bridge.Result_std__optional_std__shared_ptr_HybridARRaycastResultSpec___ {
264
+ do {
265
+ let __result = try self.__implementation.raycast(x: x, y: y)
266
+ let __resultCpp = { () -> bridge.std__optional_std__shared_ptr_HybridARRaycastResultSpec__ in
267
+ if let __unwrappedValue = __result {
268
+ return bridge.create_std__optional_std__shared_ptr_HybridARRaycastResultSpec__({ () -> bridge.std__shared_ptr_HybridARRaycastResultSpec_ in
269
+ let __cxxWrapped = __unwrappedValue.getCxxWrapper()
270
+ return __cxxWrapped.getCxxPart()
271
+ }())
272
+ } else {
273
+ return .init()
274
+ }
275
+ }()
276
+ return bridge.create_Result_std__optional_std__shared_ptr_HybridARRaycastResultSpec___(__resultCpp)
277
+ } catch (let __error) {
278
+ let __exceptionPtr = __error.toCpp()
279
+ return bridge.create_Result_std__optional_std__shared_ptr_HybridARRaycastResultSpec___(__exceptionPtr)
280
+ }
281
+ }
282
+
283
+ @inline(__always)
284
+ public final func raycastWithQuery(query: RaycastQuery) -> bridge.Result_std__vector_std__shared_ptr_HybridARRaycastResultSpec___ {
285
+ do {
286
+ let __result = try self.__implementation.raycastWithQuery(query: query)
287
+ let __resultCpp = { () -> bridge.std__vector_std__shared_ptr_HybridARRaycastResultSpec__ in
288
+ var __vector = bridge.create_std__vector_std__shared_ptr_HybridARRaycastResultSpec__(__result.count)
289
+ for __item in __result {
290
+ __vector.push_back({ () -> bridge.std__shared_ptr_HybridARRaycastResultSpec_ in
291
+ let __cxxWrapped = __item.getCxxWrapper()
292
+ return __cxxWrapped.getCxxPart()
293
+ }())
294
+ }
295
+ return __vector
296
+ }()
297
+ return bridge.create_Result_std__vector_std__shared_ptr_HybridARRaycastResultSpec___(__resultCpp)
298
+ } catch (let __error) {
299
+ let __exceptionPtr = __error.toCpp()
300
+ return bridge.create_Result_std__vector_std__shared_ptr_HybridARRaycastResultSpec___(__exceptionPtr)
301
+ }
302
+ }
303
+
304
+ @inline(__always)
305
+ public final func createAnchor(hit: bridge.std__shared_ptr_HybridARRaycastResultSpec_) -> bridge.Result_std__shared_ptr_HybridARAnchorSpec__ {
306
+ do {
307
+ let __result = try self.__implementation.createAnchor(hit: { () -> any HybridARRaycastResultSpec in
308
+ let __unsafePointer = bridge.get_std__shared_ptr_HybridARRaycastResultSpec_(hit)
309
+ let __instance = HybridARRaycastResultSpec_cxx.fromUnsafe(__unsafePointer)
310
+ return __instance.getHybridARRaycastResultSpec()
311
+ }())
312
+ let __resultCpp = { () -> bridge.std__shared_ptr_HybridARAnchorSpec_ in
313
+ let __cxxWrapped = __result.getCxxWrapper()
314
+ return __cxxWrapped.getCxxPart()
315
+ }()
316
+ return bridge.create_Result_std__shared_ptr_HybridARAnchorSpec__(__resultCpp)
317
+ } catch (let __error) {
318
+ let __exceptionPtr = __error.toCpp()
319
+ return bridge.create_Result_std__shared_ptr_HybridARAnchorSpec__(__exceptionPtr)
320
+ }
321
+ }
322
+
323
+ @inline(__always)
324
+ public final func createAnchorAtPosition(position: bridge.std__vector_double_, rotation: bridge.std__optional_std__vector_double__) -> bridge.Result_std__shared_ptr_HybridARAnchorSpec__ {
325
+ do {
326
+ let __result = try self.__implementation.createAnchorAtPosition(position: position.map({ __item in __item }), rotation: { () -> [Double]? in
327
+ if bridge.has_value_std__optional_std__vector_double__(rotation) {
328
+ let __unwrapped = bridge.get_std__optional_std__vector_double__(rotation)
329
+ return __unwrapped.map({ __item in __item })
330
+ } else {
331
+ return nil
332
+ }
333
+ }())
334
+ let __resultCpp = { () -> bridge.std__shared_ptr_HybridARAnchorSpec_ in
335
+ let __cxxWrapped = __result.getCxxWrapper()
336
+ return __cxxWrapped.getCxxPart()
337
+ }()
338
+ return bridge.create_Result_std__shared_ptr_HybridARAnchorSpec__(__resultCpp)
339
+ } catch (let __error) {
340
+ let __exceptionPtr = __error.toCpp()
341
+ return bridge.create_Result_std__shared_ptr_HybridARAnchorSpec__(__exceptionPtr)
342
+ }
343
+ }
344
+
345
+ @inline(__always)
346
+ public final func removeAnchor(anchor: bridge.std__shared_ptr_HybridARAnchorSpec_) -> bridge.Result_void_ {
347
+ do {
348
+ try self.__implementation.removeAnchor(anchor: { () -> any HybridARAnchorSpec in
349
+ let __unsafePointer = bridge.get_std__shared_ptr_HybridARAnchorSpec_(anchor)
350
+ let __instance = HybridARAnchorSpec_cxx.fromUnsafe(__unsafePointer)
351
+ return __instance.getHybridARAnchorSpec()
352
+ }())
353
+ return bridge.create_Result_void_()
354
+ } catch (let __error) {
355
+ let __exceptionPtr = __error.toCpp()
356
+ return bridge.create_Result_void_(__exceptionPtr)
357
+ }
358
+ }
359
+
360
+ @inline(__always)
361
+ public final func createMeasurement(start: bridge.std__shared_ptr_HybridARAnchorSpec_, end: bridge.std__shared_ptr_HybridARAnchorSpec_) -> bridge.Result_std__shared_ptr_HybridARMeasurementSpec__ {
362
+ do {
363
+ let __result = try self.__implementation.createMeasurement(start: { () -> any HybridARAnchorSpec in
364
+ let __unsafePointer = bridge.get_std__shared_ptr_HybridARAnchorSpec_(start)
365
+ let __instance = HybridARAnchorSpec_cxx.fromUnsafe(__unsafePointer)
366
+ return __instance.getHybridARAnchorSpec()
367
+ }(), end: { () -> any HybridARAnchorSpec in
368
+ let __unsafePointer = bridge.get_std__shared_ptr_HybridARAnchorSpec_(end)
369
+ let __instance = HybridARAnchorSpec_cxx.fromUnsafe(__unsafePointer)
370
+ return __instance.getHybridARAnchorSpec()
371
+ }())
372
+ let __resultCpp = { () -> bridge.std__shared_ptr_HybridARMeasurementSpec_ in
373
+ let __cxxWrapped = __result.getCxxWrapper()
374
+ return __cxxWrapped.getCxxPart()
375
+ }()
376
+ return bridge.create_Result_std__shared_ptr_HybridARMeasurementSpec__(__resultCpp)
377
+ } catch (let __error) {
378
+ let __exceptionPtr = __error.toCpp()
379
+ return bridge.create_Result_std__shared_ptr_HybridARMeasurementSpec__(__exceptionPtr)
380
+ }
381
+ }
382
+
383
+ @inline(__always)
384
+ public final func getCurrentWorldMap() -> bridge.Result_std__shared_ptr_Promise_std__shared_ptr_HybridARWorldMapSpec____ {
385
+ do {
386
+ let __result = try self.__implementation.getCurrentWorldMap()
387
+ let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__shared_ptr_HybridARWorldMapSpec___ in
388
+ let __promise = bridge.create_std__shared_ptr_Promise_std__shared_ptr_HybridARWorldMapSpec___()
389
+ let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__shared_ptr_HybridARWorldMapSpec___(__promise)
390
+ __result
391
+ .then({ __result in __promiseHolder.resolve({ () -> bridge.std__shared_ptr_HybridARWorldMapSpec_ in
392
+ let __cxxWrapped = __result.getCxxWrapper()
393
+ return __cxxWrapped.getCxxPart()
394
+ }()) })
395
+ .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
396
+ return __promise
397
+ }()
398
+ return bridge.create_Result_std__shared_ptr_Promise_std__shared_ptr_HybridARWorldMapSpec____(__resultCpp)
399
+ } catch (let __error) {
400
+ let __exceptionPtr = __error.toCpp()
401
+ return bridge.create_Result_std__shared_ptr_Promise_std__shared_ptr_HybridARWorldMapSpec____(__exceptionPtr)
402
+ }
403
+ }
404
+
405
+ @inline(__always)
406
+ public final func onFrameUpdate(callback: bridge.Func_void_std__shared_ptr_HybridARFrameSpec_) -> bridge.Result_std__function_void____ {
407
+ do {
408
+ let __result = try self.__implementation.onFrameUpdate(callback: { () -> ((any HybridARFrameSpec)) -> Void in
409
+ let __wrappedFunction = bridge.wrap_Func_void_std__shared_ptr_HybridARFrameSpec_(callback)
410
+ return { (__frame: (any HybridARFrameSpec)) -> Void in
411
+ __wrappedFunction.call({ () -> bridge.std__shared_ptr_HybridARFrameSpec_ in
412
+ let __cxxWrapped = __frame.getCxxWrapper()
413
+ return __cxxWrapped.getCxxPart()
414
+ }())
415
+ }
416
+ }())
417
+ let __resultCpp = { () -> bridge.Func_void in
418
+ let __closureWrapper = Func_void(__result)
419
+ return bridge.create_Func_void(__closureWrapper.toUnsafe())
420
+ }()
421
+ return bridge.create_Result_std__function_void____(__resultCpp)
422
+ } catch (let __error) {
423
+ let __exceptionPtr = __error.toCpp()
424
+ return bridge.create_Result_std__function_void____(__exceptionPtr)
425
+ }
426
+ }
427
+
428
+ @inline(__always)
429
+ public final func onTrackingStateChanged(callback: bridge.Func_void_TrackingState_TrackingStateReason) -> bridge.Result_std__function_void____ {
430
+ do {
431
+ let __result = try self.__implementation.onTrackingStateChanged(callback: { () -> (TrackingState, TrackingStateReason) -> Void in
432
+ let __wrappedFunction = bridge.wrap_Func_void_TrackingState_TrackingStateReason(callback)
433
+ return { (__state: TrackingState, __reason: TrackingStateReason) -> Void in
434
+ __wrappedFunction.call(__state.rawValue, __reason.rawValue)
435
+ }
436
+ }())
437
+ let __resultCpp = { () -> bridge.Func_void in
438
+ let __closureWrapper = Func_void(__result)
439
+ return bridge.create_Func_void(__closureWrapper.toUnsafe())
440
+ }()
441
+ return bridge.create_Result_std__function_void____(__resultCpp)
442
+ } catch (let __error) {
443
+ let __exceptionPtr = __error.toCpp()
444
+ return bridge.create_Result_std__function_void____(__exceptionPtr)
445
+ }
446
+ }
447
+
448
+ @inline(__always)
449
+ public final func onAnchorsUpdated(callback: bridge.Func_void_std__vector_std__shared_ptr_HybridARAnchorSpec___std__vector_std__shared_ptr_HybridARAnchorSpec___std__vector_std__string_) -> bridge.Result_std__function_void____ {
450
+ do {
451
+ let __result = try self.__implementation.onAnchorsUpdated(callback: { () -> ([(any HybridARAnchorSpec)], [(any HybridARAnchorSpec)], [String]) -> Void in
452
+ let __wrappedFunction = bridge.wrap_Func_void_std__vector_std__shared_ptr_HybridARAnchorSpec___std__vector_std__shared_ptr_HybridARAnchorSpec___std__vector_std__string_(callback)
453
+ return { (__added: [(any HybridARAnchorSpec)], __updated: [(any HybridARAnchorSpec)], __removed: [String]) -> Void in
454
+ __wrappedFunction.call({ () -> bridge.std__vector_std__shared_ptr_HybridARAnchorSpec__ in
455
+ var __vector = bridge.create_std__vector_std__shared_ptr_HybridARAnchorSpec__(__added.count)
456
+ for __item in __added {
457
+ __vector.push_back({ () -> bridge.std__shared_ptr_HybridARAnchorSpec_ in
458
+ let __cxxWrapped = __item.getCxxWrapper()
459
+ return __cxxWrapped.getCxxPart()
460
+ }())
461
+ }
462
+ return __vector
463
+ }(), { () -> bridge.std__vector_std__shared_ptr_HybridARAnchorSpec__ in
464
+ var __vector = bridge.create_std__vector_std__shared_ptr_HybridARAnchorSpec__(__updated.count)
465
+ for __item in __updated {
466
+ __vector.push_back({ () -> bridge.std__shared_ptr_HybridARAnchorSpec_ in
467
+ let __cxxWrapped = __item.getCxxWrapper()
468
+ return __cxxWrapped.getCxxPart()
469
+ }())
470
+ }
471
+ return __vector
472
+ }(), { () -> bridge.std__vector_std__string_ in
473
+ var __vector = bridge.create_std__vector_std__string_(__removed.count)
474
+ for __item in __removed {
475
+ __vector.push_back(std.string(__item))
476
+ }
477
+ return __vector
478
+ }())
479
+ }
480
+ }())
481
+ let __resultCpp = { () -> bridge.Func_void in
482
+ let __closureWrapper = Func_void(__result)
483
+ return bridge.create_Func_void(__closureWrapper.toUnsafe())
484
+ }()
485
+ return bridge.create_Result_std__function_void____(__resultCpp)
486
+ } catch (let __error) {
487
+ let __exceptionPtr = __error.toCpp()
488
+ return bridge.create_Result_std__function_void____(__exceptionPtr)
489
+ }
490
+ }
491
+
492
+ @inline(__always)
493
+ public final func onPlanesUpdated(callback: bridge.Func_void_std__vector_std__shared_ptr_HybridARPlaneAnchorSpec___std__vector_std__shared_ptr_HybridARPlaneAnchorSpec___std__vector_std__string_) -> bridge.Result_std__function_void____ {
494
+ do {
495
+ let __result = try self.__implementation.onPlanesUpdated(callback: { () -> ([(any HybridARPlaneAnchorSpec)], [(any HybridARPlaneAnchorSpec)], [String]) -> Void in
496
+ let __wrappedFunction = bridge.wrap_Func_void_std__vector_std__shared_ptr_HybridARPlaneAnchorSpec___std__vector_std__shared_ptr_HybridARPlaneAnchorSpec___std__vector_std__string_(callback)
497
+ return { (__added: [(any HybridARPlaneAnchorSpec)], __updated: [(any HybridARPlaneAnchorSpec)], __removed: [String]) -> Void in
498
+ __wrappedFunction.call({ () -> bridge.std__vector_std__shared_ptr_HybridARPlaneAnchorSpec__ in
499
+ var __vector = bridge.create_std__vector_std__shared_ptr_HybridARPlaneAnchorSpec__(__added.count)
500
+ for __item in __added {
501
+ __vector.push_back({ () -> bridge.std__shared_ptr_HybridARPlaneAnchorSpec_ in
502
+ let __cxxWrapped = __item.getCxxWrapper()
503
+ return __cxxWrapped.getCxxPart()
504
+ }())
505
+ }
506
+ return __vector
507
+ }(), { () -> bridge.std__vector_std__shared_ptr_HybridARPlaneAnchorSpec__ in
508
+ var __vector = bridge.create_std__vector_std__shared_ptr_HybridARPlaneAnchorSpec__(__updated.count)
509
+ for __item in __updated {
510
+ __vector.push_back({ () -> bridge.std__shared_ptr_HybridARPlaneAnchorSpec_ in
511
+ let __cxxWrapped = __item.getCxxWrapper()
512
+ return __cxxWrapped.getCxxPart()
513
+ }())
514
+ }
515
+ return __vector
516
+ }(), { () -> bridge.std__vector_std__string_ in
517
+ var __vector = bridge.create_std__vector_std__string_(__removed.count)
518
+ for __item in __removed {
519
+ __vector.push_back(std.string(__item))
520
+ }
521
+ return __vector
522
+ }())
523
+ }
524
+ }())
525
+ let __resultCpp = { () -> bridge.Func_void in
526
+ let __closureWrapper = Func_void(__result)
527
+ return bridge.create_Func_void(__closureWrapper.toUnsafe())
528
+ }()
529
+ return bridge.create_Result_std__function_void____(__resultCpp)
530
+ } catch (let __error) {
531
+ let __exceptionPtr = __error.toCpp()
532
+ return bridge.create_Result_std__function_void____(__exceptionPtr)
533
+ }
534
+ }
535
+
536
+ @inline(__always)
537
+ public final func getLiDARCapabilities() -> bridge.Result_LiDARCapabilities_ {
538
+ do {
539
+ let __result = try self.__implementation.getLiDARCapabilities()
540
+ let __resultCpp = __result
541
+ return bridge.create_Result_LiDARCapabilities_(__resultCpp)
542
+ } catch (let __error) {
543
+ let __exceptionPtr = __error.toCpp()
544
+ return bridge.create_Result_LiDARCapabilities_(__exceptionPtr)
545
+ }
546
+ }
547
+
548
+ @inline(__always)
549
+ public final func onMeshUpdated(callback: bridge.Func_void_std__vector_std__shared_ptr_HybridARMeshAnchorSpec___std__vector_std__shared_ptr_HybridARMeshAnchorSpec___std__vector_std__string_) -> bridge.Result_std__function_void____ {
550
+ do {
551
+ let __result = try self.__implementation.onMeshUpdated(callback: { () -> ([(any HybridARMeshAnchorSpec)], [(any HybridARMeshAnchorSpec)], [String]) -> Void in
552
+ let __wrappedFunction = bridge.wrap_Func_void_std__vector_std__shared_ptr_HybridARMeshAnchorSpec___std__vector_std__shared_ptr_HybridARMeshAnchorSpec___std__vector_std__string_(callback)
553
+ return { (__added: [(any HybridARMeshAnchorSpec)], __updated: [(any HybridARMeshAnchorSpec)], __removed: [String]) -> Void in
554
+ __wrappedFunction.call({ () -> bridge.std__vector_std__shared_ptr_HybridARMeshAnchorSpec__ in
555
+ var __vector = bridge.create_std__vector_std__shared_ptr_HybridARMeshAnchorSpec__(__added.count)
556
+ for __item in __added {
557
+ __vector.push_back({ () -> bridge.std__shared_ptr_HybridARMeshAnchorSpec_ in
558
+ let __cxxWrapped = __item.getCxxWrapper()
559
+ return __cxxWrapped.getCxxPart()
560
+ }())
561
+ }
562
+ return __vector
563
+ }(), { () -> bridge.std__vector_std__shared_ptr_HybridARMeshAnchorSpec__ in
564
+ var __vector = bridge.create_std__vector_std__shared_ptr_HybridARMeshAnchorSpec__(__updated.count)
565
+ for __item in __updated {
566
+ __vector.push_back({ () -> bridge.std__shared_ptr_HybridARMeshAnchorSpec_ in
567
+ let __cxxWrapped = __item.getCxxWrapper()
568
+ return __cxxWrapped.getCxxPart()
569
+ }())
570
+ }
571
+ return __vector
572
+ }(), { () -> bridge.std__vector_std__string_ in
573
+ var __vector = bridge.create_std__vector_std__string_(__removed.count)
574
+ for __item in __removed {
575
+ __vector.push_back(std.string(__item))
576
+ }
577
+ return __vector
578
+ }())
579
+ }
580
+ }())
581
+ let __resultCpp = { () -> bridge.Func_void in
582
+ let __closureWrapper = Func_void(__result)
583
+ return bridge.create_Func_void(__closureWrapper.toUnsafe())
584
+ }()
585
+ return bridge.create_Result_std__function_void____(__resultCpp)
586
+ } catch (let __error) {
587
+ let __exceptionPtr = __error.toCpp()
588
+ return bridge.create_Result_std__function_void____(__exceptionPtr)
589
+ }
590
+ }
591
+ }
@@ -0,0 +1,78 @@
1
+ ///
2
+ /// HybridARViewSpec.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /// See ``HybridARViewSpec``
11
+ public protocol HybridARViewSpec_protocol: HybridObject, HybridView {
12
+ // Properties
13
+ var showDebugOptions: Bool? { get set }
14
+ var showPlanes: Bool? { get set }
15
+ var showFeaturePoints: Bool? { get set }
16
+ var showWorldOrigin: Bool? { get set }
17
+ var autoenablesDefaultLighting: Bool? { get set }
18
+ var sceneReconstruction: SceneReconstructionMode? { get set }
19
+ var showSceneMesh: Bool? { get set }
20
+ var sceneDepth: Bool? { get set }
21
+ var objectOcclusion: Bool? { get set }
22
+ var peopleOcclusion: Bool? { get set }
23
+
24
+ // Methods
25
+ func addMeasurementPoint(id: String, x: Double, y: Double, z: Double, color: String?) throws -> Void
26
+ func removeMeasurementPoint(id: String) throws -> Void
27
+ func updateMeasurementPoint(id: String, x: Double, y: Double, z: Double) throws -> Void
28
+ func addLine(id: String, fromX: Double, fromY: Double, fromZ: Double, toX: Double, toY: Double, toZ: Double, color: String?) throws -> Void
29
+ func updateLine(id: String, fromX: Double, fromY: Double, fromZ: Double, toX: Double, toY: Double, toZ: Double) throws -> Void
30
+ func removeLine(id: String) throws -> Void
31
+ func addDistanceLabel(id: String, x: Double, y: Double, z: Double, distance: Double) throws -> Void
32
+ func updateDistanceLabel(id: String, x: Double, y: Double, z: Double, distance: Double) throws -> Void
33
+ func removeDistanceLabel(id: String) throws -> Void
34
+ func clearAllVisuals() throws -> Void
35
+ func raycast(x: Double, y: Double) throws -> ARViewHitResult?
36
+ func startSession() throws -> Void
37
+ func pauseSession() throws -> Void
38
+ func resetSession() throws -> Void
39
+ func isLiDARAvailable() throws -> Bool
40
+ }
41
+
42
+ public extension HybridARViewSpec_protocol {
43
+ /// Default implementation of ``HybridObject.toString``
44
+ func toString() -> String {
45
+ return "[HybridObject ARView]"
46
+ }
47
+ }
48
+
49
+ /// See ``HybridARViewSpec``
50
+ open class HybridARViewSpec_base {
51
+ private weak var cxxWrapper: HybridARViewSpec_cxx? = nil
52
+ public init() { }
53
+ public func getCxxWrapper() -> HybridARViewSpec_cxx {
54
+ #if DEBUG
55
+ guard self is any HybridARViewSpec else {
56
+ fatalError("`self` is not a `HybridARViewSpec`! Did you accidentally inherit from `HybridARViewSpec_base` instead of `HybridARViewSpec`?")
57
+ }
58
+ #endif
59
+ if let cxxWrapper = self.cxxWrapper {
60
+ return cxxWrapper
61
+ } else {
62
+ let cxxWrapper = HybridARViewSpec_cxx(self as! any HybridARViewSpec)
63
+ self.cxxWrapper = cxxWrapper
64
+ return cxxWrapper
65
+ }
66
+ }
67
+ }
68
+
69
+ /**
70
+ * A Swift base-protocol representing the ARView HybridObject.
71
+ * Implement this protocol to create Swift-based instances of ARView.
72
+ * ```swift
73
+ * class HybridARView : HybridARViewSpec {
74
+ * // ...
75
+ * }
76
+ * ```
77
+ */
78
+ public typealias HybridARViewSpec = HybridARViewSpec_protocol & HybridARViewSpec_base