@realsee/five 6.0.0-alpha.10 → 6.0.0-alpha.100

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 (385) hide show
  1. package/README.md +58 -1
  2. package/TERMS.txt +0 -2
  3. package/docs/assets/highlight.css +20 -20
  4. package/docs/assets/main.js +59 -52
  5. package/docs/assets/navigation.js +1 -0
  6. package/docs/assets/search.js +1 -1
  7. package/docs/assets/style.css +805 -825
  8. package/docs/classes/five.AnimationFrameLoop.html +16 -15
  9. package/docs/classes/five.BoxBoundingVolume.html +19 -1
  10. package/docs/classes/five.Camera.html +38 -11
  11. package/docs/classes/five.CullingVolume.html +13 -1
  12. package/docs/classes/five.Fetcher.html +5 -0
  13. package/docs/classes/five.Five.html +235 -290
  14. package/docs/classes/five.InternalWebGLRenderer.html +2 -1
  15. package/docs/classes/five.IntersectMesh.html +4 -1
  16. package/docs/classes/five.Model.html +69 -55
  17. package/docs/classes/five.ModelViewLayer.html +18 -0
  18. package/docs/classes/five.NetworkAbortError.html +2 -0
  19. package/docs/classes/five.NetworkFirbiddenError.html +2 -0
  20. package/docs/classes/five.NetworkResponseError.html +3 -0
  21. package/docs/classes/five.NetworkSubscribe.html +42 -56
  22. package/docs/classes/five.NetworkTimeoutError.html +2 -0
  23. package/docs/classes/five.PBMContainer.html +12 -13
  24. package/docs/classes/five.PBMGroup.html +3 -3
  25. package/docs/classes/five.PBMMesh.html +4 -5
  26. package/docs/classes/five.PBMMeshMaterial.html +50 -45
  27. package/docs/classes/five.PanoCircleMesh.html +30 -7
  28. package/docs/classes/five.PanoCircleMeshCustom.html +30 -7
  29. package/docs/classes/five.PanoCircleMeshSolid.html +30 -7
  30. package/docs/classes/five.RegionBoundingVolume.html +22 -1
  31. package/docs/classes/five.RequestScheduler.html +13 -12
  32. package/docs/classes/five.Scene.html +5 -3
  33. package/docs/classes/five.SphereBoundingVolume.html +18 -1
  34. package/docs/classes/five.Subscribe.html +43 -62
  35. package/docs/classes/five.TextureLoader.html +5 -1
  36. package/docs/classes/five.Tile.html +30 -1
  37. package/docs/classes/five.Tile3DModel.html +45 -1
  38. package/docs/classes/five.TileCubeTextureTarget.html +9 -1
  39. package/docs/classes/five.TileNode.html +5 -1
  40. package/docs/classes/five.Tileset.html +33 -5
  41. package/docs/classes/five.TilesetCache.html +8 -1
  42. package/docs/classes/five.TilesetTraverser.html +19 -1
  43. package/docs/classes/five.Work.html +33 -28
  44. package/docs/classes/five.XRButton.html +3 -1
  45. package/docs/classes/gltf_loader.DDSLoader.html +3 -1
  46. package/docs/classes/gltf_loader.DRACOLoader.html +8 -1
  47. package/docs/classes/gltf_loader.GLTFLoader.html +18 -17
  48. package/docs/classes/gltf_loader.GLTFObject.html +8 -6
  49. package/docs/classes/gltf_loader.GLTFParser.html +6 -1
  50. package/docs/classes/gltf_loader.THREEGLTFLoader.html +8 -1
  51. package/docs/classes/line.Line.html +10 -1
  52. package/docs/classes/line.LineGeometry.html +14 -1
  53. package/docs/classes/line.LineMaterial.html +8 -1
  54. package/docs/classes/line.LineSegmentsGeometry.html +12 -1
  55. package/docs/classes/line.THREE_Line2.html +4 -1
  56. package/docs/classes/line.THREE_LineSegments2.html +4 -1
  57. package/docs/classes/plugins.BasePlugin.Controller.html +38 -0
  58. package/docs/classes/plugins.ItemMaskController.html +37 -0
  59. package/docs/classes/react.Store.html +23 -29
  60. package/docs/classes/sticker.Sticker.html +25 -32
  61. package/docs/classes/vfx.Airflow.html +8 -1
  62. package/docs/classes/vfx.Flame.html +10 -1
  63. package/docs/classes/vfx.Particle.html +79 -82
  64. package/docs/classes/vfx.SpotLight.html +7 -1
  65. package/docs/enums/five.VolumePlaneIntersect.html +4 -1
  66. package/docs/functions/five.defaultImageURLTransform.html +5 -0
  67. package/docs/functions/five.getViewportScale.html +1 -0
  68. package/docs/functions/five.imageSupport.html +1 -0
  69. package/docs/functions/five.isPanoId.html +1 -0
  70. package/docs/functions/five.loadAt3d.html +1 -0
  71. package/docs/functions/five.loadB3dm.html +1 -0
  72. package/docs/functions/five.loadDome.html +1 -0
  73. package/docs/functions/five.loadDomez.html +1 -0
  74. package/docs/functions/five.loadPbm.html +1 -0
  75. package/docs/functions/five.loadPnts.html +1 -0
  76. package/docs/functions/five.panoEqual.html +1 -0
  77. package/docs/functions/five.panoParse.html +1 -0
  78. package/docs/functions/five.panoStringify.html +1 -0
  79. package/docs/functions/five.parseWork.html +7 -0
  80. package/docs/functions/plugins.ItemMaskPlugin.html +1 -0
  81. package/docs/functions/react.FiveCanvas-1.html +6 -0
  82. package/docs/functions/react.createFiveFeature.html +1 -0
  83. package/docs/functions/react.createFiveProvider.html +9 -0
  84. package/docs/functions/react.createStore.html +15 -0
  85. package/docs/functions/react.unsafe__useFiveInstance.html +5 -0
  86. package/docs/functions/react.useFiveAction.html +19 -0
  87. package/docs/functions/react.useFiveCameraDirection.html +3 -0
  88. package/docs/functions/react.useFiveCameraRaycaster.html +3 -0
  89. package/docs/functions/react.useFiveCurrentObserver.html +5 -0
  90. package/docs/functions/react.useFiveCurrentState.html +5 -0
  91. package/docs/functions/react.useFiveEventCallback.html +5 -0
  92. package/docs/functions/react.useFiveFloor.html +5 -0
  93. package/docs/functions/react.useFiveHelper.html +5 -0
  94. package/docs/functions/react.useFiveModelIntersectRaycaster.html +7 -0
  95. package/docs/functions/react.useFiveModelReadyState.html +4 -0
  96. package/docs/functions/react.useFiveProject2d.html +7 -0
  97. package/docs/functions/react.useFiveScene.html +2 -0
  98. package/docs/functions/react.useFiveSceneEffect.html +5 -0
  99. package/docs/functions/react.useFiveState.html +1 -0
  100. package/docs/functions/react.useFiveWork.html +8 -0
  101. package/docs/functions/react.withFive.html +1 -0
  102. package/docs/functions/vue.unsafe__useFiveInject.html +5 -0
  103. package/docs/functions/vue.useFiveAction.html +25 -0
  104. package/docs/functions/vue.useFiveCameraDirection.html +3 -0
  105. package/docs/functions/vue.useFiveCameraRaycaster.html +3 -0
  106. package/docs/functions/vue.useFiveCurrentObserver.html +5 -0
  107. package/docs/functions/vue.useFiveCurrentState.html +5 -0
  108. package/docs/functions/vue.useFiveEventCallback.html +5 -0
  109. package/docs/functions/vue.useFiveFloor.html +5 -0
  110. package/docs/functions/vue.useFiveHelper.html +5 -0
  111. package/docs/functions/vue.useFiveModel.html +2 -0
  112. package/docs/functions/vue.useFiveModelBounding.html +2 -0
  113. package/docs/functions/vue.useFiveModelIntersectRaycaster.html +7 -0
  114. package/docs/functions/vue.useFiveModelReadyState.html +4 -0
  115. package/docs/functions/vue.useFiveProject2d.html +7 -0
  116. package/docs/functions/vue.useFiveScene.html +2 -0
  117. package/docs/functions/vue.useFiveState.html +5 -0
  118. package/docs/functions/vue.useFiveWorks.html +8 -0
  119. package/docs/index.html +81 -79
  120. package/docs/interfaces/five.AddableObject.html +9 -9
  121. package/docs/interfaces/five.AjaxOptions.html +11 -0
  122. package/docs/interfaces/five.AnimationFrame.html +5 -1
  123. package/docs/interfaces/five.BaseEvent.html +5 -1
  124. package/docs/interfaces/five.BoundingVolume.html +15 -1
  125. package/docs/interfaces/five.CameraPose.html +6 -1
  126. package/docs/interfaces/five.ClipperParameter.html +3 -1
  127. package/docs/interfaces/five.EventCallback.html +355 -462
  128. package/docs/interfaces/five.FiveInitArgs.html +80 -86
  129. package/docs/interfaces/five.FiveLoadOptions.html +36 -0
  130. package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +17 -15
  131. package/docs/interfaces/five.GestureEvent.html +19 -1
  132. package/docs/interfaces/five.ImageOptions.html +16 -18
  133. package/docs/interfaces/five.ImageURLMappings.html +1 -1
  134. package/docs/interfaces/five.ImageURLOptions.html +15 -15
  135. package/docs/interfaces/five.IntersectEvent.html +8 -1
  136. package/docs/interfaces/five.IntersectMeshInterface.html +3 -3
  137. package/docs/interfaces/five.Intersection.html +5 -7
  138. package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +15 -11
  139. package/docs/interfaces/five.ModeChangeEvent.html +9 -1
  140. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +18 -18
  141. package/docs/interfaces/five.ModelEvent.html +8 -1
  142. package/docs/interfaces/five.ModelsEvent.html +6 -1
  143. package/docs/interfaces/five.MotionKeyframe.html +4 -1
  144. package/docs/interfaces/five.MovePanoOptions.html +24 -35
  145. package/docs/interfaces/five.NetworkOptions.html +9 -9
  146. package/docs/interfaces/five.NetworkResourceEvent.html +9 -1
  147. package/docs/interfaces/five.ObjectEvent.html +6 -1
  148. package/docs/interfaces/five.PBMPanoPicture.html +9 -7
  149. package/docs/interfaces/five.PBMParameters.html +42 -43
  150. package/docs/interfaces/five.PanoCircleMeshCustomOptions.html +9 -1
  151. package/docs/interfaces/five.PanoCircleMeshInterface.html +21 -10
  152. package/docs/interfaces/five.PanoCircleMeshOptions.html +3 -1
  153. package/docs/interfaces/five.PanoCircleMeshSolidOptions.html +3 -1
  154. package/docs/interfaces/five.PanoEvent.html +11 -1
  155. package/docs/interfaces/five.PanoTextureEvent.html +9 -1
  156. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +32 -32
  157. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +18 -18
  158. package/docs/interfaces/five.Pose.html +15 -32
  159. package/docs/interfaces/five.RenderEvent.html +7 -1
  160. package/docs/interfaces/five.Scissor.html +11 -12
  161. package/docs/interfaces/five.State.html +20 -21
  162. package/docs/interfaces/five.StateEvent.html +7 -1
  163. package/docs/interfaces/five.SubscribeMixinType.emit.html +1 -1
  164. package/docs/interfaces/five.SubscribeMixinType.hasListener.html +1 -1
  165. package/docs/interfaces/five.SubscribeMixinType.off.html +1 -1
  166. package/docs/interfaces/five.SubscribeMixinType.on.html +1 -1
  167. package/docs/interfaces/five.SubscribeMixinType.once.html +1 -1
  168. package/docs/interfaces/five.SubscribeMixinType.waitUnitl.html +1 -1
  169. package/docs/interfaces/five.TextureOptions.html +18 -20
  170. package/docs/interfaces/five.Tile3DModelLoaderOptions.html +12 -3
  171. package/docs/interfaces/five.TileCubeNode.html +7 -1
  172. package/docs/interfaces/five.TileCubeTree.html +2 -1
  173. package/docs/interfaces/five.TileHeader.html +9 -1
  174. package/docs/interfaces/five.TilesetHeader.html +6 -1
  175. package/docs/interfaces/five.TilesetOptions.html +6 -1
  176. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +9 -9
  177. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +28 -28
  178. package/docs/interfaces/five.WebXRAxesParams.html +4 -1
  179. package/docs/interfaces/five.WebXRControllerParams.html +2 -1
  180. package/docs/interfaces/five.WorkCubeImage.html +15 -13
  181. package/docs/interfaces/five.WorkImage.html +20 -21
  182. package/docs/interfaces/five.WorkInitial.html +17 -17
  183. package/docs/interfaces/five.WorkModel.html +12 -13
  184. package/docs/interfaces/five.WorkObserver.html +40 -39
  185. package/docs/interfaces/five.WorkResolvedObserver.html +41 -37
  186. package/docs/interfaces/five.WorkTile.html +10 -1
  187. package/docs/interfaces/five.WorkVideo.html +8 -9
  188. package/docs/interfaces/five.WorksEvent.html +9 -1
  189. package/docs/interfaces/five.XRControllerEvent.html +8 -1
  190. package/docs/interfaces/five.XRGestureEvent.html +11 -1
  191. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +28 -28
  192. package/docs/interfaces/five.XRSessionEvent.html +7 -1
  193. package/docs/interfaces/gltf_loader.DDS.html +7 -1
  194. package/docs/interfaces/gltf_loader.GLTF.html +10 -4
  195. package/docs/interfaces/gltf_loader.GLTFReference.html +3 -1
  196. package/docs/interfaces/gltf_loader.THREEGLTF.html +8 -1
  197. package/docs/interfaces/plugins.BasePlugin.BaseOptions.html +3 -0
  198. package/docs/interfaces/plugins.BasePlugin.Config.html +5 -0
  199. package/docs/interfaces/plugins.BasePlugin.State.html +8 -0
  200. package/docs/interfaces/plugins.ItemMaskPluginType.Config.html +2 -0
  201. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +10 -0
  202. package/docs/interfaces/plugins.ItemMaskPluginType.ItemType.html +13 -0
  203. package/docs/interfaces/plugins.ItemMaskPluginType.MaskType.html +4 -0
  204. package/docs/interfaces/plugins.ItemMaskPluginType.Params.html +4 -0
  205. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +14 -0
  206. package/docs/interfaces/react.FiveActionReactCallbacks.html +27 -37
  207. package/docs/interfaces/react.FiveInjectionTypes.html +112 -138
  208. package/docs/interfaces/react.PropTypeOfFiveFeatures.html +2 -1
  209. package/docs/interfaces/sticker.IntersectionLike.html +7 -8
  210. package/docs/interfaces/vfx.ParticleArgs.html +67 -68
  211. package/docs/interfaces/vfx.ParticleTweenKeyframe.html +3 -1
  212. package/docs/interfaces/vue.FiveActionVueCallbacks.html +31 -42
  213. package/docs/modules/five.SubscribeMixinType.html +7 -1
  214. package/docs/modules/five.html +170 -643
  215. package/docs/modules/gltf_loader.html +11 -1
  216. package/docs/modules/line.html +8 -1
  217. package/docs/modules/plugins.BasePlugin.html +6 -0
  218. package/docs/modules/plugins.ItemMaskPluginType.html +9 -0
  219. package/docs/modules/plugins.html +5 -0
  220. package/docs/modules/react.FiveCanvas.html +8 -0
  221. package/docs/modules/react.html +37 -130
  222. package/docs/modules/sticker.html +3 -1
  223. package/docs/modules/vfx.html +8 -1
  224. package/docs/modules/vue.html +24 -115
  225. package/docs/types/five.AjaxResponseType.html +1 -0
  226. package/docs/types/five.AjaxResponseTypeMapping.html +1 -0
  227. package/docs/types/five.BoundingVolumeJson.html +1 -0
  228. package/docs/types/five.BoxBoundingVolumeJson.html +1 -0
  229. package/docs/types/five.ControllerCustomInitTypes.html +1 -0
  230. package/docs/types/five.ControllerEventTypes.html +32 -0
  231. package/docs/types/five.EventTypes.html +26 -0
  232. package/docs/types/five.FivePlugin.html +71 -0
  233. package/docs/types/five.FivePluginInit.html +3 -0
  234. package/docs/types/five.FivePluginInstance.html +3 -0
  235. package/docs/types/five.GestureTypes.html +1 -0
  236. package/docs/types/five.LegacyEventType.html +203 -0
  237. package/docs/types/five.LooseWork.html +1 -0
  238. package/docs/types/five.LooseWorkInitial.html +1 -0
  239. package/docs/types/five.LooseWorkModel.html +1 -0
  240. package/docs/types/five.LooseWorkObserver.html +1 -0
  241. package/docs/types/five.LooseWorkPanorama.html +1 -0
  242. package/docs/types/five.LooseWorkVideo.html +1 -0
  243. package/docs/types/five.LooseWorkWithExtrinsics.html +2 -0
  244. package/docs/types/five.Mirror.html +1 -0
  245. package/docs/types/five.Mode.html +10 -0
  246. package/docs/types/five.ModelMaterialValues.html +1 -0
  247. package/docs/types/five.Models.html +13 -0
  248. package/docs/types/five.MotionValue.html +1 -0
  249. package/docs/types/five.MovePanoEffect.html +11 -0
  250. package/docs/types/five.NetWorkMeta.html +1 -0
  251. package/docs/types/five.NetworkError.html +1 -0
  252. package/docs/types/five.NetworkErrorCallback.html +1 -0
  253. package/docs/types/five.NetworkProgressCallback.html +1 -0
  254. package/docs/types/five.NetworkResponse.html +1 -0
  255. package/docs/types/five.NetworkState.html +1 -0
  256. package/docs/types/five.NetworkSuccessCallback.html +1 -0
  257. package/docs/types/five.NetworkType.html +1 -0
  258. package/docs/types/five.Pano.html +1 -0
  259. package/docs/types/five.PanoId.html +1 -0
  260. package/docs/types/five.ParseWorkOptions.html +6 -0
  261. package/docs/types/five.ParsedResultType.html +1 -0
  262. package/docs/types/five.PostProcessingType.html +1 -0
  263. package/docs/types/five.RegionBoundingVolumeJson.html +1 -0
  264. package/docs/types/five.RequestResult.html +1 -0
  265. package/docs/types/five.SphereBoundingVolumeJson.html +1 -0
  266. package/docs/types/five.SubscribeEventMap.html +1 -0
  267. package/docs/types/five.TileContentData.html +1 -0
  268. package/docs/types/five.TilesetFrameState.html +1 -0
  269. package/docs/types/five.WebXRControllerKey.html +1 -0
  270. package/docs/types/five.WebXRControllerType.html +1 -0
  271. package/docs/types/five.Works.html +1 -0
  272. package/docs/types/line.LineMaterialParameters.html +1 -0
  273. package/docs/types/plugins.BasePlugin.EventMap.html +6 -0
  274. package/docs/types/plugins.ItemMaskPluginType.PluginData.html +1 -0
  275. package/docs/types/plugins.ItemMaskPluginType.ServerData.html +1 -0
  276. package/docs/types/react.FiveInjectionActionFeature.html +1 -0
  277. package/docs/types/react.FiveInjectionDataFeature.html +1 -0
  278. package/docs/types/react.FiveInjectionFeature.html +1 -0
  279. package/docs/types/react.FiveProviderPropTypes.html +1 -0
  280. package/docs/types/react.FiveProviderType.html +1 -0
  281. package/docs/types/react.StoreActionMapHanlder.html +1 -0
  282. package/docs/types/react.StoreActionMapType.html +1 -0
  283. package/docs/types/react.StoreProviderType.html +1 -0
  284. package/docs/types/react.StoreValueMapType.html +1 -0
  285. package/docs/types/vfx.ParticleType.html +1 -0
  286. package/docs/types/vue.FiveModelIntersectRaycaster.html +1 -0
  287. package/docs/types/vue.FiveProviderComponent.html +1 -0
  288. package/docs/types/vue.Project2d.html +1 -0
  289. package/docs/variables/five.PROXY_CONTROLLER_EVENT_NAMES.html +1 -0
  290. package/docs/variables/five.defaultPbmParameters.html +1 -0
  291. package/docs/variables/react.INJECTION_PROPNAME.html +1 -0
  292. package/docs/variables/vue.FiveCanvas.html +8 -0
  293. package/docs/variables/vue.FiveProvider.html +8 -0
  294. package/five/index.d.ts +553 -351
  295. package/five/index.js +1879 -218
  296. package/five/index.mjs +23248 -0
  297. package/gltf-loader/index.js +204 -203
  298. package/gltf-loader/index.mjs +1708 -0
  299. package/line/index.js +396 -202
  300. package/line/index.mjs +776 -0
  301. package/package.json +48 -12
  302. package/plugins/index.d.ts +253 -0
  303. package/plugins/index.js +350 -0
  304. package/plugins/index.mjs +796 -0
  305. package/react/index.d.ts +38 -45
  306. package/react/index.js +198 -203
  307. package/react/index.mjs +1072 -0
  308. package/scripts/five-staticify.js +183 -2
  309. package/sticker/index.js +198 -203
  310. package/sticker/index.mjs +399 -0
  311. package/umd/five-gltf-loader.js +261 -1
  312. package/umd/five-line.js +454 -1
  313. package/umd/five-plugins.js +350 -0
  314. package/umd/five-react.js +255 -1
  315. package/umd/five-sticker.js +255 -1
  316. package/umd/five-vfx.js +539 -1
  317. package/umd/five-vue.js +255 -1
  318. package/umd/five.js +2023 -2
  319. package/vfx/index.js +481 -202
  320. package/vfx/index.mjs +1032 -0
  321. package/vue/index.d.ts +1 -1
  322. package/vue/index.js +198 -203
  323. package/vue/index.mjs +574 -0
  324. package/docs/assets/icons.css +0 -1043
  325. package/docs/assets/icons.png +0 -0
  326. package/docs/assets/icons@2x.png +0 -0
  327. package/docs/assets/widgets.png +0 -0
  328. package/docs/assets/widgets@2x.png +0 -0
  329. package/docs/classes/five.BVH.html +0 -10
  330. package/docs/classes/five.BVHIntersect.html +0 -1
  331. package/docs/classes/five.BVHNode.html +0 -7
  332. package/docs/classes/five.BVHVector3.html +0 -1
  333. package/docs/classes/five.Clipper.html +0 -1
  334. package/docs/classes/five.PBMMaterialReferenceCache.html +0 -1
  335. package/docs/enums/five.PBMPointColorType.html +0 -1
  336. package/docs/enums/five.PBMPointShapeType.html +0 -1
  337. package/docs/enums/five.PBMPointSizeType.html +0 -1
  338. package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +0 -26
  339. package/docs/interfaces/five.ModelLodOptions.html +0 -1
  340. package/docs/interfaces/five.WorkOptions.html +0 -15
  341. package/docs/modules.html +0 -1
  342. package/exporters/staticify.js +0 -210
  343. package/scripts/five-plugin-init.js +0 -83
  344. package/scripts/five-quick-start-init.js +0 -80
  345. package/scripts/five-react-component-init.js +0 -83
  346. package/templates/plugin/README.md +0 -38
  347. package/templates/plugin/devtools/external-five.js +0 -5
  348. package/templates/plugin/devtools/external-three.js +0 -5
  349. package/templates/plugin/devtools/tsconfig.build.json +0 -18
  350. package/templates/plugin/devtools/webpack.bundle.js +0 -44
  351. package/templates/plugin/devtools/webpack.example.js +0 -39
  352. package/templates/plugin/docs/.gitkeep +0 -0
  353. package/templates/plugin/examples/data.json +0 -507
  354. package/templates/plugin/examples/index.html +0 -28
  355. package/templates/plugin/examples/index.ts +0 -12
  356. package/templates/plugin/lib/index.ts +0 -30
  357. package/templates/plugin/package.json +0 -32
  358. package/templates/plugin/tsconfig.json +0 -26
  359. package/templates/quick-start/README.md +0 -47
  360. package/templates/quick-start/assets/work.json +0 -507
  361. package/templates/quick-start/index.html +0 -54
  362. package/templates/quick-start/index.tsx +0 -123
  363. package/templates/quick-start/package.json +0 -25
  364. package/templates/quick-start/tsconfig.json +0 -27
  365. package/templates/quick-start/webpack.config.js +0 -45
  366. package/templates/quick-start/webpack.production.js +0 -42
  367. package/templates/react-component/README.md +0 -32
  368. package/templates/react-component/devtools/external-five.js +0 -5
  369. package/templates/react-component/devtools/external-react.js +0 -5
  370. package/templates/react-component/devtools/external-three.js +0 -5
  371. package/templates/react-component/devtools/tsconfig.build.json +0 -19
  372. package/templates/react-component/devtools/webpack.bundle.js +0 -44
  373. package/templates/react-component/devtools/webpack.example.js +0 -39
  374. package/templates/react-component/docs/.gitkeep +0 -0
  375. package/templates/react-component/examples/data.json +0 -507
  376. package/templates/react-component/examples/index.html +0 -17
  377. package/templates/react-component/examples/index.tsx +0 -62
  378. package/templates/react-component/lib/index.tsx +0 -157
  379. package/templates/react-component/package.json +0 -38
  380. package/templates/react-component/tsconfig.json +0 -27
  381. package/umd/five-gltf-loader.js.LICENSE.txt +0 -14
  382. package/umd/five-line.js.LICENSE.txt +0 -14
  383. package/umd/five-react.js.LICENSE.txt +0 -14
  384. package/umd/five-sticker.js.LICENSE.txt +0 -14
  385. package/umd/five.js.LICENSE.txt +0 -100
package/five/index.d.ts CHANGED
@@ -13,6 +13,15 @@ export declare interface AddableObject extends THREE_2.Object3D {
13
13
  setTime?(time: number): void;
14
14
  }
15
15
 
16
+ export declare interface AjaxOptions<T extends AjaxResponseType = AjaxResponseType> extends NetworkOptions {
17
+ /** 数据返回类型 */
18
+ responseType?: T;
19
+ }
20
+
21
+ export declare type AjaxResponseType = "arraybuffer" | "blob" | "text";
22
+
23
+ export declare type AjaxResponseTypeMapping<K extends AjaxResponseType> = K extends "arraybuffer" ? ArrayBuffer : K extends "blob" ? Blob : K extends "text" ? string : never;
24
+
16
25
  export declare interface AnimationFrame {
17
26
  callback: (time: number, deltaTime: number, ...args: any[]) => void;
18
27
  once: boolean;
@@ -61,10 +70,11 @@ export declare interface BoundingVolume {
61
70
  getBoundingBox(target: THREE_2.Box3): THREE_2.Box3;
62
71
  toGeometry(): THREE_2.BufferGeometry;
63
72
  getCenter(result: THREE_2.Vector3): THREE_2.Vector3;
64
- distanceSquaredTo(point: THREE_2.Vector3): number;
65
- distanceTo(point: THREE_2.Vector3): number;
73
+ distanceSquaredToPoint(point: THREE_2.Vector3): number;
74
+ distanceToPoint(point: THREE_2.Vector3): number;
75
+ distanceToPlane(plane: THREE_2.Plane): number;
66
76
  intersectPlane(plane: THREE_2.Plane): VolumePlaneIntersect;
67
- intersectRay(ray: THREE_2.Ray): boolean;
77
+ intersectRay(ray: THREE_2.Ray, far?: number): boolean;
68
78
  clone(): BoundingVolume;
69
79
  copy(boundingVolume: this): this;
70
80
  fromJson(json: any): this;
@@ -85,75 +95,19 @@ export declare class BoxBoundingVolume implements BoundingVolume {
85
95
  clone(): BoxBoundingVolume;
86
96
  applyMatrix4(matrix: THREE_2.Matrix4): this;
87
97
  getCenter(result: THREE_2.Vector3): THREE_2.Vector3;
88
- distanceSquaredTo(point: THREE_2.Vector3): number;
89
- distanceTo(point: THREE_2.Vector3): number;
98
+ distanceSquaredToPoint(point: THREE_2.Vector3): number;
99
+ distanceToPoint(point: THREE_2.Vector3): number;
100
+ distanceToPlane(plane: THREE_2.Plane): number;
90
101
  getBoundingBox(target: THREE_2.Box3): THREE_2.Box3;
91
102
  toGeometry(): THREE_2.BufferGeometry;
92
103
  intersectPlane(plane: THREE_2.Plane): VolumePlaneIntersect;
93
- intersectRay(ray: THREE_2.Ray): boolean;
104
+ intersectRay(ray: THREE_2.Ray, far?: number): boolean;
94
105
  }
95
106
 
96
107
  export declare type BoxBoundingVolumeJson = {
97
108
  box: number[];
98
109
  };
99
110
 
100
- export declare class BVH {
101
- trianglesArray?: Float32Array;
102
- offsetArray?: Uint32Array;
103
- rootNode?: BVHNode;
104
- create(trianglesArray: Float32Array): this;
105
- splitNode(maxTrianglesPerNode: number): this;
106
- /**
107
- * 计算射线与三角形的碰撞
108
- * @param rayOrigin - 射线的原点坐标
109
- * @param rayDirection - 设想的方向向量
110
- * @param backfaceCulling - 是否背面剔除
111
- * @return 碰撞焦点数组
112
- */
113
- intersectRay(rayOrigin: BVHVector3, rayDirection: BVHVector3, backfaceCulling: boolean): BVHIntersect[];
114
- trianglesInSphere(center: BVHVector3, radius: number): Float32Array;
115
- dispose(): void;
116
- }
117
-
118
- export declare class BVHIntersect {
119
- triangle: [BVHVector3, BVHVector3, BVHVector3];
120
- intersectionPoint: BVHVector3;
121
- constructor(triangle: [BVHVector3, BVHVector3, BVHVector3], intersectionPoint: BVHVector3);
122
- }
123
-
124
- /**
125
- * A node in the BVH structure
126
- * @param extents - the min coords of this node's bounding box
127
- * @param startIndex - an index in the bbox array, where the first element of this node is located
128
- * @param endIndex - an index in the bbox array, where the last of this node is located, plus 1 (meaning that its non-inclusive).
129
- * @param level - distance of this node from the root for the bvh tree. root node has level=0, its children have level=1 etc.
130
- */
131
- export declare class BVHNode {
132
- extents: ArrayLike<number>;
133
- startIndex: number;
134
- endIndex: number;
135
- node0?: BVHNode;
136
- node1?: BVHNode;
137
- constructor(extents: ArrayLike<number>, startIndex: number, endIndex: number);
138
- }
139
-
140
- export declare class BVHVector3 {
141
- x: number;
142
- y: number;
143
- z: number;
144
- constructor(x: number, y: number, z: number);
145
- copy(v: BVHVector3): this;
146
- set(x: number, y: number, z: number): this;
147
- fromArray(array: number[], firstElementPos?: number): this;
148
- add(v: BVHVector3): this;
149
- multiplyScalar(scalar: number): this;
150
- subVectors(a: BVHVector3, b: BVHVector3): this;
151
- dot(v: BVHVector3): number;
152
- cross(v: BVHVector3): this;
153
- crossVectors(a: BVHVector3, b: BVHVector3): this;
154
- clone(): BVHVector3;
155
- }
156
-
157
111
  /** Five 相机 */
158
112
  export declare class Camera extends THREE_2.Camera {
159
113
  fov: number;
@@ -161,14 +115,17 @@ export declare class Camera extends THREE_2.Camera {
161
115
  near: number;
162
116
  far: number;
163
117
  perspToOrtho: THREE_2.Vector2;
164
- orthoDistance: number;
118
+ resolution: THREE_2.Vector2;
119
+ pixelRatio: number;
165
120
  /** 相机姿态 */
166
121
  pose: CameraPose;
167
122
  private perspectiveCamera;
168
123
  private orthographicCamera;
169
124
  needsRender: boolean;
125
+ refineModel: boolean;
170
126
  private lastValues;
171
- constructor(fov: number, aspect?: number, near?: number, far?: number, perspToOrtho?: THREE_2.Vector2, orthoDistance?: number);
127
+ constructor(fov: number, aspect?: number, near?: number, far?: number, perspToOrtho?: THREE_2.Vector2, resolution?: THREE_2.Vector2, pixelRatio?: number);
128
+ get orthoDistance(): number;
172
129
  get zoom(): number;
173
130
  get top(): number;
174
131
  get bottom(): number;
@@ -203,17 +160,6 @@ export declare interface CameraPose {
203
160
  offset: THREE_2.Vector3;
204
161
  }
205
162
 
206
- export declare class Clipper {
207
- numPlanes: number;
208
- clipperPlanes: Float32Array | null;
209
- clipperFloors: number[] | null;
210
- private static sharedInstance?;
211
- static get shared(): Clipper;
212
- constructor();
213
- update(clipperParameter: ClipperParameter | ClipperParameter[], camera: THREE_2.Camera): void;
214
- private projectPlanes;
215
- }
216
-
217
163
  export declare interface ClipperParameter {
218
164
  clippingBoxMatrix: THREE_2.Matrix4;
219
165
  floorIndex?: number;
@@ -225,7 +171,6 @@ export declare type ControllerCustomInitTypes = {
225
171
  Panorama: PanoramaControllerCustomInitArgs;
226
172
  VRPanorama: VRPanoramaControllerCustomInitArgs;
227
173
  Model: ModelControllerCustomInitArgs;
228
- DepthPanorama: DepthPanoramaControllerCustomInitArgs;
229
174
  Mapview: MapviewControllerCustomInitArgs;
230
175
  XRPanorama: XRPanoramaControllerCustomInitArgs;
231
176
  };
@@ -303,6 +248,10 @@ export declare class CullingVolume {
303
248
  planes: THREE_2.Plane[];
304
249
  constructor(planes?: THREE_2.Plane[]);
305
250
  setFromFrustum(frustum: THREE_2.Frustum): this;
251
+ setFromCamera(camera: THREE_2.Camera): this;
252
+ applyMatrix4(matrix: THREE_2.Matrix4): void;
253
+ copy(cullingVolume: CullingVolume): this;
254
+ clone(): CullingVolume;
306
255
  computeVisibility(boundingVolume: BoundingVolume): VolumePlaneIntersect;
307
256
  computeVisibilityWithPlaneMask(boundingVolume: BoundingVolume, parentPlaneMask: number): number;
308
257
  }
@@ -315,19 +264,7 @@ export declare class CullingVolume {
315
264
  */
316
265
  export declare function defaultImageURLTransform(source: string, options: ImageURLOptions): string;
317
266
 
318
- export declare interface DepthPanoramaControllerCustomInitArgs extends PanoramaLikeControllerCustomInitArgs {
319
- /** 最远可移动观察点距离 */
320
- maxAccessibleDistance?: number;
321
- /**
322
- * 点击地面观察点标识的判定范围
323
- * @description
324
- * 如果在判定范围内则确定去到目标点,
325
- * 否则寻找点击位置方向最适合的点(可能会走到一个离相机更近的点)。
326
- */
327
- panoTapTriggerRadius?: number;
328
- /** 地面观察点标识自定义创建器 */
329
- panoCircleMeshCreator?: (pano: Pano) => PanoCircleMeshInterface;
330
- }
267
+ export declare const defaultPbmParameters: PBMParameters;
331
268
 
332
269
  /**
333
270
  * Five 事件列表
@@ -371,6 +308,8 @@ export declare type EventTypes = Pick<ControllerEventTypes, typeof PROXY_CONTROL
371
308
  "model.changeShownFloor"(event: ModelEvent): void;
372
309
  /** 模型加载完成 */
373
310
  "models.load"(event: ModelsEvent): void;
311
+ /** 模型细化完成 */
312
+ "models.refined"(event: ModelsEvent): void;
374
313
  /** 渲染前 */
375
314
  "render.prepare"(event: RenderEvent): void;
376
315
  /** 渲染后 */
@@ -389,6 +328,14 @@ export declare type EventTypes = Pick<ControllerEventTypes, typeof PROXY_CONTROL
389
328
  "dispose"(): void;
390
329
  };
391
330
 
331
+ export declare class Fetcher {
332
+ private options;
333
+ constructor(options?: NetworkOptions);
334
+ ajax<T extends AjaxResponseType = "text">(source: string, options?: AjaxOptions<T>, onLoad?: NetworkSuccessCallback<AjaxResponseTypeMapping<T>>, onError?: NetworkErrorCallback, onProgress?: NetworkProgressCallback): Promise<NetworkResponse<AjaxResponseTypeMapping<T>>>;
335
+ loadImage<T extends HTMLImageElement = HTMLImageElement>(source: string, options?: NetworkOptions, onLoad?: NetworkSuccessCallback, onError?: NetworkErrorCallback, onProgress?: NetworkProgressCallback, target?: T): Promise<NetworkResponse<T>>;
336
+ preload(source: string, options?: NetworkOptions): Promise<void>;
337
+ }
338
+
392
339
  /**
393
340
  * 如视 VR Web展示器
394
341
  *
@@ -406,6 +353,8 @@ export declare class Five extends Subscribe<EventTypes> {
406
353
  static get version(): string;
407
354
  static get dracoPath(): string;
408
355
  static set dracoPath(path: string);
356
+ static get ktx2Path(): string;
357
+ static set ktx2Path(path: string);
409
358
  /**
410
359
  * Five 的显示模式,可以通过 `five.changeMode` `five.setState` 来切换
411
360
  * @description
@@ -414,7 +363,6 @@ export declare class Five extends Subscribe<EventTypes> {
414
363
  * Model 模型游走模式
415
364
  * Floorplan 模型查看模式
416
365
  * Topview 户型图模式
417
- * DepthPanorama 深度图游走模式
418
366
  * VRPanorama VR眼镜模式
419
367
  * XRPanorama VR硬件模式
420
368
  * ```
@@ -463,6 +411,7 @@ export declare class Five extends Subscribe<EventTypes> {
463
411
  /** 当前加载的模型 */
464
412
  models: Models;
465
413
  private lastModels;
414
+ private lastWorks?;
466
415
  /**
467
416
  * 是否需要渲染
468
417
  * @description
@@ -484,12 +433,6 @@ export declare class Five extends Subscribe<EventTypes> {
484
433
  * 平衡加载时间和图片质量
485
434
  */
486
435
  textureOptions: TextureOptions;
487
- /**
488
- * 模型lod的配置参数
489
- * @description
490
- * 可以配置加载模型lod的相关参数
491
- */
492
- modelLodOptions: ModelLodOptions;
493
436
  /**
494
437
  * 模型贴图的配置参数
495
438
  * @description
@@ -541,6 +484,7 @@ export declare class Five extends Subscribe<EventTypes> {
541
484
  private modelGroup;
542
485
  private helperGroup;
543
486
  private modeChangeDuration;
487
+ private enableWheel;
544
488
  private onlyRenderIfNeeds;
545
489
  private poweredByRealsee;
546
490
  private controller?;
@@ -630,7 +574,7 @@ export declare class Five extends Subscribe<EventTypes> {
630
574
  */
631
575
  get enablePostProcessing(): boolean;
632
576
  set enablePostProcessing(enable: boolean);
633
- updateConfiguration(args: Pick<FiveInitArgs, "panorama" | "model" | "floorplan" | "topview" | "mapview" | "depthPanorama" | "vrPanorama" | "imageOptions" | "textureOptions">): void;
577
+ updateConfiguration(args: Pick<FiveInitArgs, "panorama" | "model" | "floorplan" | "topview" | "mapview" | "vrPanorama" | "imageOptions" | "textureOptions">, refresh?: boolean): void;
634
578
  /**
635
579
  * 将显示区域加载到页面 DOM 中
636
580
  * @description
@@ -680,7 +624,7 @@ export declare class Five extends Subscribe<EventTypes> {
680
624
  * @param userAction - 是否用户触发
681
625
  * @returns Promise 是否移动成功
682
626
  */
683
- updateCamera(pose: Partial<Omit<Pose, "offset">>, duration: number, userAction?: boolean): Promise<void>;
627
+ updateCamera(pose: Partial<Pose>, duration: number, userAction?: boolean): Promise<void>;
684
628
  /**
685
629
  * 通过帧动画移动相机。(不触发点位移动)
686
630
  * @description
@@ -691,7 +635,11 @@ export declare class Five extends Subscribe<EventTypes> {
691
635
  * @param userAction - 是否用户触发
692
636
  * @returns Promise 是否移动成功
693
637
  */
694
- updateCameraWithKeyframes(keyframes: MotionKeyframe<Exclude<keyof Pose, "offset">>[], duration: number, userAction?: boolean): Promise<void>;
638
+ updateCameraWithKeyframes(keyframes: {
639
+ progress: number;
640
+ value: Pose;
641
+ key?: string;
642
+ }[], duration: number, userAction?: boolean): Promise<void>;
695
643
  /**
696
644
  * 获取当前相机经纬度
697
645
  * @deprecated 请使用使用 getPose
@@ -722,19 +670,22 @@ export declare class Five extends Subscribe<EventTypes> {
722
670
  * - "inherit" 使用当前姿态
723
671
  * - "initial" 使用 Work 数据中的 initial 姿态
724
672
  * - State 自定义姿态
725
- * @param duration - 切换时间
673
+ * @param options - 切换时间, 切换效果
726
674
  */
727
- load(inputWork: string | Work | LooseWork | string[] | Work[] | LooseWork[] | LooseWorkWithExtrinsics[] | Promise<Work | LooseWork | Work[] | LooseWork[] | LooseWorkWithExtrinsics[]>, state?: "inherit" | "initial" | Partial<State>, duration?: number, userAction?: boolean): Promise<void>;
675
+ load(inputWork: string | Work | LooseWork | string[] | Work[] | LooseWork[] | LooseWorkWithExtrinsics[] | Promise<Work | LooseWork | Work[] | LooseWork[] | LooseWorkWithExtrinsics[]>, state?: "inherit" | "initial" | Partial<State>, options?: number | FiveLoadOptions, userAction?: boolean): Promise<void>;
728
676
  private load_;
729
677
  /**
730
678
  * 切换模态
731
679
  * @param mode - 切换到的模态
732
680
  * @param state - 切换完成时的姿态
733
- * @param duration - 模态切换动画用时
681
+ * @param options - 模态切换动画用时
734
682
  * @param userAction - 是否时用户动作触发 默认 true
735
683
  * @param force - 必须重新初始化 controller
736
684
  */
737
- changeMode<T extends Mode>(mode: T, state?: Partial<Omit<State, "mode">>, duration?: number, userAction?: boolean, force?: boolean): Promise<void>;
685
+ changeMode<T extends Mode>(mode: T, state?: Partial<Omit<State, "mode">>, options?: number | {
686
+ duration?: number;
687
+ effect?: MovePanoEffect;
688
+ }, userAction?: boolean, force?: boolean): Promise<void>;
738
689
  /**
739
690
  * 获取画面中的像素颜色
740
691
  * @param x - 获取像素区域的起始坐标 x
@@ -963,8 +914,6 @@ export declare interface FiveInitArgs {
963
914
  topview?: ControllerCustomInitTypes["Topview"];
964
915
  /** 地图模式下的特定参数 */
965
916
  mapview?: ControllerCustomInitTypes["Mapview"];
966
- /** 深度图游走模式下的特定参数 */
967
- depthPanorama?: ControllerCustomInitTypes["DepthPanorama"];
968
917
  /** VR眼镜模式下的特定参数 */
969
918
  vrPanorama?: ControllerCustomInitTypes["VRPanorama"];
970
919
  /** XR眼镜模式下的特定参数 */
@@ -976,6 +925,10 @@ export declare interface FiveInitArgs {
976
925
  * @default `800`
977
926
  */
978
927
  modeChangeDuration?: number;
928
+ /**
929
+ * 是否支持滚轮
930
+ */
931
+ enableWheel?: boolean;
979
932
  /**
980
933
  * 插件定义
981
934
  * @description
@@ -990,21 +943,64 @@ export declare interface FiveInitArgs {
990
943
  * 是否使用webgl2渲染执行环境, 默认值 false
991
944
  */
992
945
  webgl2?: boolean;
993
- /**
994
- * 是否开启模型裁切
995
- */
996
- localClippingEnabled?: boolean;
997
946
  /**
998
947
  * 请求代理
999
948
  * @param url - 发起的请求
1000
949
  * @returns 返回的请求
1001
950
  */
1002
951
  requestProxy?(url: string): string | Promise<string>;
952
+ }
953
+
954
+ export declare interface FiveLoadOptions {
955
+ /** 切换运动时间 */
956
+ duration?: number;
957
+ /** 切换运动全景图效果 */
958
+ effect?: MovePanoEffect;
959
+ /** 全景图游走模式下的特定参数 */
960
+ panorama?: ControllerCustomInitTypes["Panorama"];
961
+ /** 模型游走模式下的特定参数 */
962
+ model?: ControllerCustomInitTypes["Model"];
963
+ /** 模型查看模式下的特定参数 */
964
+ floorplan?: ControllerCustomInitTypes["Floorplan"];
965
+ /** 户型图模式下的特定参数 */
966
+ topview?: ControllerCustomInitTypes["Topview"];
967
+ /** 地图模式下的特定参数 */
968
+ mapview?: ControllerCustomInitTypes["Mapview"];
969
+ /** VR眼镜模式下的特定参数 */
970
+ vrPanorama?: ControllerCustomInitTypes["VRPanorama"];
971
+ /** XR眼镜模式下的特定参数 */
972
+ xrPanorama?: ControllerCustomInitTypes["XRPanorama"];
1003
973
  /**
1004
- * 模型lod相关的配置,maxDepth为加载的最大深度
974
+ * 全景图的配置参数
975
+ * @description
976
+ * 可以动态对配置在 `work` 数据中的全景图片在 runtime 做 url 调整。
977
+ * 平衡加载时间和图片质量
978
+ */
979
+ imageOptions?: ImageOptions;
980
+ /**
981
+ * 模型贴图的配置参数
982
+ * @description
983
+ * 可以动态对配置在 `work` 数据中的模型贴图在 runtime 做 url 调整。
984
+ * 平衡加载时间和图片质量
1005
985
  */
1006
- modelLod?: {
1007
- maxDepth?: number;
986
+ textureOptions?: TextureOptions;
987
+ "3d-tiles"?: {
988
+ /** 调试模式 */
989
+ debug?: boolean;
990
+ /** 显示图层 */
991
+ showLayers?: boolean | string[];
992
+ /** 可观测区域 */
993
+ viewerRequestVolume?: BoundingVolume;
994
+ /** 模型显示最小细化层级 */
995
+ minLevelOfDetail?: number;
996
+ /** 模型显示最大细化层级 */
997
+ maxLevelOfDetail?: number;
998
+ /** 模型最大内存缓存 */
999
+ maxMemoryUsage?: number;
1000
+ /** 模型网络最大请求并发数 */
1001
+ maxRequests?: number;
1002
+ /** 模型屏幕空间误差计算最大值 */
1003
+ maxScreenSpaceError?: number;
1008
1004
  };
1009
1005
  }
1010
1006
 
@@ -1036,6 +1032,8 @@ parameters: Parameters<T>[1]
1036
1032
  export declare type FivePluginInstance<T extends FivePlugin<any, any>> = ReturnType<T>;
1037
1033
 
1038
1034
  export declare interface FloorplanControllerCustomInitArgs {
1035
+ /** 默认水平角 */
1036
+ defaultLongitude?: number;
1039
1037
  /** 默认俯仰角 */
1040
1038
  defaultLatitude?: number;
1041
1039
  /** 最大俯仰角 */
@@ -1108,8 +1106,9 @@ export declare interface ImageOptions {
1108
1106
  }
1109
1107
 
1110
1108
  export declare function imageSupport(): Promise<{
1111
- avif: boolean;
1112
1109
  webp: boolean;
1110
+ avif: boolean;
1111
+ heif: boolean;
1113
1112
  }>;
1114
1113
 
1115
1114
  export declare interface ImageURLMappings {
@@ -1141,8 +1140,10 @@ export declare interface ImageURLOptions {
1141
1140
  }
1142
1141
 
1143
1142
  export declare class InternalWebGLRenderer extends THREE_2.WebGLRenderer {
1144
- constructor({ preserveDrawingBuffer, backgroundColor, backgroundAlpha, pixelRatio, antialias, webgl2, }: {
1143
+ constructor({ preserveDrawingBuffer, premultipliedAlpha, stencil, backgroundColor, backgroundAlpha, pixelRatio, antialias, webgl2, }: {
1145
1144
  preserveDrawingBuffer?: boolean;
1145
+ premultipliedAlpha?: boolean;
1146
+ stencil?: boolean;
1146
1147
  backgroundColor?: number | THREE_2.Color;
1147
1148
  backgroundAlpha?: number;
1148
1149
  pixelRatio?: number;
@@ -1157,15 +1158,11 @@ export declare interface IntersectEvent extends BaseEvent {
1157
1158
  intersection: Intersection | null;
1158
1159
  }
1159
1160
 
1160
- export declare interface Intersection {
1161
- /** 焦点坐标 */
1162
- point: THREE.Vector3;
1163
- /** 焦点面片 */
1164
- face?: {
1165
- normal: THREE.Vector3;
1166
- } | null;
1167
- /** 焦点距离 */
1168
- distance: number;
1161
+ export declare interface Intersection extends THREE_2.Intersection {
1162
+ /** 楼层 */
1163
+ floor: number;
1164
+ model?: Model;
1165
+ viewLayer?: ModelViewLayer;
1169
1166
  }
1170
1167
 
1171
1168
  export declare class IntersectMesh extends THREE_2.Object3D implements IntersectMeshInterface {
@@ -1488,8 +1485,8 @@ export declare type LegacyEventType = {
1488
1485
  * xr控制器的控制器射线更新
1489
1486
  */
1490
1487
  webXRControllerRayUpdate(raycaster: {
1491
- leftRay: THREE_2.Raycaster;
1492
- rightRay: THREE_2.Raycaster;
1488
+ leftRay?: THREE_2.Raycaster;
1489
+ rightRay?: THREE_2.Raycaster;
1493
1490
  }): void;
1494
1491
  /**
1495
1492
  * 准备加载 Work 数据
@@ -1589,6 +1586,42 @@ export declare type LegacyEventType = {
1589
1586
  network(source: string, type: NetworkType, state: NetworkState, detail: string): void;
1590
1587
  };
1591
1588
 
1589
+ export declare function loadAt3d(url: string, options: {
1590
+ textureOptions?: TextureOptions;
1591
+ textureBaseUri?: string;
1592
+ textureArray?: string[];
1593
+ fetcher: Fetcher;
1594
+ }): Promise<ParsedResultType>;
1595
+
1596
+ export declare function loadB3dm(url: string, options: {
1597
+ upAxis: 'X' | 'Y' | 'Z';
1598
+ fetcher: Fetcher;
1599
+ }): Promise<ParsedResultType>;
1600
+
1601
+ export declare function loadDome(url: string, options: {
1602
+ textureOptions: TextureOptions;
1603
+ textureBaseUri?: string;
1604
+ fetcher: Fetcher;
1605
+ }): Promise<ParsedResultType>;
1606
+
1607
+ export declare function loadDomez(url: string, options: {
1608
+ textureOptions: TextureOptions;
1609
+ textureBaseUri?: string;
1610
+ fetcher: Fetcher;
1611
+ }): Promise<ParsedResultType>;
1612
+
1613
+ export declare function loadPbm(url: string, options: {
1614
+ textureOptions?: TextureOptions;
1615
+ textureBaseUri?: string;
1616
+ textureArray?: string[];
1617
+ fetcher: Fetcher;
1618
+ }): Promise<ParsedResultType>;
1619
+
1620
+ export declare function loadPnts(url: string, options: {
1621
+ fetcher: Fetcher;
1622
+ computeBoundingBox?: boolean;
1623
+ }): Promise<ParsedResultType>;
1624
+
1592
1625
  export declare type LooseWork = {
1593
1626
  work_code?: string;
1594
1627
  code?: string;
@@ -1671,6 +1704,7 @@ export declare type LooseWorkPanorama = {
1671
1704
  back: string;
1672
1705
  };
1673
1706
  tiles?: number[];
1707
+ tile_size?: number[];
1674
1708
  };
1675
1709
 
1676
1710
  export declare type LooseWorkVideo = {
@@ -1679,24 +1713,14 @@ export declare type LooseWorkVideo = {
1679
1713
  size: number[];
1680
1714
  };
1681
1715
 
1682
- export declare type LooseWorkWithExtrinsics = {
1716
+ export declare type LooseWorkWithExtrinsics = ParseWorkOptions & {
1717
+ /** work 数据 */
1683
1718
  work: LooseWork;
1684
- debug?: boolean;
1685
- /** 位姿 */
1686
- transform?: number[];
1687
- /** 可视区域 */
1688
- viewerRequestVolume?: BoundingVolumeJson;
1689
- /** 模型显示最大细化层级 */
1690
- modelMaxLevelOfDetail?: number;
1691
- /** 模型最大内存缓存 */
1692
- modelMaxMemoryUsage?: number;
1693
- /** 模型网络最大请求并发数 */
1694
- modelMaxRequests?: number;
1695
- /** 模型屏幕空间误差计算最大值 */
1696
- modelMaxScreenSpaceError?: number;
1697
1719
  };
1698
1720
 
1699
1721
  export declare interface MapviewControllerCustomInitArgs {
1722
+ /** 默认水平角 */
1723
+ defaultLongitude?: number;
1700
1724
  /** 默认俯仰角 */
1701
1725
  defaultLatitude?: number;
1702
1726
  /** 默认相机距离 */
@@ -1705,6 +1729,8 @@ export declare interface MapviewControllerCustomInitArgs {
1705
1729
  maxLatitude?: number;
1706
1730
  /** 最小俯仰角 */
1707
1731
  minLatitude?: number;
1732
+ /** cameraType */
1733
+ cameraType?: "perspective" | "orthographic" | "auto";
1708
1734
  /** 鼠标焦点环自定义创建器 */
1709
1735
  intersectMeshCreator?: () => IntersectMeshInterface;
1710
1736
  }
@@ -1718,7 +1744,6 @@ export declare type Mirror<T extends string> = Record<T, T>;
1718
1744
  * - **Floorplan**: 模型查看模式
1719
1745
  * - **Topview**: 户型图模式
1720
1746
  * - **Mapview**: 地图模式
1721
- * - **DepthPanorama**: 深度图游走模式
1722
1747
  * - **VRPanorama**: VR眼镜模式
1723
1748
  */
1724
1749
  export declare type Mode =
@@ -1734,8 +1759,6 @@ export declare type Mode =
1734
1759
  "VRPanorama" |
1735
1760
  /** 模型游走模式 */
1736
1761
  "Model" |
1737
- /** 深度图游走模式 */
1738
- "DepthPanorama" |
1739
1762
  /** XR眼镜模式*/
1740
1763
  "XRPanorama";
1741
1764
 
@@ -1756,13 +1779,7 @@ export declare class Model extends THREE_2.Object3D {
1756
1779
  /** work */
1757
1780
  work: Work | null;
1758
1781
  /** 模型的不同图层 */
1759
- viewLayers: {
1760
- name: string;
1761
- type: string;
1762
- upAxis: string;
1763
- coordinates: string;
1764
- scene: Tile3DModel;
1765
- }[];
1782
+ viewLayers: ModelViewLayer[];
1766
1783
  onError: (error: Error) => void;
1767
1784
  onShownFloorChange: (floorIndex: number | null) => void;
1768
1785
  onLoad: () => void;
@@ -1772,19 +1789,20 @@ export declare class Model extends THREE_2.Object3D {
1772
1789
  floorLength: number;
1773
1790
  /** 材质贴图参数 */
1774
1791
  textureOptions: TextureOptions;
1792
+ autoRefine: boolean;
1775
1793
  /** 模型是否已经细化 */
1776
1794
  refined: boolean;
1795
+ /** 模型细化进度 */
1796
+ refineProgress: [number, number];
1777
1797
  /** 模型已经加载 */
1778
1798
  loaded: boolean;
1779
- /** 当前样式参数 */
1780
- materialVersion: string;
1781
- private _materialValues;
1782
- private _materialVersionMap;
1783
- private _floorIndex;
1784
- private _clippers;
1785
- /** 样式缓存 */
1786
- private cache;
1799
+ /** 是否更新 */
1787
1800
  needsRender: boolean;
1801
+ /** 缓存相机 */
1802
+ cacheCameras: (THREE_2.PerspectiveCamera | Camera)[];
1803
+ /** 当前样式参数 */
1804
+ materialVersion: number;
1805
+ private materialParameters;
1788
1806
  private disposed;
1789
1807
  constructor(options?: {
1790
1808
  onError?: (error: Error) => void;
@@ -1793,16 +1811,19 @@ export declare class Model extends THREE_2.Object3D {
1793
1811
  });
1794
1812
  get empty(): boolean;
1795
1813
  /** 获取材质参数 */
1796
- getMaterial(): ModelMaterialValues;
1814
+ getMaterial(): PBMParameters;
1797
1815
  /** 设置材质参数 */
1798
- setMaterial(values: Partial<ModelMaterialValues>): void;
1816
+ setMaterial(values: Partial<PBMParameters>): void;
1799
1817
  /**
1800
1818
  * 当前显示的楼层
1801
1819
  */
1802
- get shownFloor(): PBMParameters['floorIndex'] | null;
1803
- set shownFloor(floorIndex: PBMParameters['floorIndex'] | null);
1804
- get shownfloor(): PBMParameters['floorIndex'] | null;
1805
- set shownfloor(floorIndex: PBMParameters['floorIndex'] | null);
1820
+ get shownFloorIndex(): PBMParameters['shownFloorIndex'];
1821
+ set shownFloorIndex(floorIndex: PBMParameters['shownFloorIndex']);
1822
+ /**
1823
+ * 当前显示的楼层
1824
+ */
1825
+ get shownFloor(): number | null;
1826
+ set shownFloor(floor: number | null);
1806
1827
  /**
1807
1828
  * 显示某楼层
1808
1829
  * @example
@@ -1811,7 +1832,7 @@ export declare class Model extends THREE_2.Object3D {
1811
1832
  * model.show(1) //显示第一楼层
1812
1833
  * ```
1813
1834
  */
1814
- show(floorIndex?: PBMParameters['floorIndex'] | null): void;
1835
+ show(floor?: number | null): void;
1815
1836
  /**
1816
1837
  * 裁切
1817
1838
  */
@@ -1830,16 +1851,32 @@ export declare class Model extends THREE_2.Object3D {
1830
1851
  * @param floors - 和某一楼层做碰撞检测, 不传为和所有楼层做碰撞检测
1831
1852
  * @returns 返回碰撞
1832
1853
  */
1833
- intersectRaycaster(raycaster: THREE_2.Raycaster): Intersection[];
1854
+ intersectRaycaster(raycaster: THREE_2.Raycaster, floor?: undefined | null | number, sortByDistance?: boolean): Intersection[];
1834
1855
  /**
1835
1856
  * 加载模型
1836
1857
  * @param work - work 的
1837
1858
  * @param imageOptions - 图片参数
1838
1859
  */
1839
1860
  load(work: Work, options?: {
1840
- networkSubscribe?: NetworkSubscribe;
1841
- requestProxy?: (url: string) => string | Promise<string>;
1842
1861
  textureOptions?: TextureOptions;
1862
+ "3d-tiles"?: {
1863
+ /** 调试模式 */
1864
+ debug?: boolean;
1865
+ /** 显示图层 */
1866
+ showLayers?: boolean | string[];
1867
+ /** 可观测区域 */
1868
+ viewerRequestVolume?: BoundingVolume;
1869
+ /** 模型显示最小细化层级 */
1870
+ minLevelOfDetail?: number;
1871
+ /** 模型显示最大细化层级 */
1872
+ maxLevelOfDetail?: number;
1873
+ /** 模型最大内存缓存 */
1874
+ maxMemoryUsage?: number;
1875
+ /** 模型网络最大请求并发数 */
1876
+ maxRequests?: number;
1877
+ /** 模型屏幕空间误差计算最大值 */
1878
+ maxScreenSpaceError?: number;
1879
+ };
1843
1880
  }): Promise<void>;
1844
1881
  update(renderer: THREE_2.WebGLRenderer, camera: Camera, mode: Mode): void;
1845
1882
  /**
@@ -1859,21 +1896,35 @@ export declare interface ModelEvent extends BaseEvent {
1859
1896
  error: Error | null;
1860
1897
  }
1861
1898
 
1862
- export declare interface ModelLodOptions {
1863
- maxDepth?: number;
1864
- }
1865
-
1866
- export declare type ModelMaterialValues = Pick<PBMParameters, 'pano0' | 'pano1' | 'modelAlpha' | 'progress' | 'useBlackTransition' | 'opacity' | 'constantColor' | 'useEDL' | 'useHQWeight' | 'useHQDepth' | 'pointShape' | 'pointColorType' | 'pointSizeType' | 'pointSize' | 'pointMinSize' | 'pointMaxSize' | 'pointSizeAdaptiveScale' | 'gradientTexture'>;
1899
+ export declare type ModelMaterialValues = Omit<PBMParameters, 'clippers' | 'shownFloorIndex'>;
1867
1900
 
1868
1901
  export declare type Models = Model[] & {
1869
1902
  needsRender: boolean;
1903
+ /** 包围盒 */
1870
1904
  bounding: THREE_2.Box3;
1905
+ /** 是否家在完成 */
1871
1906
  loaded: boolean;
1907
+ /** 是否细化完成 */
1872
1908
  refined: boolean;
1873
- materialVersion: string;
1909
+ /** 细化成都 */
1910
+ refineProgress: [number, number];
1911
+ materialVersion: number;
1912
+ /** 缓存相机 */
1913
+ cacheCameras: (THREE_2.PerspectiveCamera | Camera)[];
1914
+ /** 是否自动更新模型 */
1915
+ autoUpdate: boolean;
1916
+ /**
1917
+ * 计算模型射线碰撞检测
1918
+ * @param raycaster - THREE 射线对象
1919
+ * @param floors - 和某一楼层做碰撞检测, 不传为和所有楼层做碰撞检测
1920
+ * @returns 返回碰撞
1921
+ */
1874
1922
  intersectRaycaster(raycaster: THREE_2.Raycaster): Intersection[];
1923
+ /** 设置材质参数 */
1875
1924
  setMaterial(values: Partial<ModelMaterialValues>): void;
1925
+ /** 获取材质参数 */
1876
1926
  getMaterial(): ModelMaterialValues;
1927
+ /** 更新模型 */
1877
1928
  update(renderer: THREE_2.WebGLRenderer, camera: Camera, mode: Mode): void;
1878
1929
  };
1879
1930
 
@@ -1881,6 +1932,46 @@ export declare interface ModelsEvent extends BaseEvent {
1881
1932
  models: Models;
1882
1933
  }
1883
1934
 
1935
+ export declare class ModelViewLayer {
1936
+ readonly scene: Tile3DModel;
1937
+ readonly error: Error | null;
1938
+ constructor(scene: Tile3DModel, error: Error | null);
1939
+ get tileset(): Tileset;
1940
+ get name(): string;
1941
+ get type(): "point_cloud" | "mesh";
1942
+ get upAxis(): string;
1943
+ get groundHeight(): number;
1944
+ get model(): Model;
1945
+ /**
1946
+ * @deprecated
1947
+ * 使用 modelViewLayer.scene.localToLla(new THREE.Vector()) 替代
1948
+ */
1949
+ get coordinates(): string;
1950
+ /**
1951
+ * @deprecated
1952
+ * 使用 modelViewLayer.scene.coordinateTransform 替代
1953
+ */
1954
+ getTransformMatrix4(target?: THREE_2.Matrix4): THREE_2.Matrix4;
1955
+ /**
1956
+ * @deprecated
1957
+ * 使用 modelViewLayer.scene.llaToWorld 替代
1958
+ */
1959
+ coordinatesToWorldPoint(coordinates: {
1960
+ longitude: number;
1961
+ latitude: number;
1962
+ altitude: number;
1963
+ }): THREE_2.Vector3;
1964
+ /**
1965
+ * @deprecated
1966
+ * 使用 modelViewLayer.scene.llaToWorld 替代
1967
+ */
1968
+ worldPointToCoordinates(point: THREE_2.Vector3): {
1969
+ longitude: number;
1970
+ latitude: number;
1971
+ altitude: number;
1972
+ };
1973
+ }
1974
+
1884
1975
  export declare interface MotionKeyframe<K extends string> {
1885
1976
  progress: number;
1886
1977
  value: MotionValue<K>;
@@ -1889,21 +1980,27 @@ export declare interface MotionKeyframe<K extends string> {
1889
1980
 
1890
1981
  export declare type MotionValue<K extends string> = Record<K, number>;
1891
1982
 
1983
+ /**
1984
+ * 动画模式
1985
+ * @description
1986
+ * - `fly` 通过相机移动方式变化
1987
+ * - `instant` 直接变化
1988
+ * - `fade` 通过渐变方式变化
1989
+ * - `montage` 通过渐变穿插到黑屏方式变化
1990
+ * - `spread` 通过扩散方式变化
1991
+ * - `zoomin` 通过放大变化
1992
+ * - `zoomout` 通过缩小变化
1993
+ */
1994
+ export declare type MovePanoEffect = "fly" | "instant" | "fade" | "montage" | "spread" | "zoomin" | "zoomout";
1995
+
1892
1996
  /**
1893
1997
  * 点位移动参数
1894
1998
  */
1895
1999
  export declare interface MovePanoOptions extends Partial<Omit<State, "offset" | 'distance' | 'mode'>> {
1896
- /** 是否通过初始化参数限制 fov, latitude */
1897
- limit?: boolean;
1898
2000
  /**
1899
2001
  * 动画模式
1900
- * @description
1901
- * - `fly` 通过相机移动方式变化
1902
- * - `fade` 通过渐变方式变化
1903
- * - `montage` 通过渐变穿插到黑屏方式变化
1904
- * - `instant` 通过插入黑屏方式变化
1905
2002
  */
1906
- effect?: "fly" | "fade" | "montage" | "instant";
2003
+ effect?: MovePanoEffect;
1907
2004
  /**
1908
2005
  * 运动耗时
1909
2006
  * @description
@@ -1912,8 +2009,6 @@ export declare interface MovePanoOptions extends Partial<Omit<State, "offset" |
1912
2009
  * - `不传或者null` 通过距离和速度(速度为five初始化设置)
1913
2010
  */
1914
2011
  duration?: number | ((distance: number, speed: number) => number) | string | null;
1915
- /** 运动曲线函数 */
1916
- easing?: (k: number) => number;
1917
2012
  /** 运动开始回调 */
1918
2013
  moveStartCallback?: (toState: State) => void;
1919
2014
  /** 运动结束回调 */
@@ -1929,6 +2024,18 @@ export declare interface MovePanoOptions extends Partial<Omit<State, "offset" |
1929
2024
  moveCancelCallback?: () => void;
1930
2025
  }
1931
2026
 
2027
+ export declare class NetworkAbortError extends Error {
2028
+ constructor(source: string, type: NetworkType);
2029
+ }
2030
+
2031
+ export declare type NetworkError = NetworkResponseError | NetworkAbortError | NetworkTimeoutError | NetworkFirbiddenError;
2032
+
2033
+ export declare type NetworkErrorCallback = (error: NetworkError) => void;
2034
+
2035
+ export declare class NetworkFirbiddenError extends Error {
2036
+ constructor(source: string, type: NetworkType, reason: string);
2037
+ }
2038
+
1932
2039
  export declare type NetWorkMeta = {
1933
2040
  origin: string;
1934
2041
  source: string;
@@ -1952,6 +2059,8 @@ export declare interface NetworkOptions {
1952
2059
  allowHosts?: string[];
1953
2060
  }
1954
2061
 
2062
+ export declare type NetworkProgressCallback = (percent: number) => void;
2063
+
1955
2064
  export declare interface NetworkResourceEvent extends BaseEvent {
1956
2065
  source: string;
1957
2066
  requestType: NetworkType;
@@ -1964,6 +2073,11 @@ export declare type NetworkResponse<T = any, E extends NetWorkMeta | NetWorkMeta
1964
2073
  meta: E;
1965
2074
  };
1966
2075
 
2076
+ export declare class NetworkResponseError extends Error {
2077
+ httpStatus: number;
2078
+ constructor(source: string, type: NetworkType, status: number);
2079
+ }
2080
+
1967
2081
  export declare type NetworkState = "ok" | "preload" | "error" | "proxy-error" | "timeout" | "forbidden";
1968
2082
 
1969
2083
  export declare class NetworkSubscribe extends Subscribe<{
@@ -1971,6 +2085,12 @@ export declare class NetworkSubscribe extends Subscribe<{
1971
2085
  }> {
1972
2086
  }
1973
2087
 
2088
+ export declare type NetworkSuccessCallback<T = any> = (response: NetworkResponse<T>) => void;
2089
+
2090
+ export declare class NetworkTimeoutError extends Error {
2091
+ constructor(source: string, type: NetworkType, timeout: number);
2092
+ }
2093
+
1974
2094
  export declare type NetworkType = "XMLHttpRequest" | "Script" | "Image" | "Link";
1975
2095
 
1976
2096
  export declare interface ObjectEvent extends BaseEvent {
@@ -2186,6 +2306,14 @@ export declare interface PanoTextureEvent extends BaseEvent {
2186
2306
  error: Error | null;
2187
2307
  }
2188
2308
 
2309
+ export declare type ParsedResultType = {
2310
+ type: 'b3dm' | 'pnts' | 'at3d' | 'pbm' | 'dome' | 'domez' | 'glb';
2311
+ byteLength: number;
2312
+ uri: string;
2313
+ object: THREE_2.Object3D;
2314
+ dispose: () => void;
2315
+ };
2316
+
2189
2317
  /**
2190
2318
  * 解析 Work 数据
2191
2319
  * @param obj - work 数据,从如数开发者平台获取
@@ -2195,6 +2323,8 @@ export declare interface PanoTextureEvent extends BaseEvent {
2195
2323
  export declare function parseWork(obj: Work | LooseWork | string | any, options?: ParseWorkOptions): Work;
2196
2324
 
2197
2325
  export declare type ParseWorkOptions = {
2326
+ /** 位姿 */
2327
+ transform?: THREE_2.Matrix4 | number[];
2198
2328
  /** 重置 WorkCode */
2199
2329
  workCode?: string | ((input: any) => string);
2200
2330
  /** 重写资源前缀 */
@@ -2203,20 +2333,12 @@ export declare type ParseWorkOptions = {
2203
2333
  shortPath?: boolean;
2204
2334
  /** 资源使用 jsonp 方式发布 */
2205
2335
  jsonp?: boolean;
2206
- /** 调试 */
2207
- debug?: boolean;
2208
- /** 位姿 */
2209
- transform?: THREE_2.Matrix4 | number[];
2210
- /** 可视区域 */
2211
- viewerRequestVolume?: BoundingVolume | BoundingVolumeJson;
2212
- /** 模型显示最大细化层级 */
2213
- modelMaxLevelOfDetail?: number;
2214
- /** 模型最大内存缓存 */
2215
- modelMaxMemoryUsage?: number;
2216
- /** 模型网络最大请求并发数 */
2217
- modelMaxRequests?: number;
2218
- /** 模型屏幕空间误差计算最大值 */
2219
- modelMaxScreenSpaceError?: number;
2336
+ traverseResource?: (resource: {
2337
+ origin: string;
2338
+ absolute: string;
2339
+ relative: string;
2340
+ type: "panorama" | "texture" | "model";
2341
+ }) => void;
2220
2342
  };
2221
2343
 
2222
2344
  /** PBM 模型组 */
@@ -2226,87 +2348,73 @@ export declare class PBMContainer extends THREE_2.Group {
2226
2348
  needsRender: boolean;
2227
2349
  /** 当前样式参数 */
2228
2350
  materialParameters: PBMParameters;
2229
- cache: PBMMaterialReferenceCache;
2230
2351
  constructor();
2231
2352
  /** 获取材质参数 */
2232
2353
  getMaterial(): PBMParameters;
2233
2354
  /** 设置材质参数 */
2234
2355
  setMaterial(parameters: Partial<PBMParameters>): void;
2235
- update(renderer: THREE_2.WebGLRenderer, camera: Camera): void;
2236
- /** 析构材质 */
2237
- dispose(): void;
2238
2356
  }
2239
2357
 
2240
2358
  /** PBM 模型组 */
2241
2359
  export declare class PBMGroup extends THREE_2.Group {
2242
- needsRender: boolean;
2243
- }
2244
-
2245
- export declare class PBMMaterialReferenceCache {
2246
- cache: Record<string, {
2247
- count: number;
2248
- value: any;
2249
- dispose: () => void;
2250
- }>;
2251
- clear(): void;
2252
- get<T>(key: string, create: () => {
2253
- value: T;
2254
- dispose: () => void;
2255
- }): T;
2256
2360
  }
2257
2361
 
2258
2362
  /** PBM 对象 */
2259
2363
  export declare class PBMMesh extends THREE_2.Mesh<THREE_2.BufferGeometry, PBMMeshMaterial[]> {
2260
- /** 是否需要更新按需渲染 */
2261
- needsRender: boolean;
2364
+ model?: Model;
2365
+ constructor(geometry: THREE_2.BufferGeometry, materials: PBMMeshMaterial[]);
2262
2366
  }
2263
2367
 
2264
2368
  /** PBM 材质 */
2265
2369
  export declare class PBMMeshMaterial extends THREE_2.ShaderMaterial implements PBMParameters {
2266
2370
  /** 更新版本 */
2267
- pbmMaterialParametersVersion: number;
2371
+ syncModelVersion?: string;
2268
2372
  /** 起始点 */
2269
- pano0: PBMPanoPicture | null;
2373
+ pano0: PBMParameters['pano0'];
2270
2374
  /** 结束点 */
2271
- pano1: PBMPanoPicture | null;
2375
+ pano1: PBMParameters['pano1'];
2272
2376
  /** 模型贴图和全景图的混合程度 [0-1] */
2273
- modelAlpha: number;
2377
+ modelAlpha: PBMParameters['modelAlpha'];
2274
2378
  /** 全景图混合程度 [0-1] */
2275
- progress: number;
2276
- /** 全景图通过过度黑色混合 */
2277
- useBlackTransition: boolean;
2379
+ progress: PBMParameters['progress'];
2380
+ /** 全景图过度混合 */
2381
+ transition: PBMParameters['transition'];
2278
2382
  /** 模型透明度 */
2279
- opacity: number;
2383
+ opacity: PBMParameters['opacity'];
2280
2384
  /** 模型颜色*/
2281
- constantColor: THREE_2.Vector3 | null;
2385
+ constantColor: PBMParameters['constantColor'];
2282
2386
  /** 楼层参数*/
2283
- floorIndex: number;
2387
+ shownFloorIndex: PBMParameters['shownFloorIndex'];
2284
2388
  /** 对外模型裁切参数*/
2285
- clippers: ClipperParameter[] | null;
2389
+ clippers: PBMParameters['clippers'];
2286
2390
  /** edl*/
2287
- useEDL: boolean;
2391
+ useEDL: PBMParameters['useEDL'];
2288
2392
  /** hq*/
2289
- useHQWeight: boolean;
2393
+ useHQWeight: PBMParameters['useHQWeight'];
2290
2394
  /** HQDepthMask*/
2291
- useHQDepth: boolean;
2395
+ useHQDepth: PBMParameters['useHQDepth'];
2292
2396
  /** 点云着色方式*/
2293
- pointColorType: PBMPointColorType;
2397
+ pointColor: PBMParameters['pointColor'];
2294
2398
  /** 点云大小绘制方式*/
2295
- pointSizeType: PBMPointSizeType;
2399
+ pointSize: PBMParameters['pointSize'];
2296
2400
  /** 点云形状*/
2297
- pointShape: PBMPointShapeType;
2401
+ pointShape: PBMParameters['pointShape'];
2298
2402
  /** 点云基础大小*/
2299
- pointSize: number;
2300
- /** 自适应点云大小因子*/
2301
- pointSizeAdaptiveScale: number;
2302
- /** 点云最大尺寸*/
2303
- pointMinSize: number;
2304
- /** 点云最小尺寸*/
2305
- pointMaxSize: number;
2403
+ pointScale: PBMParameters['pointScale'];
2404
+ /** 点云背面绘制方式*/
2405
+ pointBack: PBMParameters['pointBack'];
2406
+ /** 点云像素最小值*/
2407
+ pointMinPixel: PBMParameters['pointMinPixel'];
2408
+ /** 点云像素最大值*/
2409
+ pointMaxPixel: PBMParameters['pointMaxPixel'];
2306
2410
  /** 高程彩色图*/
2307
- gradientTexture: THREE_2.Texture | null;
2411
+ gradientTexture: PBMParameters['gradientTexture'];
2412
+ /** 所属楼层*/
2413
+ floor: number;
2308
2414
  constructor(parameters?: Partial<PBMParameters>);
2309
- update(renderer: THREE_2.WebGLRenderer, camera: Camera, cache: PBMMaterialReferenceCache): void;
2415
+ onBeforeCompile(shader: THREE_2.Shader, renderer: THREE_2.WebGLRenderer): void;
2416
+ update(renderer: THREE_2.WebGLRenderer, camera: THREE_2.Camera): void;
2417
+ syncModel(model: Model): void;
2310
2418
  }
2311
2419
 
2312
2420
  export declare interface PBMPanoPicture {
@@ -2316,6 +2424,8 @@ export declare interface PBMPanoPicture {
2316
2424
  luminanceMap: null | THREE_2.CubeTexture | TileCubeTextureTarget;
2317
2425
  /** 起始点全景图变换矩阵 4x4 */
2318
2426
  matrix: THREE_2.Matrix4;
2427
+ /** 缩放 */
2428
+ zoom: number;
2319
2429
  }
2320
2430
 
2321
2431
  /** PBM 材质参数 */
@@ -2328,12 +2438,12 @@ export declare interface PBMParameters {
2328
2438
  modelAlpha: number;
2329
2439
  /** 全景图混合程度 [0-1] */
2330
2440
  progress: number;
2331
- /** 全景图通过过度黑色混合 */
2332
- useBlackTransition: boolean;
2441
+ /** 全景图过度混合 */
2442
+ transition: 'BLACK' | 'SPREAD' | 'FADE';
2333
2443
  /** 模型透明度 */
2334
2444
  opacity: number;
2335
2445
  /** 楼层参数*/
2336
- floorIndex: number;
2446
+ shownFloorIndex: number;
2337
2447
  /** 模型裁切参数(工程侧调用)*/
2338
2448
  clippers: ClipperParameter[] | null;
2339
2449
  /** 模型颜色*/
@@ -2345,38 +2455,23 @@ export declare interface PBMParameters {
2345
2455
  /** 是否使用HQ_DEPTH_MASK*/
2346
2456
  useHQDepth: boolean;
2347
2457
  /** 点云形状*/
2348
- pointShape: PBMPointShapeType;
2458
+ pointShape: 'SQUARE' | 'CIRCLE';
2349
2459
  /** 点云着色方式*/
2350
- pointColorType: PBMPointColorType;
2460
+ pointColor: 'RGB' | 'ALTITUDE';
2351
2461
  /** 点云大小绘制方式*/
2352
- pointSizeType: PBMPointSizeType;
2462
+ pointSize: 'FIXED' | 'ATTENUATION' | 'GEOMETRIC';
2463
+ /** 点云背面绘制方式*/
2464
+ pointBack: 'VISIBLE' | 'HIDDEN' | 'DARK';
2353
2465
  /** 点云基础大小*/
2354
- pointSize: number;
2466
+ pointScale: number;
2355
2467
  /** 点云最大尺寸*/
2356
- pointMinSize: number;
2468
+ pointMinPixel: number;
2357
2469
  /** 点云最小尺寸*/
2358
- pointMaxSize: number;
2359
- /** 自适应点云尺寸因子*/
2360
- pointSizeAdaptiveScale: number;
2470
+ pointMaxPixel: number;
2361
2471
  /** 高程彩色图*/
2362
2472
  gradientTexture: THREE_2.Texture | null;
2363
2473
  }
2364
2474
 
2365
- export declare enum PBMPointColorType {
2366
- RGB = "rgb",
2367
- ALTITUDE = "altitude"
2368
- }
2369
-
2370
- export declare enum PBMPointShapeType {
2371
- SQUARE = "square",
2372
- CIRCLE = "circle"
2373
- }
2374
-
2375
- export declare enum PBMPointSizeType {
2376
- FIXED = "fixed",
2377
- ADAPTIVE = "adaptive"
2378
- }
2379
-
2380
2475
  /**
2381
2476
  * 相机位姿
2382
2477
  * [[include: coordinate.md]]
@@ -2396,7 +2491,7 @@ export declare interface Pose {
2396
2491
 
2397
2492
  export declare type PostProcessingType = 'edl' | 'hq' | 'luminance' | null;
2398
2493
 
2399
- export declare const PROXY_CONTROLLER_EVENT_NAMES: readonly ["gesture.pan", "gesture.tap", "gesture.press", "gesture.pinch", "gesture.mousewheel", "gesture.mousemove", "gesture.momentum", "initAnimation.start", "initAnimation.end", "camera.update", "intersect.update", "pano.select", "pano.moveTo", "pano.moving", "pano.arrived", "pano.cancel", "pano.error", "pano.texture.load", "pano.texture.progress", "pano.texture.success", "pano.texture.error", "pano.texture.abort", "xr.session.start", "xr.session.end", "xr.gesture.tap", "xr.gesture.press", "xr.gesture.buttonUp", "xr.gesture.buttonDown"];
2494
+ export declare const PROXY_CONTROLLER_EVENT_NAMES: readonly ["gesture.pan", "gesture.tap", "gesture.press", "gesture.pinch", "gesture.mousewheel", "gesture.mousemove", "gesture.momentum", "initAnimation.start", "initAnimation.end", "camera.update", "intersect.update", "pano.select", "pano.moveTo", "pano.moving", "pano.arrived", "pano.cancel", "pano.error", "pano.texture.load", "pano.texture.progress", "pano.texture.success", "pano.texture.error", "pano.texture.abort", "xr.session.start", "xr.session.end", "xr.gesture.tap", "xr.gesture.press", "xr.gesture.buttonUp", "xr.gesture.buttonDown", "xr.controller.update"];
2400
2495
 
2401
2496
  export declare class RegionBoundingVolume implements BoundingVolume {
2402
2497
  type: "regin";
@@ -2415,8 +2510,9 @@ export declare class RegionBoundingVolume implements BoundingVolume {
2415
2510
  toGeometry(): THREE_2.BufferGeometry;
2416
2511
  applyMatrix4(matrix: THREE_2.Matrix4): this;
2417
2512
  getCenter(result: THREE_2.Vector3): THREE_2.Vector3;
2418
- distanceTo(point: THREE_2.Vector3): number;
2419
- distanceSquaredTo(point: THREE_2.Vector3): number;
2513
+ distanceToPoint(point: THREE_2.Vector3): number;
2514
+ distanceSquaredToPoint(point: THREE_2.Vector3): number;
2515
+ distanceToPlane(plane: THREE_2.Plane): number;
2420
2516
  intersectPlane(plane: THREE_2.Plane): VolumePlaneIntersect;
2421
2517
  intersectRay(ray: THREE_2.Ray): boolean;
2422
2518
  }
@@ -2520,10 +2616,11 @@ export declare class SphereBoundingVolume implements BoundingVolume {
2520
2616
  toGeometry(): THREE_2.BufferGeometry;
2521
2617
  applyMatrix4(matrix: THREE_2.Matrix4): this;
2522
2618
  getCenter(result: THREE_2.Vector3): THREE_2.Vector3;
2523
- distanceSquaredTo(point: THREE_2.Vector3): number;
2524
- distanceTo(point: THREE_2.Vector3): number;
2619
+ distanceSquaredToPoint(point: THREE_2.Vector3): number;
2620
+ distanceToPoint(point: THREE_2.Vector3): number;
2621
+ distanceToPlane(plane: THREE_2.Plane): number;
2525
2622
  intersectPlane(plane: THREE_2.Plane): VolumePlaneIntersect;
2526
- intersectRay(ray: THREE_2.Ray): boolean;
2623
+ intersectRay(ray: THREE_2.Ray, far?: number): boolean;
2527
2624
  }
2528
2625
 
2529
2626
  export declare type SphereBoundingVolumeJson = {
@@ -2642,7 +2739,7 @@ export declare namespace SubscribeMixinType {
2642
2739
  }
2643
2740
 
2644
2741
  export declare class TextureLoader {
2645
- loadTexture(source: string, options?: {
2742
+ loadTexture(source: string, options: {
2646
2743
  imageURL?: {
2647
2744
  transform?: (source: string, options: ImageURLOptions) => string;
2648
2745
  options?: ImageURLOptions;
@@ -2651,11 +2748,14 @@ export declare class TextureLoader {
2651
2748
  format?: THREE_2.PixelFormat;
2652
2749
  minFilter?: THREE_2.TextureFilter;
2653
2750
  magFilter?: THREE_2.TextureFilter;
2751
+ generateMipmaps?: boolean;
2654
2752
  wrapS?: THREE_2.Wrapping;
2655
2753
  wrapT?: THREE_2.Wrapping;
2656
2754
  maxSize?: THREE_2.Vector2;
2657
2755
  viaAjax?: boolean;
2658
- } & NetworkOptions, onLoad?: (response: NetworkResponse<THREE_2.Texture>) => void, onError?: (error: Error) => void, onProgress?: (percent: number) => void, renderer?: THREE_2.WebGLRenderer): Promise<NetworkResponse<THREE_2.Texture>>;
2756
+ timeout?: number;
2757
+ fetcher: Fetcher;
2758
+ }, onLoad?: (response: NetworkResponse<THREE_2.Texture>) => void, onError?: (error: Error) => void, onProgress?: (percent: number) => void, renderer?: THREE_2.WebGLRenderer): Promise<NetworkResponse<THREE_2.Texture>>;
2659
2759
  loadCubeTexture(sources: WorkCubeImage, options: {
2660
2760
  imageURL?: {
2661
2761
  transform?: (source: string, options: ImageURLOptions) => string;
@@ -2664,12 +2764,14 @@ export declare class TextureLoader {
2664
2764
  format?: THREE_2.PixelFormat;
2665
2765
  minFilter?: THREE_2.TextureFilter;
2666
2766
  magFilter?: THREE_2.TextureFilter;
2767
+ generateMipmaps?: boolean;
2667
2768
  wrapS?: THREE_2.Wrapping;
2668
2769
  wrapT?: THREE_2.Wrapping;
2669
2770
  viaAjax?: boolean;
2670
- } & NetworkOptions, onLoad: (response: NetworkResponse<THREE_2.CubeTexture, NetWorkMeta[]>) => void, onError: (error: Error) => void, onProgress: (percent: number) => void, renderer: THREE_2.WebGLRenderer): Promise<NetworkResponse<THREE_2.CubeTexture, NetWorkMeta[]>>;
2771
+ timeout?: number;
2772
+ fetcher: Fetcher;
2773
+ }, onLoad: (response: NetworkResponse<THREE_2.CubeTexture, NetWorkMeta[]>) => void, onError: (error: Error) => void, onProgress: (percent: number) => void, renderer: THREE_2.WebGLRenderer): Promise<NetworkResponse<THREE_2.CubeTexture, NetWorkMeta[]>>;
2671
2774
  loadTiledCubeTexture(sources: WorkCubeImage, tileSources: WorkTile[], options: {
2672
- tileImageSize?: number;
2673
2775
  tileMaxLevel?: number;
2674
2776
  imageURL?: {
2675
2777
  transform?: (source: string, options: ImageURLOptions) => string;
@@ -2678,10 +2780,13 @@ export declare class TextureLoader {
2678
2780
  format?: THREE_2.PixelFormat;
2679
2781
  minFilter?: THREE_2.TextureFilter;
2680
2782
  magFilter?: THREE_2.TextureFilter;
2783
+ generateMipmaps?: boolean;
2681
2784
  wrapS?: THREE_2.Wrapping;
2682
2785
  wrapT?: THREE_2.Wrapping;
2683
2786
  viaAjax?: boolean;
2684
- } & NetworkOptions, onLoad: (response: NetworkResponse<TileCubeTextureTarget, NetWorkMeta[]>) => void, onError: (error: Error) => void, onProgress: (percent: number) => void, renderer: THREE_2.WebGLRenderer): Promise<NetworkResponse<TileCubeTextureTarget, NetWorkMeta[]>>;
2787
+ timeout?: number;
2788
+ fetcher: Fetcher;
2789
+ }, onLoad: (response: NetworkResponse<TileCubeTextureTarget, NetWorkMeta[]>) => void, onError: (error: Error) => void, onProgress: (percent: number) => void, renderer: THREE_2.WebGLRenderer): Promise<NetworkResponse<TileCubeTextureTarget, NetWorkMeta[]>>;
2685
2790
  }
2686
2791
 
2687
2792
  /**
@@ -2735,7 +2840,6 @@ export declare class Tile {
2735
2840
  requestedFrameNumber: number;
2736
2841
  touchedFrameNumber: number;
2737
2842
  selectionDepth: number;
2738
- centerZDepth: number;
2739
2843
  shouldRefine: boolean;
2740
2844
  distanceToCamera: number;
2741
2845
  screenSpaceError: number;
@@ -2761,57 +2865,95 @@ export declare class Tile {
2761
2865
  }
2762
2866
 
2763
2867
  export declare class Tile3DModel extends THREE_2.Object3D {
2868
+ static DEFAULT_MIN_LEVEL_OF_DETAIL: number;
2764
2869
  static DEFAULT_MAX_LEVEL_OF_DETAIL: number;
2765
2870
  static DEFAULT_MAX_MEMORY_USAGE: number;
2766
2871
  static DEFAULT_MAX_SCREEN_SPACE_ERROR: number;
2767
2872
  static DEFAULT_MAX_REQUESTS: number;
2768
- workCode: string;
2873
+ type: 'point_cloud' | 'mesh';
2874
+ upAxis: string;
2875
+ model: Model;
2876
+ viewLayer?: ModelViewLayer;
2877
+ search: string;
2878
+ groundHeight: number | null;
2879
+ coordinateTransform: {
2880
+ localToEnuMatrix: THREE_2.Matrix4;
2881
+ enuToLocalMatrix: THREE_2.Matrix4;
2882
+ enuToEcefMatrix: THREE_2.Matrix4;
2883
+ ecefToEnuMatrix: THREE_2.Matrix4;
2884
+ viewToEcefMatrix: THREE_2.Matrix4;
2885
+ ecefToViewMatrix: THREE_2.Matrix4;
2886
+ };
2769
2887
  tileset: Tileset;
2888
+ idle: boolean;
2889
+ minLevelOfDetail: number;
2770
2890
  maxLevelOfDetail: number;
2771
2891
  boundingBox: THREE_2.Box3;
2772
2892
  needsRefined: boolean;
2773
2893
  refined: boolean;
2894
+ refineProgress: [number, number];
2774
2895
  loaded: boolean;
2775
- disposed: boolean;
2776
2896
  needsRender: boolean;
2777
- lastRefineTime: number;
2778
- nodeGroup: THREE_2.Group;
2779
- debugBoundingGroup: THREE_2.Group;
2897
+ cacheCameras: (THREE_2.PerspectiveCamera | Camera)[];
2898
+ private lastRefineTime;
2899
+ private disposed;
2900
+ private nodeGroup;
2901
+ private debugBoundingGroup;
2780
2902
  private nodes;
2781
2903
  private debugBoundings;
2782
2904
  private unloadTileQueue;
2783
- constructor(workCode: string, tilesetHeader: TilesetHeader, options: Partial<Tile3DModelLoaderOptions>);
2905
+ constructor(model: Model, tilesetHeader: TilesetHeader, options: Tile3DModelLoaderOptions);
2784
2906
  get debug(): boolean;
2785
2907
  set debug(value: boolean);
2786
2908
  get maxMemoryUsage(): number;
2787
2909
  set maxMemoryUsage(value: number);
2788
- get viewDistanceScale(): number;
2789
- set viewDistanceScale(value: number);
2790
2910
  get maxRequests(): number;
2791
2911
  set maxRequests(value: number);
2792
2912
  get maxScreenSpaceError(): number;
2793
2913
  set maxScreenSpaceError(value: number);
2914
+ localToEnu(vector: THREE_2.Vector3): THREE_2.Vector3;
2915
+ enuToLocal(vector: THREE_2.Vector3): THREE_2.Vector3;
2916
+ localToEcef(vector: THREE_2.Vector3): THREE_2.Vector3;
2917
+ ecefToLocal(vector: THREE_2.Vector3): THREE_2.Vector3;
2918
+ localToLla(vector: THREE_2.Vector3): THREE_2.Vector3;
2919
+ llaToLocal(vector: THREE_2.Vector3): THREE_2.Vector3;
2920
+ worldToEnu(vector: THREE_2.Vector3): THREE_2.Vector3;
2921
+ enuToWorld(vector: THREE_2.Vector3): THREE_2.Vector3;
2922
+ worldToEcef(vector: THREE_2.Vector3): THREE_2.Vector3;
2923
+ ecefToWorld(vector: THREE_2.Vector3): THREE_2.Vector3;
2924
+ worldToLla(vector: THREE_2.Vector3): THREE_2.Vector3;
2925
+ llaToWorld(vector: THREE_2.Vector3): THREE_2.Vector3;
2794
2926
  loadContent(tile: Tile, options: {
2795
- allowHosts?: string[];
2796
- requestProxy?: (url: string) => string | Promise<string>;
2797
- networkSubscribe?: NetworkSubscribe;
2927
+ fetcher: Fetcher;
2798
2928
  }): Promise<boolean>;
2799
- intersectRaycaster(raycaster: THREE_2.Raycaster): Intersection[];
2929
+ intersectRaycaster(raycaster: THREE_2.Raycaster, sortByDistance?: boolean, target?: Intersection[]): Intersection[];
2800
2930
  update(renderer: THREE_2.WebGLRenderer, camera: Camera): void;
2801
2931
  dispose(): void;
2802
2932
  }
2803
2933
 
2804
2934
  /** Advanced loader options */
2805
2935
  export declare interface Tile3DModelLoaderOptions {
2936
+ name: string;
2937
+ type: 'point_cloud' | 'mesh';
2938
+ upAxis: string;
2939
+ referer: string;
2940
+ fetcher: Fetcher;
2806
2941
  resourcePath: string;
2807
- allowHosts?: string[];
2808
- requestProxy?: (url: string) => string | Promise<string>;
2809
- networkSubscribe?: NetworkSubscribe;
2942
+ groundHeight: number | null;
2943
+ coordinateTransform: {
2944
+ localToEnuMatrix: THREE_2.Matrix4;
2945
+ enuToLocalMatrix: THREE_2.Matrix4;
2946
+ enuToEcefMatrix: THREE_2.Matrix4;
2947
+ ecefToEnuMatrix: THREE_2.Matrix4;
2948
+ viewToEcefMatrix: THREE_2.Matrix4;
2949
+ ecefToViewMatrix: THREE_2.Matrix4;
2950
+ };
2951
+ search?: string;
2810
2952
  onError?: (error: Error) => void;
2811
2953
  }
2812
2954
 
2813
2955
  export declare type TileContentData = {
2814
- type: 'b3dm' | 'pnts' | 'at3d' | 'pbm';
2956
+ type: 'b3dm' | 'pnts' | 'at3d' | 'pbm' | 'dome' | 'domez' | 'glb';
2815
2957
  byteLength: number;
2816
2958
  uri: string;
2817
2959
  object: TileNode;
@@ -2841,7 +2983,6 @@ export declare class TileCubeTextureTarget {
2841
2983
  private textures;
2842
2984
  constructor(baseCubeTexture: THREE_2.CubeTexture, tileTree: TileCubeTree, tileSources: WorkTile[], options: {
2843
2985
  textureSize: number;
2844
- tileImageSize: number;
2845
2986
  textureLoader: TextureLoader;
2846
2987
  imageURL?: {
2847
2988
  transform?: (source: string, options: ImageURLOptions) => string;
@@ -2850,9 +2991,12 @@ export declare class TileCubeTextureTarget {
2850
2991
  format?: THREE_2.PixelFormat;
2851
2992
  minFilter?: THREE_2.TextureFilter;
2852
2993
  magFilter?: THREE_2.TextureFilter;
2994
+ generateMipmaps?: boolean;
2853
2995
  wrapS?: THREE_2.Wrapping;
2854
2996
  wrapT?: THREE_2.Wrapping;
2855
- } & NetworkOptions, renderer: THREE_2.WebGLRenderer);
2997
+ timeout?: number;
2998
+ fetcher: Fetcher;
2999
+ }, renderer: THREE_2.WebGLRenderer);
2856
3000
  get cubeRenderTarget(): THREE_2.WebGLCubeRenderTarget | null;
2857
3001
  set cubeRenderTarget(cubeRenderTarget: THREE_2.WebGLCubeRenderTarget | null);
2858
3002
  private requestTile;
@@ -2882,11 +3026,10 @@ export declare interface TileHeader {
2882
3026
  }
2883
3027
 
2884
3028
  export declare class TileNode extends THREE_2.Group {
2885
- bvhTree: BVH | undefined;
2886
- objType: 'mesh' | 'points';
2887
- constructor(obj: THREE_2.Object3D, objType: 'mesh' | 'points');
2888
- buildBvhTree(): void;
2889
- intersectRaycaster(raycaster: THREE_2.Raycaster): Intersection[];
3029
+ private disposers;
3030
+ constructor(obj: THREE_2.Object3D, objDisposer: () => void);
3031
+ generateBvhTree(): Promise<void>;
3032
+ intersectRaycaster(raycaster: THREE_2.Raycaster, sortByDistance?: boolean, target?: Intersection[]): Intersection[];
2890
3033
  dispose(): void;
2891
3034
  }
2892
3035
 
@@ -2898,26 +3041,50 @@ export declare class Tileset {
2898
3041
  asset: {
2899
3042
  version: string;
2900
3043
  tilesetVersion: string;
2901
- gltfUpAxis: "X" | "Y" | "Z";
3044
+ gltfUpAxis: "Y" | "Z";
3045
+ overview?: {
3046
+ imageFile: string;
3047
+ worldFile: string;
3048
+ imageWidth: number;
3049
+ imageHeight: number;
3050
+ };
3051
+ [key: string]: any;
2902
3052
  };
2903
3053
  id: string;
3054
+ referer: string;
2904
3055
  frameNumber: number;
2905
3056
  properties: Record<string, any>;
2906
3057
  options: TilesetOptions;
2907
3058
  root: Tile;
2908
- transfrom: THREE_2.Matrix4;
3059
+ rootMeta: {
3060
+ creationTime?: string;
3061
+ upAxis?: string;
3062
+ coordinate?: {
3063
+ base_keyframe: number;
3064
+ base_trajectory: number;
3065
+ coordinate_system: string;
3066
+ ground_height: number;
3067
+ lon_lat_alt: [number, number, number];
3068
+ pose_ecef_to_enu: number[];
3069
+ pose_enu_to_ecef: number[];
3070
+ version: number;
3071
+ };
3072
+ };
3073
+ transform: THREE_2.Matrix4;
3074
+ transformIsIdentity: boolean;
2909
3075
  geometricError: number;
2910
- traverser: TilesetTraverser;
3076
+ private traverser;
2911
3077
  cache: TilesetCache;
2912
3078
  requestScheduler: RequestScheduler<string>;
2913
3079
  private memoryUsageInBytes;
2914
3080
  maxMemoryUsage: number;
2915
- viewDistanceScale: number;
2916
3081
  tiles: Map<string, Tile>;
2917
3082
  private pendingCount;
2918
3083
  constructor(id: string, header: TilesetHeader, options: TilesetOptions);
2919
3084
  get maxRequests(): number;
2920
3085
  set maxRequests(value: number);
3086
+ get skipLevelOfDetail(): boolean;
3087
+ set skipLevelOfDetail(value: boolean);
2921
3088
  get maxScreenSpaceError(): number;
2922
3089
  set maxScreenSpaceError(value: number);
2923
3090
  get selectedTiles(): Map<string, Tile>;
@@ -2926,11 +3093,7 @@ export declare class Tileset {
2926
3093
  reset(): void;
2927
3094
  /** Is the tileset loaded (update needs to have been called at least once) */
2928
3095
  isLoaded(): boolean;
2929
- /**
2930
- * The callback to post-process tiles after traversal procedure
2931
- * @param frameState - frame state for tile culling
2932
- */
2933
- private onTraversalEnd;
3096
+ traverse(frameState: TilesetFrameState, cacheFrameStates?: TilesetFrameState[]): void;
2934
3097
  loadTile(tile: Tile): void;
2935
3098
  unloadTile(tile: Tile): void;
2936
3099
  }
@@ -2950,14 +3113,19 @@ export declare class TilesetCache {
2950
3113
 
2951
3114
  export declare type TilesetFrameState = {
2952
3115
  camera: {
3116
+ type: "PerspectiveCamera" | "OrthographicCamera";
2953
3117
  position: THREE.Vector3;
2954
3118
  direction: THREE.Vector3;
2955
3119
  up: THREE.Vector3;
3120
+ visible: boolean;
3121
+ refine: boolean;
2956
3122
  };
2957
3123
  height: number;
3124
+ pixelRatio: number;
2958
3125
  cullingVolume: CullingVolume;
2959
3126
  frameNumber: number;
2960
3127
  sseDenominator: number;
3128
+ minLevelOfDetail: number;
2961
3129
  maxLevelOfDetail: number;
2962
3130
  };
2963
3131
 
@@ -2965,21 +3133,40 @@ export declare interface TilesetHeader {
2965
3133
  asset: {
2966
3134
  version: string;
2967
3135
  tilesetVersion?: string;
2968
- gltfUpAxis?: "X" | "Y" | "Z";
3136
+ gltfUpAxis?: "Y" | "Z";
3137
+ overview?: {
3138
+ imageFile: string;
3139
+ worldFile: string;
3140
+ imageWidth: number;
3141
+ imageHeight: number;
3142
+ };
3143
+ [key: string]: any;
2969
3144
  };
2970
3145
  properties?: Record<string, any>;
2971
3146
  geometricError: number;
2972
3147
  root: TileHeader;
3148
+ rootMeta?: {
3149
+ creationTime?: string;
3150
+ upAxis?: string;
3151
+ coordinate?: {
3152
+ base_keyframe: number;
3153
+ base_trajectory: number;
3154
+ coordinate_system: string;
3155
+ ground_height: number;
3156
+ lon_lat_alt: [number, number, number];
3157
+ pose_ecef_to_enu: number[];
3158
+ pose_enu_to_ecef: number[];
3159
+ version: number;
3160
+ };
3161
+ };
2973
3162
  }
2974
3163
 
2975
3164
  export declare interface TilesetOptions {
3165
+ referer?: string;
3166
+ contentLoader: (tile: Tile) => Promise<boolean>;
2976
3167
  onTileLoad: (tile: Tile) => any;
2977
3168
  onTileUnload: (tile: Tile) => any;
2978
3169
  onTileError: (tile: Tile, error: Error) => any;
2979
- contentLoader: (tile: Tile) => Promise<boolean>;
2980
- allowHosts?: string[];
2981
- requestProxy?: (url: string) => string | Promise<string>;
2982
- networkSubscribe?: NetworkSubscribe;
2983
3170
  }
2984
3171
 
2985
3172
  export declare class TilesetTraverser {
@@ -2990,15 +3177,15 @@ export declare class TilesetTraverser {
2990
3177
  loadSiblings: boolean;
2991
3178
  skipLevelOfDetail: boolean;
2992
3179
  maxScreenSpaceError: number;
2993
- onTraversalEnd: (frameState: TilesetFrameState) => any;
2994
3180
  requestedTiles: Map<string, Tile>;
2995
3181
  selectedTiles: Map<string, Tile>;
2996
3182
  needsRefinedTiles: Map<string, Tile>;
2997
3183
  emptyTiles: Map<string, Tile>;
3184
+ private _canSelectTile;
2998
3185
  private _traversalStack;
2999
3186
  private _emptyTraversalStack;
3000
- constructor(onTraversalEnd: (frameState: TilesetFrameState) => any);
3001
- traverse(root: Tile, frameState: TilesetFrameState): void;
3187
+ constructor();
3188
+ traverse(root: Tile, frameState: TilesetFrameState, cacheFrameStates?: TilesetFrameState[]): void;
3002
3189
  reset(): void;
3003
3190
  private executeTraversal;
3004
3191
  private updateChildTiles;
@@ -3031,8 +3218,8 @@ export declare interface VRPanoramaControllerCustomInitArgs extends Omit<Panoram
3031
3218
 
3032
3219
  export declare interface WebXRAxesParams {
3033
3220
  raycaster: {
3034
- leftRay: THREE_2.Raycaster;
3035
- rightRay: THREE_2.Raycaster;
3221
+ leftRay?: THREE_2.Raycaster;
3222
+ rightRay?: THREE_2.Raycaster;
3036
3223
  };
3037
3224
  axesState: {
3038
3225
  up: number;
@@ -3071,8 +3258,19 @@ export declare class Work {
3071
3258
  observers: WorkObserver[];
3072
3259
  /** 数据签发人 */
3073
3260
  issuer: string;
3074
- /** 控制参数 */
3075
- options: WorkOptions;
3261
+ /** 位姿修正 */
3262
+ transform: THREE_2.Matrix4;
3263
+ /**
3264
+ * 控制参数
3265
+ * @deprecated 通过 work.transform 替换
3266
+ */
3267
+ options: {
3268
+ /**
3269
+ * 位姿修正
3270
+ * @deprecated 通过 work.transform 替换
3271
+ */
3272
+ transform: THREE_2.Matrix4;
3273
+ };
3076
3274
  /** 原始数据 */
3077
3275
  raw: {
3078
3276
  works: string[];
@@ -3102,14 +3300,16 @@ export declare interface WorkCubeImage {
3102
3300
  front: string;
3103
3301
  /** 全景图 back */
3104
3302
  back: string;
3303
+ /** 分辨率表 */
3304
+ sizeList?: number[];
3105
3305
  }
3106
3306
 
3107
3307
  /** 全景图 */
3108
3308
  export declare interface WorkImage extends WorkCubeImage {
3109
- /** 深度图 */
3110
- depth?: string;
3111
3309
  /** 光照强度图 */
3112
- luminance?: WorkCubeImage;
3310
+ luminance?: WorkCubeImage & {
3311
+ tiles?: WorkTile[];
3312
+ };
3113
3313
  /** 瓦片信息 */
3114
3314
  tiles?: WorkTile[];
3115
3315
  }
@@ -3168,6 +3368,8 @@ export declare interface WorkObserver {
3168
3368
  floorIndex: number;
3169
3369
  /** 点位 derived_id */
3170
3370
  derivedId?: number;
3371
+ /** 点位 derived_id_str */
3372
+ derivedIdStr?: string;
3171
3373
  /** 点位是否激活可用 */
3172
3374
  active: boolean;
3173
3375
  /** 点位是否可加载 */
@@ -3192,23 +3394,6 @@ export declare interface WorkObserver {
3192
3394
  quaternion: THREE_2.Quaternion;
3193
3395
  }
3194
3396
 
3195
- export declare interface WorkOptions {
3196
- /** 调试 */
3197
- debug?: boolean;
3198
- /** 位姿修正 */
3199
- transform: THREE_2.Matrix4;
3200
- /** 可观测区域 */
3201
- viewerRequestVolume?: BoundingVolume;
3202
- /** 模型显示最大细化层级 */
3203
- modelMaxLevelOfDetail?: number;
3204
- /** 模型最大内存缓存 */
3205
- modelMaxMemoryUsage?: number;
3206
- /** 模型网络最大请求并发数 */
3207
- modelMaxRequests?: number;
3208
- /** 模型屏幕空间误差计算最大值 */
3209
- modelMaxScreenSpaceError?: number;
3210
- }
3211
-
3212
3397
  export declare interface WorkResolvedObserver extends WorkObserver {
3213
3398
  isResolved: true;
3214
3399
  }
@@ -3231,6 +3416,7 @@ export declare interface WorksEvent extends BaseEvent {
3231
3416
  export declare interface WorkTile {
3232
3417
  level: number;
3233
3418
  size: number;
3419
+ scale: number;
3234
3420
  up: string;
3235
3421
  down: string;
3236
3422
  right: string;
@@ -3254,20 +3440,36 @@ export declare class XRButton {
3254
3440
  }
3255
3441
 
3256
3442
  export declare interface XRControllerEvent extends BaseEvent {
3257
- controller: {
3258
- type: 'left' | 'right';
3443
+ left: {
3259
3444
  axes: {
3260
3445
  up: number;
3261
3446
  down: number;
3262
3447
  left: number;
3263
3448
  right: number;
3264
3449
  };
3265
- raycaster: {
3266
- leftRay: THREE_2.Raycaster;
3267
- rightRay: THREE_2.Raycaster;
3450
+ raycaster: THREE_2.Raycaster;
3451
+ deltaTime: number;
3452
+ };
3453
+ right: {
3454
+ axes: {
3455
+ up: number;
3456
+ down: number;
3457
+ left: number;
3458
+ right: number;
3268
3459
  };
3460
+ raycaster: THREE_2.Raycaster;
3269
3461
  deltaTime: number;
3270
3462
  };
3463
+ buttons: {
3464
+ X: boolean;
3465
+ Y: boolean;
3466
+ LeftTrigger: boolean;
3467
+ LeftPinch: boolean;
3468
+ A: boolean;
3469
+ B: boolean;
3470
+ RightTrigger: boolean;
3471
+ RightPinch: boolean;
3472
+ };
3271
3473
  }
3272
3474
 
3273
3475
  export declare interface XRGestureEvent extends BaseEvent {