@realsee/five 5.0.0-alpha.16 → 5.0.0-alpha.161

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 (257) hide show
  1. package/README.md +21 -11
  2. package/docs/.nojekyll +1 -0
  3. package/docs/assets/highlight.css +134 -0
  4. package/docs/assets/icons.css +1043 -0
  5. package/docs/assets/{images/icons.png → icons.png} +0 -0
  6. package/docs/assets/{images/icons@2x.png → icons@2x.png} +0 -0
  7. package/docs/assets/main.js +52 -0
  8. package/docs/assets/search.js +1 -0
  9. package/docs/assets/style.css +1414 -0
  10. package/docs/assets/{images/widgets.png → widgets.png} +0 -0
  11. package/docs/assets/{images/widgets@2x.png → widgets@2x.png} +0 -0
  12. package/docs/classes/five.AnimationFrameLoop.html +15 -0
  13. package/docs/classes/five.BVH.html +10 -0
  14. package/docs/classes/five.BVHIntersect.html +1 -0
  15. package/docs/classes/five.BVHNode.html +7 -0
  16. package/docs/classes/five.BVHVector3.html +1 -0
  17. package/docs/classes/five.Camera.html +11 -0
  18. package/docs/classes/five.Clipper.html +1 -0
  19. package/docs/classes/five.Five.html +338 -0
  20. package/docs/classes/five.InternalWebGLRenderer.html +1 -0
  21. package/docs/classes/five.IntersectMesh.html +1 -0
  22. package/docs/classes/five.LegacyPanoCircleMesh.html +5 -0
  23. package/docs/classes/five.Model.html +87 -0
  24. package/docs/classes/five.NetworkSubscribe.html +50 -0
  25. package/docs/classes/five.PBMContainer.html +17 -0
  26. package/docs/classes/five.PBMGroup.html +19 -0
  27. package/docs/classes/five.PBMMaterial.html +27 -0
  28. package/docs/classes/five.PBMMesh.html +7 -0
  29. package/docs/classes/five.PanoCircleMesh.html +7 -0
  30. package/docs/classes/five.PanoCircleMeshDark.html +8 -0
  31. package/docs/classes/five.PanoCircleMeshSolid.html +7 -0
  32. package/docs/classes/five.Scene.html +3 -0
  33. package/docs/classes/five.Subscribe.html +56 -0
  34. package/docs/classes/five.TextureLoader.html +1 -0
  35. package/docs/classes/five.Tile3D.html +34 -0
  36. package/docs/classes/five.Tile3DModel.html +15 -0
  37. package/docs/classes/five.TileBoundingSphere.html +1 -0
  38. package/docs/classes/five.TileCacheNode.html +1 -0
  39. package/docs/classes/five.TileCubeTextureTarget.html +1 -0
  40. package/docs/classes/five.TileCullingVolume.html +1 -0
  41. package/docs/classes/five.TileOrientedBoundingBox.html +1 -0
  42. package/docs/classes/five.TilePlane.html +1 -0
  43. package/docs/classes/five.TileRequestScheduler.html +16 -0
  44. package/docs/classes/five.Tileset3D.html +11 -0
  45. package/docs/classes/five.Tileset3DTraverser.html +1 -0
  46. package/docs/classes/five.TilesetCache.html +1 -0
  47. package/docs/classes/five.Work.html +30 -0
  48. package/docs/classes/five.XRButton.html +1 -0
  49. package/docs/classes/gltf_loader.DDSLoader.html +1 -0
  50. package/docs/classes/gltf_loader.DRACOLoader.html +1 -0
  51. package/docs/classes/gltf_loader.GLTFLoader.html +17 -0
  52. package/docs/classes/gltf_loader.GLTFObject.html +7 -0
  53. package/docs/classes/gltf_loader.GLTFParser.html +1 -0
  54. package/docs/classes/gltf_loader.THREEGLTFLoader.html +1 -0
  55. package/docs/classes/line.Line.html +1 -0
  56. package/docs/classes/line.LineGeometry.html +1 -0
  57. package/docs/classes/line.LineMaterial.html +1 -0
  58. package/docs/classes/line.LineSegmentsGeometry.html +1 -0
  59. package/docs/classes/line.THREE_Line2.html +1 -0
  60. package/docs/classes/line.THREE_LineSegments2.html +1 -0
  61. package/docs/classes/react.Store.html +29 -0
  62. package/docs/classes/server.BVH.html +10 -0
  63. package/docs/classes/server.BVHIntersect.html +1 -0
  64. package/docs/classes/server.BVHNode.html +7 -0
  65. package/docs/classes/server.BVHVector3.html +1 -0
  66. package/docs/classes/server.Model.html +63 -0
  67. package/docs/classes/server.PBMGroup.html +9 -0
  68. package/docs/classes/server.PBMMesh.html +7 -0
  69. package/docs/classes/sticker.Sticker.html +32 -0
  70. package/docs/classes/vfx.Airflow.html +1 -0
  71. package/docs/classes/vfx.Flame.html +1 -0
  72. package/docs/classes/vfx.Particle.html +89 -0
  73. package/docs/classes/vfx.SpotLight.html +1 -0
  74. package/docs/index.html +166 -434
  75. package/docs/interfaces/five.AddableObject.html +1 -0
  76. package/docs/interfaces/five.AnimationFrame.html +1 -0
  77. package/docs/interfaces/five.CameraPose.html +1 -0
  78. package/docs/interfaces/five.ClipperParameter.html +1 -0
  79. package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +28 -0
  80. package/docs/interfaces/five.EventCallback.html +400 -0
  81. package/docs/interfaces/five.FiveInitArgs.html +109 -0
  82. package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +17 -0
  83. package/docs/interfaces/five.ImageOptions.html +18 -0
  84. package/docs/interfaces/five.ImageURLMappings.html +1 -0
  85. package/docs/interfaces/five.ImageURLOptions.html +17 -0
  86. package/docs/interfaces/five.IntersectMeshInterface.html +3 -0
  87. package/docs/interfaces/five.Intersection.html +7 -0
  88. package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +15 -0
  89. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +20 -0
  90. package/docs/interfaces/five.ModelEventCallback.html +22 -0
  91. package/docs/interfaces/five.MotionKeyframe.html +1 -0
  92. package/docs/interfaces/five.MovePanoOptions.html +42 -0
  93. package/docs/interfaces/five.NetworkOptions.html +9 -0
  94. package/docs/interfaces/five.PBMPanoPicture.html +7 -0
  95. package/docs/interfaces/five.PBMParameters.html +27 -0
  96. package/docs/interfaces/five.PanoCircleMeshInterface.html +19 -0
  97. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +35 -0
  98. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +20 -0
  99. package/docs/interfaces/five.Pose.html +37 -0
  100. package/docs/interfaces/five.Scissor.html +14 -0
  101. package/docs/interfaces/five.State.html +21 -0
  102. package/docs/interfaces/five.SubscribeMixinType.emit.html +1 -0
  103. package/docs/interfaces/five.SubscribeMixinType.hasListener.html +1 -0
  104. package/docs/interfaces/five.SubscribeMixinType.off.html +1 -0
  105. package/docs/interfaces/five.SubscribeMixinType.on.html +1 -0
  106. package/docs/interfaces/five.SubscribeMixinType.once.html +1 -0
  107. package/docs/interfaces/five.TextureOptions.html +20 -0
  108. package/docs/interfaces/five.Tile3DModelLoaderOptions.html +3 -0
  109. package/docs/interfaces/five.TileBoundingVolume.html +19 -0
  110. package/docs/interfaces/five.TileContent.html +1 -0
  111. package/docs/interfaces/five.TileCubeNode.html +1 -0
  112. package/docs/interfaces/five.TileCubeTree.html +1 -0
  113. package/docs/interfaces/five.Tileset3dOptions.html +1 -0
  114. package/docs/interfaces/five.TilesetJSON.html +1 -0
  115. package/docs/interfaces/five.TilesetJSONNode.html +1 -0
  116. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +9 -0
  117. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +31 -0
  118. package/docs/interfaces/five.WebXRSelectParams.html +1 -0
  119. package/docs/interfaces/five.WorkCubeImage.html +13 -0
  120. package/docs/interfaces/five.WorkImage.html +21 -0
  121. package/docs/interfaces/five.WorkInitial.html +13 -0
  122. package/docs/interfaces/five.WorkModel.html +11 -0
  123. package/docs/interfaces/five.WorkModelTiles.html +3 -0
  124. package/docs/interfaces/five.WorkObserver.html +25 -0
  125. package/docs/interfaces/five.WorkTile.html +1 -0
  126. package/docs/interfaces/five.WorkVideo.html +9 -0
  127. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +31 -0
  128. package/docs/interfaces/gltf_loader.DDS.html +1 -0
  129. package/docs/interfaces/gltf_loader.GLTF.html +7 -0
  130. package/docs/interfaces/gltf_loader.GLTFReference.html +1 -0
  131. package/docs/interfaces/gltf_loader.THREEGLTF.html +1 -0
  132. package/docs/interfaces/react.FiveActionReactCallbacks.html +62 -0
  133. package/docs/interfaces/react.FiveInjectionTypes.html +191 -0
  134. package/docs/interfaces/react.PropTypeOfFiveFeatures.html +1 -0
  135. package/docs/interfaces/server.Intersection.html +7 -0
  136. package/docs/interfaces/server.ModelEventCallback.html +18 -0
  137. package/docs/interfaces/sticker.IntersectionLike.html +8 -0
  138. package/docs/interfaces/vfx.ParticleArgs.html +75 -0
  139. package/docs/interfaces/vfx.ParticleTweenKeyframe.html +1 -0
  140. package/docs/interfaces/vue.FiveActionVueCallbacks.html +62 -0
  141. package/docs/modules/five.SubscribeMixinType.html +1 -0
  142. package/docs/modules/five.html +479 -3002
  143. package/docs/modules/gltf_loader.html +1 -155
  144. package/docs/modules/line.html +1 -202
  145. package/docs/modules/react.html +133 -1507
  146. package/docs/modules/server.html +18 -526
  147. package/docs/modules/sticker.html +1 -151
  148. package/docs/modules/vfx.html +1 -0
  149. package/docs/modules/vue.html +112 -0
  150. package/docs/modules.html +1 -136
  151. package/exporters/staticify.js +210 -0
  152. package/five/index.d.ts +1445 -264
  153. package/five/index.js +372 -1
  154. package/gltf-loader/index.d.ts +90 -5
  155. package/gltf-loader/index.js +260 -1
  156. package/line/index.d.ts +15 -2
  157. package/line/index.js +260 -1
  158. package/package.json +13 -13
  159. package/react/index.d.ts +75 -22
  160. package/react/index.js +260 -1
  161. package/resource/{basis_transcoder.js → basis/basis_transcoder.js} +0 -0
  162. package/resource/{basis_transcoder.wasm → basis/basis_transcoder.wasm} +0 -0
  163. package/resource/{draco_decoder.js → gltf/draco_decoder.js} +0 -0
  164. package/resource/{draco_decoder.wasm → gltf/draco_decoder.wasm} +0 -0
  165. package/resource/{draco_wasm_wrapper.js → gltf/draco_wasm_wrapper.js} +0 -0
  166. package/scripts/five-staticify.js +26 -0
  167. package/server/index.d.ts +197 -26
  168. package/server/index.js +367 -1
  169. package/sticker/index.d.ts +2 -1
  170. package/sticker/index.js +260 -1
  171. package/templates/quick-start/README.md +1 -1
  172. package/templates/quick-start/package.json +1 -1
  173. package/umd/five-gltf-loader.js +1 -0
  174. package/umd/five-gltf-loader.js.LICENSE.txt +14 -0
  175. package/umd/five-line.js +1 -0
  176. package/umd/five-line.js.LICENSE.txt +14 -0
  177. package/umd/five-react.js +1 -0
  178. package/umd/five-react.js.LICENSE.txt +14 -0
  179. package/umd/five-sticker.js +1 -0
  180. package/umd/five-sticker.js.LICENSE.txt +14 -0
  181. package/umd/five-vfx.js +1 -0
  182. package/umd/five-vue.js +1 -0
  183. package/umd/five.js +2 -0
  184. package/umd/five.js.LICENSE.txt +107 -0
  185. package/vfx/index.d.ts +264 -0
  186. package/vfx/index.js +260 -0
  187. package/vue/index.d.ts +440 -0
  188. package/vue/index.js +260 -0
  189. package/bundles/five.js +0 -2
  190. package/bundles/five.js.LICENSE.txt +0 -160
  191. package/docs/assets/css/main.css +0 -2660
  192. package/docs/assets/js/main.js +0 -248
  193. package/docs/assets/js/search.js +0 -1
  194. package/docs/classes/five.camera.html +0 -323
  195. package/docs/classes/five.five-1.html +0 -2670
  196. package/docs/classes/five.hashcubetexture.html +0 -252
  197. package/docs/classes/five.internalwebglrenderer.html +0 -212
  198. package/docs/classes/five.model.html +0 -982
  199. package/docs/classes/five.pbmgroup.html +0 -427
  200. package/docs/classes/five.pbmmaterial.html +0 -533
  201. package/docs/classes/five.pbmmesh.html +0 -254
  202. package/docs/classes/five.scene.html +0 -263
  203. package/docs/classes/five.subscribe.html +0 -569
  204. package/docs/classes/gltf_loader.gltfloader.html +0 -412
  205. package/docs/classes/gltf_loader.gltfobject.html +0 -287
  206. package/docs/classes/line.line-1.html +0 -381
  207. package/docs/classes/line.linegeometry.html +0 -524
  208. package/docs/classes/line.linematerial.html +0 -300
  209. package/docs/classes/line.linesegmentsgeometry.html +0 -471
  210. package/docs/classes/react.store.html +0 -605
  211. package/docs/classes/server.model.html +0 -823
  212. package/docs/classes/server.pbmgroup.html +0 -366
  213. package/docs/classes/server.pbmmesh.html +0 -335
  214. package/docs/classes/sticker.sticker-1.html +0 -465
  215. package/docs/interfaces/five.addableobject.html +0 -234
  216. package/docs/interfaces/five.depthpanoramacontrollercustominitargs.html +0 -420
  217. package/docs/interfaces/five.eventcallback.html +0 -2548
  218. package/docs/interfaces/five.fiveinitargs.html +0 -707
  219. package/docs/interfaces/five.floorplancontrollercustominitargs.html +0 -295
  220. package/docs/interfaces/five.imageoptions.html +0 -332
  221. package/docs/interfaces/five.intersection.html +0 -227
  222. package/docs/interfaces/five.intersectmeshinterface.html +0 -188
  223. package/docs/interfaces/five.modelcontrollercustominitargs.html +0 -366
  224. package/docs/interfaces/five.modeleventcallback.html +0 -367
  225. package/docs/interfaces/five.movepanooptions.html +0 -469
  226. package/docs/interfaces/five.panocirclemeshinterface.html +0 -361
  227. package/docs/interfaces/five.panoramacontrollercustominitargs.html +0 -464
  228. package/docs/interfaces/five.panoramalikecontrollercustominitargs.html +0 -364
  229. package/docs/interfaces/five.pbmparameters.html +0 -474
  230. package/docs/interfaces/five.pose.html +0 -270
  231. package/docs/interfaces/five.scissor.html +0 -252
  232. package/docs/interfaces/five.state.html +0 -300
  233. package/docs/interfaces/five.subscribemixintype.emit.html +0 -180
  234. package/docs/interfaces/five.subscribemixintype.haslistener.html +0 -171
  235. package/docs/interfaces/five.subscribemixintype.off.html +0 -198
  236. package/docs/interfaces/five.subscribemixintype.on.html +0 -213
  237. package/docs/interfaces/five.subscribemixintype.once.html +0 -210
  238. package/docs/interfaces/five.topviewcontrollercustominitargs.html +0 -226
  239. package/docs/interfaces/five.vrpanoramacontrollercustominitargs.html +0 -452
  240. package/docs/interfaces/gltf_loader.gltf.html +0 -304
  241. package/docs/interfaces/react.fiveactionreactcallbacks.html +0 -580
  242. package/docs/interfaces/react.fiveinjectiontypes.html +0 -1625
  243. package/docs/interfaces/react.injectfivetoprops.html +0 -280
  244. package/docs/interfaces/server.intersection.html +0 -308
  245. package/docs/interfaces/server.modeleventcallback.html +0 -409
  246. package/docs/interfaces/sticker.intersectionlike.html +0 -223
  247. package/docs/modules/five.subscribemixintype.html +0 -143
  248. package/five.js.LICENSE.txt +0 -160
  249. package/scripts/export-five-resource/chfs.exe +0 -0
  250. package/scripts/export-five-resource/fileify.js +0 -192
  251. package/scripts/export-five-resource/format-work.js +0 -71
  252. package/scripts/export-five-resource/staticify.js +0 -327
  253. package/scripts/transcode-model/BufferGeometryUtils.js +0 -832
  254. package/scripts/transcode-model/LoaderSupport.js +0 -1545
  255. package/scripts/transcode-model/MTLLoader.js +0 -602
  256. package/scripts/transcode-model/OBJLoader2.js +0 -1470
  257. package/scripts/transcode-model/obj2pbm.js +0 -65
package/vue/index.d.ts ADDED
@@ -0,0 +1,440 @@
1
+ import { AllowedComponentProps } from 'vue';
2
+ import { ComponentCustomProps } from 'vue';
3
+ import { ComponentOptionsMixin } from 'vue';
4
+ import { DeepReadonly } from 'vue';
5
+ import { DefineComponent } from 'vue';
6
+ import { EventCallback } from '@realsee/five';
7
+ import { ExtractPropTypes } from 'vue';
8
+ import { Five } from '@realsee/five';
9
+ import { FiveInitArgs } from '@realsee/five';
10
+ import { Intersection } from '@realsee/five';
11
+ import { Model } from '@realsee/five';
12
+ import { Pose } from '@realsee/five';
13
+ import { PropType } from 'vue';
14
+ import { Ref } from 'vue';
15
+ import { RendererElement } from 'vue';
16
+ import { RendererNode } from 'vue';
17
+ import { Scene } from '@realsee/five';
18
+ import { State } from '@realsee/five';
19
+ import * as THREE_2 from 'three';
20
+ import { VNode } from 'vue';
21
+ import { VNodeProps } from 'vue';
22
+ import { Work } from '@realsee/five';
23
+ import { WorkObserver } from '@realsee/five';
24
+
25
+ /**
26
+ * Five 命令集合
27
+ */
28
+ export declare interface FiveActionVueCallbacks {
29
+ /**
30
+ * 移动相机。(不触发点位移动)
31
+ * @description
32
+ * 如果动画中途被打断(用户触发行为,或者调用 setState, load, changeMode)的等
33
+ * 会 Promise.reject。运动完成则 Promise.resolve
34
+ * @param pose - 相机目标位置
35
+ * @param duration - 动画触发的时常
36
+ * @returns Promise 是否移动成功
37
+ */
38
+ updateCamera(pose: Pose, duration: number): Promise<void>;
39
+ /**
40
+ * 初始化 initBasisLoader
41
+ * @description
42
+ * 同初始化的 initBasisLoader 参数。用于初始化 basisLoader。
43
+ * basisLoader 只会初始化一次,一旦初始化则不会再修改。
44
+ *
45
+ * @param transcoderResourcePath - basis 解析器路径
46
+ * 如果不设置,使用默认解析器 basis 解析器。
47
+ * 可以传入解析器的 `resourcePath`, 则使用指定的解析器
48
+ * @example
49
+ * ```
50
+ * // 使用默认解析器
51
+ * initialBasisLoader();
52
+ *
53
+ * // 使用指定解析器
54
+ * // 会调用这个目录下的 basis_transcoder.js basis_transcoder.wasm 文件作为解析器
55
+ * initialBasisLoader("https://vr-public.realsee-cdn.cn/release/static/image/release/five/basis/");
56
+ * ```
57
+ */
58
+ initBasisLoader(transcoderResourcePath?: string): void;
59
+ /**
60
+ * 获取画面中的像素颜色
61
+ * @param x - 获取像素区域的起始坐标 x
62
+ * @param y - 获取像素区域的起始坐标 y
63
+ * @param width - 获取像素区域的宽度
64
+ * @param height - 获取像素区域的高度
65
+ * @param pixelRatio - 获取区域的像素比
66
+ * @returns rgba颜色平铺的 Uint8Array
67
+ */
68
+ getPixels(x: number, y: number, width: number, height: number, pixelRatio?: number): Uint8Array;
69
+ /**
70
+ * 强制渲染
71
+ * @description
72
+ * 调用 `render()` 和 `needsRender()` 均可在按需渲染时,使得画面渲染一次
73
+ * 区别在于:
74
+ * - `needsRender()` 为在下帧渲染画面
75
+ * - `render()` 在当前帧渲染画面
76
+ * 推荐使用 `needsRender()`, 可以更加流畅。但是如果需要截图等同步操作,可以使用 `render()`
77
+ *
78
+ * @param callback - 渲染完成回调
79
+ */
80
+ render(callback?: () => void): void;
81
+ /**
82
+ * 下一帧渲染
83
+ * @description
84
+ * 调用 `render()` 和 `needsRender()` 均可在按需渲染时,使得画面渲染一次
85
+ * 区别在于:
86
+ * - `needsRender()` 为在下帧渲染画面
87
+ * - `render()` 在当前帧渲染画面
88
+ * 推荐使用 `needsRender()`, 可以更加流畅。但是如果需要截图等同步操作,可以使用 `render()`
89
+ */
90
+ needsRender(): void;
91
+ /**
92
+ * 预加载点位图片资源
93
+ * @param panoIndex - 观察点序号
94
+ * @param callback - 加载完成回调, 并传递加载用时。
95
+ * @returns 加载完成的 Promise 参数同 callback
96
+ */
97
+ preloadPano(panoIndex: number, callback?: (costs: number) => void): Promise<number>;
98
+ }
99
+
100
+ /**
101
+ * Five 渲染区域组件
102
+ * @description Five 渲染区域组件,请在 FiveProvider 内使用
103
+ * @param width - 渲染区域的宽度
104
+ * @param height - 渲染区域的高度
105
+ * @returns Vue 元素
106
+ * @example
107
+ * ```typescript
108
+ * <FiveProvider :initialWork="work">
109
+ * <FiveCanvas width="512" height="512"/>
110
+ * </FiveProvider>
111
+ * ```
112
+ */
113
+ export declare const FiveCanvas: DefineComponent< {
114
+ width: {
115
+ type: PropType<number>;
116
+ required: true;
117
+ };
118
+ height: {
119
+ type: PropType<number>;
120
+ required: true;
121
+ };
122
+ }, () => VNode<RendererNode, RendererElement, {
123
+ [key: string]: any;
124
+ }>, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {
125
+ width: {
126
+ type: PropType<number>;
127
+ required: true;
128
+ };
129
+ height: {
130
+ type: PropType<number>;
131
+ required: true;
132
+ };
133
+ }>>, {}>;
134
+
135
+ export declare type FiveModelIntersectRaycaster = (raycaster: Ref<THREE_2.Raycaster> | THREE_2.Raycaster) => Ref<Intersection[]>;
136
+
137
+ /**
138
+ * Five 实例化Five 组件
139
+ *
140
+ * 在 FiveProvider 下,可以使用 FiveCanvas 来创建渲染画布。
141
+ * 以及使用 useFiveState useFiveEventCallback等 Five Vue Composition API 来对 FiveProvider 进行操作
142
+ * @description Five 创建Five实例的组件
143
+ * @param FiveProviderComponent - Five 参数
144
+ * @example
145
+ * ```typescript
146
+ * <FiveProvider :initialWork="work">
147
+ * <FiveCanvas width="512" height="512"/>
148
+ * </FiveProvider>
149
+ * ```
150
+ */
151
+ export declare const FiveProvider: FiveProviderComponent;
152
+
153
+ export declare type FiveProviderComponent = DefineComponent<{
154
+ work: PropType<Work>;
155
+ initialWork: PropType<Work | Promise<Work>>;
156
+ initialState: PropType<"inherit" | "initial" | Partial<Omit<State, "offset">>>;
157
+ initialUserAction: BooleanConstructor;
158
+ onWorkChange: PropType<(work: Work) => void>;
159
+ onStateChange: PropType<(state: State, userAction: boolean) => void>;
160
+ onCurrentStateChange: PropType<(state: State, userAction: boolean) => void>;
161
+ onError: PropType<(error: Error) => void>;
162
+ fiveInitArgs: {
163
+ type: PropType<Omit<FiveInitArgs, "renderer" | "scissor">>;
164
+ default: () => {};
165
+ };
166
+ style: ObjectConstructor;
167
+ }, {
168
+ five: Readonly<Five>;
169
+ }>;
170
+
171
+ export declare type Project2d = (vector3: THREE_2.Vector3 | Ref<THREE_2.Vector3>, testModel: boolean) => Ref<THREE_2.Vector2 | null>;
172
+
173
+ /**
174
+ * Five Vue Hooks: 获取 five 实例
175
+ * @description 不到万不得已,并不推荐直接使用。
176
+ * @deprecated 不到万不得已,并不推荐直接使用。
177
+ * @returns five 实例
178
+ */
179
+ export declare function unsafe__useFiveInject(): Five;
180
+
181
+ /**
182
+ * Five Vue Hooks: 使用 Five 的命令
183
+ *
184
+ * @function updateCamera
185
+ * ```
186
+ * 移动相机。(不触发点位移动)
187
+ * 如果动画中途被打断(用户触发行为,或者调用 setState, load, changeMode)的等
188
+ * 会 Promise.reject。运动完成则 Promise.resolve
189
+ *
190
+ * // params pose - 相机目标位置
191
+ * // params duration - 动画触发的时常
192
+ * // params Promise - 是否移动成功
193
+ * updateCamera(pose: Pose, duration: number): Promise<void>
194
+ * ```
195
+ *
196
+ * @function initBasisLoader
197
+ * ```
198
+ * 初始化 initBasisLoader
199
+ * 同初始化的 initBasisLoader 参数。用于初始化 basisLoader。
200
+ * basisLoader 只会初始化一次,一旦初始化则不会再修改。
201
+ *
202
+ * // param transcoderResourcePath
203
+ * // 如果不设置,使用默认解析器 basis 解析器。
204
+ * // 可以传入解析器的 `resourcePath`, 则使用指定的解析器
205
+ * initBasisLoader(transcoderResourcePath?: string): void,
206
+ * ```
207
+ *
208
+ * @function getPixels
209
+ * ```
210
+ * 获取画面中的像素颜色
211
+ * // param x - 获取像素区域的起始坐标 x
212
+ * // param y - 获取像素区域的起始坐标 y
213
+ * // param width - 获取像素区域的宽度
214
+ * // param height - 获取像素区域的高度
215
+ * // param pixelRatio - 获取区域的像素比
216
+ * // returns rgba颜色平铺的 Uint8Array
217
+ * getPixels(x: number, y: number, width: number, height: number, pixelRatio?: number): Uint8Array,
218
+ * ```
219
+ *
220
+ * @function render
221
+ * ```
222
+ * 强制渲染
223
+ * 调用 render() 和 needsRender() 均可在按需渲染时,使得画面渲染一次
224
+ * 区别在于:
225
+ * - needsRender() 为在下帧渲染画面
226
+ * - render() 在当前帧渲染画面
227
+ * 推荐使用 needsRender(), 可以更加流畅。但是如果需要截图等同步操作,可以使用 render()
228
+ *
229
+ * // param callback 渲染完成回调
230
+ * render(callback?: () => void): void,
231
+ * ```
232
+ *
233
+ * @function needsRender
234
+ * ```
235
+ * 下一帧渲染
236
+ * 调用 render() 和 needsRender() 均可在按需渲染时,使得画面渲染一次
237
+ * 区别在于:
238
+ * - needsRender() 为在下帧渲染画面
239
+ * - render() 在当前帧渲染画面
240
+ * 推荐使用 needsRender(), 可以更加流畅。但是如果需要截图等同步操作,可以使用 render()
241
+ * needsRender(): void,
242
+ * ```
243
+ *
244
+ * @function preloadPano
245
+ * ```
246
+ * 预加载点位图片资源
247
+ * // param panoIndex - 观察点序号
248
+ * // param callback - 加载完成回调, 并传递加载用时。
249
+ * // returns 加载完成的 Promise 参数同 callback
250
+ * preloadPano(panoIndex: number, callback?: (costs: number) => void): Promise<number>
251
+ * ```
252
+ *
253
+ * @example
254
+ * ```
255
+ * const { updateCamera, initBasisLoader, getPixels, render, needsRender, preloadPano } = useFiveAction();
256
+ * ```
257
+ */
258
+ export declare function useFiveAction(): FiveActionVueCallbacks;
259
+
260
+ /**
261
+ * Five Vue Hooks: 得到当前相机的方向(单位向量)
262
+ * @returns 当前相机方向的单位向量
263
+ */
264
+ export declare function useFiveCameraDirection(): Ref<THREE_2.Vector3>;
265
+
266
+ /**
267
+ * Five Vue Hooks: 得到当前相机的方向(射线对象)
268
+ * @returns 当前相机方向的射线对象
269
+ */
270
+ export declare function useFiveCameraRaycaster(): Ref<THREE_2.Raycaster>;
271
+
272
+ /**
273
+ * Five Vue Hooks: Five 的当前观测点
274
+ * @returns 当前观测点, 如果 work 未加载则为 null
275
+ * @example
276
+ * ```
277
+ * const observer = useFiveCurrentObserver();
278
+ * ```
279
+ */
280
+ export declare function useFiveCurrentObserver(): Ref<WorkObserver | null>;
281
+
282
+ /**
283
+ * Five Vue Hooks: Five 的实时状态
284
+ * @returns
285
+ * [ currentState: Five 的实时状态, setState: 设置 Five 的状态 ]
286
+ * @example
287
+ * ```
288
+ * const [ currentState, setState ] = useFiveCurrentState;
289
+ * ```
290
+ */
291
+ export declare function useFiveCurrentState(): [
292
+ currentState: Ref<State>,
293
+ setState: (state: Partial<State> | ((prevState: State) => Partial<State>), immediately?: boolean, userAction?: boolean) => void
294
+ ];
295
+
296
+ /**
297
+ * Five Vue Hooks: Five 事件监听
298
+ * 具体事件列表 请查看 Five.EventCallback
299
+ * @example
300
+ * ```
301
+ * useFiveEventCallback("cameraUpdate", pose => {});
302
+ * ```
303
+ */
304
+ export declare function useFiveEventCallback<T extends keyof EventCallback>(name: T, callback: EventCallback[T]): void;
305
+
306
+ /**
307
+ * Five Vue Hooks: Five 楼层
308
+ * @returns
309
+ * [ shownFloor: Five 当前显示的楼层, null 为都显示, showFloor: 设置显示楼层,不传参数为都显示 ]
310
+ * @example
311
+ * ```
312
+ * const [ shownFloor, showFloor ] = useFiveHelper;
313
+ * ```
314
+ */
315
+ export declare function useFiveFloor(): [
316
+ shownFloor: Ref<number | null>,
317
+ totalFloorLength: Ref<number>,
318
+ showFloor: (floorIndex?: number) => void
319
+ ];
320
+
321
+ /**
322
+ * Five Vue Hooks: Five 帮助元素的隐藏/显示
323
+ * @returns
324
+ * [ helperVisible: Five 帮助元素是否显示, toggleHelperVisible: 设置 帮助元素的隐藏/显示 ]
325
+ * @example
326
+ * ```
327
+ * const [ helperVisible, toggleHelperVisible ] = useFiveHelper;
328
+ * ```
329
+ */
330
+ export declare function useFiveHelper(): [
331
+ helperVisible: Ref<boolean>,
332
+ toggleHelperVisible: (visible: boolean) => void
333
+ ];
334
+
335
+ /**
336
+ * Five Vue Hooks: 获取当前模型
337
+ */
338
+ export declare function useFiveModel(): Ref<Model>;
339
+
340
+ /**
341
+ * Five Vue Hooks: 获取当前模型的包围盒
342
+ */
343
+ export declare function useFiveModelBounding(): Ref<THREE_2.Box3>;
344
+
345
+ /**
346
+ * Five Vue Hooks: 获取当前模型碰撞检测方法
347
+ *
348
+ * @function fiveModelIntersectRaycaster
349
+ * ```
350
+ * 计算模型射线碰撞检测
351
+ * // param raycaster THREE 射线对象
352
+ * // param floors 和某一楼层做碰撞检测, 不传为和所有楼层做碰撞检测
353
+ * // returns 返回碰撞
354
+ * intersectRaycaster(raycaster: THREE.Raycaster, floors?: number | number[]): Intersection[]
355
+ * ```
356
+ * @example
357
+ * ```
358
+ * const fiveModelIntersectRaycaster = useFiveModelIntersectRaycaster();
359
+ * const intersects = fiveModelIntersectRaycaster(raycaster);
360
+ * ```
361
+ */
362
+ export declare function useFiveModelIntersectRaycaster(): FiveModelIntersectRaycaster;
363
+
364
+ /**
365
+ * Five Vue Hooks: 获取当前模型加载状态
366
+ * @returns
367
+ * "Loaded": 加载完成
368
+ * "Empty" 加载未完成
369
+ */
370
+ export declare function useFiveModelReadyState(): Ref<"Loaded" | "Empty">;
371
+
372
+ /**
373
+ * Five Vue Hooks: 将三维的坐标对应到二维屏幕
374
+ *
375
+ * @function project2d
376
+ * ```
377
+ * 计算模型射线碰撞检测
378
+ * // param vector 三维的坐标
379
+ * // param testModel 是否和模型检测,如果检测,则被模型遮挡会返回 null
380
+ * // returns 三维的坐标 或者 null
381
+ * project2d(vector: THREE.Vector3 | Ref<THREE.Vector3>, testModel: boolean)
382
+ * v2: Ref<THREE.Vector2 | null>
383
+ * ```
384
+ *
385
+ * @example
386
+ * ```
387
+ * const project2d = useFiveProject2d();
388
+ * project2d(new THREE.Vector3(0, 0, 0));
389
+ * ```
390
+ */
391
+ export declare function useFiveProject2d(): Project2d;
392
+
393
+ /**
394
+ * Five Vue Hooks: 获取scene
395
+ */
396
+ export declare function useFiveScene(): Scene;
397
+
398
+ /**
399
+ * Five Vue Hooks: Five 的目标状态
400
+ * @returns
401
+ * [ currentState: Five 的目标状态, setState: 设置 Five 的状态 ]
402
+ * @example
403
+ * ```
404
+ * const [ state, setState ] = useFiveState;
405
+ * ```
406
+ */
407
+ export declare function useFiveState(): [
408
+ curState: Ref<State>,
409
+ setState: (state: Partial<State> | ((prevState: State) => Partial<State>), immediately?: boolean, userAction?: boolean) => void
410
+ ];
411
+
412
+ /**
413
+ * Five Vue Hooks: 获取/设置当前的 Work
414
+ *
415
+ * @returns
416
+ * [ work: 获取当前的 Work, loadWork: 设置 Work ]
417
+
418
+ * @function loadWork
419
+ * ```
420
+ * 加载 Work 数据
421
+ * // param work Work 数据
422
+ * // param state 初始化姿态
423
+ * // - "inherit" 使用当前姿态
424
+ * // - "initial" 使用 Work 数据中的 initial 姿态
425
+ * // - State 自定义姿态
426
+ * // param duration 切换时间
427
+ * (work: Work, state?: "inherit" | "initial" | Partial<Omit<State, "offset">>, duration?: number) => void
428
+ * ```
429
+ *
430
+ * @example
431
+ * ```
432
+ * const [ work, loadWork ] = useFiveWork;
433
+ * ```
434
+ */
435
+ export declare function useFiveWork(): [
436
+ work: DeepReadonly<Ref<Work | undefined>>,
437
+ loadWork: (work: Work, state?: "inherit" | "initial" | Partial<Omit<State, "offset">>, duration?: number, userAction?: boolean) => Promise<void>
438
+ ];
439
+
440
+ export { }