@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,511 @@
1
+ import { Externals } from '../stage/externals';
2
+ import { Overlay } from './overlay';
3
+ import { Owlly2D } from '../owlly-2d';
4
+ import { Events } from '../utils/events';
5
+ // import { BasicTools } from '../utils';
6
+ class ShapeGroup {
7
+ constructor(shape, rawShape, baseZoom, zIndices = []) {
8
+ this.shape = shape;
9
+ this.rawShape = rawShape;
10
+ this.baseZoom = baseZoom;
11
+ this.zIndices = zIndices;
12
+ this.points = [];
13
+ this.lineJointsStyle = 'joints';
14
+ this.vertexOptions = {
15
+ radius: 0,
16
+ fill: '#fff',
17
+ shadowColor: '#000',
18
+ shadowBlur: 3,
19
+ shadowOffset: { x: 1, y: 2 },
20
+ shadowOpacity: 0.3,
21
+ shadowEnabled: false,
22
+ };
23
+ }
24
+ }
25
+ var MouseState;
26
+ (function (MouseState) {
27
+ MouseState[MouseState["IDLE"] = 0] = "IDLE";
28
+ MouseState[MouseState["DOWN"] = 1] = "DOWN";
29
+ MouseState[MouseState["MOVE"] = 2] = "MOVE";
30
+ })(MouseState || (MouseState = {}));
31
+ /**
32
+ * POI覆盖层, 可以展示POI图标与文字, 存在图标时以图标中心为中心, 否则为文字中心
33
+ * @example
34
+ * ```typescript
35
+ * const poiOverlay = new PoiOverlay();
36
+ * // 任意View
37
+ * view.addOverlay(poiOverlay);
38
+ * ```
39
+ */
40
+ class CanvasOverlay extends Overlay {
41
+ init(parent, container = new HTMLElement()) {
42
+ const { THREE } = Externals.getInstance();
43
+ this.container = container;
44
+ this.parent = parent;
45
+ this.owlly2D = Owlly2D.getInstance(container);
46
+ this.layer = this.owlly2D.addLayer();
47
+ this.shapes = [];
48
+ this.renderThisFrame = true;
49
+ this.layer.zIndex(0);
50
+ this.enabled = true;
51
+ this.mouseState = MouseState.IDLE;
52
+ this.mousePositionBuffer = new THREE.Vector2();
53
+ this.listeners = {
54
+ pointerDown: (e) => { this.onPointerDown(e); },
55
+ pointerUp: (e) => { this.onPointerUp(e); },
56
+ touchStart: (e) => { this.onTouchStart(e); },
57
+ touchEnd: (e) => { this.onTouchEnd(e); },
58
+ nodePointerDown: (e) => { this.onNodePointerDown(e); },
59
+ nodePointerUp: () => { this.onNodePointerUp(); },
60
+ };
61
+ this.container.addEventListener('pointerdown', this.listeners.pointerDown, true);
62
+ this.container.addEventListener('pointerup', this.listeners.pointerUp, true);
63
+ this.container.addEventListener('touchstart', this.listeners.touchStart, true);
64
+ this.container.addEventListener('touchend', this.listeners.touchEnd, true);
65
+ }
66
+ /**
67
+ * 打开交互
68
+ */
69
+ openInteraction() {
70
+ this.owlly2D.openInteraction();
71
+ }
72
+ /**
73
+ * 关闭交互
74
+ */
75
+ closeInteraction() {
76
+ this.owlly2D.closeInteraction();
77
+ }
78
+ update() {
79
+ if (this.renderThisFrame) {
80
+ this.renderThisFrame = false;
81
+ return true;
82
+ }
83
+ return false;
84
+ }
85
+ render() {
86
+ if (!this.enabled)
87
+ return;
88
+ if (this.parent.camera) {
89
+ const { camera } = this.parent;
90
+ const { clientHeight, clientWidth } = this.container;
91
+ const widthHalf = clientWidth / 2;
92
+ const heightHalf = clientHeight / 2;
93
+ this.shapes.forEach(({ shape, rawShape, zIndices, points, vertexOptions, lineJointsStyle, }) => {
94
+ this.updateShapeDataToKonvaShape(shape, rawShape, camera, widthHalf, heightHalf, points, vertexOptions, zIndices, lineJointsStyle);
95
+ });
96
+ }
97
+ this.layer.draw();
98
+ }
99
+ setRenderOrder(order) {
100
+ this.layer.zIndex(order);
101
+ }
102
+ dispose() {
103
+ this.shapes.forEach((s) => {
104
+ const konvaObject = s.shape;
105
+ konvaObject.destroy();
106
+ if (s.shape.children.length === 0) {
107
+ s.shape.destroy();
108
+ s.points.forEach((p) => {
109
+ p.off('mousedown touchdown');
110
+ p.destroy();
111
+ });
112
+ }
113
+ if (s && s.shape)
114
+ delete s.shape; // eslint-disable-line
115
+ });
116
+ this.renderThisFrame = true;
117
+ this.container.removeEventListener('pointerdown', this.listeners.pointerDown, true);
118
+ this.container.removeEventListener('pointerup', this.listeners.pointerUp, true);
119
+ this.container.removeEventListener('touchstart', this.listeners.touchStart, true);
120
+ this.container.removeEventListener('touchend', this.listeners.touchEnd, true);
121
+ this.layer.destroy();
122
+ }
123
+ onPointerDown(e) {
124
+ this.owlly2D.stage._mousedown(e); // eslint-disable-line no-underscore-dangle
125
+ }
126
+ onPointerUp(e) {
127
+ const { THREE } = Externals.getInstance();
128
+ this.owlly2D.stage._mouseup(e); // eslint-disable-line no-underscore-dangle
129
+ const { clientX, clientY } = e;
130
+ const { left: rectX, top: rectY } = this.container.getBoundingClientRect();
131
+ const x = clientX - rectX;
132
+ const y = clientY - rectY;
133
+ const distance = new THREE.Vector2(x, y).distanceToSquared(this.mousePositionBuffer);
134
+ this.emit(Events.CANVAS_VERTEX_UP, this.eventTarget, e.button);
135
+ if (this.mouseState === MouseState.DOWN && distance < 100) {
136
+ this.emit(Events.CANVAS_VERTEX_CLICKED, this.eventTarget, e.button);
137
+ }
138
+ this.mouseState = MouseState.IDLE;
139
+ }
140
+ onTouchStart(e) {
141
+ this.owlly2D.stage._touchstart(e); // eslint-disable-line no-underscore-dangle
142
+ }
143
+ onTouchEnd(e) {
144
+ const { THREE } = Externals.getInstance();
145
+ this.owlly2D.stage._touchend(e); // eslint-disable-line no-underscore-dangle
146
+ const { clientX, clientY } = e.changedTouches[0];
147
+ // const { clientWidth, clientHeight } = this.container;
148
+ const { left: rectX, top: rectY } = this.container.getBoundingClientRect();
149
+ const x = clientX - rectX;
150
+ const y = clientY - rectY;
151
+ const distance = new THREE.Vector2(x, y).distanceToSquared(this.mousePositionBuffer);
152
+ this.emit(Events.CANVAS_VERTEX_UP, this.eventTarget, 0);
153
+ if (this.mouseState === MouseState.DOWN && distance < 100) {
154
+ this.emit(Events.CANVAS_VERTEX_CLICKED, this.eventTarget, 0);
155
+ }
156
+ this.mouseState = MouseState.IDLE;
157
+ }
158
+ onNodePointerDown(e) {
159
+ // console.log('node pointer down', e);
160
+ if (this.mouseState !== MouseState.IDLE)
161
+ return;
162
+ let index = -1;
163
+ const target = this.shapes.find((shape) => {
164
+ const i = shape.points.indexOf((e.currentTarget));
165
+ if (i >= 0)
166
+ index = i;
167
+ return i >= 0;
168
+ });
169
+ if (!target)
170
+ return;
171
+ this.mouseState = MouseState.DOWN;
172
+ const { clientX, clientY } = e.evt instanceof MouseEvent ? e.evt : e.evt.touches[0];
173
+ // const { clientWidth, clientHeight } = this.container;
174
+ const { left: rectX, top: rectY } = this.container.getBoundingClientRect();
175
+ const x = clientX - rectX;
176
+ const y = clientY - rectY;
177
+ this.mousePositionBuffer.set(x, y);
178
+ this.eventTarget = target;
179
+ this.emit(Events.CANVAS_VERTEX_DOWN, target, index, e.evt instanceof MouseEvent ? e.evt.button : 0);
180
+ }
181
+ onNodePointerUp() {
182
+ // do nothing
183
+ }
184
+ /**
185
+ * 清空画布
186
+ */
187
+ clearShapes() {
188
+ this.shapes.forEach((shape) => {
189
+ shape.shape.destroy();
190
+ shape.points.forEach((point) => {
191
+ point.destroy();
192
+ });
193
+ delete shape.shape; // eslint-disable-line
194
+ });
195
+ this.shapes = [];
196
+ this.renderThisFrame = true;
197
+ }
198
+ /**
199
+ * 删除Shape
200
+ * @param shape Shape
201
+ */
202
+ removeShape(shape) {
203
+ if (!shape)
204
+ return;
205
+ for (let i = 0; i < this.shapes.length; i++) {
206
+ if (this.shapes[i].rawShape === shape || this.shapes[i].shape === shape) {
207
+ const konvaObject = this.shapes[i].shape;
208
+ konvaObject.destroy();
209
+ const shapeToRemove = this.shapes[i];
210
+ if (this.shapes[i].shape.children.length === 0) {
211
+ this.shapes[i].shape.destroy();
212
+ this.shapes[i].points.forEach((p) => {
213
+ p.off('mousedown touchdown');
214
+ p.destroy();
215
+ });
216
+ this.shapes.splice(i, 1);
217
+ }
218
+ if (shapeToRemove === this.shapes[i] && this.shapes[i].shape)
219
+ delete this.shapes[i].shape; // eslint-disable-line
220
+ this.renderThisFrame = true;
221
+ }
222
+ }
223
+ }
224
+ /**
225
+ * 更新Shape
226
+ * @param shape Shape
227
+ */
228
+ updateShape(shape, zIndices = []) {
229
+ if (!shape)
230
+ return null;
231
+ const { Konva } = Externals.getInstance();
232
+ for (let i = 0; i < this.shapes.length; i++) {
233
+ if (this.shapes[i].rawShape === shape || this.shapes[i].shape === shape) {
234
+ const konvaObject = this.shapes[i].shape;
235
+ this.shapes[i].zIndices = zIndices;
236
+ if (konvaObject instanceof Konva.Shape) {
237
+ const newShape = this.transformShapeDataToKonvaShape(this.shapes[i].rawShape.getData());
238
+ if (newShape) {
239
+ konvaObject.setAttrs(newShape.attrs);
240
+ }
241
+ this.shapes[i].points.forEach((p) => { p.setAttrs(this.shapes[i].vertexOptions); });
242
+ }
243
+ this.renderThisFrame = true;
244
+ return this.shapes[i].shape;
245
+ }
246
+ }
247
+ return null;
248
+ }
249
+ setVertexConfig(shape, config) {
250
+ if (!shape)
251
+ return null;
252
+ for (let i = 0; i < this.shapes.length; i++) {
253
+ if (this.shapes[i].rawShape === shape || this.shapes[i].shape === shape) {
254
+ const newConfig = Object.assign(this.shapes[i].vertexOptions, config);
255
+ this.shapes[i].points.forEach((p) => {
256
+ p.setAttrs(newConfig);
257
+ });
258
+ this.renderThisFrame = true;
259
+ return this.shapes[i].shape;
260
+ }
261
+ }
262
+ return null;
263
+ }
264
+ /**
265
+ * 将shapeData转换为Konva.Path对象
266
+ * @param shapeData ShapeData
267
+ */
268
+ transformShapeDataToKonvaShape(shapeData) {
269
+ const { shapeType } = shapeData;
270
+ const { Konva } = Externals.getInstance();
271
+ if (shapeType === 'point') {
272
+ const circle = new Konva.Circle({
273
+ radius: shapeData.radius,
274
+ id: shapeData.id,
275
+ x: shapeData.x,
276
+ y: shapeData.y,
277
+ stroke: shapeData.stroke,
278
+ strokeWidth: shapeData.strokeWidth,
279
+ fill: shapeData.fill,
280
+ });
281
+ return circle;
282
+ }
283
+ if (shapeType === 'line') {
284
+ const path = new Konva.Path({
285
+ id: shapeData.id,
286
+ x: shapeData.x,
287
+ y: shapeData.y,
288
+ data: `${shapeData.path.toUpperCase()}`,
289
+ stroke: shapeData.stroke,
290
+ strokeWidth: shapeData.strokeWidth,
291
+ lineJoin: 'round',
292
+ lineCap: 'round',
293
+ });
294
+ return path;
295
+ }
296
+ if (shapeType === 'shape') {
297
+ const path = new Konva.Path({
298
+ id: shapeData.id,
299
+ x: shapeData.x,
300
+ y: shapeData.y,
301
+ data: `${shapeData.path.toUpperCase()}z`,
302
+ stroke: shapeData.stroke,
303
+ strokeWidth: shapeData.strokeWidth,
304
+ fill: shapeData.fill,
305
+ lineJoin: 'round',
306
+ lineCap: 'round',
307
+ });
308
+ return path;
309
+ }
310
+ return null;
311
+ }
312
+ // private sideOfVecToCamera(camera: Camera, vec: Vector3, norm: Vector3): number {
313
+ // return vec.clone().sub(camera.position).dot(norm);
314
+ // }
315
+ updateShapeDataToKonvaShape(shape, rawShape, camera, halfW, halfH, points, pointOptions, zIndices = [], lineJointsStyle = 'joints') {
316
+ const { THREE, Konva } = Externals.getInstance();
317
+ const shapeData = rawShape.getData();
318
+ const { shapeType } = shapeData;
319
+ const frustum = new THREE.Frustum();
320
+ frustum.setFromProjectionMatrix(new THREE.Matrix4().multiplyMatrices(camera.projectionMatrix, camera.matrixWorldInverse));
321
+ if (shapeType === 'point') {
322
+ const circle = shape;
323
+ const v = new THREE.Vector3(shapeData.x, shapeData.y, shapeData.zIndex);
324
+ const coordinate2 = v.project(camera);
325
+ const x = (coordinate2.x + 1) * halfW;
326
+ const y = (1 - coordinate2.y) * halfH;
327
+ circle.x(x);
328
+ circle.y(y);
329
+ }
330
+ else if (camera instanceof THREE.OrthographicCamera) {
331
+ const path = shape;
332
+ const pathSteps = rawShape.getSteps();
333
+ const globalZ = shapeData.zIndex;
334
+ let data = pathSteps.map((s, i) => {
335
+ let z = globalZ;
336
+ if (i < zIndices.length)
337
+ z = zIndices[i];
338
+ const coords = s.coords.map(([x, y]) => {
339
+ const v = new THREE.Vector3(x, y, z);
340
+ const coordinate2 = v.project(camera);
341
+ const sx = (coordinate2.x + 1) * halfW;
342
+ const sy = (1 - coordinate2.y) * halfH;
343
+ return `${sx},${sy}`;
344
+ }).join(',');
345
+ return `${s.command}${coords}`;
346
+ }).join('').toUpperCase();
347
+ if (shapeType === 'shape')
348
+ data += 'z';
349
+ path.data(data);
350
+ }
351
+ else {
352
+ const path = shape;
353
+ const pathSteps = rawShape.getSteps();
354
+ const globalZ = shapeData.zIndex;
355
+ const lookAtVec = new THREE.Vector3(0, 0, -1);
356
+ lookAtVec.applyQuaternion(camera.quaternion);
357
+ let prevVecVisible = false;
358
+ let currentVecVisible = false;
359
+ const prevVec = new THREE.Vector3();
360
+ let data = pathSteps.map((s, i) => {
361
+ let z = globalZ;
362
+ if (i < zIndices.length)
363
+ z = zIndices[i];
364
+ const [x, y] = s.coords[s.coords.length - 1];
365
+ const v = new THREE.Vector3(x, y, z);
366
+ let addOn = '';
367
+ currentVecVisible = frustum.containsPoint(v);
368
+ if (i > 0) {
369
+ const line = new THREE.Line3(prevVec.clone(), v.clone());
370
+ const lVisible = prevVecVisible && currentVecVisible;
371
+ if (!lVisible) {
372
+ const intersections = frustum.planes.map((p) => {
373
+ const intersects = p.intersectLine(line, new THREE.Vector3());
374
+ if (!intersects)
375
+ return null;
376
+ const valid = !frustum.planes.filter((pl) => pl !== p).some((pl) => (pl.distanceToPoint(intersects) < 0));
377
+ return valid ? intersects : null;
378
+ }).filter((p) => p);
379
+ if (intersections.length) {
380
+ intersections.sort((a, b) => (a.distanceToSquared(prevVec) - b.distanceToSquared(prevVec)));
381
+ addOn = intersections.map((vec, j) => {
382
+ const coord = vec.project(camera);
383
+ const sign = coord.z > 1 ? -1 : 1;
384
+ const sx = (coord.x + 1) * halfW * sign;
385
+ const sy = (1 - coord.y) * halfH * sign;
386
+ if (j === 0)
387
+ return `${prevVecVisible ? 'l' : 'm'}${sx},${sy}`;
388
+ return `l${sx},${sy}`;
389
+ }).join('');
390
+ }
391
+ }
392
+ }
393
+ prevVec.copy(v);
394
+ const coordinate2 = v.project(camera);
395
+ const sign = coordinate2.z > 1 ? -1 : 1;
396
+ const sx = (coordinate2.x + 1) * halfW * sign;
397
+ const sy = (1 - coordinate2.y) * halfH * sign;
398
+ const pointVisible = lineJointsStyle === 'joints' || (lineJointsStyle === 'endpoints' && (i === 0 || i === zIndices.length - 1));
399
+ if (i < points.length) {
400
+ const point = points[i];
401
+ point.x(sx);
402
+ point.y(sy);
403
+ point.visible(pointVisible && currentVecVisible && path.visible());
404
+ point.setAttrs(pointOptions);
405
+ }
406
+ else {
407
+ const point = new Konva.Circle({
408
+ radius: 0,
409
+ x: sx,
410
+ y: sy,
411
+ stroke: 'transparent',
412
+ strokeWidth: 0,
413
+ });
414
+ point.visible(pointVisible && currentVecVisible && path.visible());
415
+ point.setAttrs(pointOptions);
416
+ point.on('mousedown touchdown', this.listeners.nodePointerDown);
417
+ this.layer.add(point);
418
+ points.push(point);
419
+ }
420
+ prevVecVisible = currentVecVisible;
421
+ return `${addOn}${currentVecVisible ? 'l' : 'm'}${sx},${sy}`;
422
+ }).join('').toUpperCase();
423
+ while (points.length > pathSteps.length) {
424
+ const point = points.pop();
425
+ point.off('mousedown touchdown');
426
+ point.destroy();
427
+ }
428
+ if (shapeType === 'shape')
429
+ data += 'z';
430
+ path.data(data);
431
+ }
432
+ }
433
+ addShape(shapes, baseZoom = { x: 1, y: 1 }, zIndices = []) {
434
+ const ret = [];
435
+ const shapeList = Array.isArray(shapes) ? shapes : [shapes];
436
+ const zIndicesList = (zIndices.length && Array.isArray(zIndices[0]) ? zIndices : [zIndices]);
437
+ shapeList.forEach((shape, i) => {
438
+ const shapeData = shape.getData();
439
+ const konvaShape = this.transformShapeDataToKonvaShape(shapeData);
440
+ if (konvaShape !== null) {
441
+ ret.push(konvaShape);
442
+ this.layer.add(konvaShape);
443
+ const shapeGroup = new ShapeGroup(konvaShape, shape, baseZoom, zIndicesList[i]);
444
+ shapeGroup.points.forEach((p) => { p.setAttrs(shapeGroup.vertexOptions); });
445
+ this.shapes.push(shapeGroup);
446
+ }
447
+ });
448
+ this.renderThisFrame = true;
449
+ if (Array.isArray(shapes)) {
450
+ return ret;
451
+ }
452
+ if (ret.length > 0) {
453
+ return ret[0];
454
+ }
455
+ return null;
456
+ }
457
+ getShapeGroup(shape) {
458
+ return this.shapes.find((s) => s.rawShape === shape || s.shape === shape);
459
+ }
460
+ forceRender() {
461
+ this.renderThisFrame = true;
462
+ }
463
+ /**
464
+ * 计算路径距离中点
465
+ * @param shape 目标图形
466
+ */
467
+ getMiddlePoint(shape) {
468
+ const shapeGroup = this.getShapeGroup(shape);
469
+ if (!shapeGroup)
470
+ return null;
471
+ const steps = shapeGroup.rawShape.getSteps();
472
+ const { zIndices } = shapeGroup;
473
+ const { THREE } = Externals.getInstance();
474
+ if (!steps.length)
475
+ return null;
476
+ const distArray = [0];
477
+ let dist = 0;
478
+ const prevPoint = new THREE.Vector3(steps[0].coords[steps[0].coords.length - 1][0], steps[0].coords[steps[0].coords.length - 1][1], zIndices.length > 0 ? zIndices[0] : 0);
479
+ const currentPoint = new THREE.Vector3();
480
+ const result = new THREE.Vector3().copy(prevPoint);
481
+ for (let i = 1; i < steps.length; i += 1) {
482
+ const [x, y] = steps[i].coords[steps[i].coords.length - 1];
483
+ const z = zIndices[i];
484
+ currentPoint.set(x, y, z);
485
+ const d = currentPoint.distanceTo(prevPoint);
486
+ dist += d;
487
+ distArray.push(dist);
488
+ prevPoint.copy(currentPoint);
489
+ }
490
+ const distHalf = dist / 2;
491
+ let middleIndex = 0;
492
+ while (middleIndex + 1 < distArray.length && distArray[middleIndex + 1] < distHalf)
493
+ middleIndex += 1;
494
+ result.set(steps[middleIndex].coords[steps[middleIndex].coords.length - 1][0], steps[middleIndex].coords[steps[middleIndex].coords.length - 1][1], zIndices.length > middleIndex ? zIndices[middleIndex] : 0);
495
+ if (middleIndex + 1 < distArray.length) {
496
+ const segmentLength = distArray[middleIndex + 1] - distArray[middleIndex];
497
+ const ratio = (distHalf - distArray[middleIndex]) / segmentLength;
498
+ const furtherPoint = new THREE.Vector3(steps[middleIndex + 1].coords[steps[middleIndex + 1].coords.length - 1][0], steps[middleIndex + 1].coords[steps[middleIndex + 1].coords.length - 1][1], zIndices.length > middleIndex + 1 ? zIndices[middleIndex + 1] : 0);
499
+ result.add(furtherPoint.sub(result).multiplyScalar(ratio));
500
+ }
501
+ return result;
502
+ }
503
+ setEnabled(value) {
504
+ this.enabled = value;
505
+ }
506
+ resize(containerWidth, containerHeight) {
507
+ this.owlly2D.resize(containerWidth, containerHeight);
508
+ }
509
+ }
510
+ export { CanvasOverlay, ShapeGroup };
511
+ //# sourceMappingURL=canvas-overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-overlay.js","sourceRoot":"","sources":["../../../../src/owlly/overlay/canvas-overlay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Overlay } from './overlay';
2
+ import { View } from '../view/view';
3
+ declare class CSS2DOverlay extends Overlay {
4
+ private container;
5
+ private parent;
6
+ private renderer;
7
+ init(parent: View, container?: HTMLElement): void;
8
+ resize(containerWidth: number, containerHeight: number): void;
9
+ setRenderOrder(order: number): void;
10
+ update(): boolean;
11
+ render(): void;
12
+ dispose(): void;
13
+ }
14
+ export { CSS2DOverlay };
@@ -0,0 +1,36 @@
1
+ import { CSS2DRenderer } from '../../external/renderers/css-2d-renderer';
2
+ import { Overlay } from './overlay';
3
+ class CSS2DOverlay extends Overlay {
4
+ init(parent, container = parent.container) {
5
+ this.container = container;
6
+ this.parent = parent;
7
+ const { clientWidth, clientHeight } = this.container;
8
+ this.renderer = new CSS2DRenderer();
9
+ this.renderer.setSize(clientWidth, clientHeight);
10
+ this.renderer.domElement.style.position = 'absolute';
11
+ this.renderer.domElement.style.top = '0';
12
+ this.renderer.domElement.style.userSelect = 'none';
13
+ this.container.appendChild(this.renderer.domElement);
14
+ }
15
+ resize(containerWidth, containerHeight) {
16
+ this.renderer.setSize(containerWidth, containerHeight);
17
+ }
18
+ setRenderOrder(order) {
19
+ this.renderer.domElement.style.setProperty('z-index', `${order}`);
20
+ }
21
+ update() {
22
+ return false;
23
+ }
24
+ render() {
25
+ if (!this.parent.camera)
26
+ return;
27
+ this.renderer.render(this.parent.stage.scene, this.parent.camera);
28
+ }
29
+ dispose() {
30
+ this.container.removeChild(this.renderer.domElement);
31
+ this.renderer = null;
32
+ this.container = null;
33
+ }
34
+ }
35
+ export { CSS2DOverlay };
36
+ //# sourceMappingURL=css-2d-overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-2d-overlay.js","sourceRoot":"","sources":["../../../../src/owlly/overlay/css-2d-overlay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,YAAa,SAAQ,OAAO;IAOhC,IAAI,CAAC,MAAY,EAAE,SAAS,GAAG,MAAM,CAAC,SAAS;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QACnD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,cAAsB,EAAE,eAAuB;QACpD,IAAI,CAAC,QAAS,CAAC,OAAO,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAC1D,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,QAAS,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO;QAChC,IAAI,CAAC,QAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;IAED,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAS,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAA8B,CAAC;IAClD,CAAC;CACF;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { NS_THREE } from '../stage/externals';
2
+ import { CSS3DRenderer } from '../../external/renderers/css-3d-renderer';
3
+ import { Overlay } from './overlay';
4
+ import { View } from '../view/view';
5
+ declare class CSS3DOverlay extends Overlay {
6
+ private container;
7
+ private parent;
8
+ renderer: CSS3DRenderer | null;
9
+ init(parent: View, container?: HTMLElement): void;
10
+ resize(containerWidth: number, containerHeight: number): void;
11
+ setRenderOrder(order: number): void;
12
+ update(): boolean;
13
+ render(scene: NS_THREE.Scene): void;
14
+ dispose(): void;
15
+ }
16
+ export { CSS3DOverlay };
@@ -0,0 +1,37 @@
1
+ import { CSS3DRenderer } from '../../external/renderers/css-3d-renderer';
2
+ import { Overlay } from './overlay';
3
+ class CSS3DOverlay extends Overlay {
4
+ init(parent, container = new HTMLElement()) {
5
+ this.container = container;
6
+ this.parent = parent;
7
+ const { clientWidth, clientHeight } = this.container;
8
+ this.renderer = new CSS3DRenderer();
9
+ this.renderer.setSize(clientWidth, clientHeight);
10
+ this.renderer.domElement.style.position = 'absolute';
11
+ this.renderer.domElement.style.top = '0';
12
+ this.renderer.domElement.style.left = '0';
13
+ this.renderer.domElement.style.userSelect = 'none';
14
+ // this.renderer.domElement.style.pointerEvents = 'none';
15
+ this.container.appendChild(this.renderer.domElement);
16
+ }
17
+ resize(containerWidth, containerHeight) {
18
+ this.renderer.setSize(containerWidth, containerHeight);
19
+ }
20
+ setRenderOrder(order) {
21
+ this.renderer.domElement.style.setProperty('z-index', `${order}`);
22
+ }
23
+ update() {
24
+ return false;
25
+ }
26
+ render(scene) {
27
+ if (!this.parent.camera)
28
+ return;
29
+ this.renderer.render(scene, this.parent.camera);
30
+ }
31
+ dispose() {
32
+ this.container.removeChild(this.renderer.domElement);
33
+ this.renderer = null;
34
+ }
35
+ }
36
+ export { CSS3DOverlay };
37
+ //# sourceMappingURL=css-3d-overlay.js.map