@realsee/five 6.0.0-alpha.9 → 6.0.0-alpha.91

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 (386) hide show
  1. package/README.md +1 -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 +237 -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 +70 -55
  17. package/docs/classes/five.ModelViewLayer.html +13 -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 +28 -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 +31 -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 +35 -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 +82 -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 +3 -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 +7 -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 +6 -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 +5 -1
  175. package/docs/interfaces/five.TilesetOptions.html +5 -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 +171 -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.CoordinatesSystemTransformer.html +1 -0
  232. package/docs/types/five.EventTypes.html +26 -0
  233. package/docs/types/five.FivePlugin.html +71 -0
  234. package/docs/types/five.FivePluginInit.html +3 -0
  235. package/docs/types/five.FivePluginInstance.html +3 -0
  236. package/docs/types/five.GestureTypes.html +1 -0
  237. package/docs/types/five.LegacyEventType.html +203 -0
  238. package/docs/types/five.LooseWork.html +1 -0
  239. package/docs/types/five.LooseWorkInitial.html +1 -0
  240. package/docs/types/five.LooseWorkModel.html +1 -0
  241. package/docs/types/five.LooseWorkObserver.html +1 -0
  242. package/docs/types/five.LooseWorkPanorama.html +1 -0
  243. package/docs/types/five.LooseWorkVideo.html +1 -0
  244. package/docs/types/five.LooseWorkWithExtrinsics.html +2 -0
  245. package/docs/types/five.Mirror.html +1 -0
  246. package/docs/types/five.Mode.html +10 -0
  247. package/docs/types/five.ModelMaterialValues.html +1 -0
  248. package/docs/types/five.Models.html +13 -0
  249. package/docs/types/five.MotionValue.html +1 -0
  250. package/docs/types/five.MovePanoEffect.html +9 -0
  251. package/docs/types/five.NetWorkMeta.html +1 -0
  252. package/docs/types/five.NetworkError.html +1 -0
  253. package/docs/types/five.NetworkErrorCallback.html +1 -0
  254. package/docs/types/five.NetworkProgressCallback.html +1 -0
  255. package/docs/types/five.NetworkResponse.html +1 -0
  256. package/docs/types/five.NetworkState.html +1 -0
  257. package/docs/types/five.NetworkSuccessCallback.html +1 -0
  258. package/docs/types/five.NetworkType.html +1 -0
  259. package/docs/types/five.Pano.html +1 -0
  260. package/docs/types/five.PanoId.html +1 -0
  261. package/docs/types/five.ParseWorkOptions.html +6 -0
  262. package/docs/types/five.ParsedResultType.html +1 -0
  263. package/docs/types/five.PostProcessingType.html +1 -0
  264. package/docs/types/five.RegionBoundingVolumeJson.html +1 -0
  265. package/docs/types/five.RequestResult.html +1 -0
  266. package/docs/types/five.SphereBoundingVolumeJson.html +1 -0
  267. package/docs/types/five.SubscribeEventMap.html +1 -0
  268. package/docs/types/five.TileContentData.html +1 -0
  269. package/docs/types/five.TilesetFrameState.html +1 -0
  270. package/docs/types/five.WebXRControllerKey.html +1 -0
  271. package/docs/types/five.WebXRControllerType.html +1 -0
  272. package/docs/types/five.Works.html +1 -0
  273. package/docs/types/line.LineMaterialParameters.html +1 -0
  274. package/docs/types/plugins.BasePlugin.EventMap.html +6 -0
  275. package/docs/types/plugins.ItemMaskPluginType.PluginData.html +1 -0
  276. package/docs/types/plugins.ItemMaskPluginType.ServerData.html +1 -0
  277. package/docs/types/react.FiveInjectionActionFeature.html +1 -0
  278. package/docs/types/react.FiveInjectionDataFeature.html +1 -0
  279. package/docs/types/react.FiveInjectionFeature.html +1 -0
  280. package/docs/types/react.FiveProviderPropTypes.html +1 -0
  281. package/docs/types/react.FiveProviderType.html +1 -0
  282. package/docs/types/react.StoreActionMapHanlder.html +1 -0
  283. package/docs/types/react.StoreActionMapType.html +1 -0
  284. package/docs/types/react.StoreProviderType.html +1 -0
  285. package/docs/types/react.StoreValueMapType.html +1 -0
  286. package/docs/types/vfx.ParticleType.html +1 -0
  287. package/docs/types/vue.FiveModelIntersectRaycaster.html +1 -0
  288. package/docs/types/vue.FiveProviderComponent.html +1 -0
  289. package/docs/types/vue.Project2d.html +1 -0
  290. package/docs/variables/five.PROXY_CONTROLLER_EVENT_NAMES.html +1 -0
  291. package/docs/variables/five.defaultPbmParameters.html +1 -0
  292. package/docs/variables/react.INJECTION_PROPNAME.html +1 -0
  293. package/docs/variables/vue.FiveCanvas.html +8 -0
  294. package/docs/variables/vue.FiveProvider.html +8 -0
  295. package/five/index.d.ts +481 -351
  296. package/five/index.js +1879 -218
  297. package/five/index.mjs +23126 -0
  298. package/gltf-loader/index.js +204 -203
  299. package/gltf-loader/index.mjs +1708 -0
  300. package/line/index.js +396 -202
  301. package/line/index.mjs +776 -0
  302. package/package.json +48 -12
  303. package/plugins/index.d.ts +253 -0
  304. package/plugins/index.js +350 -0
  305. package/plugins/index.mjs +796 -0
  306. package/react/index.d.ts +35 -44
  307. package/react/index.js +198 -203
  308. package/react/index.mjs +1072 -0
  309. package/scripts/five-staticify.js +183 -2
  310. package/sticker/index.js +198 -203
  311. package/sticker/index.mjs +399 -0
  312. package/umd/five-gltf-loader.js +261 -1
  313. package/umd/five-line.js +454 -1
  314. package/umd/five-plugins.js +350 -0
  315. package/umd/five-react.js +255 -1
  316. package/umd/five-sticker.js +255 -1
  317. package/umd/five-vfx.js +539 -1
  318. package/umd/five-vue.js +255 -1
  319. package/umd/five.js +2023 -2
  320. package/vfx/index.js +481 -202
  321. package/vfx/index.mjs +1032 -0
  322. package/vue/index.d.ts +1 -1
  323. package/vue/index.js +198 -203
  324. package/vue/index.mjs +574 -0
  325. package/docs/assets/icons.css +0 -1043
  326. package/docs/assets/icons.png +0 -0
  327. package/docs/assets/icons@2x.png +0 -0
  328. package/docs/assets/widgets.png +0 -0
  329. package/docs/assets/widgets@2x.png +0 -0
  330. package/docs/classes/five.BVH.html +0 -10
  331. package/docs/classes/five.BVHIntersect.html +0 -1
  332. package/docs/classes/five.BVHNode.html +0 -7
  333. package/docs/classes/five.BVHVector3.html +0 -1
  334. package/docs/classes/five.Clipper.html +0 -1
  335. package/docs/classes/five.PBMMaterialReferenceCache.html +0 -1
  336. package/docs/enums/five.PBMPointColorType.html +0 -1
  337. package/docs/enums/five.PBMPointShapeType.html +0 -1
  338. package/docs/enums/five.PBMPointSizeType.html +0 -1
  339. package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +0 -26
  340. package/docs/interfaces/five.ModelLodOptions.html +0 -1
  341. package/docs/interfaces/five.WorkOptions.html +0 -15
  342. package/docs/modules.html +0 -1
  343. package/exporters/staticify.js +0 -210
  344. package/scripts/five-plugin-init.js +0 -83
  345. package/scripts/five-quick-start-init.js +0 -80
  346. package/scripts/five-react-component-init.js +0 -83
  347. package/templates/plugin/README.md +0 -38
  348. package/templates/plugin/devtools/external-five.js +0 -5
  349. package/templates/plugin/devtools/external-three.js +0 -5
  350. package/templates/plugin/devtools/tsconfig.build.json +0 -18
  351. package/templates/plugin/devtools/webpack.bundle.js +0 -44
  352. package/templates/plugin/devtools/webpack.example.js +0 -39
  353. package/templates/plugin/docs/.gitkeep +0 -0
  354. package/templates/plugin/examples/data.json +0 -507
  355. package/templates/plugin/examples/index.html +0 -28
  356. package/templates/plugin/examples/index.ts +0 -12
  357. package/templates/plugin/lib/index.ts +0 -30
  358. package/templates/plugin/package.json +0 -32
  359. package/templates/plugin/tsconfig.json +0 -26
  360. package/templates/quick-start/README.md +0 -47
  361. package/templates/quick-start/assets/work.json +0 -507
  362. package/templates/quick-start/index.html +0 -54
  363. package/templates/quick-start/index.tsx +0 -123
  364. package/templates/quick-start/package.json +0 -25
  365. package/templates/quick-start/tsconfig.json +0 -27
  366. package/templates/quick-start/webpack.config.js +0 -45
  367. package/templates/quick-start/webpack.production.js +0 -42
  368. package/templates/react-component/README.md +0 -32
  369. package/templates/react-component/devtools/external-five.js +0 -5
  370. package/templates/react-component/devtools/external-react.js +0 -5
  371. package/templates/react-component/devtools/external-three.js +0 -5
  372. package/templates/react-component/devtools/tsconfig.build.json +0 -19
  373. package/templates/react-component/devtools/webpack.bundle.js +0 -44
  374. package/templates/react-component/devtools/webpack.example.js +0 -39
  375. package/templates/react-component/docs/.gitkeep +0 -0
  376. package/templates/react-component/examples/data.json +0 -507
  377. package/templates/react-component/examples/index.html +0 -17
  378. package/templates/react-component/examples/index.tsx +0 -62
  379. package/templates/react-component/lib/index.tsx +0 -157
  380. package/templates/react-component/package.json +0 -38
  381. package/templates/react-component/tsconfig.json +0 -27
  382. package/umd/five-gltf-loader.js.LICENSE.txt +0 -14
  383. package/umd/five-line.js.LICENSE.txt +0 -14
  384. package/umd/five-react.js.LICENSE.txt +0 -14
  385. package/umd/five-sticker.js.LICENSE.txt +0 -14
  386. 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(clipperParameters: 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
  };
@@ -296,6 +241,14 @@ export declare type ControllerEventTypes = {
296
241
  "error"(error: Error): void;
297
242
  };
298
243
 
244
+ export declare type CoordinatesSystemTransformer = {
245
+ name: string;
246
+ transformToEarthCentered: (xyz: THREE.Vector3) => THREE.Matrix4 | Promise<THREE.Matrix4>;
247
+ } | {
248
+ name: string;
249
+ transformToUpAxisZ: (xyz: THREE.Vector3) => THREE.Matrix4 | Promise<THREE.Matrix4>;
250
+ };
251
+
299
252
  export declare class CullingVolume {
300
253
  static get MASK_OUTSIDE(): number;
301
254
  static get MASK_INSIDE(): number;
@@ -303,6 +256,10 @@ export declare class CullingVolume {
303
256
  planes: THREE_2.Plane[];
304
257
  constructor(planes?: THREE_2.Plane[]);
305
258
  setFromFrustum(frustum: THREE_2.Frustum): this;
259
+ setFromCamera(camera: THREE_2.Camera): this;
260
+ applyMatrix4(matrix: THREE_2.Matrix4): void;
261
+ copy(cullingVolume: CullingVolume): this;
262
+ clone(): CullingVolume;
306
263
  computeVisibility(boundingVolume: BoundingVolume): VolumePlaneIntersect;
307
264
  computeVisibilityWithPlaneMask(boundingVolume: BoundingVolume, parentPlaneMask: number): number;
308
265
  }
@@ -315,19 +272,7 @@ export declare class CullingVolume {
315
272
  */
316
273
  export declare function defaultImageURLTransform(source: string, options: ImageURLOptions): string;
317
274
 
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
- }
275
+ export declare const defaultPbmParameters: PBMParameters;
331
276
 
332
277
  /**
333
278
  * Five 事件列表
@@ -371,6 +316,8 @@ export declare type EventTypes = Pick<ControllerEventTypes, typeof PROXY_CONTROL
371
316
  "model.changeShownFloor"(event: ModelEvent): void;
372
317
  /** 模型加载完成 */
373
318
  "models.load"(event: ModelsEvent): void;
319
+ /** 模型细化完成 */
320
+ "models.refined"(event: ModelsEvent): void;
374
321
  /** 渲染前 */
375
322
  "render.prepare"(event: RenderEvent): void;
376
323
  /** 渲染后 */
@@ -389,6 +336,14 @@ export declare type EventTypes = Pick<ControllerEventTypes, typeof PROXY_CONTROL
389
336
  "dispose"(): void;
390
337
  };
391
338
 
339
+ export declare class Fetcher {
340
+ private options;
341
+ constructor(options?: NetworkOptions);
342
+ ajax<T extends AjaxResponseType = "text">(source: string, options?: AjaxOptions<T>, onLoad?: NetworkSuccessCallback<AjaxResponseTypeMapping<T>>, onError?: NetworkErrorCallback, onProgress?: NetworkProgressCallback): Promise<NetworkResponse<AjaxResponseTypeMapping<T>>>;
343
+ loadImage<T extends HTMLImageElement = HTMLImageElement>(source: string, options?: NetworkOptions, onLoad?: NetworkSuccessCallback, onError?: NetworkErrorCallback, onProgress?: NetworkProgressCallback, target?: T): Promise<NetworkResponse<T>>;
344
+ preload(source: string, options?: NetworkOptions): Promise<void>;
345
+ }
346
+
392
347
  /**
393
348
  * 如视 VR Web展示器
394
349
  *
@@ -406,6 +361,8 @@ export declare class Five extends Subscribe<EventTypes> {
406
361
  static get version(): string;
407
362
  static get dracoPath(): string;
408
363
  static set dracoPath(path: string);
364
+ static get ktx2Path(): string;
365
+ static set ktx2Path(path: string);
409
366
  /**
410
367
  * Five 的显示模式,可以通过 `five.changeMode` `five.setState` 来切换
411
368
  * @description
@@ -414,7 +371,6 @@ export declare class Five extends Subscribe<EventTypes> {
414
371
  * Model 模型游走模式
415
372
  * Floorplan 模型查看模式
416
373
  * Topview 户型图模式
417
- * DepthPanorama 深度图游走模式
418
374
  * VRPanorama VR眼镜模式
419
375
  * XRPanorama VR硬件模式
420
376
  * ```
@@ -463,6 +419,7 @@ export declare class Five extends Subscribe<EventTypes> {
463
419
  /** 当前加载的模型 */
464
420
  models: Models;
465
421
  private lastModels;
422
+ private lastWorks?;
466
423
  /**
467
424
  * 是否需要渲染
468
425
  * @description
@@ -484,12 +441,6 @@ export declare class Five extends Subscribe<EventTypes> {
484
441
  * 平衡加载时间和图片质量
485
442
  */
486
443
  textureOptions: TextureOptions;
487
- /**
488
- * 模型lod的配置参数
489
- * @description
490
- * 可以配置加载模型lod的相关参数
491
- */
492
- modelLodOptions: ModelLodOptions;
493
444
  /**
494
445
  * 模型贴图的配置参数
495
446
  * @description
@@ -516,6 +467,10 @@ export declare class Five extends Subscribe<EventTypes> {
516
467
  * ```
517
468
  */
518
469
  state: State;
470
+ /**
471
+ * 模型坐标转换
472
+ */
473
+ coordinatesSystemTransformers: CoordinatesSystemTransformer[];
519
474
  info: null | {
520
475
  memory: {
521
476
  geometries: number;
@@ -541,6 +496,7 @@ export declare class Five extends Subscribe<EventTypes> {
541
496
  private modelGroup;
542
497
  private helperGroup;
543
498
  private modeChangeDuration;
499
+ private enableWheel;
544
500
  private onlyRenderIfNeeds;
545
501
  private poweredByRealsee;
546
502
  private controller?;
@@ -630,7 +586,7 @@ export declare class Five extends Subscribe<EventTypes> {
630
586
  */
631
587
  get enablePostProcessing(): boolean;
632
588
  set enablePostProcessing(enable: boolean);
633
- updateConfiguration(args: Pick<FiveInitArgs, "panorama" | "model" | "floorplan" | "topview" | "mapview" | "depthPanorama" | "vrPanorama" | "imageOptions" | "textureOptions">): void;
589
+ updateConfiguration(args: Pick<FiveInitArgs, "panorama" | "model" | "floorplan" | "topview" | "mapview" | "vrPanorama" | "imageOptions" | "textureOptions">, refresh?: boolean): void;
634
590
  /**
635
591
  * 将显示区域加载到页面 DOM 中
636
592
  * @description
@@ -680,7 +636,7 @@ export declare class Five extends Subscribe<EventTypes> {
680
636
  * @param userAction - 是否用户触发
681
637
  * @returns Promise 是否移动成功
682
638
  */
683
- updateCamera(pose: Partial<Omit<Pose, "offset">>, duration: number, userAction?: boolean): Promise<void>;
639
+ updateCamera(pose: Partial<Pose>, duration: number, userAction?: boolean): Promise<void>;
684
640
  /**
685
641
  * 通过帧动画移动相机。(不触发点位移动)
686
642
  * @description
@@ -691,7 +647,11 @@ export declare class Five extends Subscribe<EventTypes> {
691
647
  * @param userAction - 是否用户触发
692
648
  * @returns Promise 是否移动成功
693
649
  */
694
- updateCameraWithKeyframes(keyframes: MotionKeyframe<Exclude<keyof Pose, "offset">>[], duration: number, userAction?: boolean): Promise<void>;
650
+ updateCameraWithKeyframes(keyframes: {
651
+ progress: number;
652
+ value: Pose;
653
+ key?: string;
654
+ }[], duration: number, userAction?: boolean): Promise<void>;
695
655
  /**
696
656
  * 获取当前相机经纬度
697
657
  * @deprecated 请使用使用 getPose
@@ -722,19 +682,22 @@ export declare class Five extends Subscribe<EventTypes> {
722
682
  * - "inherit" 使用当前姿态
723
683
  * - "initial" 使用 Work 数据中的 initial 姿态
724
684
  * - State 自定义姿态
725
- * @param duration - 切换时间
685
+ * @param options - 切换时间, 切换效果
726
686
  */
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>;
687
+ 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
688
  private load_;
729
689
  /**
730
690
  * 切换模态
731
691
  * @param mode - 切换到的模态
732
692
  * @param state - 切换完成时的姿态
733
- * @param duration - 模态切换动画用时
693
+ * @param options - 模态切换动画用时
734
694
  * @param userAction - 是否时用户动作触发 默认 true
735
695
  * @param force - 必须重新初始化 controller
736
696
  */
737
- changeMode<T extends Mode>(mode: T, state?: Partial<Omit<State, "mode">>, duration?: number, userAction?: boolean, force?: boolean): Promise<void>;
697
+ changeMode<T extends Mode>(mode: T, state?: Partial<Omit<State, "mode">>, options?: number | {
698
+ duration?: number;
699
+ effect?: MovePanoEffect;
700
+ }, userAction?: boolean, force?: boolean): Promise<void>;
738
701
  /**
739
702
  * 获取画面中的像素颜色
740
703
  * @param x - 获取像素区域的起始坐标 x
@@ -953,6 +916,10 @@ export declare interface FiveInitArgs {
953
916
  * 给予更多外部操作的空间。
954
917
  */
955
918
  videoInstance?: HTMLVideoElement;
919
+ /**
920
+ * 模型坐标转换
921
+ */
922
+ coordinatesSystemTransformers?: CoordinatesSystemTransformer[];
956
923
  /** 全景图游走模式下的特定参数 */
957
924
  panorama?: ControllerCustomInitTypes["Panorama"];
958
925
  /** 模型游走模式下的特定参数 */
@@ -963,8 +930,6 @@ export declare interface FiveInitArgs {
963
930
  topview?: ControllerCustomInitTypes["Topview"];
964
931
  /** 地图模式下的特定参数 */
965
932
  mapview?: ControllerCustomInitTypes["Mapview"];
966
- /** 深度图游走模式下的特定参数 */
967
- depthPanorama?: ControllerCustomInitTypes["DepthPanorama"];
968
933
  /** VR眼镜模式下的特定参数 */
969
934
  vrPanorama?: ControllerCustomInitTypes["VRPanorama"];
970
935
  /** XR眼镜模式下的特定参数 */
@@ -976,6 +941,10 @@ export declare interface FiveInitArgs {
976
941
  * @default `800`
977
942
  */
978
943
  modeChangeDuration?: number;
944
+ /**
945
+ * 是否支持滚轮
946
+ */
947
+ enableWheel?: boolean;
979
948
  /**
980
949
  * 插件定义
981
950
  * @description
@@ -990,21 +959,64 @@ export declare interface FiveInitArgs {
990
959
  * 是否使用webgl2渲染执行环境, 默认值 false
991
960
  */
992
961
  webgl2?: boolean;
993
- /**
994
- * 是否开启模型裁切
995
- */
996
- localClippingEnabled?: boolean;
997
962
  /**
998
963
  * 请求代理
999
964
  * @param url - 发起的请求
1000
965
  * @returns 返回的请求
1001
966
  */
1002
967
  requestProxy?(url: string): string | Promise<string>;
968
+ }
969
+
970
+ export declare interface FiveLoadOptions {
971
+ /** 切换运动时间 */
972
+ duration?: number;
973
+ /** 切换运动全景图效果 */
974
+ effect?: MovePanoEffect;
975
+ /** 全景图游走模式下的特定参数 */
976
+ panorama?: ControllerCustomInitTypes["Panorama"];
977
+ /** 模型游走模式下的特定参数 */
978
+ model?: ControllerCustomInitTypes["Model"];
979
+ /** 模型查看模式下的特定参数 */
980
+ floorplan?: ControllerCustomInitTypes["Floorplan"];
981
+ /** 户型图模式下的特定参数 */
982
+ topview?: ControllerCustomInitTypes["Topview"];
983
+ /** 地图模式下的特定参数 */
984
+ mapview?: ControllerCustomInitTypes["Mapview"];
985
+ /** VR眼镜模式下的特定参数 */
986
+ vrPanorama?: ControllerCustomInitTypes["VRPanorama"];
987
+ /** XR眼镜模式下的特定参数 */
988
+ xrPanorama?: ControllerCustomInitTypes["XRPanorama"];
989
+ /**
990
+ * 全景图的配置参数
991
+ * @description
992
+ * 可以动态对配置在 `work` 数据中的全景图片在 runtime 做 url 调整。
993
+ * 平衡加载时间和图片质量
994
+ */
995
+ imageOptions?: ImageOptions;
1003
996
  /**
1004
- * 模型lod相关的配置,maxDepth为加载的最大深度
997
+ * 模型贴图的配置参数
998
+ * @description
999
+ * 可以动态对配置在 `work` 数据中的模型贴图在 runtime 做 url 调整。
1000
+ * 平衡加载时间和图片质量
1005
1001
  */
1006
- modelLod?: {
1007
- maxDepth?: number;
1002
+ textureOptions?: TextureOptions;
1003
+ "3d-tiles"?: {
1004
+ /** 调试模式 */
1005
+ debug?: boolean;
1006
+ /** 显示图层 */
1007
+ showLayers?: boolean | string[];
1008
+ /** 可观测区域 */
1009
+ viewerRequestVolume?: BoundingVolume;
1010
+ /** 模型显示最小细化层级 */
1011
+ minLevelOfDetail?: number;
1012
+ /** 模型显示最大细化层级 */
1013
+ maxLevelOfDetail?: number;
1014
+ /** 模型最大内存缓存 */
1015
+ maxMemoryUsage?: number;
1016
+ /** 模型网络最大请求并发数 */
1017
+ maxRequests?: number;
1018
+ /** 模型屏幕空间误差计算最大值 */
1019
+ maxScreenSpaceError?: number;
1008
1020
  };
1009
1021
  }
1010
1022
 
@@ -1036,6 +1048,8 @@ parameters: Parameters<T>[1]
1036
1048
  export declare type FivePluginInstance<T extends FivePlugin<any, any>> = ReturnType<T>;
1037
1049
 
1038
1050
  export declare interface FloorplanControllerCustomInitArgs {
1051
+ /** 默认水平角 */
1052
+ defaultLongitude?: number;
1039
1053
  /** 默认俯仰角 */
1040
1054
  defaultLatitude?: number;
1041
1055
  /** 最大俯仰角 */
@@ -1108,8 +1122,9 @@ export declare interface ImageOptions {
1108
1122
  }
1109
1123
 
1110
1124
  export declare function imageSupport(): Promise<{
1111
- avif: boolean;
1112
1125
  webp: boolean;
1126
+ avif: boolean;
1127
+ heif: boolean;
1113
1128
  }>;
1114
1129
 
1115
1130
  export declare interface ImageURLMappings {
@@ -1141,8 +1156,10 @@ export declare interface ImageURLOptions {
1141
1156
  }
1142
1157
 
1143
1158
  export declare class InternalWebGLRenderer extends THREE_2.WebGLRenderer {
1144
- constructor({ preserveDrawingBuffer, backgroundColor, backgroundAlpha, pixelRatio, antialias, webgl2, }: {
1159
+ constructor({ preserveDrawingBuffer, premultipliedAlpha, stencil, backgroundColor, backgroundAlpha, pixelRatio, antialias, webgl2, }: {
1145
1160
  preserveDrawingBuffer?: boolean;
1161
+ premultipliedAlpha?: boolean;
1162
+ stencil?: boolean;
1146
1163
  backgroundColor?: number | THREE_2.Color;
1147
1164
  backgroundAlpha?: number;
1148
1165
  pixelRatio?: number;
@@ -1157,15 +1174,9 @@ export declare interface IntersectEvent extends BaseEvent {
1157
1174
  intersection: Intersection | null;
1158
1175
  }
1159
1176
 
1160
- export declare interface Intersection {
1161
- /** 焦点坐标 */
1162
- point: THREE.Vector3;
1163
- /** 焦点面片 */
1164
- face?: {
1165
- normal: THREE.Vector3;
1166
- } | null;
1167
- /** 焦点距离 */
1168
- distance: number;
1177
+ export declare interface Intersection extends THREE_2.Intersection {
1178
+ /** 楼层 */
1179
+ floor: number;
1169
1180
  }
1170
1181
 
1171
1182
  export declare class IntersectMesh extends THREE_2.Object3D implements IntersectMeshInterface {
@@ -1488,8 +1499,8 @@ export declare type LegacyEventType = {
1488
1499
  * xr控制器的控制器射线更新
1489
1500
  */
1490
1501
  webXRControllerRayUpdate(raycaster: {
1491
- leftRay: THREE_2.Raycaster;
1492
- rightRay: THREE_2.Raycaster;
1502
+ leftRay?: THREE_2.Raycaster;
1503
+ rightRay?: THREE_2.Raycaster;
1493
1504
  }): void;
1494
1505
  /**
1495
1506
  * 准备加载 Work 数据
@@ -1589,6 +1600,42 @@ export declare type LegacyEventType = {
1589
1600
  network(source: string, type: NetworkType, state: NetworkState, detail: string): void;
1590
1601
  };
1591
1602
 
1603
+ export declare function loadAt3d(url: string, options: {
1604
+ textureOptions?: TextureOptions;
1605
+ textureBaseUri?: string;
1606
+ textureArray?: string[];
1607
+ fetcher: Fetcher;
1608
+ }): Promise<ParsedResultType>;
1609
+
1610
+ export declare function loadB3dm(url: string, options: {
1611
+ upAxis: 'X' | 'Y' | 'Z';
1612
+ fetcher: Fetcher;
1613
+ }): Promise<ParsedResultType>;
1614
+
1615
+ export declare function loadDome(url: string, options: {
1616
+ textureOptions: TextureOptions;
1617
+ textureBaseUri?: string;
1618
+ fetcher: Fetcher;
1619
+ }): Promise<ParsedResultType>;
1620
+
1621
+ export declare function loadDomez(url: string, options: {
1622
+ textureOptions: TextureOptions;
1623
+ textureBaseUri?: string;
1624
+ fetcher: Fetcher;
1625
+ }): Promise<ParsedResultType>;
1626
+
1627
+ export declare function loadPbm(url: string, options: {
1628
+ textureOptions?: TextureOptions;
1629
+ textureBaseUri?: string;
1630
+ textureArray?: string[];
1631
+ fetcher: Fetcher;
1632
+ }): Promise<ParsedResultType>;
1633
+
1634
+ export declare function loadPnts(url: string, options: {
1635
+ fetcher: Fetcher;
1636
+ computeBoundingBox?: boolean;
1637
+ }): Promise<ParsedResultType>;
1638
+
1592
1639
  export declare type LooseWork = {
1593
1640
  work_code?: string;
1594
1641
  code?: string;
@@ -1671,6 +1718,7 @@ export declare type LooseWorkPanorama = {
1671
1718
  back: string;
1672
1719
  };
1673
1720
  tiles?: number[];
1721
+ tile_size?: number[];
1674
1722
  };
1675
1723
 
1676
1724
  export declare type LooseWorkVideo = {
@@ -1679,24 +1727,14 @@ export declare type LooseWorkVideo = {
1679
1727
  size: number[];
1680
1728
  };
1681
1729
 
1682
- export declare type LooseWorkWithExtrinsics = {
1730
+ export declare type LooseWorkWithExtrinsics = ParseWorkOptions & {
1731
+ /** work 数据 */
1683
1732
  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
1733
  };
1698
1734
 
1699
1735
  export declare interface MapviewControllerCustomInitArgs {
1736
+ /** 默认水平角 */
1737
+ defaultLongitude?: number;
1700
1738
  /** 默认俯仰角 */
1701
1739
  defaultLatitude?: number;
1702
1740
  /** 默认相机距离 */
@@ -1705,6 +1743,8 @@ export declare interface MapviewControllerCustomInitArgs {
1705
1743
  maxLatitude?: number;
1706
1744
  /** 最小俯仰角 */
1707
1745
  minLatitude?: number;
1746
+ /** cameraType */
1747
+ cameraType?: "perspective" | "orthographic" | "auto";
1708
1748
  /** 鼠标焦点环自定义创建器 */
1709
1749
  intersectMeshCreator?: () => IntersectMeshInterface;
1710
1750
  }
@@ -1718,7 +1758,6 @@ export declare type Mirror<T extends string> = Record<T, T>;
1718
1758
  * - **Floorplan**: 模型查看模式
1719
1759
  * - **Topview**: 户型图模式
1720
1760
  * - **Mapview**: 地图模式
1721
- * - **DepthPanorama**: 深度图游走模式
1722
1761
  * - **VRPanorama**: VR眼镜模式
1723
1762
  */
1724
1763
  export declare type Mode =
@@ -1734,8 +1773,6 @@ export declare type Mode =
1734
1773
  "VRPanorama" |
1735
1774
  /** 模型游走模式 */
1736
1775
  "Model" |
1737
- /** 深度图游走模式 */
1738
- "DepthPanorama" |
1739
1776
  /** XR眼镜模式*/
1740
1777
  "XRPanorama";
1741
1778
 
@@ -1756,13 +1793,7 @@ export declare class Model extends THREE_2.Object3D {
1756
1793
  /** work */
1757
1794
  work: Work | null;
1758
1795
  /** 模型的不同图层 */
1759
- viewLayers: {
1760
- name: string;
1761
- type: string;
1762
- upAxis: string;
1763
- coordinates: string;
1764
- scene: Tile3DModel;
1765
- }[];
1796
+ viewLayers: ModelViewLayer[];
1766
1797
  onError: (error: Error) => void;
1767
1798
  onShownFloorChange: (floorIndex: number | null) => void;
1768
1799
  onLoad: () => void;
@@ -1772,37 +1803,43 @@ export declare class Model extends THREE_2.Object3D {
1772
1803
  floorLength: number;
1773
1804
  /** 材质贴图参数 */
1774
1805
  textureOptions: TextureOptions;
1806
+ autoRefine: boolean;
1775
1807
  /** 模型是否已经细化 */
1776
1808
  refined: boolean;
1809
+ /** 模型细化进度 */
1810
+ refineProgress: [number, number];
1777
1811
  /** 模型已经加载 */
1778
1812
  loaded: boolean;
1779
- /** 当前样式参数 */
1780
- materialVersion: string;
1781
- private _materialValues;
1782
- private _materialVersionMap;
1783
- private _floorIndex;
1784
- private _clippers;
1785
- /** 样式缓存 */
1786
- private cache;
1813
+ /** 是否更新 */
1787
1814
  needsRender: boolean;
1815
+ coordinatesSystemTransformers: CoordinatesSystemTransformer[];
1816
+ /** 缓存相机 */
1817
+ cacheCameras: (THREE_2.PerspectiveCamera | Camera)[];
1818
+ /** 当前样式参数 */
1819
+ materialVersion: number;
1820
+ private materialParameters;
1788
1821
  private disposed;
1789
1822
  constructor(options?: {
1823
+ coordinatesSystemTransformers?: CoordinatesSystemTransformer[];
1790
1824
  onError?: (error: Error) => void;
1791
1825
  onShownFloorChange?: (floorIndex: number | null) => void;
1792
1826
  onLoad?: () => void;
1793
1827
  });
1794
1828
  get empty(): boolean;
1795
1829
  /** 获取材质参数 */
1796
- getMaterial(): ModelMaterialValues;
1830
+ getMaterial(): PBMParameters;
1797
1831
  /** 设置材质参数 */
1798
- setMaterial(values: Partial<ModelMaterialValues>): void;
1832
+ setMaterial(values: Partial<PBMParameters>): void;
1833
+ /**
1834
+ * 当前显示的楼层
1835
+ */
1836
+ get shownFloorIndex(): PBMParameters['shownFloorIndex'];
1837
+ set shownFloorIndex(floorIndex: PBMParameters['shownFloorIndex']);
1799
1838
  /**
1800
1839
  * 当前显示的楼层
1801
1840
  */
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);
1841
+ get shownFloor(): number | null;
1842
+ set shownFloor(floor: number | null);
1806
1843
  /**
1807
1844
  * 显示某楼层
1808
1845
  * @example
@@ -1811,7 +1848,7 @@ export declare class Model extends THREE_2.Object3D {
1811
1848
  * model.show(1) //显示第一楼层
1812
1849
  * ```
1813
1850
  */
1814
- show(floorIndex?: PBMParameters['floorIndex'] | null): void;
1851
+ show(floor?: number | null): void;
1815
1852
  /**
1816
1853
  * 裁切
1817
1854
  */
@@ -1830,16 +1867,32 @@ export declare class Model extends THREE_2.Object3D {
1830
1867
  * @param floors - 和某一楼层做碰撞检测, 不传为和所有楼层做碰撞检测
1831
1868
  * @returns 返回碰撞
1832
1869
  */
1833
- intersectRaycaster(raycaster: THREE_2.Raycaster): Intersection[];
1870
+ intersectRaycaster(raycaster: THREE_2.Raycaster, floor?: undefined | null | number, sortByDistance?: boolean): Intersection[];
1834
1871
  /**
1835
1872
  * 加载模型
1836
1873
  * @param work - work 的
1837
1874
  * @param imageOptions - 图片参数
1838
1875
  */
1839
1876
  load(work: Work, options?: {
1840
- networkSubscribe?: NetworkSubscribe;
1841
- requestProxy?: (url: string) => string | Promise<string>;
1842
1877
  textureOptions?: TextureOptions;
1878
+ "3d-tiles"?: {
1879
+ /** 调试模式 */
1880
+ debug?: boolean;
1881
+ /** 显示图层 */
1882
+ showLayers?: boolean | string[];
1883
+ /** 可观测区域 */
1884
+ viewerRequestVolume?: BoundingVolume;
1885
+ /** 模型显示最小细化层级 */
1886
+ minLevelOfDetail?: number;
1887
+ /** 模型显示最大细化层级 */
1888
+ maxLevelOfDetail?: number;
1889
+ /** 模型最大内存缓存 */
1890
+ maxMemoryUsage?: number;
1891
+ /** 模型网络最大请求并发数 */
1892
+ maxRequests?: number;
1893
+ /** 模型屏幕空间误差计算最大值 */
1894
+ maxScreenSpaceError?: number;
1895
+ };
1843
1896
  }): Promise<void>;
1844
1897
  update(renderer: THREE_2.WebGLRenderer, camera: Camera, mode: Mode): void;
1845
1898
  /**
@@ -1859,21 +1912,35 @@ export declare interface ModelEvent extends BaseEvent {
1859
1912
  error: Error | null;
1860
1913
  }
1861
1914
 
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'>;
1915
+ export declare type ModelMaterialValues = Omit<PBMParameters, 'clippers' | 'shownFloorIndex'>;
1867
1916
 
1868
1917
  export declare type Models = Model[] & {
1869
1918
  needsRender: boolean;
1919
+ /** 包围盒 */
1870
1920
  bounding: THREE_2.Box3;
1921
+ /** 是否家在完成 */
1871
1922
  loaded: boolean;
1923
+ /** 是否细化完成 */
1872
1924
  refined: boolean;
1873
- materialVersion: string;
1925
+ /** 细化成都 */
1926
+ refineProgress: [number, number];
1927
+ materialVersion: number;
1928
+ /** 缓存相机 */
1929
+ cacheCameras: (THREE_2.PerspectiveCamera | Camera)[];
1930
+ /** 是否自动更新模型 */
1931
+ autoUpdate: boolean;
1932
+ /**
1933
+ * 计算模型射线碰撞检测
1934
+ * @param raycaster - THREE 射线对象
1935
+ * @param floors - 和某一楼层做碰撞检测, 不传为和所有楼层做碰撞检测
1936
+ * @returns 返回碰撞
1937
+ */
1874
1938
  intersectRaycaster(raycaster: THREE_2.Raycaster): Intersection[];
1939
+ /** 设置材质参数 */
1875
1940
  setMaterial(values: Partial<ModelMaterialValues>): void;
1941
+ /** 获取材质参数 */
1876
1942
  getMaterial(): ModelMaterialValues;
1943
+ /** 更新模型 */
1877
1944
  update(renderer: THREE_2.WebGLRenderer, camera: Camera, mode: Mode): void;
1878
1945
  };
1879
1946
 
@@ -1881,6 +1948,29 @@ export declare interface ModelsEvent extends BaseEvent {
1881
1948
  models: Models;
1882
1949
  }
1883
1950
 
1951
+ export declare class ModelViewLayer {
1952
+ readonly name: WorkModel['layers'][number]['name'];
1953
+ readonly type: WorkModel['layers'][number]['type'];
1954
+ readonly upAxis: WorkModel['layers'][number]['upAxis'];
1955
+ readonly worldToLocalTransform: THREE_2.Matrix4;
1956
+ readonly scene: Tile3DModel | null;
1957
+ readonly error: Error | null;
1958
+ constructor(name: WorkModel['layers'][number]['name'], type: WorkModel['layers'][number]['type'], upAxis: WorkModel['layers'][number]['upAxis'], worldToLocalTransform: THREE_2.Matrix4, scene: Tile3DModel | null, error: Error | null);
1959
+ get tileset(): Tileset;
1960
+ get coordinates(): string;
1961
+ getTransformMatrix4(target?: THREE_2.Matrix4): THREE_2.Matrix4;
1962
+ coordinatesToWorldPoint(coordinates: {
1963
+ longitude: number;
1964
+ latitude: number;
1965
+ altitude: number;
1966
+ }): THREE_2.Vector3;
1967
+ worldPointToCoordinates(point: THREE_2.Vector3): {
1968
+ longitude: number;
1969
+ latitude: number;
1970
+ altitude: number;
1971
+ };
1972
+ }
1973
+
1884
1974
  export declare interface MotionKeyframe<K extends string> {
1885
1975
  progress: number;
1886
1976
  value: MotionValue<K>;
@@ -1889,21 +1979,25 @@ export declare interface MotionKeyframe<K extends string> {
1889
1979
 
1890
1980
  export declare type MotionValue<K extends string> = Record<K, number>;
1891
1981
 
1982
+ /**
1983
+ * 动画模式
1984
+ * @description
1985
+ * - `fly` 通过相机移动方式变化
1986
+ * - `instant` 直接变化
1987
+ * - `fade` 通过渐变方式变化
1988
+ * - `montage` 通过渐变穿插到黑屏方式变化
1989
+ * - `spread` 通过扩散方式变化
1990
+ */
1991
+ export declare type MovePanoEffect = "fly" | "instant" | "fade" | "montage" | "spread";
1992
+
1892
1993
  /**
1893
1994
  * 点位移动参数
1894
1995
  */
1895
1996
  export declare interface MovePanoOptions extends Partial<Omit<State, "offset" | 'distance' | 'mode'>> {
1896
- /** 是否通过初始化参数限制 fov, latitude */
1897
- limit?: boolean;
1898
1997
  /**
1899
1998
  * 动画模式
1900
- * @description
1901
- * - `fly` 通过相机移动方式变化
1902
- * - `fade` 通过渐变方式变化
1903
- * - `montage` 通过渐变穿插到黑屏方式变化
1904
- * - `instant` 通过插入黑屏方式变化
1905
1999
  */
1906
- effect?: "fly" | "fade" | "montage" | "instant";
2000
+ effect?: MovePanoEffect;
1907
2001
  /**
1908
2002
  * 运动耗时
1909
2003
  * @description
@@ -1912,8 +2006,6 @@ export declare interface MovePanoOptions extends Partial<Omit<State, "offset" |
1912
2006
  * - `不传或者null` 通过距离和速度(速度为five初始化设置)
1913
2007
  */
1914
2008
  duration?: number | ((distance: number, speed: number) => number) | string | null;
1915
- /** 运动曲线函数 */
1916
- easing?: (k: number) => number;
1917
2009
  /** 运动开始回调 */
1918
2010
  moveStartCallback?: (toState: State) => void;
1919
2011
  /** 运动结束回调 */
@@ -1929,6 +2021,18 @@ export declare interface MovePanoOptions extends Partial<Omit<State, "offset" |
1929
2021
  moveCancelCallback?: () => void;
1930
2022
  }
1931
2023
 
2024
+ export declare class NetworkAbortError extends Error {
2025
+ constructor(source: string, type: NetworkType);
2026
+ }
2027
+
2028
+ export declare type NetworkError = NetworkResponseError | NetworkAbortError | NetworkTimeoutError | NetworkFirbiddenError;
2029
+
2030
+ export declare type NetworkErrorCallback = (error: NetworkError) => void;
2031
+
2032
+ export declare class NetworkFirbiddenError extends Error {
2033
+ constructor(source: string, type: NetworkType, reason: string);
2034
+ }
2035
+
1932
2036
  export declare type NetWorkMeta = {
1933
2037
  origin: string;
1934
2038
  source: string;
@@ -1952,6 +2056,8 @@ export declare interface NetworkOptions {
1952
2056
  allowHosts?: string[];
1953
2057
  }
1954
2058
 
2059
+ export declare type NetworkProgressCallback = (percent: number) => void;
2060
+
1955
2061
  export declare interface NetworkResourceEvent extends BaseEvent {
1956
2062
  source: string;
1957
2063
  requestType: NetworkType;
@@ -1964,6 +2070,11 @@ export declare type NetworkResponse<T = any, E extends NetWorkMeta | NetWorkMeta
1964
2070
  meta: E;
1965
2071
  };
1966
2072
 
2073
+ export declare class NetworkResponseError extends Error {
2074
+ httpStatus: number;
2075
+ constructor(source: string, type: NetworkType, status: number);
2076
+ }
2077
+
1967
2078
  export declare type NetworkState = "ok" | "preload" | "error" | "proxy-error" | "timeout" | "forbidden";
1968
2079
 
1969
2080
  export declare class NetworkSubscribe extends Subscribe<{
@@ -1971,6 +2082,12 @@ export declare class NetworkSubscribe extends Subscribe<{
1971
2082
  }> {
1972
2083
  }
1973
2084
 
2085
+ export declare type NetworkSuccessCallback<T = any> = (response: NetworkResponse<T>) => void;
2086
+
2087
+ export declare class NetworkTimeoutError extends Error {
2088
+ constructor(source: string, type: NetworkType, timeout: number);
2089
+ }
2090
+
1974
2091
  export declare type NetworkType = "XMLHttpRequest" | "Script" | "Image" | "Link";
1975
2092
 
1976
2093
  export declare interface ObjectEvent extends BaseEvent {
@@ -2186,6 +2303,14 @@ export declare interface PanoTextureEvent extends BaseEvent {
2186
2303
  error: Error | null;
2187
2304
  }
2188
2305
 
2306
+ export declare type ParsedResultType = {
2307
+ type: 'b3dm' | 'pnts' | 'at3d' | 'pbm' | 'dome' | 'domez' | 'glb';
2308
+ byteLength: number;
2309
+ uri: string;
2310
+ object: THREE_2.Object3D;
2311
+ dispose: () => void;
2312
+ };
2313
+
2189
2314
  /**
2190
2315
  * 解析 Work 数据
2191
2316
  * @param obj - work 数据,从如数开发者平台获取
@@ -2195,6 +2320,8 @@ export declare interface PanoTextureEvent extends BaseEvent {
2195
2320
  export declare function parseWork(obj: Work | LooseWork | string | any, options?: ParseWorkOptions): Work;
2196
2321
 
2197
2322
  export declare type ParseWorkOptions = {
2323
+ /** 位姿 */
2324
+ transform?: THREE_2.Matrix4 | number[];
2198
2325
  /** 重置 WorkCode */
2199
2326
  workCode?: string | ((input: any) => string);
2200
2327
  /** 重写资源前缀 */
@@ -2203,20 +2330,12 @@ export declare type ParseWorkOptions = {
2203
2330
  shortPath?: boolean;
2204
2331
  /** 资源使用 jsonp 方式发布 */
2205
2332
  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;
2333
+ traverseResource?: (resource: {
2334
+ origin: string;
2335
+ absolute: string;
2336
+ relative: string;
2337
+ type: "panorama" | "texture" | "model";
2338
+ }) => void;
2220
2339
  };
2221
2340
 
2222
2341
  /** PBM 模型组 */
@@ -2226,87 +2345,73 @@ export declare class PBMContainer extends THREE_2.Group {
2226
2345
  needsRender: boolean;
2227
2346
  /** 当前样式参数 */
2228
2347
  materialParameters: PBMParameters;
2229
- cache: PBMMaterialReferenceCache;
2230
2348
  constructor();
2231
2349
  /** 获取材质参数 */
2232
2350
  getMaterial(): PBMParameters;
2233
2351
  /** 设置材质参数 */
2234
2352
  setMaterial(parameters: Partial<PBMParameters>): void;
2235
- update(renderer: THREE_2.WebGLRenderer, camera: Camera): void;
2236
- /** 析构材质 */
2237
- dispose(): void;
2238
2353
  }
2239
2354
 
2240
2355
  /** PBM 模型组 */
2241
2356
  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
2357
  }
2257
2358
 
2258
2359
  /** PBM 对象 */
2259
2360
  export declare class PBMMesh extends THREE_2.Mesh<THREE_2.BufferGeometry, PBMMeshMaterial[]> {
2260
- /** 是否需要更新按需渲染 */
2261
- needsRender: boolean;
2361
+ model?: Model;
2362
+ constructor(geometry: THREE_2.BufferGeometry, materials: PBMMeshMaterial[]);
2262
2363
  }
2263
2364
 
2264
2365
  /** PBM 材质 */
2265
2366
  export declare class PBMMeshMaterial extends THREE_2.ShaderMaterial implements PBMParameters {
2266
2367
  /** 更新版本 */
2267
- pbmMaterialParametersVersion: number;
2368
+ syncModelVersion?: string;
2268
2369
  /** 起始点 */
2269
- pano0: PBMPanoPicture | null;
2370
+ pano0: PBMParameters['pano0'];
2270
2371
  /** 结束点 */
2271
- pano1: PBMPanoPicture | null;
2372
+ pano1: PBMParameters['pano1'];
2272
2373
  /** 模型贴图和全景图的混合程度 [0-1] */
2273
- modelAlpha: number;
2374
+ modelAlpha: PBMParameters['modelAlpha'];
2274
2375
  /** 全景图混合程度 [0-1] */
2275
- progress: number;
2276
- /** 全景图通过过度黑色混合 */
2277
- useBlackTransition: boolean;
2376
+ progress: PBMParameters['progress'];
2377
+ /** 全景图过度混合 */
2378
+ transition: PBMParameters['transition'];
2278
2379
  /** 模型透明度 */
2279
- opacity: number;
2380
+ opacity: PBMParameters['opacity'];
2280
2381
  /** 模型颜色*/
2281
- constantColor: THREE_2.Vector3 | null;
2382
+ constantColor: PBMParameters['constantColor'];
2282
2383
  /** 楼层参数*/
2283
- floorIndex: number;
2384
+ shownFloorIndex: PBMParameters['shownFloorIndex'];
2284
2385
  /** 对外模型裁切参数*/
2285
- clippers: ClipperParameter[] | null;
2386
+ clippers: PBMParameters['clippers'];
2286
2387
  /** edl*/
2287
- useEDL: boolean;
2388
+ useEDL: PBMParameters['useEDL'];
2288
2389
  /** hq*/
2289
- useHQWeight: boolean;
2390
+ useHQWeight: PBMParameters['useHQWeight'];
2290
2391
  /** HQDepthMask*/
2291
- useHQDepth: boolean;
2392
+ useHQDepth: PBMParameters['useHQDepth'];
2292
2393
  /** 点云着色方式*/
2293
- pointColorType: PBMPointColorType;
2394
+ pointColor: PBMParameters['pointColor'];
2294
2395
  /** 点云大小绘制方式*/
2295
- pointSizeType: PBMPointSizeType;
2396
+ pointSize: PBMParameters['pointSize'];
2296
2397
  /** 点云形状*/
2297
- pointShape: PBMPointShapeType;
2398
+ pointShape: PBMParameters['pointShape'];
2298
2399
  /** 点云基础大小*/
2299
- pointSize: number;
2300
- /** 自适应点云大小因子*/
2301
- pointSizeAdaptiveScale: number;
2302
- /** 点云最大尺寸*/
2303
- pointMinSize: number;
2304
- /** 点云最小尺寸*/
2305
- pointMaxSize: number;
2400
+ pointScale: PBMParameters['pointScale'];
2401
+ /** 点云背面绘制方式*/
2402
+ pointBack: PBMParameters['pointBack'];
2403
+ /** 点云像素最小值*/
2404
+ pointMinPixel: PBMParameters['pointMinPixel'];
2405
+ /** 点云像素最大值*/
2406
+ pointMaxPixel: PBMParameters['pointMaxPixel'];
2306
2407
  /** 高程彩色图*/
2307
- gradientTexture: THREE_2.Texture | null;
2408
+ gradientTexture: PBMParameters['gradientTexture'];
2409
+ /** 所属楼层*/
2410
+ floor: number;
2308
2411
  constructor(parameters?: Partial<PBMParameters>);
2309
- update(renderer: THREE_2.WebGLRenderer, camera: Camera, cache: PBMMaterialReferenceCache): void;
2412
+ onBeforeCompile(shader: THREE_2.Shader, renderer: THREE_2.WebGLRenderer): void;
2413
+ update(renderer: THREE_2.WebGLRenderer, camera: THREE_2.Camera): void;
2414
+ syncModel(model: Model): void;
2310
2415
  }
2311
2416
 
2312
2417
  export declare interface PBMPanoPicture {
@@ -2328,12 +2433,12 @@ export declare interface PBMParameters {
2328
2433
  modelAlpha: number;
2329
2434
  /** 全景图混合程度 [0-1] */
2330
2435
  progress: number;
2331
- /** 全景图通过过度黑色混合 */
2332
- useBlackTransition: boolean;
2436
+ /** 全景图过度混合 */
2437
+ transition: 'BLACK' | 'SPREAD' | 'FADE';
2333
2438
  /** 模型透明度 */
2334
2439
  opacity: number;
2335
2440
  /** 楼层参数*/
2336
- floorIndex: number;
2441
+ shownFloorIndex: number;
2337
2442
  /** 模型裁切参数(工程侧调用)*/
2338
2443
  clippers: ClipperParameter[] | null;
2339
2444
  /** 模型颜色*/
@@ -2345,38 +2450,23 @@ export declare interface PBMParameters {
2345
2450
  /** 是否使用HQ_DEPTH_MASK*/
2346
2451
  useHQDepth: boolean;
2347
2452
  /** 点云形状*/
2348
- pointShape: PBMPointShapeType;
2453
+ pointShape: 'SQUARE' | 'CIRCLE';
2349
2454
  /** 点云着色方式*/
2350
- pointColorType: PBMPointColorType;
2455
+ pointColor: 'RGB' | 'ALTITUDE';
2351
2456
  /** 点云大小绘制方式*/
2352
- pointSizeType: PBMPointSizeType;
2457
+ pointSize: 'FIXED' | 'ATTENUATION' | 'GEOMETRIC';
2458
+ /** 点云背面绘制方式*/
2459
+ pointBack: 'VISIBLE' | 'HIDDEN' | 'DARK';
2353
2460
  /** 点云基础大小*/
2354
- pointSize: number;
2461
+ pointScale: number;
2355
2462
  /** 点云最大尺寸*/
2356
- pointMinSize: number;
2463
+ pointMinPixel: number;
2357
2464
  /** 点云最小尺寸*/
2358
- pointMaxSize: number;
2359
- /** 自适应点云尺寸因子*/
2360
- pointSizeAdaptiveScale: number;
2465
+ pointMaxPixel: number;
2361
2466
  /** 高程彩色图*/
2362
2467
  gradientTexture: THREE_2.Texture | null;
2363
2468
  }
2364
2469
 
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
2470
  /**
2381
2471
  * 相机位姿
2382
2472
  * [[include: coordinate.md]]
@@ -2396,7 +2486,7 @@ export declare interface Pose {
2396
2486
 
2397
2487
  export declare type PostProcessingType = 'edl' | 'hq' | 'luminance' | null;
2398
2488
 
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"];
2489
+ 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
2490
 
2401
2491
  export declare class RegionBoundingVolume implements BoundingVolume {
2402
2492
  type: "regin";
@@ -2415,8 +2505,9 @@ export declare class RegionBoundingVolume implements BoundingVolume {
2415
2505
  toGeometry(): THREE_2.BufferGeometry;
2416
2506
  applyMatrix4(matrix: THREE_2.Matrix4): this;
2417
2507
  getCenter(result: THREE_2.Vector3): THREE_2.Vector3;
2418
- distanceTo(point: THREE_2.Vector3): number;
2419
- distanceSquaredTo(point: THREE_2.Vector3): number;
2508
+ distanceToPoint(point: THREE_2.Vector3): number;
2509
+ distanceSquaredToPoint(point: THREE_2.Vector3): number;
2510
+ distanceToPlane(plane: THREE_2.Plane): number;
2420
2511
  intersectPlane(plane: THREE_2.Plane): VolumePlaneIntersect;
2421
2512
  intersectRay(ray: THREE_2.Ray): boolean;
2422
2513
  }
@@ -2520,10 +2611,11 @@ export declare class SphereBoundingVolume implements BoundingVolume {
2520
2611
  toGeometry(): THREE_2.BufferGeometry;
2521
2612
  applyMatrix4(matrix: THREE_2.Matrix4): this;
2522
2613
  getCenter(result: THREE_2.Vector3): THREE_2.Vector3;
2523
- distanceSquaredTo(point: THREE_2.Vector3): number;
2524
- distanceTo(point: THREE_2.Vector3): number;
2614
+ distanceSquaredToPoint(point: THREE_2.Vector3): number;
2615
+ distanceToPoint(point: THREE_2.Vector3): number;
2616
+ distanceToPlane(plane: THREE_2.Plane): number;
2525
2617
  intersectPlane(plane: THREE_2.Plane): VolumePlaneIntersect;
2526
- intersectRay(ray: THREE_2.Ray): boolean;
2618
+ intersectRay(ray: THREE_2.Ray, far?: number): boolean;
2527
2619
  }
2528
2620
 
2529
2621
  export declare type SphereBoundingVolumeJson = {
@@ -2642,7 +2734,7 @@ export declare namespace SubscribeMixinType {
2642
2734
  }
2643
2735
 
2644
2736
  export declare class TextureLoader {
2645
- loadTexture(source: string, options?: {
2737
+ loadTexture(source: string, options: {
2646
2738
  imageURL?: {
2647
2739
  transform?: (source: string, options: ImageURLOptions) => string;
2648
2740
  options?: ImageURLOptions;
@@ -2651,11 +2743,14 @@ export declare class TextureLoader {
2651
2743
  format?: THREE_2.PixelFormat;
2652
2744
  minFilter?: THREE_2.TextureFilter;
2653
2745
  magFilter?: THREE_2.TextureFilter;
2746
+ generateMipmaps?: boolean;
2654
2747
  wrapS?: THREE_2.Wrapping;
2655
2748
  wrapT?: THREE_2.Wrapping;
2656
2749
  maxSize?: THREE_2.Vector2;
2657
2750
  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>>;
2751
+ timeout?: number;
2752
+ fetcher: Fetcher;
2753
+ }, 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
2754
  loadCubeTexture(sources: WorkCubeImage, options: {
2660
2755
  imageURL?: {
2661
2756
  transform?: (source: string, options: ImageURLOptions) => string;
@@ -2664,12 +2759,14 @@ export declare class TextureLoader {
2664
2759
  format?: THREE_2.PixelFormat;
2665
2760
  minFilter?: THREE_2.TextureFilter;
2666
2761
  magFilter?: THREE_2.TextureFilter;
2762
+ generateMipmaps?: boolean;
2667
2763
  wrapS?: THREE_2.Wrapping;
2668
2764
  wrapT?: THREE_2.Wrapping;
2669
2765
  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[]>>;
2766
+ timeout?: number;
2767
+ fetcher: Fetcher;
2768
+ }, 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
2769
  loadTiledCubeTexture(sources: WorkCubeImage, tileSources: WorkTile[], options: {
2672
- tileImageSize?: number;
2673
2770
  tileMaxLevel?: number;
2674
2771
  imageURL?: {
2675
2772
  transform?: (source: string, options: ImageURLOptions) => string;
@@ -2678,10 +2775,13 @@ export declare class TextureLoader {
2678
2775
  format?: THREE_2.PixelFormat;
2679
2776
  minFilter?: THREE_2.TextureFilter;
2680
2777
  magFilter?: THREE_2.TextureFilter;
2778
+ generateMipmaps?: boolean;
2681
2779
  wrapS?: THREE_2.Wrapping;
2682
2780
  wrapT?: THREE_2.Wrapping;
2683
2781
  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[]>>;
2782
+ timeout?: number;
2783
+ fetcher: Fetcher;
2784
+ }, onLoad: (response: NetworkResponse<TileCubeTextureTarget, NetWorkMeta[]>) => void, onError: (error: Error) => void, onProgress: (percent: number) => void, renderer: THREE_2.WebGLRenderer): Promise<NetworkResponse<TileCubeTextureTarget, NetWorkMeta[]>>;
2685
2785
  }
2686
2786
 
2687
2787
  /**
@@ -2735,7 +2835,6 @@ export declare class Tile {
2735
2835
  requestedFrameNumber: number;
2736
2836
  touchedFrameNumber: number;
2737
2837
  selectionDepth: number;
2738
- centerZDepth: number;
2739
2838
  shouldRefine: boolean;
2740
2839
  distanceToCamera: number;
2741
2840
  screenSpaceError: number;
@@ -2761,57 +2860,58 @@ export declare class Tile {
2761
2860
  }
2762
2861
 
2763
2862
  export declare class Tile3DModel extends THREE_2.Object3D {
2863
+ static DEFAULT_MIN_LEVEL_OF_DETAIL: number;
2764
2864
  static DEFAULT_MAX_LEVEL_OF_DETAIL: number;
2765
2865
  static DEFAULT_MAX_MEMORY_USAGE: number;
2766
2866
  static DEFAULT_MAX_SCREEN_SPACE_ERROR: number;
2767
2867
  static DEFAULT_MAX_REQUESTS: number;
2768
- workCode: string;
2868
+ model: Model;
2869
+ search: string;
2769
2870
  tileset: Tileset;
2871
+ idle: boolean;
2872
+ minLevelOfDetail: number;
2770
2873
  maxLevelOfDetail: number;
2771
2874
  boundingBox: THREE_2.Box3;
2772
2875
  needsRefined: boolean;
2773
2876
  refined: boolean;
2877
+ refineProgress: [number, number];
2774
2878
  loaded: boolean;
2775
- disposed: boolean;
2776
2879
  needsRender: boolean;
2777
- lastRefineTime: number;
2778
- nodeGroup: THREE_2.Group;
2779
- debugBoundingGroup: THREE_2.Group;
2880
+ cacheCameras: (THREE_2.PerspectiveCamera | Camera)[];
2881
+ private lastRefineTime;
2882
+ private disposed;
2883
+ private nodeGroup;
2884
+ private debugBoundingGroup;
2780
2885
  private nodes;
2781
2886
  private debugBoundings;
2782
2887
  private unloadTileQueue;
2783
- constructor(workCode: string, tilesetHeader: TilesetHeader, options: Partial<Tile3DModelLoaderOptions>);
2888
+ constructor(model: Model, tilesetHeader: TilesetHeader, options: Tile3DModelLoaderOptions);
2784
2889
  get debug(): boolean;
2785
2890
  set debug(value: boolean);
2786
2891
  get maxMemoryUsage(): number;
2787
2892
  set maxMemoryUsage(value: number);
2788
- get viewDistanceScale(): number;
2789
- set viewDistanceScale(value: number);
2790
2893
  get maxRequests(): number;
2791
2894
  set maxRequests(value: number);
2792
2895
  get maxScreenSpaceError(): number;
2793
2896
  set maxScreenSpaceError(value: number);
2794
2897
  loadContent(tile: Tile, options: {
2795
- allowHosts?: string[];
2796
- requestProxy?: (url: string) => string | Promise<string>;
2797
- networkSubscribe?: NetworkSubscribe;
2898
+ fetcher: Fetcher;
2798
2899
  }): Promise<boolean>;
2799
- intersectRaycaster(raycaster: THREE_2.Raycaster): Intersection[];
2900
+ intersectRaycaster(raycaster: THREE_2.Raycaster, sortByDistance?: boolean, target?: Intersection[]): Intersection[];
2800
2901
  update(renderer: THREE_2.WebGLRenderer, camera: Camera): void;
2801
2902
  dispose(): void;
2802
2903
  }
2803
2904
 
2804
2905
  /** Advanced loader options */
2805
2906
  export declare interface Tile3DModelLoaderOptions {
2907
+ fetcher: Fetcher;
2806
2908
  resourcePath: string;
2807
- allowHosts?: string[];
2808
- requestProxy?: (url: string) => string | Promise<string>;
2809
- networkSubscribe?: NetworkSubscribe;
2909
+ search?: string;
2810
2910
  onError?: (error: Error) => void;
2811
2911
  }
2812
2912
 
2813
2913
  export declare type TileContentData = {
2814
- type: 'b3dm' | 'pnts' | 'at3d' | 'pbm';
2914
+ type: 'b3dm' | 'pnts' | 'at3d' | 'pbm' | 'dome' | 'domez' | 'glb';
2815
2915
  byteLength: number;
2816
2916
  uri: string;
2817
2917
  object: TileNode;
@@ -2841,7 +2941,6 @@ export declare class TileCubeTextureTarget {
2841
2941
  private textures;
2842
2942
  constructor(baseCubeTexture: THREE_2.CubeTexture, tileTree: TileCubeTree, tileSources: WorkTile[], options: {
2843
2943
  textureSize: number;
2844
- tileImageSize: number;
2845
2944
  textureLoader: TextureLoader;
2846
2945
  imageURL?: {
2847
2946
  transform?: (source: string, options: ImageURLOptions) => string;
@@ -2850,9 +2949,12 @@ export declare class TileCubeTextureTarget {
2850
2949
  format?: THREE_2.PixelFormat;
2851
2950
  minFilter?: THREE_2.TextureFilter;
2852
2951
  magFilter?: THREE_2.TextureFilter;
2952
+ generateMipmaps?: boolean;
2853
2953
  wrapS?: THREE_2.Wrapping;
2854
2954
  wrapT?: THREE_2.Wrapping;
2855
- } & NetworkOptions, renderer: THREE_2.WebGLRenderer);
2955
+ timeout?: number;
2956
+ fetcher: Fetcher;
2957
+ }, renderer: THREE_2.WebGLRenderer);
2856
2958
  get cubeRenderTarget(): THREE_2.WebGLCubeRenderTarget | null;
2857
2959
  set cubeRenderTarget(cubeRenderTarget: THREE_2.WebGLCubeRenderTarget | null);
2858
2960
  private requestTile;
@@ -2882,11 +2984,10 @@ export declare interface TileHeader {
2882
2984
  }
2883
2985
 
2884
2986
  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[];
2987
+ private disposers;
2988
+ constructor(obj: THREE_2.Object3D, objDisposer: () => void);
2989
+ generateBvhTree(): Promise<void>;
2990
+ intersectRaycaster(raycaster: THREE_2.Raycaster, sortByDistance?: boolean, target?: Intersection[]): Intersection[];
2890
2991
  dispose(): void;
2891
2992
  }
2892
2993
 
@@ -2898,26 +2999,35 @@ export declare class Tileset {
2898
2999
  asset: {
2899
3000
  version: string;
2900
3001
  tilesetVersion: string;
2901
- gltfUpAxis: "X" | "Y" | "Z";
3002
+ gltfUpAxis: "Y" | "Z";
3003
+ overview?: {
3004
+ imageFile: string;
3005
+ worldFile: string;
3006
+ imageWidth: number;
3007
+ imageHeight: number;
3008
+ };
3009
+ [key: string]: any;
2902
3010
  };
2903
3011
  id: string;
2904
3012
  frameNumber: number;
2905
3013
  properties: Record<string, any>;
2906
3014
  options: TilesetOptions;
2907
3015
  root: Tile;
2908
- transfrom: THREE_2.Matrix4;
3016
+ transform: THREE_2.Matrix4;
3017
+ transformIsIdentity: boolean;
2909
3018
  geometricError: number;
2910
- traverser: TilesetTraverser;
3019
+ private traverser;
2911
3020
  cache: TilesetCache;
2912
3021
  requestScheduler: RequestScheduler<string>;
2913
3022
  private memoryUsageInBytes;
2914
3023
  maxMemoryUsage: number;
2915
- viewDistanceScale: number;
2916
3024
  tiles: Map<string, Tile>;
2917
3025
  private pendingCount;
2918
3026
  constructor(id: string, header: TilesetHeader, options: TilesetOptions);
2919
3027
  get maxRequests(): number;
2920
3028
  set maxRequests(value: number);
3029
+ get skipLevelOfDetail(): boolean;
3030
+ set skipLevelOfDetail(value: boolean);
2921
3031
  get maxScreenSpaceError(): number;
2922
3032
  set maxScreenSpaceError(value: number);
2923
3033
  get selectedTiles(): Map<string, Tile>;
@@ -2926,11 +3036,7 @@ export declare class Tileset {
2926
3036
  reset(): void;
2927
3037
  /** Is the tileset loaded (update needs to have been called at least once) */
2928
3038
  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;
3039
+ traverse(frameState: TilesetFrameState, cacheFrameStates?: TilesetFrameState[]): void;
2934
3040
  loadTile(tile: Tile): void;
2935
3041
  unloadTile(tile: Tile): void;
2936
3042
  }
@@ -2950,14 +3056,19 @@ export declare class TilesetCache {
2950
3056
 
2951
3057
  export declare type TilesetFrameState = {
2952
3058
  camera: {
3059
+ type: "PerspectiveCamera" | "OrthographicCamera";
2953
3060
  position: THREE.Vector3;
2954
3061
  direction: THREE.Vector3;
2955
3062
  up: THREE.Vector3;
3063
+ visible: boolean;
3064
+ refine: boolean;
2956
3065
  };
2957
3066
  height: number;
3067
+ pixelRatio: number;
2958
3068
  cullingVolume: CullingVolume;
2959
3069
  frameNumber: number;
2960
3070
  sseDenominator: number;
3071
+ minLevelOfDetail: number;
2961
3072
  maxLevelOfDetail: number;
2962
3073
  };
2963
3074
 
@@ -2965,7 +3076,14 @@ export declare interface TilesetHeader {
2965
3076
  asset: {
2966
3077
  version: string;
2967
3078
  tilesetVersion?: string;
2968
- gltfUpAxis?: "X" | "Y" | "Z";
3079
+ gltfUpAxis?: "Y" | "Z";
3080
+ overview?: {
3081
+ imageFile: string;
3082
+ worldFile: string;
3083
+ imageWidth: number;
3084
+ imageHeight: number;
3085
+ };
3086
+ [key: string]: any;
2969
3087
  };
2970
3088
  properties?: Record<string, any>;
2971
3089
  geometricError: number;
@@ -2973,13 +3091,10 @@ export declare interface TilesetHeader {
2973
3091
  }
2974
3092
 
2975
3093
  export declare interface TilesetOptions {
3094
+ contentLoader: (tile: Tile) => Promise<boolean>;
2976
3095
  onTileLoad: (tile: Tile) => any;
2977
3096
  onTileUnload: (tile: Tile) => any;
2978
3097
  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
3098
  }
2984
3099
 
2985
3100
  export declare class TilesetTraverser {
@@ -2990,15 +3105,15 @@ export declare class TilesetTraverser {
2990
3105
  loadSiblings: boolean;
2991
3106
  skipLevelOfDetail: boolean;
2992
3107
  maxScreenSpaceError: number;
2993
- onTraversalEnd: (frameState: TilesetFrameState) => any;
2994
3108
  requestedTiles: Map<string, Tile>;
2995
3109
  selectedTiles: Map<string, Tile>;
2996
3110
  needsRefinedTiles: Map<string, Tile>;
2997
3111
  emptyTiles: Map<string, Tile>;
3112
+ private _canSelectTile;
2998
3113
  private _traversalStack;
2999
3114
  private _emptyTraversalStack;
3000
- constructor(onTraversalEnd: (frameState: TilesetFrameState) => any);
3001
- traverse(root: Tile, frameState: TilesetFrameState): void;
3115
+ constructor();
3116
+ traverse(root: Tile, frameState: TilesetFrameState, cacheFrameStates?: TilesetFrameState[]): void;
3002
3117
  reset(): void;
3003
3118
  private executeTraversal;
3004
3119
  private updateChildTiles;
@@ -3031,8 +3146,8 @@ export declare interface VRPanoramaControllerCustomInitArgs extends Omit<Panoram
3031
3146
 
3032
3147
  export declare interface WebXRAxesParams {
3033
3148
  raycaster: {
3034
- leftRay: THREE_2.Raycaster;
3035
- rightRay: THREE_2.Raycaster;
3149
+ leftRay?: THREE_2.Raycaster;
3150
+ rightRay?: THREE_2.Raycaster;
3036
3151
  };
3037
3152
  axesState: {
3038
3153
  up: number;
@@ -3071,8 +3186,19 @@ export declare class Work {
3071
3186
  observers: WorkObserver[];
3072
3187
  /** 数据签发人 */
3073
3188
  issuer: string;
3074
- /** 控制参数 */
3075
- options: WorkOptions;
3189
+ /** 位姿修正 */
3190
+ transform: THREE_2.Matrix4;
3191
+ /**
3192
+ * 控制参数
3193
+ * @deprecated 通过 work.transform 替换
3194
+ */
3195
+ options: {
3196
+ /**
3197
+ * 位姿修正
3198
+ * @deprecated 通过 work.transform 替换
3199
+ */
3200
+ transform: THREE_2.Matrix4;
3201
+ };
3076
3202
  /** 原始数据 */
3077
3203
  raw: {
3078
3204
  works: string[];
@@ -3102,14 +3228,16 @@ export declare interface WorkCubeImage {
3102
3228
  front: string;
3103
3229
  /** 全景图 back */
3104
3230
  back: string;
3231
+ /** 分辨率表 */
3232
+ sizeList?: number[];
3105
3233
  }
3106
3234
 
3107
3235
  /** 全景图 */
3108
3236
  export declare interface WorkImage extends WorkCubeImage {
3109
- /** 深度图 */
3110
- depth?: string;
3111
3237
  /** 光照强度图 */
3112
- luminance?: WorkCubeImage;
3238
+ luminance?: WorkCubeImage & {
3239
+ tiles?: WorkTile[];
3240
+ };
3113
3241
  /** 瓦片信息 */
3114
3242
  tiles?: WorkTile[];
3115
3243
  }
@@ -3168,6 +3296,8 @@ export declare interface WorkObserver {
3168
3296
  floorIndex: number;
3169
3297
  /** 点位 derived_id */
3170
3298
  derivedId?: number;
3299
+ /** 点位 derived_id_str */
3300
+ derivedIdStr?: string;
3171
3301
  /** 点位是否激活可用 */
3172
3302
  active: boolean;
3173
3303
  /** 点位是否可加载 */
@@ -3192,23 +3322,6 @@ export declare interface WorkObserver {
3192
3322
  quaternion: THREE_2.Quaternion;
3193
3323
  }
3194
3324
 
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
3325
  export declare interface WorkResolvedObserver extends WorkObserver {
3213
3326
  isResolved: true;
3214
3327
  }
@@ -3231,6 +3344,7 @@ export declare interface WorksEvent extends BaseEvent {
3231
3344
  export declare interface WorkTile {
3232
3345
  level: number;
3233
3346
  size: number;
3347
+ scale: number;
3234
3348
  up: string;
3235
3349
  down: string;
3236
3350
  right: string;
@@ -3254,20 +3368,36 @@ export declare class XRButton {
3254
3368
  }
3255
3369
 
3256
3370
  export declare interface XRControllerEvent extends BaseEvent {
3257
- controller: {
3258
- type: 'left' | 'right';
3371
+ left: {
3259
3372
  axes: {
3260
3373
  up: number;
3261
3374
  down: number;
3262
3375
  left: number;
3263
3376
  right: number;
3264
3377
  };
3265
- raycaster: {
3266
- leftRay: THREE_2.Raycaster;
3267
- rightRay: THREE_2.Raycaster;
3378
+ raycaster: THREE_2.Raycaster;
3379
+ deltaTime: number;
3380
+ };
3381
+ right: {
3382
+ axes: {
3383
+ up: number;
3384
+ down: number;
3385
+ left: number;
3386
+ right: number;
3268
3387
  };
3388
+ raycaster: THREE_2.Raycaster;
3269
3389
  deltaTime: number;
3270
3390
  };
3391
+ buttons: {
3392
+ X: boolean;
3393
+ Y: boolean;
3394
+ LeftTrigger: boolean;
3395
+ LeftPinch: boolean;
3396
+ A: boolean;
3397
+ B: boolean;
3398
+ RightTrigger: boolean;
3399
+ RightPinch: boolean;
3400
+ };
3271
3401
  }
3272
3402
 
3273
3403
  export declare interface XRGestureEvent extends BaseEvent {