@aibee/owlly 1.0.25

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 (500) hide show
  1. package/README.external.md +75 -0
  2. package/README.md +28 -0
  3. package/lib/src/external/lines/line-geometry.d.ts +9 -0
  4. package/lib/src/external/lines/line-geometry.js +52 -0
  5. package/lib/src/external/lines/line-geometry.js.map +1 -0
  6. package/lib/src/external/lines/line-material.d.ts +10 -0
  7. package/lib/src/external/lines/line-material.js +377 -0
  8. package/lib/src/external/lines/line-material.js.map +1 -0
  9. package/lib/src/external/lines/line-segments-2.d.ts +7 -0
  10. package/lib/src/external/lines/line-segments-2.js +144 -0
  11. package/lib/src/external/lines/line-segments-2.js.map +1 -0
  12. package/lib/src/external/lines/line-segments-geometry.d.ts +15 -0
  13. package/lib/src/external/lines/line-segments-geometry.js +141 -0
  14. package/lib/src/external/lines/line-segments-geometry.js.map +1 -0
  15. package/lib/src/external/loaders/gltf-loader.d.ts +77 -0
  16. package/lib/src/external/loaders/gltf-loader.js +2319 -0
  17. package/lib/src/external/loaders/gltf-loader.js.map +1 -0
  18. package/lib/src/external/orbit-controls.d.ts +44 -0
  19. package/lib/src/external/orbit-controls.js +746 -0
  20. package/lib/src/external/orbit-controls.js.map +1 -0
  21. package/lib/src/external/renderers/css-2d-renderer.d.ts +16 -0
  22. package/lib/src/external/renderers/css-2d-renderer.js +122 -0
  23. package/lib/src/external/renderers/css-2d-renderer.js.map +1 -0
  24. package/lib/src/external/renderers/css-3d-renderer.d.ts +18 -0
  25. package/lib/src/external/renderers/css-3d-renderer.js +139 -0
  26. package/lib/src/external/renderers/css-3d-renderer.js.map +1 -0
  27. package/lib/src/external/transform-controls.d.ts +106 -0
  28. package/lib/src/external/transform-controls.js +1113 -0
  29. package/lib/src/external/transform-controls.js.map +1 -0
  30. package/lib/src/external/util/buffer-geometry-utils.d.ts +45 -0
  31. package/lib/src/external/util/buffer-geometry-utils.js +569 -0
  32. package/lib/src/external/util/buffer-geometry-utils.js.map +1 -0
  33. package/lib/src/owlly/controller/aerial-element-controller.d.ts +65 -0
  34. package/lib/src/owlly/controller/aerial-element-controller.js +236 -0
  35. package/lib/src/owlly/controller/aerial-element-controller.js.map +1 -0
  36. package/lib/src/owlly/controller/basic-controller.d.ts +324 -0
  37. package/lib/src/owlly/controller/basic-controller.js +1239 -0
  38. package/lib/src/owlly/controller/basic-controller.js.map +1 -0
  39. package/lib/src/owlly/controller/camera-controller.d.ts +37 -0
  40. package/lib/src/owlly/controller/camera-controller.js +138 -0
  41. package/lib/src/owlly/controller/camera-controller.js.map +1 -0
  42. package/lib/src/owlly/controller/controller.d.ts +61 -0
  43. package/lib/src/owlly/controller/controller.js +24 -0
  44. package/lib/src/owlly/controller/controller.js.map +1 -0
  45. package/lib/src/owlly/controller/index.d.ts +2 -0
  46. package/lib/src/owlly/controller/index.js +14 -0
  47. package/lib/src/owlly/controller/index.js.map +1 -0
  48. package/lib/src/owlly/controller/mouse-indicator-controller.d.ts +34 -0
  49. package/lib/src/owlly/controller/mouse-indicator-controller.js +119 -0
  50. package/lib/src/owlly/controller/mouse-indicator-controller.js.map +1 -0
  51. package/lib/src/owlly/controller/orbit-control.d.ts +147 -0
  52. package/lib/src/owlly/controller/orbit-control.js +265 -0
  53. package/lib/src/owlly/controller/orbit-control.js.map +1 -0
  54. package/lib/src/owlly/controller/panorama-adjust-controller.d.ts +45 -0
  55. package/lib/src/owlly/controller/panorama-adjust-controller.js +158 -0
  56. package/lib/src/owlly/controller/panorama-adjust-controller.js.map +1 -0
  57. package/lib/src/owlly/controller/panorama-controller.d.ts +441 -0
  58. package/lib/src/owlly/controller/panorama-controller.js +1944 -0
  59. package/lib/src/owlly/controller/panorama-controller.js.map +1 -0
  60. package/lib/src/owlly/controller/panorama-transform-controller.d.ts +66 -0
  61. package/lib/src/owlly/controller/panorama-transform-controller.js +137 -0
  62. package/lib/src/owlly/controller/panorama-transform-controller.js.map +1 -0
  63. package/lib/src/owlly/controller/plane-controller.d.ts +43 -0
  64. package/lib/src/owlly/controller/plane-controller.js +174 -0
  65. package/lib/src/owlly/controller/plane-controller.js.map +1 -0
  66. package/lib/src/owlly/controller/texture-controller.d.ts +181 -0
  67. package/lib/src/owlly/controller/texture-controller.js +876 -0
  68. package/lib/src/owlly/controller/texture-controller.js.map +1 -0
  69. package/lib/src/owlly/controller/tile-panorama-controller.d.ts +308 -0
  70. package/lib/src/owlly/controller/tile-panorama-controller.js +1354 -0
  71. package/lib/src/owlly/controller/tile-panorama-controller.js.map +1 -0
  72. package/lib/src/owlly/controller/transform-controller.d.ts +106 -0
  73. package/lib/src/owlly/controller/transform-controller.js +546 -0
  74. package/lib/src/owlly/controller/transform-controller.js.map +1 -0
  75. package/lib/src/owlly/element/bottom-nav-element.d.ts +65 -0
  76. package/lib/src/owlly/element/bottom-nav-element.js +258 -0
  77. package/lib/src/owlly/element/bottom-nav-element.js.map +1 -0
  78. package/lib/src/owlly/element/camera.d.ts +82 -0
  79. package/lib/src/owlly/element/camera.js +284 -0
  80. package/lib/src/owlly/element/camera.js.map +1 -0
  81. package/lib/src/owlly/element/dom-2d-element.d.ts +35 -0
  82. package/lib/src/owlly/element/dom-2d-element.js +49 -0
  83. package/lib/src/owlly/element/dom-2d-element.js.map +1 -0
  84. package/lib/src/owlly/element/dom-3d-element.d.ts +27 -0
  85. package/lib/src/owlly/element/dom-3d-element.js +34 -0
  86. package/lib/src/owlly/element/dom-3d-element.js.map +1 -0
  87. package/lib/src/owlly/element/dom-label-2d.d.ts +116 -0
  88. package/lib/src/owlly/element/dom-label-2d.js +383 -0
  89. package/lib/src/owlly/element/dom-label-2d.js.map +1 -0
  90. package/lib/src/owlly/element/element.d.ts +53 -0
  91. package/lib/src/owlly/element/element.js +76 -0
  92. package/lib/src/owlly/element/element.js.map +1 -0
  93. package/lib/src/owlly/element/floor-model.d.ts +83 -0
  94. package/lib/src/owlly/element/floor-model.js +228 -0
  95. package/lib/src/owlly/element/floor-model.js.map +1 -0
  96. package/lib/src/owlly/element/gif-kit/Gif.d.ts +96 -0
  97. package/lib/src/owlly/element/gif-kit/Gif.js +433 -0
  98. package/lib/src/owlly/element/gif-kit/Gif.js.map +1 -0
  99. package/lib/src/owlly/element/gif-kit/GifColor.d.ts +21 -0
  100. package/lib/src/owlly/element/gif-kit/GifColor.js +38 -0
  101. package/lib/src/owlly/element/gif-kit/GifColor.js.map +1 -0
  102. package/lib/src/owlly/element/gif-kit/GifCompressedCodesToByteArrayConverter.d.ts +20 -0
  103. package/lib/src/owlly/element/gif-kit/GifCompressedCodesToByteArrayConverter.js +51 -0
  104. package/lib/src/owlly/element/gif-kit/GifCompressedCodesToByteArrayConverter.js.map +1 -0
  105. package/lib/src/owlly/element/gif-kit/GifFrame.d.ts +31 -0
  106. package/lib/src/owlly/element/gif-kit/GifFrame.js +97 -0
  107. package/lib/src/owlly/element/gif-kit/GifFrame.js.map +1 -0
  108. package/lib/src/owlly/element/gif-kit/GifImage.d.ts +23 -0
  109. package/lib/src/owlly/element/gif-kit/GifImage.js +8 -0
  110. package/lib/src/owlly/element/gif-kit/GifImage.js.map +1 -0
  111. package/lib/src/owlly/element/gif-kit/GifParser.d.ts +17 -0
  112. package/lib/src/owlly/element/gif-kit/GifParser.js +197 -0
  113. package/lib/src/owlly/element/gif-kit/GifParser.js.map +1 -0
  114. package/lib/src/owlly/element/gif-kit/GifPresenter.d.ts +20 -0
  115. package/lib/src/owlly/element/gif-kit/GifPresenter.js +44 -0
  116. package/lib/src/owlly/element/gif-kit/GifPresenter.js.map +1 -0
  117. package/lib/src/owlly/element/gif-kit/GifVersion.d.ts +10 -0
  118. package/lib/src/owlly/element/gif-kit/GifVersion.js +13 -0
  119. package/lib/src/owlly/element/gif-kit/GifVersion.js.map +1 -0
  120. package/lib/src/owlly/element/gltf-mesh-element.d.ts +31 -0
  121. package/lib/src/owlly/element/gltf-mesh-element.js +137 -0
  122. package/lib/src/owlly/element/gltf-mesh-element.js.map +1 -0
  123. package/lib/src/owlly/element/index.d.ts +20 -0
  124. package/lib/src/owlly/element/index.js +25 -0
  125. package/lib/src/owlly/element/index.js.map +1 -0
  126. package/lib/src/owlly/element/map-kit/area.d.ts +24 -0
  127. package/lib/src/owlly/element/map-kit/area.js +218 -0
  128. package/lib/src/owlly/element/map-kit/area.js.map +1 -0
  129. package/lib/src/owlly/element/map-kit/block-set.d.ts +39 -0
  130. package/lib/src/owlly/element/map-kit/block-set.js +91 -0
  131. package/lib/src/owlly/element/map-kit/block-set.js.map +1 -0
  132. package/lib/src/owlly/element/map-kit/block.d.ts +77 -0
  133. package/lib/src/owlly/element/map-kit/block.js +339 -0
  134. package/lib/src/owlly/element/map-kit/block.js.map +1 -0
  135. package/lib/src/owlly/element/map-kit/index.d.ts +4 -0
  136. package/lib/src/owlly/element/map-kit/index.js +7 -0
  137. package/lib/src/owlly/element/map-kit/index.js.map +1 -0
  138. package/lib/src/owlly/element/map-kit/shape.d.ts +131 -0
  139. package/lib/src/owlly/element/map-kit/shape.js +190 -0
  140. package/lib/src/owlly/element/map-kit/shape.js.map +1 -0
  141. package/lib/src/owlly/element/mesh-element.d.ts +22 -0
  142. package/lib/src/owlly/element/mesh-element.js +64 -0
  143. package/lib/src/owlly/element/mesh-element.js.map +1 -0
  144. package/lib/src/owlly/element/mesh-line-2d.d.ts +82 -0
  145. package/lib/src/owlly/element/mesh-line-2d.js +888 -0
  146. package/lib/src/owlly/element/mesh-line-2d.js.map +1 -0
  147. package/lib/src/owlly/element/meshline-o.d.ts +64 -0
  148. package/lib/src/owlly/element/meshline-o.js +679 -0
  149. package/lib/src/owlly/element/meshline-o.js.map +1 -0
  150. package/lib/src/owlly/element/panorama-group.d.ts +241 -0
  151. package/lib/src/owlly/element/panorama-group.js +967 -0
  152. package/lib/src/owlly/element/panorama-group.js.map +1 -0
  153. package/lib/src/owlly/element/panorama.d.ts +132 -0
  154. package/lib/src/owlly/element/panorama.js +813 -0
  155. package/lib/src/owlly/element/panorama.js.map +1 -0
  156. package/lib/src/owlly/element/path-group.d.ts +69 -0
  157. package/lib/src/owlly/element/path-group.js +172 -0
  158. package/lib/src/owlly/element/path-group.js.map +1 -0
  159. package/lib/src/owlly/element/path.d.ts +99 -0
  160. package/lib/src/owlly/element/path.js +532 -0
  161. package/lib/src/owlly/element/path.js.map +1 -0
  162. package/lib/src/owlly/element/placeable-2d.d.ts +158 -0
  163. package/lib/src/owlly/element/placeable-2d.js +471 -0
  164. package/lib/src/owlly/element/placeable-2d.js.map +1 -0
  165. package/lib/src/owlly/element/polygon-mesh.d.ts +107 -0
  166. package/lib/src/owlly/element/polygon-mesh.js +308 -0
  167. package/lib/src/owlly/element/polygon-mesh.js.map +1 -0
  168. package/lib/src/owlly/element/ring-element.d.ts +79 -0
  169. package/lib/src/owlly/element/ring-element.js +384 -0
  170. package/lib/src/owlly/element/ring-element.js.map +1 -0
  171. package/lib/src/owlly/element/sphere-mesh.d.ts +28 -0
  172. package/lib/src/owlly/element/sphere-mesh.js +70 -0
  173. package/lib/src/owlly/element/sphere-mesh.js.map +1 -0
  174. package/lib/src/owlly/element/svg-floor-model.d.ts +22 -0
  175. package/lib/src/owlly/element/svg-floor-model.js +185 -0
  176. package/lib/src/owlly/element/svg-floor-model.js.map +1 -0
  177. package/lib/src/owlly/element/svg-floors.d.ts +27 -0
  178. package/lib/src/owlly/element/svg-floors.js +110 -0
  179. package/lib/src/owlly/element/svg-floors.js.map +1 -0
  180. package/lib/src/owlly/element/tile-panorama-group.d.ts +335 -0
  181. package/lib/src/owlly/element/tile-panorama-group.js +1007 -0
  182. package/lib/src/owlly/element/tile-panorama-group.js.map +1 -0
  183. package/lib/src/owlly/element/tile-panorama.d.ts +161 -0
  184. package/lib/src/owlly/element/tile-panorama.js +511 -0
  185. package/lib/src/owlly/element/tile-panorama.js.map +1 -0
  186. package/lib/src/owlly/element/tile-plane.d.ts +105 -0
  187. package/lib/src/owlly/element/tile-plane.js +361 -0
  188. package/lib/src/owlly/element/tile-plane.js.map +1 -0
  189. package/lib/src/owlly/element/video-element.d.ts +33 -0
  190. package/lib/src/owlly/element/video-element.js +160 -0
  191. package/lib/src/owlly/element/video-element.js.map +1 -0
  192. package/lib/src/owlly/geometries/ExtrudeGeometry2.d.ts +15 -0
  193. package/lib/src/owlly/geometries/ExtrudeGeometry2.js +211 -0
  194. package/lib/src/owlly/geometries/ExtrudeGeometry2.js.map +1 -0
  195. package/lib/src/owlly/index.d.ts +13 -0
  196. package/lib/src/owlly/index.js +17 -0
  197. package/lib/src/owlly/index.js.map +1 -0
  198. package/lib/src/owlly/overlay/canvas-overlay.d.ts +96 -0
  199. package/lib/src/owlly/overlay/canvas-overlay.js +511 -0
  200. package/lib/src/owlly/overlay/canvas-overlay.js.map +1 -0
  201. package/lib/src/owlly/overlay/css-2d-overlay.d.ts +14 -0
  202. package/lib/src/owlly/overlay/css-2d-overlay.js +36 -0
  203. package/lib/src/owlly/overlay/css-2d-overlay.js.map +1 -0
  204. package/lib/src/owlly/overlay/css-3d-overlay.d.ts +16 -0
  205. package/lib/src/owlly/overlay/css-3d-overlay.js +37 -0
  206. package/lib/src/owlly/overlay/css-3d-overlay.js.map +1 -0
  207. package/lib/src/owlly/overlay/index.d.ts +6 -0
  208. package/lib/src/owlly/overlay/index.js +12 -0
  209. package/lib/src/owlly/overlay/index.js.map +1 -0
  210. package/lib/src/owlly/overlay/label-overlay.d.ts +62 -0
  211. package/lib/src/owlly/overlay/label-overlay.js +329 -0
  212. package/lib/src/owlly/overlay/label-overlay.js.map +1 -0
  213. package/lib/src/owlly/overlay/overlay.d.ts +14 -0
  214. package/lib/src/owlly/overlay/overlay.js +5 -0
  215. package/lib/src/owlly/overlay/overlay.js.map +1 -0
  216. package/lib/src/owlly/overlay/path-overlay.d.ts +39 -0
  217. package/lib/src/owlly/overlay/path-overlay.js +125 -0
  218. package/lib/src/owlly/overlay/path-overlay.js.map +1 -0
  219. package/lib/src/owlly/overlay/path-overlay2.d.ts +35 -0
  220. package/lib/src/owlly/overlay/path-overlay2.js +119 -0
  221. package/lib/src/owlly/overlay/path-overlay2.js.map +1 -0
  222. package/lib/src/owlly/overlay/poi-overlay-3d.d.ts +278 -0
  223. package/lib/src/owlly/overlay/poi-overlay-3d.js +1433 -0
  224. package/lib/src/owlly/overlay/poi-overlay-3d.js.map +1 -0
  225. package/lib/src/owlly/overlay/poi-overlay.d.ts +277 -0
  226. package/lib/src/owlly/overlay/poi-overlay.js +1412 -0
  227. package/lib/src/owlly/overlay/poi-overlay.js.map +1 -0
  228. package/lib/src/owlly/owlly-2d/index.d.ts +28 -0
  229. package/lib/src/owlly/owlly-2d/index.js +93 -0
  230. package/lib/src/owlly/owlly-2d/index.js.map +1 -0
  231. package/lib/src/owlly/screen/index.d.ts +1 -0
  232. package/lib/src/owlly/screen/index.js +2 -0
  233. package/lib/src/owlly/screen/index.js.map +1 -0
  234. package/lib/src/owlly/screen/screen.d.ts +73 -0
  235. package/lib/src/owlly/screen/screen.js +237 -0
  236. package/lib/src/owlly/screen/screen.js.map +1 -0
  237. package/lib/src/owlly/stage/__test__/stage.spec.d.ts +1 -0
  238. package/lib/src/owlly/stage/__test__/stage.spec.js +15 -0
  239. package/lib/src/owlly/stage/__test__/stage.spec.js.map +1 -0
  240. package/lib/src/owlly/stage/externals.d.ts +19 -0
  241. package/lib/src/owlly/stage/externals.js +25 -0
  242. package/lib/src/owlly/stage/externals.js.map +1 -0
  243. package/lib/src/owlly/stage/index.d.ts +4 -0
  244. package/lib/src/owlly/stage/index.js +7 -0
  245. package/lib/src/owlly/stage/index.js.map +1 -0
  246. package/lib/src/owlly/stage/owlly.d.ts +38 -0
  247. package/lib/src/owlly/stage/owlly.js +168 -0
  248. package/lib/src/owlly/stage/owlly.js.map +1 -0
  249. package/lib/src/owlly/stage/stage.d.ts +108 -0
  250. package/lib/src/owlly/stage/stage.js +235 -0
  251. package/lib/src/owlly/stage/stage.js.map +1 -0
  252. package/lib/src/owlly/utils/alignment-utils.d.ts +20 -0
  253. package/lib/src/owlly/utils/alignment-utils.js +64 -0
  254. package/lib/src/owlly/utils/alignment-utils.js.map +1 -0
  255. package/lib/src/owlly/utils/basic-calc.d.ts +18 -0
  256. package/lib/src/owlly/utils/basic-calc.js +130 -0
  257. package/lib/src/owlly/utils/basic-calc.js.map +1 -0
  258. package/lib/src/owlly/utils/basic-tools.d.ts +71 -0
  259. package/lib/src/owlly/utils/basic-tools.js +236 -0
  260. package/lib/src/owlly/utils/basic-tools.js.map +1 -0
  261. package/lib/src/owlly/utils/bvh-tree.d.ts +105 -0
  262. package/lib/src/owlly/utils/bvh-tree.js +540 -0
  263. package/lib/src/owlly/utils/bvh-tree.js.map +1 -0
  264. package/lib/src/owlly/utils/camera.d.ts +37 -0
  265. package/lib/src/owlly/utils/camera.js +51 -0
  266. package/lib/src/owlly/utils/camera.js.map +1 -0
  267. package/lib/src/owlly/utils/cube-texture-cache.d.ts +25 -0
  268. package/lib/src/owlly/utils/cube-texture-cache.js +144 -0
  269. package/lib/src/owlly/utils/cube-texture-cache.js.map +1 -0
  270. package/lib/src/owlly/utils/device-utils.d.ts +18 -0
  271. package/lib/src/owlly/utils/device-utils.js +42 -0
  272. package/lib/src/owlly/utils/device-utils.js.map +1 -0
  273. package/lib/src/owlly/utils/environment-utils.d.ts +37 -0
  274. package/lib/src/owlly/utils/environment-utils.js +74 -0
  275. package/lib/src/owlly/utils/environment-utils.js.map +1 -0
  276. package/lib/src/owlly/utils/event-hub.d.ts +50 -0
  277. package/lib/src/owlly/utils/event-hub.js +107 -0
  278. package/lib/src/owlly/utils/event-hub.js.map +1 -0
  279. package/lib/src/owlly/utils/events.d.ts +219 -0
  280. package/lib/src/owlly/utils/events.js +220 -0
  281. package/lib/src/owlly/utils/events.js.map +1 -0
  282. package/lib/src/owlly/utils/geometry-utils.d.ts +119 -0
  283. package/lib/src/owlly/utils/geometry-utils.js +623 -0
  284. package/lib/src/owlly/utils/geometry-utils.js.map +1 -0
  285. package/lib/src/owlly/utils/helper.d.ts +6 -0
  286. package/lib/src/owlly/utils/helper.js +25 -0
  287. package/lib/src/owlly/utils/helper.js.map +1 -0
  288. package/lib/src/owlly/utils/index.d.ts +14 -0
  289. package/lib/src/owlly/utils/index.js +18 -0
  290. package/lib/src/owlly/utils/index.js.map +1 -0
  291. package/lib/src/owlly/utils/lru-cache.d.ts +26 -0
  292. package/lib/src/owlly/utils/lru-cache.js +110 -0
  293. package/lib/src/owlly/utils/lru-cache.js.map +1 -0
  294. package/lib/src/owlly/utils/map-utils.d.ts +7 -0
  295. package/lib/src/owlly/utils/map-utils.js +53 -0
  296. package/lib/src/owlly/utils/map-utils.js.map +1 -0
  297. package/lib/src/owlly/utils/number-utils.d.ts +8 -0
  298. package/lib/src/owlly/utils/number-utils.js +73 -0
  299. package/lib/src/owlly/utils/number-utils.js.map +1 -0
  300. package/lib/src/owlly/utils/panorama-model-util.d.ts +46 -0
  301. package/lib/src/owlly/utils/panorama-model-util.js +246 -0
  302. package/lib/src/owlly/utils/panorama-model-util.js.map +1 -0
  303. package/lib/src/owlly/utils/path-utils.d.ts +80 -0
  304. package/lib/src/owlly/utils/path-utils.js +729 -0
  305. package/lib/src/owlly/utils/path-utils.js.map +1 -0
  306. package/lib/src/owlly/utils/svgutils.d.ts +138 -0
  307. package/lib/src/owlly/utils/svgutils.js +562 -0
  308. package/lib/src/owlly/utils/svgutils.js.map +1 -0
  309. package/lib/src/owlly/utils/texture-cache.d.ts +29 -0
  310. package/lib/src/owlly/utils/texture-cache.js +116 -0
  311. package/lib/src/owlly/utils/texture-cache.js.map +1 -0
  312. package/lib/src/owlly/utils/tile-util.d.ts +187 -0
  313. package/lib/src/owlly/utils/tile-util.js +457 -0
  314. package/lib/src/owlly/utils/tile-util.js.map +1 -0
  315. package/lib/src/owlly/utils/time-profiler.d.ts +21 -0
  316. package/lib/src/owlly/utils/time-profiler.js +49 -0
  317. package/lib/src/owlly/utils/time-profiler.js.map +1 -0
  318. package/lib/src/owlly/view/__test__/perspective-view.spec.d.ts +0 -0
  319. package/lib/src/owlly/view/__test__/perspective-view.spec.js +22 -0
  320. package/lib/src/owlly/view/__test__/perspective-view.spec.js.map +1 -0
  321. package/lib/src/owlly/view/camera-view.d.ts +35 -0
  322. package/lib/src/owlly/view/camera-view.js +102 -0
  323. package/lib/src/owlly/view/camera-view.js.map +1 -0
  324. package/lib/src/owlly/view/index.d.ts +3 -0
  325. package/lib/src/owlly/view/index.js +6 -0
  326. package/lib/src/owlly/view/index.js.map +1 -0
  327. package/lib/src/owlly/view/orthographic-view.d.ts +40 -0
  328. package/lib/src/owlly/view/orthographic-view.js +95 -0
  329. package/lib/src/owlly/view/orthographic-view.js.map +1 -0
  330. package/lib/src/owlly/view/perspective-view.d.ts +40 -0
  331. package/lib/src/owlly/view/perspective-view.js +96 -0
  332. package/lib/src/owlly/view/perspective-view.js.map +1 -0
  333. package/lib/src/owlly/view/svg-map-view.d.ts +46 -0
  334. package/lib/src/owlly/view/svg-map-view.js +145 -0
  335. package/lib/src/owlly/view/svg-map-view.js.map +1 -0
  336. package/lib/src/owlly/view/view.d.ts +146 -0
  337. package/lib/src/owlly/view/view.js +318 -0
  338. package/lib/src/owlly/view/view.js.map +1 -0
  339. package/lib/src/web/main.centroid.d.ts +0 -0
  340. package/lib/src/web/main.centroid.js +74 -0
  341. package/lib/src/web/main.centroid.js.map +1 -0
  342. package/lib/src/web/main.hyma.meshline2d.d.ts +1 -0
  343. package/lib/src/web/main.hyma.meshline2d.js +76 -0
  344. package/lib/src/web/main.hyma.meshline2d.js.map +1 -0
  345. package/lib/src/web/main.jyfang.sample.d.ts +0 -0
  346. package/lib/src/web/main.jyfang.sample.js +122 -0
  347. package/lib/src/web/main.jyfang.sample.js.map +1 -0
  348. package/lib/src/web/main.rpeng.extrude.d.ts +1 -0
  349. package/lib/src/web/main.rpeng.extrude.js +180 -0
  350. package/lib/src/web/main.rpeng.extrude.js.map +1 -0
  351. package/lib/src/web/main.rpeng.mes.plane.d.ts +1 -0
  352. package/lib/src/web/main.rpeng.mes.plane.js +135 -0
  353. package/lib/src/web/main.rpeng.mes.plane.js.map +1 -0
  354. package/lib/src/web/main.rpeng.sample.d.ts +0 -0
  355. package/lib/src/web/main.rpeng.sample.js +318 -0
  356. package/lib/src/web/main.rpeng.sample.js.map +1 -0
  357. package/lib/src/web/main.rpeng.vr.d.ts +1 -0
  358. package/lib/src/web/main.rpeng.vr.js +141 -0
  359. package/lib/src/web/main.rpeng.vr.js.map +1 -0
  360. package/lib/src/web/main.sample.d.ts +1 -0
  361. package/lib/src/web/main.sample.js +52 -0
  362. package/lib/src/web/main.sample.js.map +1 -0
  363. package/lib/src/web/quattree.hyma.d.ts +0 -0
  364. package/lib/src/web/quattree.hyma.js +150 -0
  365. package/lib/src/web/quattree.hyma.js.map +1 -0
  366. package/lib/src/web/sensor-vr-plugin.d.ts +0 -0
  367. package/lib/src/web/sensor-vr-plugin.js +166 -0
  368. package/lib/src/web/sensor-vr-plugin.js.map +1 -0
  369. package/package.json +142 -0
  370. package/src/@types/SceneUtils.d.ts +9 -0
  371. package/src/@types/chaikin-smooth.d.ts +5 -0
  372. package/src/@types/global.d.ts +3 -0
  373. package/src/@types/snapsvg.d.ts +11 -0
  374. package/src/@types/svgson.d.ts +30 -0
  375. package/src/assets/favicon.ico +0 -0
  376. package/src/external/lines/line-geometry.ts +70 -0
  377. package/src/external/lines/line-material.ts +453 -0
  378. package/src/external/lines/line-segments-2.ts +194 -0
  379. package/src/external/lines/line-segments-geometry.ts +197 -0
  380. package/src/external/loaders/gltf-loader.ts +3004 -0
  381. package/src/external/orbit-controls.ts +1070 -0
  382. package/src/external/renderers/css-2d-renderer.ts +185 -0
  383. package/src/external/renderers/css-3d-renderer.ts +245 -0
  384. package/src/external/transform-controls.ts +1532 -0
  385. package/src/external/util/buffer-geometry-utils.ts +783 -0
  386. package/src/owlly/controller/aerial-element-controller.ts +277 -0
  387. package/src/owlly/controller/basic-controller.ts +1509 -0
  388. package/src/owlly/controller/camera-controller.ts +155 -0
  389. package/src/owlly/controller/controller.ts +76 -0
  390. package/src/owlly/controller/index.ts +15 -0
  391. package/src/owlly/controller/mouse-indicator-controller.ts +157 -0
  392. package/src/owlly/controller/orbit-control.ts +310 -0
  393. package/src/owlly/controller/panorama-adjust-controller.ts +183 -0
  394. package/src/owlly/controller/panorama-controller.ts +2234 -0
  395. package/src/owlly/controller/panorama-transform-controller.ts +151 -0
  396. package/src/owlly/controller/plane-controller.ts +222 -0
  397. package/src/owlly/controller/texture-controller.ts +949 -0
  398. package/src/owlly/controller/tile-panorama-controller.ts +1633 -0
  399. package/src/owlly/controller/transform-controller.ts +684 -0
  400. package/src/owlly/element/bottom-nav-element.ts +352 -0
  401. package/src/owlly/element/camera.ts +389 -0
  402. package/src/owlly/element/dom-2d-element.ts +88 -0
  403. package/src/owlly/element/dom-3d-element.ts +87 -0
  404. package/src/owlly/element/dom-label-2d.ts +497 -0
  405. package/src/owlly/element/element.ts +117 -0
  406. package/src/owlly/element/floor-model.ts +290 -0
  407. package/src/owlly/element/gif-kit/Gif.ts +509 -0
  408. package/src/owlly/element/gif-kit/GifColor.ts +44 -0
  409. package/src/owlly/element/gif-kit/GifCompressedCodesToByteArrayConverter.ts +56 -0
  410. package/src/owlly/element/gif-kit/GifFrame.ts +207 -0
  411. package/src/owlly/element/gif-kit/GifImage.ts +26 -0
  412. package/src/owlly/element/gif-kit/GifParser.ts +254 -0
  413. package/src/owlly/element/gif-kit/GifPresenter.ts +46 -0
  414. package/src/owlly/element/gif-kit/GifVersion.ts +12 -0
  415. package/src/owlly/element/gltf-mesh-element.ts +184 -0
  416. package/src/owlly/element/index.ts +25 -0
  417. package/src/owlly/element/map-kit/area.ts +232 -0
  418. package/src/owlly/element/map-kit/block-set.ts +102 -0
  419. package/src/owlly/element/map-kit/block.ts +417 -0
  420. package/src/owlly/element/map-kit/index.ts +6 -0
  421. package/src/owlly/element/map-kit/shape.ts +285 -0
  422. package/src/owlly/element/mesh-element.ts +94 -0
  423. package/src/owlly/element/mesh-line-2d.ts +1032 -0
  424. package/src/owlly/element/meshline-o.ts +802 -0
  425. package/src/owlly/element/panorama-group.ts +1250 -0
  426. package/src/owlly/element/panorama.ts +1044 -0
  427. package/src/owlly/element/path-group.ts +212 -0
  428. package/src/owlly/element/path.ts +727 -0
  429. package/src/owlly/element/placeable-2d.ts +627 -0
  430. package/src/owlly/element/polygon-mesh.ts +344 -0
  431. package/src/owlly/element/ring-element.ts +517 -0
  432. package/src/owlly/element/sphere-mesh.ts +96 -0
  433. package/src/owlly/element/svg-floor-model.ts +200 -0
  434. package/src/owlly/element/svg-floors.ts +121 -0
  435. package/src/owlly/element/tile-panorama-group.ts +1314 -0
  436. package/src/owlly/element/tile-panorama.ts +636 -0
  437. package/src/owlly/element/tile-plane.ts +430 -0
  438. package/src/owlly/element/video-element.ts +190 -0
  439. package/src/owlly/geometries/ExtrudeGeometry2.ts +255 -0
  440. package/src/owlly/index.ts +19 -0
  441. package/src/owlly/overlay/canvas-overlay.ts +642 -0
  442. package/src/owlly/overlay/css-2d-overlay.ts +48 -0
  443. package/src/owlly/overlay/css-3d-overlay.ts +50 -0
  444. package/src/owlly/overlay/index.ts +11 -0
  445. package/src/owlly/overlay/label-overlay.ts +419 -0
  446. package/src/owlly/overlay/overlay.ts +17 -0
  447. package/src/owlly/overlay/path-overlay.ts +170 -0
  448. package/src/owlly/overlay/path-overlay2.ts +149 -0
  449. package/src/owlly/overlay/poi-overlay-3d.ts +1759 -0
  450. package/src/owlly/overlay/poi-overlay.ts +1739 -0
  451. package/src/owlly/owlly-2d/index.ts +108 -0
  452. package/src/owlly/screen/index.ts +1 -0
  453. package/src/owlly/screen/screen.ts +323 -0
  454. package/src/owlly/stage/__test__/stage.spec.ts +15 -0
  455. package/src/owlly/stage/externals.ts +45 -0
  456. package/src/owlly/stage/index.ts +12 -0
  457. package/src/owlly/stage/owlly.ts +223 -0
  458. package/src/owlly/stage/stage.ts +274 -0
  459. package/src/owlly/utils/alignment-utils.ts +84 -0
  460. package/src/owlly/utils/basic-calc.ts +141 -0
  461. package/src/owlly/utils/basic-tools.ts +286 -0
  462. package/src/owlly/utils/bvh-tree.ts +695 -0
  463. package/src/owlly/utils/camera.ts +72 -0
  464. package/src/owlly/utils/cube-texture-cache.ts +155 -0
  465. package/src/owlly/utils/device-utils.ts +53 -0
  466. package/src/owlly/utils/environment-utils.ts +81 -0
  467. package/src/owlly/utils/event-hub.ts +120 -0
  468. package/src/owlly/utils/events.ts +266 -0
  469. package/src/owlly/utils/geometry-utils.ts +749 -0
  470. package/src/owlly/utils/helper.ts +33 -0
  471. package/src/owlly/utils/index.ts +17 -0
  472. package/src/owlly/utils/lru-cache.ts +126 -0
  473. package/src/owlly/utils/map-utils.ts +55 -0
  474. package/src/owlly/utils/number-utils.ts +75 -0
  475. package/src/owlly/utils/panorama-model-util.ts +255 -0
  476. package/src/owlly/utils/path-utils.ts +837 -0
  477. package/src/owlly/utils/svgutils.ts +732 -0
  478. package/src/owlly/utils/texture-cache.ts +132 -0
  479. package/src/owlly/utils/tile-util.ts +563 -0
  480. package/src/owlly/utils/time-profiler.ts +57 -0
  481. package/src/owlly/view/__test__/perspective-view.spec.ts +23 -0
  482. package/src/owlly/view/camera-view.ts +114 -0
  483. package/src/owlly/view/index.ts +5 -0
  484. package/src/owlly/view/orthographic-view.ts +124 -0
  485. package/src/owlly/view/perspective-view.ts +125 -0
  486. package/src/owlly/view/svg-map-view.ts +187 -0
  487. package/src/owlly/view/view.ts +409 -0
  488. package/src/public/js/jsmpeg.min.js +3129 -0
  489. package/src/web/index.html +52 -0
  490. package/src/web/main.centroid.ts +85 -0
  491. package/src/web/main.hyma.meshline2d.ts +84 -0
  492. package/src/web/main.jyfang.sample.ts +139 -0
  493. package/src/web/main.rpeng.extrude.ts +194 -0
  494. package/src/web/main.rpeng.mes.plane.ts +161 -0
  495. package/src/web/main.rpeng.sample.ts +345 -0
  496. package/src/web/main.rpeng.vr.ts +159 -0
  497. package/src/web/main.sample.ts +59 -0
  498. package/src/web/quattree.hyma.ts +163 -0
  499. package/src/web/sensor-vr-plugin.ts +201 -0
  500. package/src/web/testPixel.png +0 -0
@@ -0,0 +1,158 @@
1
+ import { NS_THREE } from '../stage/externals';
2
+ import { Element, ElementFrameContext } from './element';
3
+ import { View } from '../view/view';
4
+ /**
5
+ * @param targetView 指定的View
6
+ * @param faceToCamera 是否始终朝向摄像机,即公告牌模式。默认为true
7
+ * @param keepZOnFaceToCamera 是否保持Z轴垂直于地面
8
+ * @param visibilities 全景图pid与可见性对应关系的数组
9
+ * 其中如果有某个元素的pid为-1,表示其对应的visible属性会应用到所有未特别设置的全景点上
10
+ * @param positions 全景图pid与位置对应关系的数组
11
+ * 其中如果有某个元素的pid为-1,表示其对应的position属性会应用到所有未特别设置的全景点上
12
+ */
13
+ interface Placeable2DViewConfiguration {
14
+ targetView: View;
15
+ visibilities?: {
16
+ pid: number;
17
+ visible: boolean;
18
+ }[];
19
+ positions?: {
20
+ pid: number;
21
+ position: NS_THREE.Vector3;
22
+ }[];
23
+ faceToCamera?: boolean;
24
+ keepZOnFaceToCamera?: boolean;
25
+ showMesh?: boolean;
26
+ showDom?: boolean;
27
+ visibleScope?: number;
28
+ }
29
+ interface Placeable2DViewConfigurationInternal {
30
+ targetView: View;
31
+ visibilities?: Map<number, boolean>;
32
+ positions?: Map<number, NS_THREE.Vector3>;
33
+ faceToCamera?: boolean;
34
+ keepZOnFaceToCamera?: boolean;
35
+ showMesh?: boolean;
36
+ showDom?: boolean;
37
+ visibleScope?: number;
38
+ }
39
+ /**
40
+ * 2D贴图对象
41
+ * @noInheritDoc
42
+ */
43
+ declare class Placeable2D extends Element {
44
+ private initialized;
45
+ private needUpdate;
46
+ private material;
47
+ private uniforms;
48
+ private labelMesh;
49
+ private gif;
50
+ private gifLabelMesh;
51
+ private currentDisplayTime;
52
+ private frameIndex;
53
+ private gifMaterial;
54
+ private frames;
55
+ private tileDispDuration;
56
+ private gifCanvas;
57
+ private gifContext;
58
+ private giftexture;
59
+ private width;
60
+ private height;
61
+ labelID: number;
62
+ viewConfigurations: Map<View, Placeable2DViewConfigurationInternal>;
63
+ private eventListeners;
64
+ private currentPID;
65
+ private isEditingInView;
66
+ private movedToNewPanorama;
67
+ private cssObject;
68
+ private imgElement;
69
+ private outOfRange;
70
+ private currentPanoramaPosition;
71
+ isDomElement: boolean;
72
+ private hidden;
73
+ private depthTest;
74
+ /**
75
+ * 注意:最好在[PanoramaController]初始化视角之前就添加好,否则会漏掉初始所在全景图的[MOVE_TO_PANORAMA]事件通知
76
+ * @param labelID 唯一ID
77
+ * @param url 图片地址
78
+ * @param options 可选参数,如矩形宽高
79
+ * @example
80
+ * ```typescript
81
+ * const placeable = new Placeable2D(1, url,
82
+ * {
83
+ * width: 0.3,
84
+ * height: 0.3,
85
+ * });
86
+ * stage.bindElement(placeable);
87
+ * ```
88
+ */
89
+ constructor(labelID: number, url: string, options?: {
90
+ width?: number;
91
+ height?: number;
92
+ depthTest?: boolean;
93
+ });
94
+ load(url: string): Promise<void>;
95
+ private drawCanvas;
96
+ update(): ElementFrameContext;
97
+ dispose(): void;
98
+ /**
99
+ * 设置在指定View中的显示配置参数
100
+ * @param configuration 显示配置对象
101
+ * @example
102
+ * ```typescript
103
+ * label2D.addViewConfiguration({
104
+ * targetView: view,
105
+ * positions: [
106
+ * { pid: 6, position: labelPosition3 },
107
+ * { pid: 3, position: labelPosition6 },
108
+ * ],
109
+ * visibilities: [{ pid: -1, visible: false }],
110
+ * faceToCamera: true,
111
+ * });
112
+ * ```
113
+ */
114
+ addViewConfiguration(configuration: Placeable2DViewConfiguration): void;
115
+ /**
116
+ * 设置当前标签是否处于编辑模式
117
+ * @param editingMode 是否设置为编辑模式
118
+ */
119
+ setEditingMode(targetView: View, editingMode: boolean): void;
120
+ isEditing(targetView: View): boolean;
121
+ /**
122
+ * 设置标签尺寸
123
+ * @param width 宽度
124
+ * @param height 高度
125
+ */
126
+ setSize(width: number, height: number): void;
127
+ /**
128
+ * 查询当前设置的标签尺寸
129
+ * @returns number数组,依次是width, height
130
+ */
131
+ getSize(): number[];
132
+ /**
133
+ * 设置imgElement Css
134
+ * @param cssText string
135
+ * @param width 宽
136
+ * @param height 高
137
+ */
138
+ setDomCSS(width: number, height: number, cssText?: string): void;
139
+ getViewConfigurationByPanoramaId(view: View, pid: number): {
140
+ visible: boolean;
141
+ position: NS_THREE.Vector3;
142
+ };
143
+ updateViewConfigurationByPanoramaId(view: View, pid: number, { visible, position }: {
144
+ visible?: boolean;
145
+ position?: NS_THREE.Vector3;
146
+ }): void;
147
+ /**
148
+ * 手动更新Placeable2D当前所在全景点位
149
+ * @param pid 点位id
150
+ * @param position 全景点位坐标
151
+ */
152
+ updateCurrentBindingPanorama(pid: number, position: NS_THREE.Vector3): void;
153
+ /**
154
+ * 将Placeable2D设置为不可见
155
+ */
156
+ setHidden(hidden: boolean): void;
157
+ }
158
+ export { Placeable2D, Placeable2DViewConfiguration };
@@ -0,0 +1,471 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { Externals } from '../stage/externals';
11
+ import { CSS2DObject } from '../../external/renderers/css-2d-renderer';
12
+ import { Element, ElementFrameContext } from './element';
13
+ import { EventHub } from '../utils/event-hub';
14
+ import { OwllyEvents, Events } from '../utils/events';
15
+ import { Gif } from './gif-kit/Gif';
16
+ import { GifPresenter } from './gif-kit/GifPresenter';
17
+ /**
18
+ * 2D贴图对象
19
+ * @noInheritDoc
20
+ */
21
+ class Placeable2D extends Element {
22
+ /**
23
+ * 注意:最好在[PanoramaController]初始化视角之前就添加好,否则会漏掉初始所在全景图的[MOVE_TO_PANORAMA]事件通知
24
+ * @param labelID 唯一ID
25
+ * @param url 图片地址
26
+ * @param options 可选参数,如矩形宽高
27
+ * @example
28
+ * ```typescript
29
+ * const placeable = new Placeable2D(1, url,
30
+ * {
31
+ * width: 0.3,
32
+ * height: 0.3,
33
+ * });
34
+ * stage.bindElement(placeable);
35
+ * ```
36
+ */
37
+ constructor(labelID, url, options) {
38
+ super();
39
+ // eslint-disable-next-line
40
+ this.frames = [];
41
+ this.labelID = labelID;
42
+ this.initialized = false;
43
+ this.needUpdate = false;
44
+ this.isEditingInView = new Map();
45
+ this.currentPID = -1;
46
+ this.movedToNewPanorama = true;
47
+ this.outOfRange = true;
48
+ this.currentDisplayTime = 0;
49
+ this.frameIndex = 0;
50
+ this.tileDispDuration = 60;
51
+ this.hidden = false;
52
+ const { THREE } = Externals.getInstance();
53
+ const { width, height, depthTest, } = options || {};
54
+ this.width = width || 0.1;
55
+ this.height = height || 0.1;
56
+ this.depthTest = depthTest || false;
57
+ const geometry = new THREE.PlaneBufferGeometry(this.width, this.height);
58
+ // 顶点着色器
59
+ const vertexShader = `
60
+ varying vec2 vUv;
61
+ void main(){
62
+ vUv = uv;
63
+ gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
64
+ }`;
65
+ // 片源着色器
66
+ const fragmentShader = `
67
+ uniform sampler2D map;
68
+ uniform vec4 blendColor;
69
+ uniform float opacity;
70
+ varying vec2 vUv;
71
+ void main(){
72
+ vec4 texColor = texture2D(map, vUv);
73
+ gl_FragColor = vec4((texColor * (1.0 - blendColor.a) + blendColor * blendColor.a).rgb, texColor.a) * vec4(1, 1, 1, opacity);
74
+ }`;
75
+ // uniform参数
76
+ this.uniforms = {
77
+ map: {
78
+ type: 't',
79
+ value: null,
80
+ },
81
+ blendColor: {
82
+ type: 'v4',
83
+ value: new THREE.Vector4(0, 0, 0, 0.0),
84
+ },
85
+ opacity: { value: 1 },
86
+ };
87
+ this.material = new THREE.ShaderMaterial({
88
+ // 设置透明属性,这样透过全景图就能看到标签
89
+ transparent: true,
90
+ vertexShader,
91
+ fragmentShader,
92
+ uniforms: this.uniforms,
93
+ depthTest: this.depthTest,
94
+ depthWrite: false,
95
+ name: 'placeable2DMaterial',
96
+ side: THREE.DoubleSide,
97
+ });
98
+ this.labelMesh = new THREE.Mesh(geometry, this.material);
99
+ this.labelMesh.renderOrder = 400;
100
+ this.add(this.labelMesh);
101
+ this.imgElement = document.createElement('div');
102
+ this.imgElement.style.pointerEvents = 'none';
103
+ this.imgElement.innerHTML = `<div><img width=50px height=50px src="${url}"></div>`;
104
+ this.cssObject = new CSS2DObject(this.imgElement);
105
+ this.add(this.cssObject);
106
+ this.viewConfigurations = new Map();
107
+ this.eventListeners = {
108
+ onMoveToPanorama: (pid, position) => {
109
+ this.updateCurrentBindingPanorama(pid, position);
110
+ },
111
+ onPositionChanged: (position, element, view) => {
112
+ if (element !== this)
113
+ return;
114
+ const { visible } = this.getViewConfigurationByPanoramaId(view, this.currentPID);
115
+ this.updateViewConfigurationByPanoramaId(view, this.currentPID, { visible, position });
116
+ },
117
+ };
118
+ // EventHub.on(OwllyEvents.RENDERING_VIEW_CHANGED, this.eventListeners.onCurrentViewChanged);
119
+ EventHub.on(Events.MOVE_TO_PANORAMA, this.eventListeners.onMoveToPanorama);
120
+ EventHub.on(OwllyEvents.ELEMENT_POSITION_UPDATED, this.eventListeners.onPositionChanged);
121
+ if (url)
122
+ this.load(url);
123
+ }
124
+ // private async parseStream(stream: SuperGifStream): Promise<void> {
125
+ // try {
126
+ // const parser = new SuperGifParser(stream, this.handler);
127
+ // await parser.parse();
128
+ // } catch (err) {
129
+ // // this.handleError('parse');
130
+ // }
131
+ // }
132
+ // private handler = {
133
+ // img: (imgs: any) => {
134
+ // console.log('-------------------------', imgs);
135
+ // },
136
+ // }
137
+ load(url) {
138
+ return __awaiter(this, void 0, void 0, function* () {
139
+ this.initialized = false;
140
+ const regex = /\.gif$/;
141
+ const n = url.search(regex);
142
+ const { THREE } = Externals.getInstance();
143
+ if (n > 0) {
144
+ const xhr = new XMLHttpRequest();
145
+ xhr.open('GET', url, true);
146
+ xhr.responseType = 'arraybuffer';
147
+ xhr.onload = () => __awaiter(this, void 0, void 0, function* () {
148
+ let arrayBuffer;
149
+ arrayBuffer = xhr.response;
150
+ this.gif = Gif.parse(arrayBuffer);
151
+ if (arrayBuffer.toString().indexOf('ArrayBuffer') > 0) {
152
+ arrayBuffer = new Uint8Array(arrayBuffer);
153
+ }
154
+ // const stream = new SuperGifStream(arrayBuffer);
155
+ // await this.parseStream(stream);
156
+ this.gif.split(true).forEach((i) => __awaiter(this, void 0, void 0, function* () {
157
+ const img = new Image();
158
+ const blob = GifPresenter.writeToBlob(i.writeToArrayBuffer());
159
+ // img.src = GifPresenter.writeToDataUrl(i.writeToArrayBuffer());
160
+ img.src = URL.createObjectURL(blob);
161
+ img.onload = () => __awaiter(this, void 0, void 0, function* () {
162
+ this.frames.push(img);
163
+ if (this.gif.frames.length === this.frames.length) {
164
+ this.frameIndex = 0;
165
+ this.currentDisplayTime = new Date().getTime();
166
+ const geometry = new THREE.PlaneBufferGeometry(this.width, this.height);
167
+ this.gifCanvas = document.createElement('canvas');
168
+ this.gifCanvas.width = this.gif.width;
169
+ this.gifCanvas.height = this.gif.height;
170
+ this.gifContext = this.gifCanvas.getContext('2d');
171
+ // document.body.appendChild(cnv);
172
+ if (this.gifContext) {
173
+ this.gifContext.drawImage(this.frames[this.frameIndex], 0, 0, this.gif.width, this.gif.height);
174
+ }
175
+ this.giftexture = new THREE.Texture(this.gifCanvas);
176
+ this.giftexture.needsUpdate = true;
177
+ this.gifMaterial = new THREE.MeshBasicMaterial({
178
+ map: this.giftexture,
179
+ transparent: true,
180
+ side: THREE.DoubleSide,
181
+ });
182
+ // this.gifMaterial = new MeshBasicMaterial({ color: 0x2194ce, transparent: true, side: DoubleSide });
183
+ this.gifLabelMesh = new THREE.Mesh(geometry, this.gifMaterial);
184
+ this.add(this.gifLabelMesh);
185
+ // console.log('----texture-------', this.gif.width, this.gif.height, this.giftexture);
186
+ this.needUpdate = true;
187
+ this.emit(Events.ELEMENT_LOADED, this);
188
+ }
189
+ });
190
+ }));
191
+ });
192
+ xhr.send();
193
+ }
194
+ else {
195
+ // console.log(`## Loading texture from:${url}`);
196
+ new THREE.TextureLoader().load(url, (texture) => {
197
+ // console.log('## Texture loaded');
198
+ this.uniforms.map.value = texture;
199
+ this.needUpdate = true;
200
+ this.emit(Events.ELEMENT_LOADED, this);
201
+ });
202
+ // url.slice();
203
+ }
204
+ });
205
+ }
206
+ drawCanvas() {
207
+ if (this.gifContext) {
208
+ this.gifContext.clearRect(0, 0, this.gif.width, this.gif.height);
209
+ this.gifContext.drawImage(this.frames[this.frameIndex], 0, 0, this.gif.width, this.gif.height);
210
+ this.giftexture.needsUpdate = true;
211
+ this.needUpdate = true;
212
+ }
213
+ // this._texture.needsUpdate = true;
214
+ }
215
+ update() {
216
+ const frameContext = new ElementFrameContext(this);
217
+ if (!this.initialized) {
218
+ this.initialized = true;
219
+ frameContext.needUpdate = true;
220
+ }
221
+ if (this.needUpdate) {
222
+ frameContext.needUpdate = true;
223
+ this.needUpdate = false;
224
+ }
225
+ if (this.gifLabelMesh !== null) {
226
+ const time = new Date().getTime();
227
+ if ((time - this.currentDisplayTime) >= this.tileDispDuration) {
228
+ this.currentDisplayTime = time;
229
+ this.frameIndex += 1;
230
+ if (this.frameIndex >= this.frames.length) {
231
+ this.frameIndex = 0;
232
+ }
233
+ this.drawCanvas();
234
+ // console.log('Add Frame', this.frameIndex);
235
+ }
236
+ }
237
+ if (this.initialized && !this.parent) {
238
+ frameContext.shouldPlaceElement = true;
239
+ }
240
+ return frameContext;
241
+ }
242
+ dispose() {
243
+ const texture = this.uniforms.map.value;
244
+ if (texture) {
245
+ texture.dispose();
246
+ }
247
+ // EventHub.off(OwllyEvents.RENDERING_VIEW_CHANGED, this.eventListeners.onCurrentViewChanged);
248
+ EventHub.off(Events.MOVE_TO_PANORAMA, this.eventListeners.onMoveToPanorama);
249
+ EventHub.off(OwllyEvents.ELEMENT_POSITION_UPDATED, this.eventListeners.onPositionChanged);
250
+ this.imgElement = null;
251
+ this.cssObject.dispatchEvent({ type: 'remove' });
252
+ this.remove(this.cssObject);
253
+ this.cssObject = null;
254
+ super.dispose();
255
+ }
256
+ // renderingViewChanged(view: View): void {
257
+ // const conf0 = this.viewConfigurations.get(view);
258
+ // const { THREE } = Externals.getInstance();
259
+ // if (!conf0) return;
260
+ // const conf = {
261
+ // faceToCamera: true,
262
+ // keepZOnFaceToCamera: true,
263
+ // } as Placeable2DViewConfigurationInternal;
264
+ // if (undefined !== conf0.faceToCamera) {
265
+ // conf.faceToCamera = conf0.faceToCamera;
266
+ // }
267
+ // if (undefined !== conf0.keepZOnFaceToCamera) {
268
+ // conf.keepZOnFaceToCamera = conf0.keepZOnFaceToCamera;
269
+ // }
270
+ // conf.visibilities = conf0.visibilities;
271
+ // if (this.movedToNewPanorama && this.currentPanoramaPosition) {
272
+ // conf.positions = conf0.positions;
273
+ // if (conf.positions) {
274
+ // let position = conf.positions.get(this.currentPID);
275
+ // if (!position) {
276
+ // position = conf.positions.get(-1);
277
+ // }
278
+ // if (position) {
279
+ // this.position.copy(position);
280
+ // }
281
+ // }
282
+ // this.outOfRange = this.currentPanoramaPosition.distanceTo(this.position) >= conf0.visibleScope!;
283
+ // this.movedToNewPanorama = false;
284
+ // }
285
+ // if (conf.visibilities) {
286
+ // let visibility = conf.visibilities.get(this.currentPID);
287
+ // if (undefined === visibility) {
288
+ // visibility = conf.visibilities.get(-1);
289
+ // }
290
+ // visibility = visibility && !this.outOfRange;
291
+ // const editing = !!this.isEditingInView.get(view);
292
+ // this.labelMesh.visible = !!((visibility || editing) && conf0.showMesh) && !this.hidden;
293
+ // this.cssObject!.visible = !!((visibility || editing) && conf0.showDom) && !this.hidden;
294
+ // this.visible = this.labelMesh.visible || this.cssObject!.visible;
295
+ // this.uniforms.opacity.value = 1;
296
+ // if (this.cssObject!.visible && !conf0.showMesh) {
297
+ // this.labelMesh.visible = true;
298
+ // this.uniforms.opacity.value = 0;
299
+ // }
300
+ // if (this.isEditingInView.get(view) && !visibility) {
301
+ // this.uniforms.blendColor.value = new THREE.Vector4(1, 0, 0, 0.5);
302
+ // } else this.uniforms.blendColor.value = new THREE.Vector4(0, 0, 0, 0);
303
+ // }
304
+ // if (conf.faceToCamera && view.camera) {
305
+ // this.up.copy(view.camera.up).normalize();
306
+ // if (conf.keepZOnFaceToCamera) {
307
+ // const v = new THREE.Vector3().copy(view.camera.position).sub(this.position);
308
+ // const positionOnZ = view.camera.position.clone().addScaledVector(this.up, -v.dot(this.up));
309
+ // this.lookAt(positionOnZ);
310
+ // } else {
311
+ // this.lookAt(view.camera.position);
312
+ // }
313
+ // }
314
+ // }
315
+ /**
316
+ * 设置在指定View中的显示配置参数
317
+ * @param configuration 显示配置对象
318
+ * @example
319
+ * ```typescript
320
+ * label2D.addViewConfiguration({
321
+ * targetView: view,
322
+ * positions: [
323
+ * { pid: 6, position: labelPosition3 },
324
+ * { pid: 3, position: labelPosition6 },
325
+ * ],
326
+ * visibilities: [{ pid: -1, visible: false }],
327
+ * faceToCamera: true,
328
+ * });
329
+ * ```
330
+ */
331
+ addViewConfiguration(configuration) {
332
+ const config = {
333
+ targetView: configuration.targetView,
334
+ faceToCamera: configuration.faceToCamera,
335
+ keepZOnFaceToCamera: configuration.keepZOnFaceToCamera,
336
+ showDom: false,
337
+ showMesh: true,
338
+ visibleScope: 5,
339
+ };
340
+ const prevConfig = this.viewConfigurations.get(configuration.targetView);
341
+ if (prevConfig) {
342
+ config.visibilities = prevConfig.visibilities;
343
+ config.positions = prevConfig.positions;
344
+ if (undefined === config.faceToCamera) {
345
+ config.faceToCamera = prevConfig.faceToCamera;
346
+ }
347
+ if (undefined === config.keepZOnFaceToCamera) {
348
+ config.keepZOnFaceToCamera = prevConfig.keepZOnFaceToCamera;
349
+ }
350
+ config.showDom = prevConfig.showDom;
351
+ config.showMesh = prevConfig.showMesh;
352
+ config.visibleScope = prevConfig.visibleScope;
353
+ }
354
+ if (configuration.showDom !== undefined)
355
+ config.showDom = configuration.showDom;
356
+ if (configuration.showMesh !== undefined)
357
+ config.showMesh = configuration.showMesh;
358
+ if (configuration.visibleScope !== undefined)
359
+ config.visibleScope = configuration.visibleScope;
360
+ if (configuration.visibilities) {
361
+ if (!config.visibilities) {
362
+ config.visibilities = new Map();
363
+ }
364
+ configuration.visibilities.forEach((item) => {
365
+ config.visibilities.set(item.pid, item.visible);
366
+ });
367
+ }
368
+ if (configuration.positions) {
369
+ if (!config.positions) {
370
+ config.positions = new Map();
371
+ }
372
+ configuration.positions.forEach((item) => {
373
+ config.positions.set(item.pid, item.position);
374
+ });
375
+ }
376
+ this.viewConfigurations.set(config.targetView, config);
377
+ }
378
+ /**
379
+ * 设置当前标签是否处于编辑模式
380
+ * @param editingMode 是否设置为编辑模式
381
+ */
382
+ setEditingMode(targetView, editingMode) {
383
+ this.isEditingInView.set(targetView, editingMode);
384
+ this.needUpdate = true;
385
+ // if (editingMode) {
386
+ // this.editViewConfiguration(targetView, {
387
+ // position: this.position.clone(),
388
+ // visibility: this.visible,
389
+ // });
390
+ // }
391
+ }
392
+ isEditing(targetView) {
393
+ return !!this.isEditingInView.get(targetView);
394
+ }
395
+ /**
396
+ * 设置标签尺寸
397
+ * @param width 宽度
398
+ * @param height 高度
399
+ */
400
+ setSize(width, height) {
401
+ const { THREE } = Externals.getInstance();
402
+ this.width = width;
403
+ this.height = height;
404
+ const geometry = new THREE.PlaneBufferGeometry(width, height);
405
+ this.labelMesh.geometry = geometry;
406
+ }
407
+ /**
408
+ * 查询当前设置的标签尺寸
409
+ * @returns number数组,依次是width, height
410
+ */
411
+ getSize() {
412
+ return [this.width, this.height];
413
+ }
414
+ /**
415
+ * 设置imgElement Css
416
+ * @param cssText string
417
+ * @param width 宽
418
+ * @param height 高
419
+ */
420
+ setDomCSS(width, height, cssText) {
421
+ if (this.imgElement) {
422
+ const img = this.imgElement.getElementsByTagName('img')[0];
423
+ let css;
424
+ if (cssText) {
425
+ css = `${cssText};width:${width.toString()}px;height:${height.toString()}px;`;
426
+ }
427
+ else
428
+ css = `width:${width.toString()}px;height:${height.toString()}px;`;
429
+ img.style.cssText = css;
430
+ this.width = width;
431
+ this.height = height;
432
+ this.isDomElement = true;
433
+ }
434
+ }
435
+ getViewConfigurationByPanoramaId(view, pid) {
436
+ const conf = this.viewConfigurations.get(view);
437
+ if (!conf)
438
+ throw new Error('Cannot find view configuration');
439
+ const position = conf.positions.has(pid) ? conf.positions.get(pid) : conf.positions.get(-1);
440
+ const visible = conf.visibilities.has(pid) ? conf.visibilities.get(pid) : conf.visibilities.get(-1);
441
+ return { visible, position };
442
+ }
443
+ updateViewConfigurationByPanoramaId(view, pid, { visible, position }) {
444
+ const conf = this.viewConfigurations.get(view);
445
+ if (!conf)
446
+ throw new Error('Cannot find view configuration');
447
+ if (position !== undefined)
448
+ conf.positions.set(pid, position);
449
+ if (visible !== undefined)
450
+ conf.visibilities.set(pid, visible);
451
+ this.needUpdate = true;
452
+ }
453
+ /**
454
+ * 手动更新Placeable2D当前所在全景点位
455
+ * @param pid 点位id
456
+ * @param position 全景点位坐标
457
+ */
458
+ updateCurrentBindingPanorama(pid, position) {
459
+ this.currentPID = pid;
460
+ this.movedToNewPanorama = true;
461
+ this.currentPanoramaPosition = position ? position.clone() : null;
462
+ }
463
+ /**
464
+ * 将Placeable2D设置为不可见
465
+ */
466
+ setHidden(hidden) {
467
+ this.hidden = hidden;
468
+ }
469
+ }
470
+ export { Placeable2D };
471
+ //# sourceMappingURL=placeable-2d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeable-2d.js","sourceRoot":"","sources":["../../../../src/owlly/element/placeable-2d.ts"],"names":[],"mappings":"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"}