@realsee/dnalogel 2.0.0-alpha.3 → 2.0.0-alpha.30-beta

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 (535) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/README.md +93 -4
  3. package/TERMS.txt +56 -0
  4. package/dist/CSS3DRenderPlugin/Plugin.d.ts +49 -0
  5. package/dist/CSS3DRenderPlugin/index.d.ts +4 -0
  6. package/dist/CSS3DRenderPlugin/index.js +234 -0
  7. package/dist/CSS3DRenderPlugin/utils/createResizeObserver.d.ts +7 -0
  8. package/dist/CameraMovementPlugin/CameraMovementPlugin.d.ts +7 -0
  9. package/dist/CameraMovementPlugin/index.d.ts +5 -0
  10. package/dist/CameraMovementPlugin/index.js +302 -0
  11. package/dist/CameraMovementPlugin/typing.d.ts +68 -0
  12. package/dist/ItemLabelPlugin/Plugin.d.ts +4 -0
  13. package/dist/ItemLabelPlugin/events.type.d.ts +9 -0
  14. package/dist/ItemLabelPlugin/index.d.ts +9 -0
  15. package/dist/ItemLabelPlugin/index.js +703 -0
  16. package/dist/ItemLabelPlugin/typings.d.ts +54 -0
  17. package/dist/ItemLabelPlugin/utils/parseData.d.ts +3 -0
  18. package/dist/ModelChassisCompassPlugin/Plugin.d.ts +19 -0
  19. package/dist/ModelChassisCompassPlugin/index.d.ts +4 -0
  20. package/dist/ModelChassisCompassPlugin/index.js +143 -0
  21. package/dist/ModelEntryDoorGuidePlugin/Plugin.d.ts +26 -0
  22. package/dist/ModelEntryDoorGuidePlugin/index.d.ts +4 -0
  23. package/dist/ModelEntryDoorGuidePlugin/index.js +196 -0
  24. package/dist/ModelItemLabelPlugin/ModelItemLabelPlugin.d.ts +4 -0
  25. package/dist/ModelItemLabelPlugin/events.type.d.ts +9 -0
  26. package/dist/ModelItemLabelPlugin/index.d.ts +9 -0
  27. package/dist/ModelItemLabelPlugin/index.js +674 -0
  28. package/dist/ModelItemLabelPlugin/typings.d.ts +56 -0
  29. package/dist/ModelItemLabelPlugin/utils/parseData.d.ts +3 -0
  30. package/dist/ModelRoomLabelPlugin/Assets/roomLabelBg.d.ts +1 -0
  31. package/dist/ModelRoomLabelPlugin/Controller.d.ts +36 -0
  32. package/dist/ModelRoomLabelPlugin/index.d.ts +12 -0
  33. package/dist/ModelRoomLabelPlugin/index.js +541 -0
  34. package/dist/ModelRoomLabelPlugin/typings.d.ts +35 -0
  35. package/dist/ModelRoomLabelPlugin/utils/parseData.d.ts +3 -0
  36. package/dist/ModelTVVideoPlugin/Plugin.d.ts +4 -0
  37. package/dist/ModelTVVideoPlugin/index.d.ts +5 -0
  38. package/dist/ModelTVVideoPlugin/index.js +301 -0
  39. package/dist/ModelTVVideoPlugin/typings.d.ts +25 -0
  40. package/dist/ModelTVVideoPlugin/utils/parseData.d.ts +2 -0
  41. package/dist/ModelViewPlugin/Plugin.d.ts +17 -0
  42. package/dist/ModelViewPlugin/index.d.ts +4 -0
  43. package/dist/ModelViewPlugin/index.js +187 -0
  44. package/dist/PanoCompassPlugin/Assets/roomInfoIcon.d.ts +1 -0
  45. package/dist/PanoCompassPlugin/Plugin.d.ts +47 -0
  46. package/dist/PanoCompassPlugin/getRoomInfoInstance.d.ts +8 -0
  47. package/dist/PanoCompassPlugin/index.d.ts +8 -0
  48. package/dist/PanoCompassPlugin/index.js +636 -0
  49. package/dist/PanoCursorRaycasterPlugin/index.d.ts +48 -0
  50. package/dist/PanoCursorRaycasterPlugin/index.js +90 -0
  51. package/dist/PanoMeasurePlugin/Controller/BaseController.d.ts +36 -0
  52. package/dist/PanoMeasurePlugin/Controller/EditController.d.ts +52 -0
  53. package/dist/PanoMeasurePlugin/Controller/ShortcutKeyController.d.ts +12 -0
  54. package/dist/PanoMeasurePlugin/Controller/WatchController.d.ts +25 -0
  55. package/dist/PanoMeasurePlugin/Controller/index.d.ts +61 -0
  56. package/dist/PanoMeasurePlugin/Model/index.d.ts +38 -0
  57. package/dist/PanoMeasurePlugin/Model/line.d.ts +30 -0
  58. package/dist/PanoMeasurePlugin/Model/point.d.ts +16 -0
  59. package/dist/PanoMeasurePlugin/Model/polyline.d.ts +16 -0
  60. package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.d.ts +2 -0
  61. package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.d.ts +2 -0
  62. package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.d.ts +2 -0
  63. package/dist/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +22 -0
  64. package/dist/PanoMeasurePlugin/Modules/FiveHelper.d.ts +11 -0
  65. package/dist/PanoMeasurePlugin/Modules/GuideController.d.ts +18 -0
  66. package/dist/PanoMeasurePlugin/Modules/Magnifier.d.ts +24 -0
  67. package/dist/PanoMeasurePlugin/Modules/UIController/HTML.d.ts +6 -0
  68. package/dist/PanoMeasurePlugin/Modules/UIController/MainBtnController.d.ts +18 -0
  69. package/dist/PanoMeasurePlugin/Modules/UIController/Revoke/index.d.ts +13 -0
  70. package/dist/PanoMeasurePlugin/Modules/UIController/index.d.ts +16 -0
  71. package/dist/PanoMeasurePlugin/Modules/UIController/style.d.ts +17 -0
  72. package/dist/PanoMeasurePlugin/index.d.ts +7 -0
  73. package/dist/PanoMeasurePlugin/index.js +5534 -0
  74. package/dist/PanoMeasurePlugin/typings/data.d.ts +28 -0
  75. package/dist/PanoMeasurePlugin/typings/event.type.d.ts +28 -0
  76. package/dist/PanoMeasurePlugin/typings/utils.type.d.ts +1 -0
  77. package/dist/PanoMeasurePlugin/utils/clearGroup.d.ts +2 -0
  78. package/dist/PanoMeasurePlugin/utils/constants.d.ts +4 -0
  79. package/dist/PanoMeasurePlugin/utils/distanceDom.d.ts +28 -0
  80. package/dist/PanoMeasurePlugin/utils/findAssociatedLines.d.ts +2 -0
  81. package/dist/PanoMeasurePlugin/utils/findClosestPoint.d.ts +10 -0
  82. package/dist/PanoMeasurePlugin/utils/getIntersectionFromEvent.d.ts +4 -0
  83. package/dist/PanoMeasurePlugin/utils/getPointFromHammerEvent.d.ts +10 -0
  84. package/dist/PanoMeasurePlugin/utils/ironbox.d.ts +1 -0
  85. package/dist/PanoMeasurePlugin/utils/isNDCPointInScreen.d.ts +2 -0
  86. package/dist/PanoMeasurePlugin/utils/line.d.ts +17 -0
  87. package/dist/PanoMeasurePlugin/utils/math.d.ts +17 -0
  88. package/dist/PanoMeasurePlugin/utils/mouseGroup.d.ts +2 -0
  89. package/dist/PanoMeasurePlugin/utils/ndc2Screen.d.ts +5 -0
  90. package/dist/PanoRulerPlugin/Plugin.d.ts +31 -0
  91. package/dist/PanoRulerPlugin/index.d.ts +5 -0
  92. package/dist/PanoRulerPlugin/index.js +609 -0
  93. package/dist/PanoRulerPlugin/style.d.ts +2 -0
  94. package/dist/PanoRulerPlugin/typings.d.ts +21 -0
  95. package/dist/PanoSpatialTagPlugin/Plugin.d.ts +33 -0
  96. package/dist/PanoSpatialTagPlugin/index.d.ts +5 -0
  97. package/dist/PanoSpatialTagPlugin/index.js +1296 -0
  98. package/dist/PanoSpatialTagPlugin/store.d.ts +1 -0
  99. package/dist/PanoSpatialTagPlugin/style.d.ts +1 -0
  100. package/dist/PanoSpatialTagPlugin/typings.d.ts +40 -0
  101. package/dist/floorplan/Assets/camera.d.ts +1 -0
  102. package/{libs/floorplan/ModelFloorplanPlugin → dist/floorplan}/Assets/compass.d.ts +0 -0
  103. package/dist/floorplan/Assets/floorplanExtraObject.d.ts +1 -0
  104. package/dist/floorplan/ModelFloorplanPlugin/Controller.d.ts +105 -0
  105. package/dist/floorplan/ModelFloorplanPlugin/index.d.ts +9 -0
  106. package/dist/floorplan/ModelFloorplanPlugin/index.js +4034 -0
  107. package/dist/floorplan/ModelFloorplanPlugin/typings/events.type.d.ts +23 -0
  108. package/dist/floorplan/ModelFloorplanPlugin/utils/constant.d.ts +15 -0
  109. package/dist/floorplan/ModelFloorplanPlugin/utils/correctFiveState.d.ts +14 -0
  110. package/dist/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +27 -0
  111. package/dist/floorplan/PanoFloorplanRadarPlugin/index.d.ts +8 -0
  112. package/dist/floorplan/PanoFloorplanRadarPlugin/index.js +1648 -0
  113. package/dist/floorplan/TopviewFloorplanPlugin/Controller.d.ts +75 -0
  114. package/dist/floorplan/TopviewFloorplanPlugin/index.d.ts +5 -0
  115. package/dist/floorplan/TopviewFloorplanPlugin/index.js +3646 -0
  116. package/dist/floorplan/TopviewFloorplanPlugin/style.d.ts +1 -0
  117. package/dist/floorplan/constant.d.ts +5 -0
  118. package/dist/floorplan/index.d.ts +6 -0
  119. package/dist/floorplan/typings/floorplanData.d.ts +137 -0
  120. package/dist/floorplan/typings/floorplanServerData.d.ts +131 -0
  121. package/dist/floorplan/typings/utility.d.ts +2 -0
  122. package/dist/floorplan/utils/formatData.d.ts +5 -0
  123. package/dist/floorplan/utils/formatPosition.d.ts +36 -0
  124. package/dist/index.d.ts +15 -0
  125. package/dist/index.es.js +15952 -0
  126. package/dist/index.js +16002 -0
  127. package/dist/index.umd.js +15995 -0
  128. package/dist/shared-utils/Preloader.d.ts +6 -0
  129. package/dist/shared-utils/Subscribe.d.ts +45 -0
  130. package/dist/shared-utils/animationFrame/BetterTween.d.ts +11 -0
  131. package/dist/shared-utils/animationFrame/calculateProgress.d.ts +8 -0
  132. package/dist/shared-utils/animationFrame/formatRad.d.ts +15 -0
  133. package/dist/shared-utils/animationFrame/index.d.ts +15 -0
  134. package/dist/shared-utils/animationFrame/tween.d.ts +75 -0
  135. package/dist/shared-utils/changeModelCanvasOpacity.d.ts +2 -0
  136. package/dist/shared-utils/createCanvasTextTexture.d.ts +8 -0
  137. package/dist/shared-utils/createLine/index.d.ts +3 -0
  138. package/dist/shared-utils/debounce.d.ts +6 -0
  139. package/dist/shared-utils/equal.d.ts +11 -0
  140. package/dist/shared-utils/filter.d.ts +27 -0
  141. package/dist/shared-utils/five/changeMode.d.ts +2 -0
  142. package/dist/shared-utils/formatRad.d.ts +7 -0
  143. package/dist/shared-utils/getPxmm.d.ts +11 -0
  144. package/dist/shared-utils/getRandomColor.d.ts +1 -0
  145. package/dist/shared-utils/isNil.d.ts +10 -0
  146. package/dist/shared-utils/isTruelyObject.d.ts +18 -0
  147. package/dist/shared-utils/math/evenNumber.d.ts +3 -0
  148. package/dist/shared-utils/math/planimetry.d.ts +116 -0
  149. package/dist/shared-utils/math/rad2Deg.d.ts +1 -0
  150. package/dist/shared-utils/nearlyEqual.d.ts +7 -0
  151. package/dist/shared-utils/nextFrame.d.ts +1 -0
  152. package/dist/shared-utils/noop.d.ts +5 -0
  153. package/dist/shared-utils/object3d2LocalMatrix.d.ts +12 -0
  154. package/dist/shared-utils/px2rem.d.ts +1 -0
  155. package/dist/shared-utils/removeArrayItem.d.ts +7 -0
  156. package/dist/shared-utils/tap.d.ts +8 -0
  157. package/dist/shared-utils/three/centerPoint.d.ts +2 -0
  158. package/dist/shared-utils/three/getExtraModelLoader.d.ts +6 -0
  159. package/dist/shared-utils/three/getNormal.d.ts +2 -0
  160. package/dist/shared-utils/three/getTextureLoader.d.ts +6 -0
  161. package/dist/shared-utils/three/loadFbxObj.d.ts +2 -0
  162. package/dist/shared-utils/three/loadTexture.d.ts +2 -0
  163. package/dist/shared-utils/three/transformPositionToVector3.d.ts +7 -0
  164. package/dist/shared-utils/three/transfromToMeshBasicMaterial.d.ts +2 -0
  165. package/dist/shared-utils/throttle.d.ts +7 -0
  166. package/dist/shared-utils/tinyEJSrender.d.ts +5 -0
  167. package/dist/shared-utils/to.d.ts +8 -0
  168. package/dist/shared-utils/uuid.d.ts +4 -0
  169. package/dist/shared-utils/vectorTocoordinates.d.ts +7 -0
  170. package/dist/typings/math.type.d.ts +44 -0
  171. package/dist/typings/utils.type.d.ts +2 -0
  172. package/docs/.nojekyll +1 -0
  173. package/docs/assets/highlight.css +78 -0
  174. package/docs/assets/icons.css +1043 -0
  175. package/docs/assets/icons.png +0 -0
  176. package/docs/assets/icons@2x.png +0 -0
  177. package/docs/assets/main.js +52 -0
  178. package/docs/assets/search.js +1 -0
  179. package/docs/assets/style.css +1413 -0
  180. package/docs/assets/widgets.png +0 -0
  181. package/docs/assets/widgets@2x.png +0 -0
  182. package/docs/classes/ModelRoomLabelController.html +17 -0
  183. package/docs/classes/PanoFloorplanRadarPluginController.html +3 -0
  184. package/docs/enums/CameraMovementEffect.html +3 -0
  185. package/docs/enums/DIRECTION.html +1 -0
  186. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -0
  187. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -0
  188. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -0
  189. package/docs/enums/ModelFloorplanErrorType.html +1 -0
  190. package/docs/enums/Rotation.html +3 -0
  191. package/docs/index.html +88 -0
  192. package/docs/interfaces/CSS3DRenderPluginExportType.html +4 -0
  193. package/docs/interfaces/CameraMovementPluginExportType.html +17 -0
  194. package/docs/interfaces/FloorplanBounding.html +10 -0
  195. package/docs/interfaces/FloorplanData.html +3 -0
  196. package/docs/interfaces/FloorplanEntrance.html +15 -0
  197. package/docs/interfaces/FloorplanExtraObject.html +7 -0
  198. package/docs/interfaces/FloorplanExtraObject3D.html +3 -0
  199. package/docs/interfaces/FloorplanFloorData.html +3 -0
  200. package/docs/interfaces/FloorplanImagePosition.html +3 -0
  201. package/docs/interfaces/FloorplanObserver.html +5 -0
  202. package/docs/interfaces/FloorplanOutlineItem.html +3 -0
  203. package/docs/interfaces/FloorplanPosition.html +3 -0
  204. package/docs/interfaces/FloorplanRoomItem.html +17 -0
  205. package/docs/interfaces/FloorplanRoomLabelItem.html +7 -0
  206. package/docs/interfaces/FloorplanServerBounding.html +10 -0
  207. package/docs/interfaces/FloorplanServerComputedData.html +1 -0
  208. package/docs/interfaces/FloorplanServerData.html +3 -0
  209. package/docs/interfaces/FloorplanServerEntrance.html +15 -0
  210. package/docs/interfaces/FloorplanServerFloorData.html +3 -0
  211. package/docs/interfaces/FloorplanServerImagePosition.html +3 -0
  212. package/docs/interfaces/FloorplanServerObserver.html +5 -0
  213. package/docs/interfaces/FloorplanServerOutlineItem.html +3 -0
  214. package/docs/interfaces/FloorplanServerPosition.html +3 -0
  215. package/docs/interfaces/FloorplanServerRoomItem.html +20 -0
  216. package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -0
  217. package/docs/interfaces/ItemLabelPluginData.html +1 -0
  218. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -0
  219. package/docs/interfaces/ItemLabelPluginParametersType.html +1 -0
  220. package/docs/interfaces/LineJson.html +1 -0
  221. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -0
  222. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -0
  223. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -0
  224. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -0
  225. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -0
  226. package/docs/interfaces/ModelFloorplanParameterType.html +1 -0
  227. package/docs/interfaces/ModelFloorplanViewEvent.html +5 -0
  228. package/docs/interfaces/ModelItemLabelPluginData.html +1 -0
  229. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -0
  230. package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -0
  231. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -0
  232. package/docs/interfaces/ModelTVVideoPluginData.html +1 -0
  233. package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -0
  234. package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -0
  235. package/docs/interfaces/ModelViewPluginExportType.html +1 -0
  236. package/docs/interfaces/PanoCompassPluginData.html +1 -0
  237. package/docs/interfaces/PanoCompassPluginParameterType.html +1 -0
  238. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +11 -0
  239. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -0
  240. package/docs/interfaces/PanoFloorplanRadarPluginControllerParameter.html +1 -0
  241. package/docs/interfaces/PanoRulerPluginExportType.html +1 -0
  242. package/docs/interfaces/PanoRulerPluginOptions.html +1 -0
  243. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -0
  244. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -0
  245. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -0
  246. package/docs/interfaces/PanoSpatialTagPluginData.html +1 -0
  247. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -0
  248. package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -0
  249. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -0
  250. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -0
  251. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -0
  252. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -0
  253. package/docs/interfaces/Point.html +1 -0
  254. package/docs/interfaces/PointJson.html +1 -0
  255. package/docs/interfaces/Room.html +1 -0
  256. package/docs/interfaces/RoomInfo.html +1 -0
  257. package/docs/interfaces/RoomLabel.html +13 -0
  258. package/docs/interfaces/RoomRules.html +1 -0
  259. package/docs/interfaces/Rooms.html +1 -0
  260. package/docs/interfaces/TopviewFloorplanPluginParameterType.html +19 -0
  261. package/docs/modules.html +44 -0
  262. package/libs/CSS3DRenderPlugin/Plugin.d.ts +49 -0
  263. package/libs/CSS3DRenderPlugin/Plugin.js +182 -0
  264. package/libs/CSS3DRenderPlugin/index.d.ts +3 -48
  265. package/libs/CSS3DRenderPlugin/index.js +2 -180
  266. package/libs/CameraMovementPlugin/CameraMovementPlugin.d.ts +7 -0
  267. package/libs/CameraMovementPlugin/CameraMovementPlugin.js +159 -0
  268. package/libs/CameraMovementPlugin/index.d.ts +4 -6
  269. package/libs/CameraMovementPlugin/index.js +3 -158
  270. package/libs/CameraMovementPlugin/typing.d.ts +1 -1
  271. package/libs/ItemLabelPlugin/ItemLabelComponent.js +414 -0
  272. package/libs/ItemLabelPlugin/ItemLabelItem.js +173 -0
  273. package/libs/ItemLabelPlugin/Plugin.d.ts +4 -0
  274. package/libs/ItemLabelPlugin/Plugin.js +117 -0
  275. package/libs/ItemLabelPlugin/events.type.d.ts +9 -0
  276. package/libs/ItemLabelPlugin/events.type.js +1 -0
  277. package/libs/ItemLabelPlugin/index.d.ts +9 -0
  278. package/libs/ItemLabelPlugin/index.js +8 -0
  279. package/libs/ItemLabelPlugin/typings.d.ts +54 -0
  280. package/libs/ItemLabelPlugin/typings.js +7 -0
  281. package/libs/ItemLabelPlugin/utils/parseData.d.ts +3 -0
  282. package/libs/ItemLabelPlugin/utils/parseData.js +4 -0
  283. package/libs/ModelChassisCompassPlugin/Plugin.d.ts +19 -0
  284. package/libs/ModelChassisCompassPlugin/Plugin.js +75 -0
  285. package/libs/ModelChassisCompassPlugin/index.d.ts +3 -18
  286. package/libs/ModelChassisCompassPlugin/index.js +2 -74
  287. package/libs/ModelEntryDoorGuidePlugin/Plugin.d.ts +26 -0
  288. package/libs/ModelEntryDoorGuidePlugin/Plugin.js +140 -0
  289. package/libs/ModelEntryDoorGuidePlugin/index.d.ts +3 -25
  290. package/libs/ModelEntryDoorGuidePlugin/index.js +2 -135
  291. package/libs/ModelItemLabelPlugin/ItemLabelComponent.js +409 -0
  292. package/libs/ModelItemLabelPlugin/ItemLabelItem.js +133 -0
  293. package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.d.ts +4 -0
  294. package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +120 -0
  295. package/libs/ModelItemLabelPlugin/events.type.d.ts +9 -0
  296. package/libs/ModelItemLabelPlugin/events.type.js +1 -0
  297. package/libs/ModelItemLabelPlugin/index.d.ts +9 -0
  298. package/libs/ModelItemLabelPlugin/index.js +8 -0
  299. package/libs/ModelItemLabelPlugin/typings.d.ts +56 -0
  300. package/libs/ModelItemLabelPlugin/typings.js +7 -0
  301. package/libs/ModelItemLabelPlugin/utils/parseData.d.ts +3 -0
  302. package/libs/ModelItemLabelPlugin/utils/parseData.js +4 -0
  303. package/libs/ModelRoomLabelPlugin/Controller.js +67 -25
  304. package/libs/ModelRoomLabelPlugin/RoomLabelItem.js +121 -0
  305. package/libs/ModelRoomLabelPlugin/RoomLabelItems.js +291 -0
  306. package/libs/ModelRoomLabelPlugin/utils/parseData.d.ts +1 -1
  307. package/libs/ModelTVVideoPlugin/Plugin.d.ts +4 -0
  308. package/libs/ModelTVVideoPlugin/Plugin.js +254 -0
  309. package/libs/ModelTVVideoPlugin/index.d.ts +5 -0
  310. package/libs/ModelTVVideoPlugin/index.js +4 -0
  311. package/libs/ModelTVVideoPlugin/typings.d.ts +25 -0
  312. package/libs/ModelTVVideoPlugin/typings.js +8 -0
  313. package/libs/ModelTVVideoPlugin/utils/parseData.d.ts +2 -0
  314. package/libs/ModelTVVideoPlugin/utils/parseData.js +13 -0
  315. package/libs/ModelViewPlugin/Plugin.d.ts +17 -0
  316. package/libs/ModelViewPlugin/Plugin.js +160 -0
  317. package/libs/ModelViewPlugin/index.d.ts +3 -16
  318. package/libs/ModelViewPlugin/index.js +2 -159
  319. package/libs/PanoCompassPlugin/Assets/roomInfoIcon.d.ts +1 -0
  320. package/libs/PanoCompassPlugin/Assets/roomInfoIcon.js +1 -0
  321. package/libs/PanoCompassPlugin/Plugin.d.ts +47 -0
  322. package/libs/PanoCompassPlugin/Plugin.js +249 -0
  323. package/libs/PanoCompassPlugin/getRoomInfoInstance.d.ts +8 -0
  324. package/libs/PanoCompassPlugin/getRoomInfoInstance.js +48 -0
  325. package/libs/PanoCompassPlugin/index.d.ts +7 -24
  326. package/libs/PanoCompassPlugin/index.js +6 -88
  327. package/libs/PanoCursorRaycasterPlugin/index.d.ts +1 -1
  328. package/libs/PanoCursorRaycasterPlugin/index.js +5 -3
  329. package/libs/PanoMeasurePlugin/Controller/BaseController.d.ts +36 -0
  330. package/libs/PanoMeasurePlugin/Controller/BaseController.js +124 -0
  331. package/libs/PanoMeasurePlugin/Controller/EditController.d.ts +52 -0
  332. package/libs/PanoMeasurePlugin/Controller/EditController.js +329 -0
  333. package/libs/PanoMeasurePlugin/Controller/ShortcutKeyController.d.ts +12 -0
  334. package/libs/PanoMeasurePlugin/Controller/ShortcutKeyController.js +64 -0
  335. package/libs/PanoMeasurePlugin/Controller/WatchController.d.ts +25 -0
  336. package/libs/PanoMeasurePlugin/Controller/WatchController.js +305 -0
  337. package/libs/PanoMeasurePlugin/Controller/index.d.ts +61 -0
  338. package/libs/PanoMeasurePlugin/Controller/index.js +265 -0
  339. package/libs/PanoMeasurePlugin/Model/index.d.ts +38 -0
  340. package/libs/PanoMeasurePlugin/Model/index.js +139 -0
  341. package/libs/PanoMeasurePlugin/Model/line.d.ts +30 -0
  342. package/libs/PanoMeasurePlugin/Model/line.js +114 -0
  343. package/libs/PanoMeasurePlugin/Model/point.d.ts +16 -0
  344. package/libs/PanoMeasurePlugin/Model/point.js +48 -0
  345. package/libs/PanoMeasurePlugin/Model/polyline.d.ts +16 -0
  346. package/libs/PanoMeasurePlugin/Model/polyline.js +65 -0
  347. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.d.ts +2 -0
  348. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.js +15 -0
  349. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.d.ts +2 -0
  350. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.js +2 -0
  351. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.d.ts +2 -0
  352. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.js +2 -0
  353. package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +22 -0
  354. package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.js +153 -0
  355. package/libs/PanoMeasurePlugin/Modules/FiveHelper.d.ts +11 -0
  356. package/libs/PanoMeasurePlugin/Modules/FiveHelper.js +48 -0
  357. package/libs/PanoMeasurePlugin/Modules/GuideController.d.ts +18 -0
  358. package/libs/PanoMeasurePlugin/Modules/GuideController.js +110 -0
  359. package/libs/PanoMeasurePlugin/Modules/Magnifier.d.ts +24 -0
  360. package/libs/PanoMeasurePlugin/Modules/Magnifier.js +153 -0
  361. package/libs/PanoMeasurePlugin/Modules/UIController/HTML.d.ts +6 -0
  362. package/libs/PanoMeasurePlugin/Modules/UIController/HTML.js +117 -0
  363. package/libs/PanoMeasurePlugin/Modules/UIController/MainBtnController.d.ts +18 -0
  364. package/libs/PanoMeasurePlugin/Modules/UIController/MainBtnController.js +148 -0
  365. package/libs/PanoMeasurePlugin/Modules/UIController/Revoke/index.d.ts +13 -0
  366. package/libs/PanoMeasurePlugin/Modules/UIController/Revoke/index.js +70 -0
  367. package/libs/PanoMeasurePlugin/Modules/UIController/index.d.ts +16 -0
  368. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +102 -0
  369. package/libs/PanoMeasurePlugin/Modules/UIController/style.d.ts +17 -0
  370. package/libs/PanoMeasurePlugin/Modules/UIController/style.js +79 -0
  371. package/libs/PanoMeasurePlugin/index.d.ts +7 -0
  372. package/libs/PanoMeasurePlugin/index.js +5 -0
  373. package/libs/PanoMeasurePlugin/typings/data.d.ts +28 -0
  374. package/libs/PanoMeasurePlugin/typings/data.js +1 -0
  375. package/libs/PanoMeasurePlugin/typings/event.type.d.ts +28 -0
  376. package/libs/PanoMeasurePlugin/typings/event.type.js +1 -0
  377. package/libs/PanoMeasurePlugin/typings/utils.type.d.ts +1 -0
  378. package/libs/PanoMeasurePlugin/typings/utils.type.js +1 -0
  379. package/libs/PanoMeasurePlugin/utils/clearGroup.d.ts +2 -0
  380. package/libs/PanoMeasurePlugin/utils/clearGroup.js +3 -0
  381. package/libs/PanoMeasurePlugin/utils/constants.d.ts +4 -0
  382. package/libs/PanoMeasurePlugin/utils/constants.js +31 -0
  383. package/libs/PanoMeasurePlugin/utils/distanceDom.d.ts +28 -0
  384. package/libs/PanoMeasurePlugin/utils/distanceDom.js +115 -0
  385. package/libs/PanoMeasurePlugin/utils/findAssociatedLines.d.ts +2 -0
  386. package/libs/PanoMeasurePlugin/utils/findAssociatedLines.js +21 -0
  387. package/libs/PanoMeasurePlugin/utils/findClosestPoint.d.ts +10 -0
  388. package/libs/PanoMeasurePlugin/utils/findClosestPoint.js +27 -0
  389. package/libs/PanoMeasurePlugin/utils/getIntersectionFromEvent.d.ts +4 -0
  390. package/libs/PanoMeasurePlugin/utils/getIntersectionFromEvent.js +9 -0
  391. package/libs/PanoMeasurePlugin/utils/getPointFromHammerEvent.d.ts +10 -0
  392. package/libs/PanoMeasurePlugin/utils/getPointFromHammerEvent.js +14 -0
  393. package/libs/PanoMeasurePlugin/utils/ironbox.d.ts +1 -0
  394. package/libs/PanoMeasurePlugin/utils/ironbox.js +1 -0
  395. package/libs/PanoMeasurePlugin/utils/isNDCPointInScreen.d.ts +2 -0
  396. package/libs/PanoMeasurePlugin/utils/isNDCPointInScreen.js +6 -0
  397. package/libs/PanoMeasurePlugin/utils/line.d.ts +17 -0
  398. package/libs/PanoMeasurePlugin/utils/line.js +33 -0
  399. package/libs/PanoMeasurePlugin/utils/math.d.ts +17 -0
  400. package/libs/PanoMeasurePlugin/utils/math.js +44 -0
  401. package/libs/PanoMeasurePlugin/utils/mouseGroup.d.ts +2 -0
  402. package/libs/PanoMeasurePlugin/utils/mouseGroup.js +22 -0
  403. package/libs/PanoMeasurePlugin/utils/ndc2Screen.d.ts +5 -0
  404. package/libs/PanoMeasurePlugin/utils/ndc2Screen.js +6 -0
  405. package/libs/PanoRulerPlugin/Plugin.d.ts +31 -0
  406. package/libs/PanoRulerPlugin/Plugin.js +402 -0
  407. package/libs/PanoRulerPlugin/index.d.ts +5 -0
  408. package/libs/PanoRulerPlugin/index.js +3 -0
  409. package/libs/PanoRulerPlugin/style.d.ts +2 -0
  410. package/libs/PanoRulerPlugin/style.js +88 -0
  411. package/libs/PanoRulerPlugin/typings.d.ts +21 -0
  412. package/libs/PanoRulerPlugin/typings.js +1 -0
  413. package/libs/PanoSpatialTagPlugin/Components/origins.js +168 -0
  414. package/libs/PanoSpatialTagPlugin/Components/tag.js +302 -0
  415. package/libs/PanoSpatialTagPlugin/Plugin.d.ts +33 -0
  416. package/libs/PanoSpatialTagPlugin/Plugin.js +415 -0
  417. package/libs/PanoSpatialTagPlugin/index.d.ts +5 -0
  418. package/libs/PanoSpatialTagPlugin/index.js +5 -0
  419. package/libs/PanoSpatialTagPlugin/store.d.ts +1 -0
  420. package/libs/PanoSpatialTagPlugin/store.js +2 -0
  421. package/libs/PanoSpatialTagPlugin/style.d.ts +1 -0
  422. package/libs/PanoSpatialTagPlugin/style.js +8 -0
  423. package/libs/PanoSpatialTagPlugin/typings.d.ts +40 -0
  424. package/libs/PanoSpatialTagPlugin/typings.js +1 -0
  425. package/libs/floorplan/Assets/compass.d.ts +1 -0
  426. package/libs/floorplan/{ModelFloorplanPlugin/Assets → Assets}/compass.js +0 -0
  427. package/libs/floorplan/Components/BaseImage.js +222 -0
  428. package/libs/floorplan/Components/Camera.js +120 -0
  429. package/libs/floorplan/Components/Compass.js +119 -0
  430. package/libs/floorplan/Components/CurrentFloor.js +456 -0
  431. package/libs/floorplan/Components/Main.js +464 -0
  432. package/libs/floorplan/Components/Normalmage.js +63 -0
  433. package/libs/floorplan/Components/RoomHighlight/Room.js +68 -0
  434. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.js +199 -0
  435. package/libs/floorplan/Components/RoomLabels/RoomLabel.js +173 -0
  436. package/libs/floorplan/Components/RoomLabels/RoomLabels.js +265 -0
  437. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.js +331 -0
  438. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.js +64 -0
  439. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.js +103 -0
  440. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.js +140 -0
  441. package/libs/floorplan/Components/RuleLabels/RuleItem.js +284 -0
  442. package/libs/floorplan/Components/RuleLabels/RuleLabels.js +269 -0
  443. package/libs/floorplan/Components/SvgImage.js +83 -0
  444. package/libs/floorplan/ModelFloorplanPlugin/Controller.d.ts +4 -1
  445. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +455 -279
  446. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.js +168 -0
  447. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.js +250 -0
  448. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.js +154 -0
  449. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.js +312 -0
  450. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +1 -2
  451. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +83 -41
  452. package/libs/floorplan/TopviewFloorplanPlugin/Controller.d.ts +30 -14
  453. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +269 -118
  454. package/libs/floorplan/TopviewFloorplanPlugin/index.d.ts +1 -1
  455. package/libs/floorplan/TopviewFloorplanPlugin/style.js +0 -1
  456. package/libs/floorplan/constant.d.ts +5 -0
  457. package/libs/floorplan/constant.js +6 -0
  458. package/libs/floorplan/index.d.ts +6 -0
  459. package/libs/floorplan/index.js +7 -0
  460. package/libs/floorplan/typings/floorplanServerData.d.ts +4 -0
  461. package/libs/floorplan/utils/formatPosition.d.ts +1 -1
  462. package/libs/floorplan/utils/formatPosition.js +3 -3
  463. package/libs/index.d.ts +15 -19
  464. package/libs/index.js +26 -11
  465. package/libs/shared-utils/Subscribe.js +8 -1
  466. package/libs/shared-utils/animationFrame/BetterTween.js +47 -18
  467. package/libs/shared-utils/createCanvasTextTexture.js +6 -5
  468. package/libs/shared-utils/getPxmm.d.ts +6 -1
  469. package/libs/shared-utils/getPxmm.js +26 -12
  470. package/libs/shared-utils/math/evenNumber.js +1 -1
  471. package/libs/shared-utils/three/getExtraModelLoader.d.ts +1 -1
  472. package/libs/shared-utils/three/getNormal.d.ts +1 -1
  473. package/libs/shared-utils/three/getTextureLoader.d.ts +1 -1
  474. package/libs/shared-utils/three/loadFbxObj.d.ts +1 -1
  475. package/libs/shared-utils/three/transfromToMeshBasicMaterial.js +2 -1
  476. package/libs/shared-utils/tinyEJSrender.d.ts +5 -0
  477. package/libs/shared-utils/tinyEJSrender.js +210 -0
  478. package/libs/shared-utils/vectorTocoordinates.d.ts +1 -1
  479. package/package.json +29 -15
  480. package/dist/dnalogel.cjs.js +0 -2
  481. package/dist/dnalogel.es.js +0 -37288
  482. package/dist/dnalogel.umd.js +0 -2
  483. package/dist/style.css +0 -1
  484. package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte +0 -63
  485. package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte.map +0 -1
  486. package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte +0 -80
  487. package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte.map +0 -1
  488. package/libs/floorplan/Components/BaseImage.svelte +0 -25
  489. package/libs/floorplan/Components/BaseImage.svelte.map +0 -1
  490. package/libs/floorplan/Components/Normalmage.svelte +0 -11
  491. package/libs/floorplan/Components/Normalmage.svelte.map +0 -1
  492. package/libs/floorplan/Components/RoomHighlight/Room.svelte +0 -21
  493. package/libs/floorplan/Components/RoomHighlight/Room.svelte.map +0 -1
  494. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte +0 -60
  495. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte.map +0 -1
  496. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte +0 -35
  497. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte.map +0 -1
  498. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte +0 -7
  499. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte.map +0 -1
  500. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte +0 -16
  501. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte.map +0 -1
  502. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte +0 -17
  503. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte.map +0 -1
  504. package/libs/floorplan/Components/SvgImage.svelte +0 -25
  505. package/libs/floorplan/Components/SvgImage.svelte.map +0 -1
  506. package/libs/floorplan/ModelFloorplanPlugin/Components/Camera.svelte +0 -46
  507. package/libs/floorplan/ModelFloorplanPlugin/Components/Camera.svelte.map +0 -1
  508. package/libs/floorplan/ModelFloorplanPlugin/Components/Compass.svelte +0 -48
  509. package/libs/floorplan/ModelFloorplanPlugin/Components/Compass.svelte.map +0 -1
  510. package/libs/floorplan/ModelFloorplanPlugin/Components/CurrentFloor/CurrentFloor.svelte +0 -37
  511. package/libs/floorplan/ModelFloorplanPlugin/Components/CurrentFloor/CurrentFloor.svelte.map +0 -1
  512. package/libs/floorplan/ModelFloorplanPlugin/Components/Main.svelte +0 -50
  513. package/libs/floorplan/ModelFloorplanPlugin/Components/Main.svelte.map +0 -1
  514. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabel.svelte +0 -41
  515. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabel.svelte.map +0 -1
  516. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabels.svelte +0 -25
  517. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabels.svelte.map +0 -1
  518. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleItem.svelte +0 -148
  519. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleItem.svelte.map +0 -1
  520. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleLabels.svelte +0 -15
  521. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleLabels.svelte.map +0 -1
  522. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte +0 -84
  523. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte.map +0 -1
  524. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte +0 -18
  525. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte.map +0 -1
  526. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte +0 -40
  527. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte.map +0 -1
  528. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte +0 -61
  529. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte.map +0 -1
  530. package/libs/shared-utils/five/useFivePlugin.d.ts +0 -1
  531. package/libs/shared-utils/five/useFivePlugin.js +0 -8
  532. package/libs/shared-utils/useDebounce.d.ts +0 -8
  533. package/libs/shared-utils/useDebounce.js +0 -22
  534. package/libs/shared-utils/useThrottle.d.ts +0 -8
  535. package/libs/shared-utils/useThrottle.js +0 -25
@@ -0,0 +1,1648 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var internal = require('svelte/internal');
6
+ var svelte = require('svelte');
7
+
8
+ const CAMERA_IMAGE = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAMAAAANf8AYAAAC2VBMVEUAAACCnP+Dn/+Enf+HqP+Gp/+Fof+Gpf+IrP+Lsf+Dof+Cmv+Lsv+Mtf+Eo/+Bmf+JrP+Hqf+Env+Krv+Fo/+Pu/+Ms/+Qvv+Hqf+RwP+KsP+Fpf+Mtv+Gov+Bnf+Qv/+Nt/+Krv+Ho/+Rwf+Ouv+Emv+Amv+SxP+Sw/+NuP+Mtf/G0f6huP+Ot/+JrP+Jqv+Dnv+crf6Uqv////+QvP+PvP+Ms//J0/3p9/+Ux/+Ouf+Krf+Iqf+Fpv+/zf6WsP+MpP+RqP+Uyf+Jy//V3P6Yuf+Qqf+Rqv/5/f+Sxf+Jy/////+Lx/+Ouf+Nw/+Owv+PwP+Jr/+Jq/+VvP+Vuv/c4v+Fnf+btP+InP+Blf/3+P6Txf+Jzf+Jyf+NxP+Qwf/t8/6Svv+Tvf/O1f7Czv3T2f6cu/+qvP7a4fvo7v77/v/o9//p9//0+v////+Vy//w9//k8/+B1f/v9/+D0/+UyP/u9v+D0v/i8f+F0v/g7/+G0P+KzP+Hz/////+Lx//s8/+Puf/h7P+Mxv/w9f7q8v/q8f2RwP/r8f6JrP/t8v6RvP/l6f7////j6P6VvP/f5/7q8P7a4P/U2f6au/+ZuP+ewf+auP+iu//n6f2Fn//j6P/h4fn9/v/4/P/3/P/o9v/l9P+F1P+B1f/i8v+UyP+J0f+E0f/h7//r8v6Izf/g7v/q8v6Pv//f7P7f7f/g7f+Lxf+MyP+Mw//k7v6Ow/+Ov//v8/2Pu//t8f+Tvv/p8P6Uu//q7v/i6P2Xvf+WuP/L1vypu//Azv7K0/zy8v/l8v/A4P/o9f/x+f+I0f/j8v+J0P/s9v/h8P+I0P/t9v/r9P6Lyv+Lyf/s9P/g7P+Myv/s8/7j7v+Jrv/q8P2Uwf+Epf+TuP/a3vzh5f3w8P/a4P20v//Nzfzx8f/Pz/Cg0P/f7//u9f/q8v7o8v7s8/7s8v3w9f+Sv/+TuP+Gp//s8fr///8/HFXHAAAA8nRSTlMANUQ/Z2JJXXaKTjCPmVMre3E6gFiylLxsxoVYnk5JwaOFU8utOjrV0KieQS2icWwzMC4Dt7aTQvjfrHprXD0zMyvpvUxGNjH+2sK9raeYkoiAcF5TUi0rKCYY2cy3pIJ/eGpEQDcxLx0S/Pv19PPu7Ovr5+Tk4eDe3NXU09DIsq2opKCViYN9e3V1cmZlXllVTk1GQDs2NTMwJw0K/vn28u/u5+Pj3tjNycjGw8DAua2pqJ6SjYyMf3BvaWNgWk5NSTc3MxT79PHw6efl2trY19PHurWysqWZe2xkXVlUPjo6OSskCO7Qzs6+vKCedmhdN1av0hoAAAV1SURBVEjHjZT3P9RxHMe1nCjcObo4cjpX5w53l7pUbnBGkr2TPZJKmiqVEQlJhGjvvfcm2nvvvXf5C3q/P98bkuR1D7+9n16v1/vzvtPrnAade/ty6anHJfFHOjkfXbe07PGxkuL4oqIjCzoDjHtxurzsRHmFStokjBDG/59JrwurOF2hkkUoIyKEQmFqatG3/xDnXlSGPZcKI5VKiVgsli+vrakpfNAx8UoVlpRWH6mUeMsVcm8vhah6WfXB3A6IlSlVKoE4KjxcgtNGRl1Ayzw9H+Z20DypMVkZZWKiUIi6oHj2PAbPs6Eh/+6/kBUpVUliIEQKGGcwGPbdiBpCQ/O//AMZJ218XW9igoHsGTwY7kopdMmSvTvbz/VGmiyhCARwWJ/Ss5CQ9pl3zVJZJCEwEszb6BtaGxrCn3XIyZP3trW3rybBWTCB1jy0sNGHeWM7+BgzrX4kJu752E57mWA5mIjsMRVxgGkrJpPpRvtJSywt3X2rPUSMuUgqIIzx37vRaLQeqNKEhN03/womg/bYhDJBBzdqvjsqYeHCHdfa1k9BF0QoEyuwoOadWc4sFutoXNzWGW2W3Axd8E3AxAZ6WNGeEoDl7EwPho/T0cDAtswb2Bi6kFx2VkwaDYgRI5zo9EUGRIGHD82e+ufrJ8uo+l31oQogYMJiOdFh2BQ03NTscEDAn8wKgQCeUsRTI8QEMhkYDDc1NTMLMuNwLAP8/a9Pbl0mJQlXhvVtrO2YNLce3Uew6IvAAsYtLS17gvwLCrKR0d3la0DsgdG3NiZVMBZacMh8L9CB2NjsS61eRiCtB4YH/Q21CMQKAgLnh1hYWAyJ3b9/40Qd09woppJhFytAnIPpBmBCCBjvjdrn59eKSU+SRWkZphu40IMBgRpAAMBmO7DZbL/786+s0TIpKqXOhgqGCKcnhOrd28HBlmj+2LFZWia9KjkqnHoa3BmsjG7wKIgDuSzQw9F29Gh+3jDunTseWas1zKtKYbiIsrEjZdAF2iPiYOvIz+Nyuebm5h6+HuvGa2xU0qhwBbkzayzjDO8y3IwgbAdHPp87zNx8sIvLYN/tvhc1TF1lWqSEwaMWgG3ABpIB4sC2HY2Ei0sf0O2YmLWr1CdQGRYp8SK3ic/ZnRWMLqQ+2xGRwUD069dvV8zcuRom+rlA6Y2MbgGmhAGEz4VYSPQF5cyZM6GFYl6eTlN6ixi6aE6PqDLQZRi4EKI/KOfGFjUzqCKsXu6l2RpuAKJxiI1tHhcQJAYOHDhgwOZZs4ZSTHR5lQQYPDW1DS4aELQxdyEIAANGjtk8c6aaqTslk8gVwIAN0w3rAEL2bMtHm12AIOHqenXaNDWztEwo9hKJGHjR6OO0yDSI1IGdoQ0iY0a6Tt+06fKUDRQzqKw8Qlxr1AXrwNqwDvGBA+BrGUDc3d3Xr5+SQZj0E2ERqXIjPAJYNUbD18FoWEeDbHLPzLyQ4ePjQ5i3x1RCubfmpqkjMMNo6KOJ5uqe+f58C9GoaD29XyVSYS1h4DftKeWDDN4AbACZMZAsExEKghWUNKXWhlPfA2P1qjmUT556a9jmQotWi/VOFael1lR7ep4JfRZy8nhpwtG4wMMB/gdi9/nNH+vhezsmJ+fG5quX12fomHl6J+KFy88uA2RJyJPE4wkL4wIPBfgXxO5HxGN7zNw5W2bNnLZhio+OmaR3LD6tplrLfKeYAwX7/O6Dje/2dpniwuKiwoMHH+bn7723Z8/uHTu2fpg9+3p29sYrWVnr1l1cO2HCUFCGT+tshUcWLPj6IDf37ued27Z9unXz2owZU6dOnnxp4sQ1q1ePH79KN6vbQWc1SrfrTit6lO5NO6/F8yZNmofBfgNTwRQLsPLsHQAAAABJRU5ErkJggg==';
9
+
10
+ /**
11
+ * 创建一个防抖动函数,该函数在高频调用时会每隔 wait 毫秒后调用 func 方法
12
+ * `throttle` 会在第一次调用时立刻调用一次
13
+ * @param func - 要防抖动的函数
14
+ * @param wait - 需要延迟的毫秒数
15
+ */
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
+ function throttle(func, wait = 200) {
18
+ let last;
19
+ return function (...args) {
20
+ if (last)
21
+ return;
22
+ func(...args);
23
+ last = setTimeout(function () {
24
+ last = null;
25
+ }, wait);
26
+ };
27
+ }
28
+
29
+ /* src/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte generated by Svelte v3.47.0 */
30
+
31
+ function add_css$7(target) {
32
+ internal.append_styles(target, "svelte-1ty3s4p", ".plugin-radar__camera-wrapper.svelte-1ty3s4p{width:100%;height:100%;position:absolute;pointer-events:none}.plugin-radar__camera-position.svelte-1ty3s4p{position:absolute;left:0;top:0;width:0;height:0;transform:none;pointer-events:none;transition:transform 1s linear}.plugin-radar__camera-rotate.svelte-1ty3s4p{position:absolute;left:-0.78125rem;top:-0.78125rem;width:0.88542rem;height:0.88542rem;transform-origin:0.78125rem 0.78125rem;transform:rotate(45deg);background-repeat:no-repeat;background-size:100%}");
33
+ }
34
+
35
+ function create_fragment$8(ctx) {
36
+ let div2;
37
+ let div1;
38
+ let div0;
39
+
40
+ return {
41
+ c() {
42
+ div2 = internal.element("div");
43
+ div1 = internal.element("div");
44
+ div0 = internal.element("div");
45
+ internal.attr(div0, "class", "plugin-radar__camera-rotate svelte-1ty3s4p");
46
+ internal.set_style(div0, "background-image", "url(" + (/*cameraImageUrl*/ ctx[0] || CAMERA_IMAGE) + ")");
47
+ internal.set_style(div0, "transform", /*rotateTransform*/ ctx[1], false);
48
+ internal.attr(div1, "class", "plugin-radar__camera-position svelte-1ty3s4p");
49
+ internal.set_style(div1, "transform", /*positionTransform*/ ctx[2], false);
50
+ internal.attr(div2, "class", "plugin-radar__camera-wrapper svelte-1ty3s4p");
51
+ },
52
+ m(target, anchor) {
53
+ internal.insert(target, div2, anchor);
54
+ internal.append(div2, div1);
55
+ internal.append(div1, div0);
56
+ },
57
+ p(ctx, [dirty]) {
58
+ if (dirty & /*cameraImageUrl*/ 1) {
59
+ internal.set_style(div0, "background-image", "url(" + (/*cameraImageUrl*/ ctx[0] || CAMERA_IMAGE) + ")");
60
+ }
61
+
62
+ if (dirty & /*rotateTransform*/ 2) {
63
+ internal.set_style(div0, "transform", /*rotateTransform*/ ctx[1], false);
64
+ }
65
+
66
+ if (dirty & /*positionTransform*/ 4) {
67
+ internal.set_style(div1, "transform", /*positionTransform*/ ctx[2], false);
68
+ }
69
+ },
70
+ i: internal.noop,
71
+ o: internal.noop,
72
+ d(detaching) {
73
+ if (detaching) internal.detach(div2);
74
+ }
75
+ };
76
+ }
77
+
78
+ function getCameraRotateTransform(longitude) {
79
+ // 为什么要加 45 ==> 因为 UI 给的图初始角度是 -45
80
+ const rotate = Math.floor(longitude / Math.PI * 180) * -1 + 45;
81
+
82
+ return `rotate(${rotate}deg)`;
83
+ }
84
+
85
+ function instance$8($$self, $$props, $$invalidate) {
86
+ let positionTransform;
87
+ let rotateTransform;
88
+ let { five } = $$props;
89
+ let { pxmm } = $$props;
90
+ let { floorplanData } = $$props;
91
+ let { cameraImageUrl } = $$props;
92
+ let panoIndex = five.getCurrentState().panoIndex;
93
+ let longitude = five.getCurrentState().longitude;
94
+
95
+ /** 获取相机在当前 Five 状态下的位移 */
96
+ function getCameraPositionTransform(floorplanData, panoIndex) {
97
+ const bounding = floorplanData.bounding;
98
+ const floorplanObserver = floorplanData.observers[panoIndex];
99
+ if (!floorplanObserver) return '';
100
+ const clientWidth = (bounding.max.x - bounding.min.x) * pxmm;
101
+ const clientHeight = (bounding.max.y - bounding.min.y) * pxmm;
102
+ const left = Math.floor(floorplanObserver.positionInImage.x * clientWidth);
103
+ const top = Math.floor(floorplanObserver.positionInImage.y * clientHeight);
104
+ return `translate(${left}px, ${top}px)`;
105
+ }
106
+
107
+ function onFivePanoWillArrive(_panoIndex) {
108
+ $$invalidate(6, panoIndex = _panoIndex);
109
+ }
110
+
111
+ const onFiveCameraDirectionUpdate = throttle(
112
+ pose => {
113
+ $$invalidate(7, longitude = pose.longitude);
114
+ },
115
+ 1000 / 60
116
+ );
117
+
118
+ svelte.onMount(() => {
119
+ five.on('panoWillArrive', onFivePanoWillArrive);
120
+ five.on('cameraDirectionUpdate', onFiveCameraDirectionUpdate);
121
+ });
122
+
123
+ svelte.onDestroy(() => {
124
+ five.off('panoWillArrive', onFivePanoWillArrive);
125
+ five.off('cameraDirectionUpdate', onFiveCameraDirectionUpdate);
126
+ });
127
+
128
+ $$self.$$set = $$props => {
129
+ if ('five' in $$props) $$invalidate(3, five = $$props.five);
130
+ if ('pxmm' in $$props) $$invalidate(4, pxmm = $$props.pxmm);
131
+ if ('floorplanData' in $$props) $$invalidate(5, floorplanData = $$props.floorplanData);
132
+ if ('cameraImageUrl' in $$props) $$invalidate(0, cameraImageUrl = $$props.cameraImageUrl);
133
+ };
134
+
135
+ $$self.$$.update = () => {
136
+ if ($$self.$$.dirty & /*floorplanData, panoIndex*/ 96) {
137
+ // 初始状态,不能等 mount 之后再计算,那样第一次 camera 展示的时候也会有动画
138
+ $$invalidate(2, positionTransform = getCameraPositionTransform(floorplanData, panoIndex));
139
+ }
140
+
141
+ if ($$self.$$.dirty & /*longitude*/ 128) {
142
+ $$invalidate(1, rotateTransform = getCameraRotateTransform(longitude));
143
+ }
144
+ };
145
+
146
+ return [
147
+ cameraImageUrl,
148
+ rotateTransform,
149
+ positionTransform,
150
+ five,
151
+ pxmm,
152
+ floorplanData,
153
+ panoIndex,
154
+ longitude
155
+ ];
156
+ }
157
+
158
+ class Camera extends internal.SvelteComponent {
159
+ constructor(options) {
160
+ super();
161
+
162
+ internal.init(
163
+ this,
164
+ options,
165
+ instance$8,
166
+ create_fragment$8,
167
+ internal.safe_not_equal,
168
+ {
169
+ five: 3,
170
+ pxmm: 4,
171
+ floorplanData: 5,
172
+ cameraImageUrl: 0
173
+ },
174
+ add_css$7
175
+ );
176
+ }
177
+ }
178
+
179
+ /* src/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte generated by Svelte v3.47.0 */
180
+
181
+ function add_css$6(target) {
182
+ internal.append_styles(target, "svelte-1i87fz7", ".plugin-pano-floorplan__extra-objects.svelte-1i87fz7{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.plugin-pano-floorplan__extra-object-item--position.svelte-1i87fz7{position:absolute;width:0;height:0}.plugin-pano-floorplan__extra-object-item.svelte-1i87fz7{transform:translate(-50%, -50%)}");
183
+ }
184
+
185
+ function get_each_context$1(ctx, list, i) {
186
+ const child_ctx = ctx.slice();
187
+ child_ctx[1] = list[i];
188
+ return child_ctx;
189
+ }
190
+
191
+ // (5:2) {#each extraObjects as extraObject (extraObject.id)}
192
+ function create_each_block$1(key_1, ctx) {
193
+ let div1;
194
+ let div0;
195
+ let style_width = `${/*extraObject*/ ctx[1].icon.width / 16}rem`;
196
+ let style_height = `${/*extraObject*/ ctx[1].icon.height / 16}rem`;
197
+ let t;
198
+ let style_top = `${/*extraObject*/ ctx[1].positionInImage.y * 100}%`;
199
+ let style_left = `${/*extraObject*/ ctx[1].positionInImage.x * 100}%`;
200
+
201
+ return {
202
+ key: key_1,
203
+ first: null,
204
+ c() {
205
+ div1 = internal.element("div");
206
+ div0 = internal.element("div");
207
+ t = internal.space();
208
+ internal.attr(div0, "class", "plugin-pano-floorplan__extra-object-item svelte-1i87fz7");
209
+ internal.set_style(div0, "background-image", `url(${/*extraObject*/ ctx[1].icon.url})`);
210
+ internal.set_style(div0, "width", style_width, false);
211
+ internal.set_style(div0, "height", style_height, false);
212
+ internal.attr(div1, "class", "plugin-pano-floorplan__extra-object-item--position svelte-1i87fz7");
213
+ internal.set_style(div1, "top", style_top, false);
214
+ internal.set_style(div1, "left", style_left, false);
215
+ this.first = div1;
216
+ },
217
+ m(target, anchor) {
218
+ internal.insert(target, div1, anchor);
219
+ internal.append(div1, div0);
220
+ internal.append(div1, t);
221
+ },
222
+ p(new_ctx, dirty) {
223
+ ctx = new_ctx;
224
+
225
+ if (dirty & /*extraObjects*/ 1) {
226
+ internal.set_style(div0, "background-image", `url(${/*extraObject*/ ctx[1].icon.url})`);
227
+ }
228
+
229
+ if (dirty & /*extraObjects*/ 1 && style_width !== (style_width = `${/*extraObject*/ ctx[1].icon.width / 16}rem`)) {
230
+ internal.set_style(div0, "width", style_width, false);
231
+ }
232
+
233
+ if (dirty & /*extraObjects*/ 1 && style_height !== (style_height = `${/*extraObject*/ ctx[1].icon.height / 16}rem`)) {
234
+ internal.set_style(div0, "height", style_height, false);
235
+ }
236
+
237
+ if (dirty & /*extraObjects*/ 1 && style_top !== (style_top = `${/*extraObject*/ ctx[1].positionInImage.y * 100}%`)) {
238
+ internal.set_style(div1, "top", style_top, false);
239
+ }
240
+
241
+ if (dirty & /*extraObjects*/ 1 && style_left !== (style_left = `${/*extraObject*/ ctx[1].positionInImage.x * 100}%`)) {
242
+ internal.set_style(div1, "left", style_left, false);
243
+ }
244
+ },
245
+ d(detaching) {
246
+ if (detaching) internal.detach(div1);
247
+ }
248
+ };
249
+ }
250
+
251
+ function create_fragment$7(ctx) {
252
+ let div;
253
+ let each_blocks = [];
254
+ let each_1_lookup = new Map();
255
+ let each_value = /*extraObjects*/ ctx[0];
256
+ const get_key = ctx => /*extraObject*/ ctx[1].id;
257
+
258
+ for (let i = 0; i < each_value.length; i += 1) {
259
+ let child_ctx = get_each_context$1(ctx, each_value, i);
260
+ let key = get_key(child_ctx);
261
+ each_1_lookup.set(key, each_blocks[i] = create_each_block$1(key, child_ctx));
262
+ }
263
+
264
+ return {
265
+ c() {
266
+ div = internal.element("div");
267
+
268
+ for (let i = 0; i < each_blocks.length; i += 1) {
269
+ each_blocks[i].c();
270
+ }
271
+
272
+ internal.attr(div, "class", "plugin-pano-floorplan__extra-objects svelte-1i87fz7");
273
+ },
274
+ m(target, anchor) {
275
+ internal.insert(target, div, anchor);
276
+
277
+ for (let i = 0; i < each_blocks.length; i += 1) {
278
+ each_blocks[i].m(div, null);
279
+ }
280
+ },
281
+ p(ctx, [dirty]) {
282
+ if (dirty & /*extraObjects*/ 1) {
283
+ each_value = /*extraObjects*/ ctx[0];
284
+ each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, div, internal.destroy_block, create_each_block$1, null, get_each_context$1);
285
+ }
286
+ },
287
+ i: internal.noop,
288
+ o: internal.noop,
289
+ d(detaching) {
290
+ if (detaching) internal.detach(div);
291
+
292
+ for (let i = 0; i < each_blocks.length; i += 1) {
293
+ each_blocks[i].d();
294
+ }
295
+ }
296
+ };
297
+ }
298
+
299
+ function instance$7($$self, $$props, $$invalidate) {
300
+ let { extraObjects = [] } = $$props;
301
+
302
+ $$self.$$set = $$props => {
303
+ if ('extraObjects' in $$props) $$invalidate(0, extraObjects = $$props.extraObjects);
304
+ };
305
+
306
+ return [extraObjects];
307
+ }
308
+
309
+ class ExtraObjects extends internal.SvelteComponent {
310
+ constructor(options) {
311
+ super();
312
+ internal.init(this, options, instance$7, create_fragment$7, internal.safe_not_equal, { extraObjects: 0 }, add_css$6);
313
+ }
314
+ }
315
+
316
+ /* src/floorplan/Components/Normalmage.svelte generated by Svelte v3.47.0 */
317
+
318
+ function add_css$5(target) {
319
+ internal.append_styles(target, "svelte-1gfoniz", "img.svelte-1gfoniz{width:100%;height:100%}");
320
+ }
321
+
322
+ function create_fragment$6(ctx) {
323
+ let img;
324
+ let img_src_value;
325
+
326
+ return {
327
+ c() {
328
+ img = internal.element("img");
329
+ if (!internal.src_url_equal(img.src, img_src_value = /*url*/ ctx[0])) internal.attr(img, "src", img_src_value);
330
+ internal.attr(img, "alt", "floorplan iamge");
331
+ internal.attr(img, "class", "svelte-1gfoniz");
332
+ },
333
+ m(target, anchor) {
334
+ internal.insert(target, img, anchor);
335
+ },
336
+ p(ctx, [dirty]) {
337
+ if (dirty & /*url*/ 1 && !internal.src_url_equal(img.src, img_src_value = /*url*/ ctx[0])) {
338
+ internal.attr(img, "src", img_src_value);
339
+ }
340
+ },
341
+ i: internal.noop,
342
+ o: internal.noop,
343
+ d(detaching) {
344
+ if (detaching) internal.detach(img);
345
+ }
346
+ };
347
+ }
348
+
349
+ function instance$6($$self, $$props, $$invalidate) {
350
+ let { url } = $$props;
351
+
352
+ $$self.$$set = $$props => {
353
+ if ('url' in $$props) $$invalidate(0, url = $$props.url);
354
+ };
355
+
356
+ return [url];
357
+ }
358
+
359
+ class Normalmage extends internal.SvelteComponent {
360
+ constructor(options) {
361
+ super();
362
+ internal.init(this, options, instance$6, create_fragment$6, internal.safe_not_equal, { url: 0 }, add_css$5);
363
+ }
364
+ }
365
+
366
+ /* src/floorplan/Components/SvgImage.svelte generated by Svelte v3.47.0 */
367
+
368
+ function add_css$4(target) {
369
+ internal.append_styles(target, "svelte-ub47ya", ".floorplan-plugin__base-image.svelte-ub47ya{width:100%;height:100%}");
370
+ }
371
+
372
+ function create_fragment$5(ctx) {
373
+ let div;
374
+ let html_tag;
375
+ let t;
376
+ let html_tag_1;
377
+
378
+ return {
379
+ c() {
380
+ div = internal.element("div");
381
+ html_tag = new internal.HtmlTag();
382
+ t = internal.space();
383
+ html_tag_1 = new internal.HtmlTag();
384
+ html_tag.a = t;
385
+ html_tag_1.a = null;
386
+ internal.attr(div, "class", "floorplan-plugin__base-image svelte-ub47ya");
387
+ },
388
+ m(target, anchor) {
389
+ internal.insert(target, div, anchor);
390
+ html_tag.m(/*svgStyle*/ ctx[1], div);
391
+ internal.append(div, t);
392
+ html_tag_1.m(/*content*/ ctx[0], div);
393
+ },
394
+ p(ctx, [dirty]) {
395
+ if (dirty & /*content*/ 1) html_tag_1.p(/*content*/ ctx[0]);
396
+ },
397
+ i: internal.noop,
398
+ o: internal.noop,
399
+ d(detaching) {
400
+ if (detaching) internal.detach(div);
401
+ }
402
+ };
403
+ }
404
+
405
+ function instance$5($$self, $$props, $$invalidate) {
406
+ let { content } = $$props;
407
+
408
+ const svgStyle = `
409
+ <style>
410
+ svg [type='lineGroup'] path {
411
+ fill: #ffffff;
412
+ stroke: #ffffff;
413
+ }
414
+ svg [type='lineItemGroup'] g g g g {
415
+ stroke: #ffffff;
416
+ }</style>
417
+ `;
418
+
419
+ $$self.$$set = $$props => {
420
+ if ('content' in $$props) $$invalidate(0, content = $$props.content);
421
+ };
422
+
423
+ return [content, svgStyle];
424
+ }
425
+
426
+ class SvgImage extends internal.SvelteComponent {
427
+ constructor(options) {
428
+ super();
429
+ internal.init(this, options, instance$5, create_fragment$5, internal.safe_not_equal, { content: 0 }, add_css$4);
430
+ }
431
+ }
432
+
433
+ /* src/floorplan/Components/BaseImage.svelte generated by Svelte v3.47.0 */
434
+
435
+ function add_css$3(target) {
436
+ internal.append_styles(target, "svelte-ozpg4a", ".floorplan-plugin__base-image.svelte-ozpg4a{position:absolute;z-index:10;width:100%;height:100%;pointer-events:none}");
437
+ }
438
+
439
+ // (13:22)
440
+ function create_if_block_1(ctx) {
441
+ let normalimage;
442
+ let current;
443
+ normalimage = new Normalmage({ props: { url: /*imageData*/ ctx[1].url } });
444
+
445
+ return {
446
+ c() {
447
+ internal.create_component(normalimage.$$.fragment);
448
+ },
449
+ m(target, anchor) {
450
+ internal.mount_component(normalimage, target, anchor);
451
+ current = true;
452
+ },
453
+ p(ctx, dirty) {
454
+ const normalimage_changes = {};
455
+ if (dirty & /*imageData*/ 2) normalimage_changes.url = /*imageData*/ ctx[1].url;
456
+ normalimage.$set(normalimage_changes);
457
+ },
458
+ i(local) {
459
+ if (current) return;
460
+ internal.transition_in(normalimage.$$.fragment, local);
461
+ current = true;
462
+ },
463
+ o(local) {
464
+ internal.transition_out(normalimage.$$.fragment, local);
465
+ current = false;
466
+ },
467
+ d(detaching) {
468
+ internal.destroy_component(normalimage, detaching);
469
+ }
470
+ };
471
+ }
472
+
473
+ // (11:2) {#if svgContent}
474
+ function create_if_block$2(ctx) {
475
+ let svgimage;
476
+ let current;
477
+
478
+ svgimage = new SvgImage({
479
+ props: { content: /*svgContent*/ ctx[0] }
480
+ });
481
+
482
+ return {
483
+ c() {
484
+ internal.create_component(svgimage.$$.fragment);
485
+ },
486
+ m(target, anchor) {
487
+ internal.mount_component(svgimage, target, anchor);
488
+ current = true;
489
+ },
490
+ p(ctx, dirty) {
491
+ const svgimage_changes = {};
492
+ if (dirty & /*svgContent*/ 1) svgimage_changes.content = /*svgContent*/ ctx[0];
493
+ svgimage.$set(svgimage_changes);
494
+ },
495
+ i(local) {
496
+ if (current) return;
497
+ internal.transition_in(svgimage.$$.fragment, local);
498
+ current = true;
499
+ },
500
+ o(local) {
501
+ internal.transition_out(svgimage.$$.fragment, local);
502
+ current = false;
503
+ },
504
+ d(detaching) {
505
+ internal.destroy_component(svgimage, detaching);
506
+ }
507
+ };
508
+ }
509
+
510
+ function create_fragment$4(ctx) {
511
+ let div;
512
+ let current_block_type_index;
513
+ let if_block;
514
+ let current;
515
+ const if_block_creators = [create_if_block$2, create_if_block_1];
516
+ const if_blocks = [];
517
+
518
+ function select_block_type(ctx, dirty) {
519
+ if (/*svgContent*/ ctx[0]) return 0;
520
+ if (/*imageData*/ ctx[1]) return 1;
521
+ return -1;
522
+ }
523
+
524
+ if (~(current_block_type_index = select_block_type(ctx))) {
525
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
526
+ }
527
+
528
+ return {
529
+ c() {
530
+ div = internal.element("div");
531
+ if (if_block) if_block.c();
532
+ internal.attr(div, "class", "floorplan-plugin__base-image svelte-ozpg4a");
533
+ },
534
+ m(target, anchor) {
535
+ internal.insert(target, div, anchor);
536
+
537
+ if (~current_block_type_index) {
538
+ if_blocks[current_block_type_index].m(div, null);
539
+ }
540
+
541
+ current = true;
542
+ },
543
+ p(ctx, [dirty]) {
544
+ let previous_block_index = current_block_type_index;
545
+ current_block_type_index = select_block_type(ctx);
546
+
547
+ if (current_block_type_index === previous_block_index) {
548
+ if (~current_block_type_index) {
549
+ if_blocks[current_block_type_index].p(ctx, dirty);
550
+ }
551
+ } else {
552
+ if (if_block) {
553
+ internal.group_outros();
554
+
555
+ internal.transition_out(if_blocks[previous_block_index], 1, 1, () => {
556
+ if_blocks[previous_block_index] = null;
557
+ });
558
+
559
+ internal.check_outros();
560
+ }
561
+
562
+ if (~current_block_type_index) {
563
+ if_block = if_blocks[current_block_type_index];
564
+
565
+ if (!if_block) {
566
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
567
+ if_block.c();
568
+ } else {
569
+ if_block.p(ctx, dirty);
570
+ }
571
+
572
+ internal.transition_in(if_block, 1);
573
+ if_block.m(div, null);
574
+ } else {
575
+ if_block = null;
576
+ }
577
+ }
578
+ },
579
+ i(local) {
580
+ if (current) return;
581
+ internal.transition_in(if_block);
582
+ current = true;
583
+ },
584
+ o(local) {
585
+ internal.transition_out(if_block);
586
+ current = false;
587
+ },
588
+ d(detaching) {
589
+ if (detaching) internal.detach(div);
590
+
591
+ if (~current_block_type_index) {
592
+ if_blocks[current_block_type_index].d();
593
+ }
594
+ }
595
+ };
596
+ }
597
+
598
+ function instance$4($$self, $$props, $$invalidate) {
599
+ let imageData;
600
+ let svgContent;
601
+ var _a, _b;
602
+ let { floorIndex } = $$props;
603
+ let { floorplanData } = $$props;
604
+
605
+ $$self.$$set = $$props => {
606
+ if ('floorIndex' in $$props) $$invalidate(2, floorIndex = $$props.floorIndex);
607
+ if ('floorplanData' in $$props) $$invalidate(3, floorplanData = $$props.floorplanData);
608
+ };
609
+
610
+ $$self.$$.update = () => {
611
+ if ($$self.$$.dirty & /*floorplanData, floorIndex*/ 12) {
612
+ $$invalidate(1, imageData = floorplanData.outlines[floorIndex]);
613
+ }
614
+
615
+ if ($$self.$$.dirty & /*floorplanData, _a, floorIndex, _b*/ 60) {
616
+ $$invalidate(0, svgContent = $$invalidate(5, _b = $$invalidate(4, _a = floorplanData.outlines) === null || _a === void 0
617
+ ? void 0
618
+ : _a[floorIndex]) === null || _b === void 0
619
+ ? void 0
620
+ : _b.svgContent);
621
+ }
622
+ };
623
+
624
+ return [svgContent, imageData, floorIndex, floorplanData, _a, _b];
625
+ }
626
+
627
+ class BaseImage extends internal.SvelteComponent {
628
+ constructor(options) {
629
+ super();
630
+ internal.init(this, options, instance$4, create_fragment$4, internal.safe_not_equal, { floorIndex: 2, floorplanData: 3 }, add_css$3);
631
+ }
632
+ }
633
+
634
+ function pathD(points, options = {}) {
635
+ let d = '';
636
+ const { needZ, needA } = options;
637
+ const _points = needZ ? points.slice().concat(points[0]) : points.slice();
638
+ _points.forEach((_point, index) => {
639
+ const { x, y } = options.format ? options.format(_point) : _point;
640
+ const point = x + ',' + y;
641
+ if (index === 0) {
642
+ d += 'M' + point;
643
+ return d;
644
+ }
645
+ if (needA === null || needA === void 0 ? void 0 : needA[index]) {
646
+ d += 'A' + needA[index] + ',' + point;
647
+ return d;
648
+ }
649
+ d += 'L' + point;
650
+ return d;
651
+ });
652
+ return d + (needZ ? 'Z' : '');
653
+ }
654
+ /** 把户型图上点点位转换到 SVG 上的点位 */
655
+ function formatFloorplanPoint({ x, y }, bounding) {
656
+ const { max, min } = bounding;
657
+ return { x: x - min.x, y: max.y - y };
658
+ }
659
+ /** 模型坐标转户型图坐标 */
660
+ function modelPosition2FloorplanPosition(position, floorplanData) {
661
+ const x = position.x * 1000 + floorplanData.bounding.origin.x;
662
+ const y = -position.z * 1000 + floorplanData.bounding.origin.y;
663
+ return { x, y };
664
+ }
665
+ /** 户型图点位转在图片上的相对坐标 */
666
+ function floorplanPosition2ImagePosition(position, floorplanData) {
667
+ const bounding = floorplanData.bounding;
668
+ const boundingWidth = bounding.max.x - bounding.min.x;
669
+ const boundingHeight = bounding.max.y - bounding.min.y;
670
+ return {
671
+ x: (position.x - bounding.min.x) / boundingWidth,
672
+ y: (bounding.max.y - position.y) / boundingHeight,
673
+ };
674
+ }
675
+ /** 求三维坐标点所在的楼层 */
676
+ function getFloorIndexFromModelPosition(position, five) {
677
+ const floorIndex = Math.max(...five.work.observers.map((observer) => {
678
+ if (position.z >= observer.standingPosition.z)
679
+ return observer.floorIndex;
680
+ return 0;
681
+ }));
682
+ return floorIndex;
683
+ }
684
+
685
+ /* src/floorplan/Components/RoomHighlight/Room.svelte generated by Svelte v3.47.0 */
686
+
687
+ function add_css$2(target) {
688
+ internal.append_styles(target, "svelte-19uvvss", "path.svelte-19uvvss{opacity:0}path.svelte-19uvvss:hover{opacity:0.1}");
689
+ }
690
+
691
+ function create_fragment$3(ctx) {
692
+ let path;
693
+
694
+ return {
695
+ c() {
696
+ path = internal.svg_element("path");
697
+ internal.attr(path, "d", /*_pathD*/ ctx[0]);
698
+ internal.attr(path, "fill", `#fff`);
699
+ internal.attr(path, "class", "svelte-19uvvss");
700
+ },
701
+ m(target, anchor) {
702
+ internal.insert(target, path, anchor);
703
+ },
704
+ p: internal.noop,
705
+ i: internal.noop,
706
+ o: internal.noop,
707
+ d(detaching) {
708
+ if (detaching) internal.detach(path);
709
+ }
710
+ };
711
+ }
712
+
713
+ function instance$3($$self, $$props, $$invalidate) {
714
+ let { room } = $$props;
715
+ let { floorplanData } = $$props;
716
+ const { bounding } = floorplanData;
717
+
718
+ const _pathD = pathD(room.path, {
719
+ needZ: true,
720
+ format: vector => formatFloorplanPoint(vector, bounding)
721
+ });
722
+
723
+ $$self.$$set = $$props => {
724
+ if ('room' in $$props) $$invalidate(1, room = $$props.room);
725
+ if ('floorplanData' in $$props) $$invalidate(2, floorplanData = $$props.floorplanData);
726
+ };
727
+
728
+ return [_pathD, room, floorplanData];
729
+ }
730
+
731
+ class Room extends internal.SvelteComponent {
732
+ constructor(options) {
733
+ super();
734
+ internal.init(this, options, instance$3, create_fragment$3, internal.safe_not_equal, { room: 1, floorplanData: 2 }, add_css$2);
735
+ }
736
+ }
737
+
738
+ /* src/floorplan/Components/RoomHighlight/RoomHighlight.svelte generated by Svelte v3.47.0 */
739
+
740
+ function add_css$1(target) {
741
+ internal.append_styles(target, "svelte-1kqo6e4", ".floorplan-plugin__room-highlight.svelte-1kqo6e4{position:absolute;width:100%;height:100%}svg.svelte-1kqo6e4{width:100%;height:100%;overflow:visible}");
742
+ }
743
+
744
+ function get_each_context(ctx, list, i) {
745
+ const child_ctx = ctx.slice();
746
+ child_ctx[4] = list[i];
747
+ return child_ctx;
748
+ }
749
+
750
+ // (10:4) {#each floorplanData.floorDatas[floorIndex].rooms as room (room.id)}
751
+ function create_each_block(key_1, ctx) {
752
+ let first;
753
+ let room;
754
+ let current;
755
+
756
+ const room_spread_levels = [
757
+ {
758
+ room: /*room*/ ctx[4],
759
+ floorplanData: /*floorplanData*/ ctx[1]
760
+ }
761
+ ];
762
+
763
+ let room_props = {};
764
+
765
+ for (let i = 0; i < room_spread_levels.length; i += 1) {
766
+ room_props = internal.assign(room_props, room_spread_levels[i]);
767
+ }
768
+
769
+ room = new Room({ props: room_props });
770
+
771
+ return {
772
+ key: key_1,
773
+ first: null,
774
+ c() {
775
+ first = internal.empty();
776
+ internal.create_component(room.$$.fragment);
777
+ this.first = first;
778
+ },
779
+ m(target, anchor) {
780
+ internal.insert(target, first, anchor);
781
+ internal.mount_component(room, target, anchor);
782
+ current = true;
783
+ },
784
+ p(new_ctx, dirty) {
785
+ ctx = new_ctx;
786
+
787
+ const room_changes = (dirty & /*floorplanData, floorIndex*/ 3)
788
+ ? internal.get_spread_update(room_spread_levels, [
789
+ {
790
+ room: /*room*/ ctx[4],
791
+ floorplanData: /*floorplanData*/ ctx[1]
792
+ }
793
+ ])
794
+ : {};
795
+
796
+ room.$set(room_changes);
797
+ },
798
+ i(local) {
799
+ if (current) return;
800
+ internal.transition_in(room.$$.fragment, local);
801
+ current = true;
802
+ },
803
+ o(local) {
804
+ internal.transition_out(room.$$.fragment, local);
805
+ current = false;
806
+ },
807
+ d(detaching) {
808
+ if (detaching) internal.detach(first);
809
+ internal.destroy_component(room, detaching);
810
+ }
811
+ };
812
+ }
813
+
814
+ function create_fragment$2(ctx) {
815
+ let div;
816
+ let svg;
817
+ let each_blocks = [];
818
+ let each_1_lookup = new Map();
819
+ let current;
820
+ let each_value = /*floorplanData*/ ctx[1].floorDatas[/*floorIndex*/ ctx[0]].rooms;
821
+ const get_key = ctx => /*room*/ ctx[4].id;
822
+
823
+ for (let i = 0; i < each_value.length; i += 1) {
824
+ let child_ctx = get_each_context(ctx, each_value, i);
825
+ let key = get_key(child_ctx);
826
+ each_1_lookup.set(key, each_blocks[i] = create_each_block(key, child_ctx));
827
+ }
828
+
829
+ return {
830
+ c() {
831
+ div = internal.element("div");
832
+ svg = internal.svg_element("svg");
833
+
834
+ for (let i = 0; i < each_blocks.length; i += 1) {
835
+ each_blocks[i].c();
836
+ }
837
+
838
+ internal.attr(svg, "width", "100%");
839
+ internal.attr(svg, "height", "100%");
840
+ internal.attr(svg, "viewBox", `0 0 ${/*boundingWidth*/ ctx[2]} ${/*boundingHeight*/ ctx[3]}`);
841
+ internal.attr(svg, "class", "svelte-1kqo6e4");
842
+ internal.attr(div, "class", "floorplan-plugin__room-highlight svelte-1kqo6e4");
843
+ },
844
+ m(target, anchor) {
845
+ internal.insert(target, div, anchor);
846
+ internal.append(div, svg);
847
+
848
+ for (let i = 0; i < each_blocks.length; i += 1) {
849
+ each_blocks[i].m(svg, null);
850
+ }
851
+
852
+ current = true;
853
+ },
854
+ p(ctx, [dirty]) {
855
+ if (dirty & /*floorplanData, floorIndex*/ 3) {
856
+ each_value = /*floorplanData*/ ctx[1].floorDatas[/*floorIndex*/ ctx[0]].rooms;
857
+ internal.group_outros();
858
+ each_blocks = internal.update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each_1_lookup, svg, internal.outro_and_destroy_block, create_each_block, null, get_each_context);
859
+ internal.check_outros();
860
+ }
861
+ },
862
+ i(local) {
863
+ if (current) return;
864
+
865
+ for (let i = 0; i < each_value.length; i += 1) {
866
+ internal.transition_in(each_blocks[i]);
867
+ }
868
+
869
+ current = true;
870
+ },
871
+ o(local) {
872
+ for (let i = 0; i < each_blocks.length; i += 1) {
873
+ internal.transition_out(each_blocks[i]);
874
+ }
875
+
876
+ current = false;
877
+ },
878
+ d(detaching) {
879
+ if (detaching) internal.detach(div);
880
+
881
+ for (let i = 0; i < each_blocks.length; i += 1) {
882
+ each_blocks[i].d();
883
+ }
884
+ }
885
+ };
886
+ }
887
+
888
+ function instance$2($$self, $$props, $$invalidate) {
889
+ let { floorIndex } = $$props;
890
+ let { floorplanData } = $$props;
891
+ const boundingWidth = floorplanData.bounding.max.x - floorplanData.bounding.min.x;
892
+ const boundingHeight = floorplanData.bounding.max.y - floorplanData.bounding.min.y;
893
+
894
+ $$self.$$set = $$props => {
895
+ if ('floorIndex' in $$props) $$invalidate(0, floorIndex = $$props.floorIndex);
896
+ if ('floorplanData' in $$props) $$invalidate(1, floorplanData = $$props.floorplanData);
897
+ };
898
+
899
+ return [floorIndex, floorplanData, boundingWidth, boundingHeight];
900
+ }
901
+
902
+ class RoomHighlight extends internal.SvelteComponent {
903
+ constructor(options) {
904
+ super();
905
+ internal.init(this, options, instance$2, create_fragment$2, internal.safe_not_equal, { floorIndex: 0, floorplanData: 1 }, add_css$1);
906
+ }
907
+ }
908
+
909
+ /* src/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte generated by Svelte v3.47.0 */
910
+
911
+ function create_if_block$1(ctx) {
912
+ let highlight;
913
+ let current;
914
+
915
+ const highlight_spread_levels = [
916
+ {
917
+ five: /*five*/ ctx[0],
918
+ pxmm: /*pxmm*/ ctx[1],
919
+ floorIndex: /*floorIndex*/ ctx[2],
920
+ floorplanData: /*floorplanData*/ ctx[4],
921
+ onRoomHeightClick: /*onRoomHeightClick*/ ctx[6]
922
+ }
923
+ ];
924
+
925
+ let highlight_props = {};
926
+
927
+ for (let i = 0; i < highlight_spread_levels.length; i += 1) {
928
+ highlight_props = internal.assign(highlight_props, highlight_spread_levels[i]);
929
+ }
930
+
931
+ highlight = new RoomHighlight({ props: highlight_props });
932
+
933
+ return {
934
+ c() {
935
+ internal.create_component(highlight.$$.fragment);
936
+ },
937
+ m(target, anchor) {
938
+ internal.mount_component(highlight, target, anchor);
939
+ current = true;
940
+ },
941
+ p(ctx, dirty) {
942
+ const highlight_changes = (dirty & /*five, pxmm, floorIndex, floorplanData, onRoomHeightClick*/ 87)
943
+ ? internal.get_spread_update(highlight_spread_levels, [
944
+ {
945
+ five: /*five*/ ctx[0],
946
+ pxmm: /*pxmm*/ ctx[1],
947
+ floorIndex: /*floorIndex*/ ctx[2],
948
+ floorplanData: /*floorplanData*/ ctx[4],
949
+ onRoomHeightClick: /*onRoomHeightClick*/ ctx[6]
950
+ }
951
+ ])
952
+ : {};
953
+
954
+ highlight.$set(highlight_changes);
955
+ },
956
+ i(local) {
957
+ if (current) return;
958
+ internal.transition_in(highlight.$$.fragment, local);
959
+ current = true;
960
+ },
961
+ o(local) {
962
+ internal.transition_out(highlight.$$.fragment, local);
963
+ current = false;
964
+ },
965
+ d(detaching) {
966
+ internal.destroy_component(highlight, detaching);
967
+ }
968
+ };
969
+ }
970
+
971
+ function create_fragment$1(ctx) {
972
+ let baseimage;
973
+ let t0;
974
+ let extraobjects;
975
+ let t1;
976
+ let if_block_anchor;
977
+ let current;
978
+
979
+ const baseimage_spread_levels = [
980
+ {
981
+ floorIndex: /*floorIndex*/ ctx[2],
982
+ floorplanData: /*floorplanData*/ ctx[4]
983
+ }
984
+ ];
985
+
986
+ let baseimage_props = {};
987
+
988
+ for (let i = 0; i < baseimage_spread_levels.length; i += 1) {
989
+ baseimage_props = internal.assign(baseimage_props, baseimage_spread_levels[i]);
990
+ }
991
+
992
+ baseimage = new BaseImage({ props: baseimage_props });
993
+
994
+ extraobjects = new ExtraObjects({
995
+ props: {
996
+ extraObjects: /*currentFloorExtraObjects*/ ctx[5]
997
+ }
998
+ });
999
+
1000
+ let if_block = /*hoverEnable*/ ctx[3] && create_if_block$1(ctx);
1001
+
1002
+ return {
1003
+ c() {
1004
+ internal.create_component(baseimage.$$.fragment);
1005
+ t0 = internal.space();
1006
+ internal.create_component(extraobjects.$$.fragment);
1007
+ t1 = internal.space();
1008
+ if (if_block) if_block.c();
1009
+ if_block_anchor = internal.empty();
1010
+ },
1011
+ m(target, anchor) {
1012
+ internal.mount_component(baseimage, target, anchor);
1013
+ internal.insert(target, t0, anchor);
1014
+ internal.mount_component(extraobjects, target, anchor);
1015
+ internal.insert(target, t1, anchor);
1016
+ if (if_block) if_block.m(target, anchor);
1017
+ internal.insert(target, if_block_anchor, anchor);
1018
+ current = true;
1019
+ },
1020
+ p(ctx, [dirty]) {
1021
+ const baseimage_changes = (dirty & /*floorIndex, floorplanData*/ 20)
1022
+ ? internal.get_spread_update(baseimage_spread_levels, [
1023
+ {
1024
+ floorIndex: /*floorIndex*/ ctx[2],
1025
+ floorplanData: /*floorplanData*/ ctx[4]
1026
+ }
1027
+ ])
1028
+ : {};
1029
+
1030
+ baseimage.$set(baseimage_changes);
1031
+ const extraobjects_changes = {};
1032
+ if (dirty & /*currentFloorExtraObjects*/ 32) extraobjects_changes.extraObjects = /*currentFloorExtraObjects*/ ctx[5];
1033
+ extraobjects.$set(extraobjects_changes);
1034
+
1035
+ if (/*hoverEnable*/ ctx[3]) {
1036
+ if (if_block) {
1037
+ if_block.p(ctx, dirty);
1038
+
1039
+ if (dirty & /*hoverEnable*/ 8) {
1040
+ internal.transition_in(if_block, 1);
1041
+ }
1042
+ } else {
1043
+ if_block = create_if_block$1(ctx);
1044
+ if_block.c();
1045
+ internal.transition_in(if_block, 1);
1046
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
1047
+ }
1048
+ } else if (if_block) {
1049
+ internal.group_outros();
1050
+
1051
+ internal.transition_out(if_block, 1, 1, () => {
1052
+ if_block = null;
1053
+ });
1054
+
1055
+ internal.check_outros();
1056
+ }
1057
+ },
1058
+ i(local) {
1059
+ if (current) return;
1060
+ internal.transition_in(baseimage.$$.fragment, local);
1061
+ internal.transition_in(extraobjects.$$.fragment, local);
1062
+ internal.transition_in(if_block);
1063
+ current = true;
1064
+ },
1065
+ o(local) {
1066
+ internal.transition_out(baseimage.$$.fragment, local);
1067
+ internal.transition_out(extraobjects.$$.fragment, local);
1068
+ internal.transition_out(if_block);
1069
+ current = false;
1070
+ },
1071
+ d(detaching) {
1072
+ internal.destroy_component(baseimage, detaching);
1073
+ if (detaching) internal.detach(t0);
1074
+ internal.destroy_component(extraobjects, detaching);
1075
+ if (detaching) internal.detach(t1);
1076
+ if (if_block) if_block.d(detaching);
1077
+ if (detaching) internal.detach(if_block_anchor);
1078
+ }
1079
+ };
1080
+ }
1081
+
1082
+ function instance$1($$self, $$props, $$invalidate) {
1083
+ let currentFloorExtraObjects;
1084
+ let { five } = $$props;
1085
+ let { pxmm } = $$props;
1086
+ let { floorIndex } = $$props;
1087
+ let { hoverEnable } = $$props;
1088
+ let { floorplanData } = $$props;
1089
+ let { extraObjects = [] } = $$props;
1090
+ const onRoomHeightClick = undefined;
1091
+
1092
+ $$self.$$set = $$props => {
1093
+ if ('five' in $$props) $$invalidate(0, five = $$props.five);
1094
+ if ('pxmm' in $$props) $$invalidate(1, pxmm = $$props.pxmm);
1095
+ if ('floorIndex' in $$props) $$invalidate(2, floorIndex = $$props.floorIndex);
1096
+ if ('hoverEnable' in $$props) $$invalidate(3, hoverEnable = $$props.hoverEnable);
1097
+ if ('floorplanData' in $$props) $$invalidate(4, floorplanData = $$props.floorplanData);
1098
+ if ('extraObjects' in $$props) $$invalidate(7, extraObjects = $$props.extraObjects);
1099
+ };
1100
+
1101
+ $$self.$$.update = () => {
1102
+ if ($$self.$$.dirty & /*extraObjects, floorIndex*/ 132) {
1103
+ $$invalidate(5, currentFloorExtraObjects = extraObjects === null || extraObjects === void 0
1104
+ ? void 0
1105
+ : extraObjects.filter(object => object.floorIndex === floorIndex));
1106
+ }
1107
+ };
1108
+
1109
+ return [
1110
+ five,
1111
+ pxmm,
1112
+ floorIndex,
1113
+ hoverEnable,
1114
+ floorplanData,
1115
+ currentFloorExtraObjects,
1116
+ onRoomHeightClick,
1117
+ extraObjects
1118
+ ];
1119
+ }
1120
+
1121
+ class CurrentFloor extends internal.SvelteComponent {
1122
+ constructor(options) {
1123
+ super();
1124
+
1125
+ internal.init(this, options, instance$1, create_fragment$1, internal.safe_not_equal, {
1126
+ five: 0,
1127
+ pxmm: 1,
1128
+ floorIndex: 2,
1129
+ hoverEnable: 3,
1130
+ floorplanData: 4,
1131
+ extraObjects: 7
1132
+ });
1133
+ }
1134
+ }
1135
+
1136
+ /* src/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte generated by Svelte v3.47.0 */
1137
+
1138
+ function add_css(target) {
1139
+ internal.append_styles(target, "svelte-1mvqyqq", ".plugin-floorplan-radar.svelte-1mvqyqq{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.plugin-floorplan-radar-container.svelte-1mvqyqq{position:relative}");
1140
+ }
1141
+
1142
+ // (41:2) {#if clientWidth !== 0}
1143
+ function create_if_block(ctx) {
1144
+ let div;
1145
+ let currentfloor;
1146
+ let t;
1147
+ let camera;
1148
+ let style_width = `${/*contentWidth*/ ctx[7]}px`;
1149
+ let style_height = `${/*contentHeight*/ ctx[10]}px`;
1150
+ let current;
1151
+
1152
+ const currentfloor_spread_levels = [
1153
+ {
1154
+ five: /*five*/ ctx[0],
1155
+ pxmm: /*pxmm*/ ctx[8],
1156
+ floorIndex: /*floorIndex*/ ctx[9],
1157
+ floorplanData: /*floorplanData*/ ctx[2],
1158
+ hoverEnable: /*hoverEnable*/ ctx[1],
1159
+ extraObjects: /*extraObjects*/ ctx[4]
1160
+ }
1161
+ ];
1162
+
1163
+ let currentfloor_props = {};
1164
+
1165
+ for (let i = 0; i < currentfloor_spread_levels.length; i += 1) {
1166
+ currentfloor_props = internal.assign(currentfloor_props, currentfloor_spread_levels[i]);
1167
+ }
1168
+
1169
+ currentfloor = new CurrentFloor({ props: currentfloor_props });
1170
+
1171
+ const camera_spread_levels = [
1172
+ {
1173
+ pxmm: /*pxmm*/ ctx[8],
1174
+ five: /*five*/ ctx[0],
1175
+ floorplanData: /*floorplanData*/ ctx[2],
1176
+ cameraImageUrl: /*cameraImageUrl*/ ctx[3]
1177
+ }
1178
+ ];
1179
+
1180
+ let camera_props = {};
1181
+
1182
+ for (let i = 0; i < camera_spread_levels.length; i += 1) {
1183
+ camera_props = internal.assign(camera_props, camera_spread_levels[i]);
1184
+ }
1185
+
1186
+ camera = new Camera({ props: camera_props });
1187
+
1188
+ return {
1189
+ c() {
1190
+ div = internal.element("div");
1191
+ internal.create_component(currentfloor.$$.fragment);
1192
+ t = internal.space();
1193
+ internal.create_component(camera.$$.fragment);
1194
+ internal.attr(div, "class", "plugin-floorplan-radar-container svelte-1mvqyqq");
1195
+ internal.set_style(div, "width", style_width, false);
1196
+ internal.set_style(div, "height", style_height, false);
1197
+ },
1198
+ m(target, anchor) {
1199
+ internal.insert(target, div, anchor);
1200
+ internal.mount_component(currentfloor, div, null);
1201
+ internal.append(div, t);
1202
+ internal.mount_component(camera, div, null);
1203
+ current = true;
1204
+ },
1205
+ p(ctx, dirty) {
1206
+ const currentfloor_changes = (dirty & /*five, pxmm, floorIndex, floorplanData, hoverEnable, extraObjects*/ 791)
1207
+ ? internal.get_spread_update(currentfloor_spread_levels, [
1208
+ {
1209
+ five: /*five*/ ctx[0],
1210
+ pxmm: /*pxmm*/ ctx[8],
1211
+ floorIndex: /*floorIndex*/ ctx[9],
1212
+ floorplanData: /*floorplanData*/ ctx[2],
1213
+ hoverEnable: /*hoverEnable*/ ctx[1],
1214
+ extraObjects: /*extraObjects*/ ctx[4]
1215
+ }
1216
+ ])
1217
+ : {};
1218
+
1219
+ currentfloor.$set(currentfloor_changes);
1220
+
1221
+ const camera_changes = (dirty & /*pxmm, five, floorplanData, cameraImageUrl*/ 269)
1222
+ ? internal.get_spread_update(camera_spread_levels, [
1223
+ {
1224
+ pxmm: /*pxmm*/ ctx[8],
1225
+ five: /*five*/ ctx[0],
1226
+ floorplanData: /*floorplanData*/ ctx[2],
1227
+ cameraImageUrl: /*cameraImageUrl*/ ctx[3]
1228
+ }
1229
+ ])
1230
+ : {};
1231
+
1232
+ camera.$set(camera_changes);
1233
+
1234
+ if (dirty & /*contentWidth*/ 128 && style_width !== (style_width = `${/*contentWidth*/ ctx[7]}px`)) {
1235
+ internal.set_style(div, "width", style_width, false);
1236
+ }
1237
+
1238
+ if (dirty & /*contentHeight*/ 1024 && style_height !== (style_height = `${/*contentHeight*/ ctx[10]}px`)) {
1239
+ internal.set_style(div, "height", style_height, false);
1240
+ }
1241
+ },
1242
+ i(local) {
1243
+ if (current) return;
1244
+ internal.transition_in(currentfloor.$$.fragment, local);
1245
+ internal.transition_in(camera.$$.fragment, local);
1246
+ current = true;
1247
+ },
1248
+ o(local) {
1249
+ internal.transition_out(currentfloor.$$.fragment, local);
1250
+ internal.transition_out(camera.$$.fragment, local);
1251
+ current = false;
1252
+ },
1253
+ d(detaching) {
1254
+ if (detaching) internal.detach(div);
1255
+ internal.destroy_component(currentfloor);
1256
+ internal.destroy_component(camera);
1257
+ }
1258
+ };
1259
+ }
1260
+
1261
+ function create_fragment(ctx) {
1262
+ let div;
1263
+ let div_resize_listener;
1264
+ let current;
1265
+ let if_block = /*clientWidth*/ ctx[5] !== 0 && create_if_block(ctx);
1266
+
1267
+ return {
1268
+ c() {
1269
+ div = internal.element("div");
1270
+ if (if_block) if_block.c();
1271
+ internal.attr(div, "class", "plugin-floorplan-radar svelte-1mvqyqq");
1272
+ internal.add_render_callback(() => /*div_elementresize_handler*/ ctx[11].call(div));
1273
+ },
1274
+ m(target, anchor) {
1275
+ internal.insert(target, div, anchor);
1276
+ if (if_block) if_block.m(div, null);
1277
+ div_resize_listener = internal.add_resize_listener(div, /*div_elementresize_handler*/ ctx[11].bind(div));
1278
+ current = true;
1279
+ },
1280
+ p(ctx, [dirty]) {
1281
+ if (/*clientWidth*/ ctx[5] !== 0) {
1282
+ if (if_block) {
1283
+ if_block.p(ctx, dirty);
1284
+
1285
+ if (dirty & /*clientWidth*/ 32) {
1286
+ internal.transition_in(if_block, 1);
1287
+ }
1288
+ } else {
1289
+ if_block = create_if_block(ctx);
1290
+ if_block.c();
1291
+ internal.transition_in(if_block, 1);
1292
+ if_block.m(div, null);
1293
+ }
1294
+ } else if (if_block) {
1295
+ internal.group_outros();
1296
+
1297
+ internal.transition_out(if_block, 1, 1, () => {
1298
+ if_block = null;
1299
+ });
1300
+
1301
+ internal.check_outros();
1302
+ }
1303
+ },
1304
+ i(local) {
1305
+ if (current) return;
1306
+ internal.transition_in(if_block);
1307
+ current = true;
1308
+ },
1309
+ o(local) {
1310
+ internal.transition_out(if_block);
1311
+ current = false;
1312
+ },
1313
+ d(detaching) {
1314
+ if (detaching) internal.detach(div);
1315
+ if (if_block) if_block.d();
1316
+ div_resize_listener();
1317
+ }
1318
+ };
1319
+ }
1320
+
1321
+ function instance($$self, $$props, $$invalidate) {
1322
+ let { five } = $$props;
1323
+ let { hoverEnable } = $$props;
1324
+ let { floorplanData } = $$props;
1325
+ let { cameraImageUrl } = $$props;
1326
+ let { extraObjects = [] } = $$props;
1327
+ let pxmm = 0;
1328
+ let floorIndex = 0;
1329
+ let clientWidth = 0;
1330
+ let clientHeight = 0;
1331
+ let contentWidth = 0;
1332
+ let contentHeight = 0;
1333
+
1334
+ function handlePanoArrived(panoIndex) {
1335
+ $$invalidate(9, floorIndex = five.work.observers[panoIndex].floorIndex);
1336
+ }
1337
+
1338
+ svelte.onMount(() => {
1339
+ five.on('panoArrived', handlePanoArrived);
1340
+
1341
+ return () => {
1342
+ five.off('panoArrived', handlePanoArrived);
1343
+ };
1344
+ });
1345
+
1346
+ function div_elementresize_handler() {
1347
+ clientWidth = this.clientWidth;
1348
+ clientHeight = this.clientHeight;
1349
+ $$invalidate(5, clientWidth);
1350
+ $$invalidate(6, clientHeight);
1351
+ }
1352
+
1353
+ $$self.$$set = $$props => {
1354
+ if ('five' in $$props) $$invalidate(0, five = $$props.five);
1355
+ if ('hoverEnable' in $$props) $$invalidate(1, hoverEnable = $$props.hoverEnable);
1356
+ if ('floorplanData' in $$props) $$invalidate(2, floorplanData = $$props.floorplanData);
1357
+ if ('cameraImageUrl' in $$props) $$invalidate(3, cameraImageUrl = $$props.cameraImageUrl);
1358
+ if ('extraObjects' in $$props) $$invalidate(4, extraObjects = $$props.extraObjects);
1359
+ };
1360
+
1361
+ $$self.$$.update = () => {
1362
+ if ($$self.$$.dirty & /*clientWidth, clientHeight, floorplanData, contentWidth*/ 228) {
1363
+ {
1364
+ const size = Math.min(clientWidth, clientHeight);
1365
+ const { max, min } = floorplanData.bounding;
1366
+ const boundingWidth = max.x - min.x;
1367
+ const boundingHeight = max.y - min.y;
1368
+
1369
+ const contentSize = (function getSize() {
1370
+ if (boundingWidth > boundingHeight) return [size, size / boundingWidth * boundingHeight];
1371
+ return [size / boundingHeight * boundingWidth, size];
1372
+ })();
1373
+
1374
+ $$invalidate(7, contentWidth = contentSize[0]);
1375
+ $$invalidate(10, contentHeight = contentSize[1]);
1376
+ $$invalidate(8, pxmm = contentWidth / boundingWidth);
1377
+ }
1378
+ }
1379
+ };
1380
+
1381
+ return [
1382
+ five,
1383
+ hoverEnable,
1384
+ floorplanData,
1385
+ cameraImageUrl,
1386
+ extraObjects,
1387
+ clientWidth,
1388
+ clientHeight,
1389
+ contentWidth,
1390
+ pxmm,
1391
+ floorIndex,
1392
+ contentHeight,
1393
+ div_elementresize_handler
1394
+ ];
1395
+ }
1396
+
1397
+ class Main extends internal.SvelteComponent {
1398
+ constructor(options) {
1399
+ super();
1400
+
1401
+ internal.init(
1402
+ this,
1403
+ options,
1404
+ instance,
1405
+ create_fragment,
1406
+ internal.safe_not_equal,
1407
+ {
1408
+ five: 0,
1409
+ hoverEnable: 1,
1410
+ floorplanData: 2,
1411
+ cameraImageUrl: 3,
1412
+ extraObjects: 4
1413
+ },
1414
+ add_css
1415
+ );
1416
+ }
1417
+ }
1418
+
1419
+ const FLOORPLAN_EXTRA_OBJECT_IMAGE = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAALaADAAQAAAABAAAAMAAAAADe2FZjAAAEF0lEQVRoBe2WzWskRRiHf13V092TxI2oEzYeVDwITtyDuCiihwiCePGgxIM3vYgHL4J4UIhBRA8i/gPqyUvWg7AiIuIeloDiYUHJLOK6BPwIk9nNODM9Xf1RVe1b3elJRjCZmQ6euqGmuqer33rq4e23GqiOykBloDJQGagMVAYqA5WBykBlYFYD1qwP/tdzaZqOx9zYOLxeX0+L5yzLGp0X/03a25MOnGRcBtx+6Rlo9SL08G4EooFnxa8Yiivox5/h5Ys/4cl7NVorNDRnngX+0MIkVMeMSf23zyKML8J7/Dy8hwF2Buh9CnS+AEQIdLspBuGb+M7/qLW4qJrNpsLapjYhpwVnx3BMfCtNNx3Etc9xywvnMf80wG8HmQainw0RxSGrnmeBp+8k5/j9S0HbvXb5io0Lz880/0wPHV1NlhLd316He+4xOCv5ragF7L9PrH1qBJyB0626x/lC+qrSvH5r/W+n1WpxUM5nMY4GPeH8lHJaPgfeAFQHCL+ntkXT+vnUc3W6pvTIwC0wy3rA4dwLmK2avZ7Eo9uKBuYJfgJscbs8dLCxDMt+EOEPBEZNEWyBYHqTz6bPXrzUnNrSShxHIsYiOL69zrCGLLcLqJP68tB+9w5wj+YhWDafQ2s61wNqxjZhmrQ2pvMFCEvXuCUZ7wqH794ZWs28LJqlTXSUyuksF2M/yOwqgkx2c1ADa4wLAQRk2sAGQQakhN6yFC2hltfz5kSY44NKQeeh+vtI/SSzWhg2CzCgmWISmKUGmaYFBDfCSymnfxJ6/+ospVcWOLLp5DGP/y0P/Rp66O99DQNq7Po3Ds0a0wY+My2QSv2N2mO/OyxR2o6UQk+Lv7yJ06JYSnnolZVU9cUn2O9SmaMWGFBqYXRwbqAJWIi94TX5biotpcGl1DXZ6LnqIbNDTnmUgi52Mv5l5ysMxIcZcGjy2DTK4ZHlcBC14zeSge4qphICjj3bS0A7o9nSp2TOkm7aZ8bGZy/jxhO87V91G0+dfY/Z7BWIIK9KYUi5qy/Hf8YfBG3sqJTHiQWhmTVkbip+wX3x6volVSx+LPAxF+VLXhZ8VQ+iP2Rta/iWe5v42Fngj0BbdnRTXh12ZIcKhTaGbcYjybRwXBU1lu9KlndXp04NM52poKWO0RZsviNaP9a6grkO972+st05pXhE5c1hTEluJy7XUejGUQNLMbAmTdWY1rKBLW3aTJqBZ7nZkb36DhYCreeYHbMUXHvaYi5XDK70EcgulmRjm77wNtenzuXCbmnTRaAx493rbGf3Jr/njMzj920CnKdUaFCjlDioy7NYNvOdGrQJNgI32/L2tkXfFPlxgToqjWVhD6KdLnQRdARf/HHQz2r2X2Gqy8pAZaAyUBmoDFQGKgP/q4F/AJYg9/s0ZoABAAAAAElFTkSuQmCC';
1420
+
1421
+ async function formatOutlines(outlines) {
1422
+ const headers = new Headers({ 'Content-Type': 'text/plain' });
1423
+ const getOutlineItem = async function (item) {
1424
+ const outlineItem = {
1425
+ index: item.index,
1426
+ url: item.url,
1427
+ svgUrl: item.svg_url,
1428
+ };
1429
+ if (item.svg_url) {
1430
+ const svgContent = await fetch(item.svg_url, { headers }).then((res) => res.text());
1431
+ outlineItem.svgContent = svgContent;
1432
+ }
1433
+ return outlineItem;
1434
+ };
1435
+ const svgOutlineItems = await Promise.all(outlines.map(getOutlineItem));
1436
+ return svgOutlineItems;
1437
+ }
1438
+ function formatRoom(data) {
1439
+ const floorplanRoomItem = {
1440
+ id: data.id,
1441
+ size: data.size,
1442
+ name: data.name,
1443
+ path: data.path,
1444
+ roomType: data.room_type,
1445
+ floorType: data.floor_type,
1446
+ roomLabel: {
1447
+ position: data.room_label.position,
1448
+ positionInImage: data.room_label.position_in_image,
1449
+ },
1450
+ observerIndexs: data.observer_indexs,
1451
+ };
1452
+ return floorplanRoomItem;
1453
+ }
1454
+ function formatFloorData(_data) {
1455
+ return {
1456
+ floorName: _data.floor_name,
1457
+ floorIndex: _data.floor_index,
1458
+ rooms: _data.rooms.map(formatRoom),
1459
+ rules: _data.rules,
1460
+ };
1461
+ }
1462
+ function formateFloorplanObserver(data) {
1463
+ const floorplanObserver = {
1464
+ index: data.index,
1465
+ floorIndex: data.floor_index,
1466
+ position: data.position,
1467
+ positionInImage: data.position_in_image,
1468
+ };
1469
+ return floorplanObserver;
1470
+ }
1471
+ function formatFloorplanEntrance(data) {
1472
+ const floorplanEntrance = {
1473
+ rad: data.rad,
1474
+ position: data.position,
1475
+ positionInImage: data.position_in_image,
1476
+ northRad: data.north_rad,
1477
+ roomId: data.room_id,
1478
+ floorIndex: data.floor_index,
1479
+ };
1480
+ return floorplanEntrance;
1481
+ }
1482
+ async function formatData(data) {
1483
+ const outlines = await formatOutlines(data.outlines);
1484
+ const bounding = data.computed_data.bounding;
1485
+ const floorDatas = data.computed_data.floor_datas.map(formatFloorData);
1486
+ const entrance = data.computed_data.entrance ? formatFloorplanEntrance(data.computed_data.entrance) : null;
1487
+ const floorplanData = {
1488
+ outlines,
1489
+ entrance,
1490
+ bounding,
1491
+ floorDatas,
1492
+ observers: data.computed_data.observers.map(formateFloorplanObserver),
1493
+ };
1494
+ return floorplanData;
1495
+ }
1496
+ function formatExtraObjects(data, five, floorplanData) {
1497
+ const extraObjects = data.map((object) => {
1498
+ const position = object.position;
1499
+ const icon = object.icon
1500
+ ? object.icon
1501
+ : {
1502
+ url: FLOORPLAN_EXTRA_OBJECT_IMAGE,
1503
+ width: 45,
1504
+ height: 48,
1505
+ };
1506
+ const floorIndex = getFloorIndexFromModelPosition(position, five);
1507
+ const floorplanPosition = modelPosition2FloorplanPosition(position, floorplanData);
1508
+ const floorplanImagePosition = floorplanPosition2ImagePosition(floorplanPosition, floorplanData);
1509
+ return { floorIndex, icon, id: object.id, position: floorplanPosition, positionInImage: floorplanImagePosition };
1510
+ });
1511
+ return extraObjects;
1512
+ }
1513
+
1514
+ class PanoFloorplanRadarPluginController {
1515
+ constructor(five, params) {
1516
+ Object.defineProperty(this, "app", {
1517
+ enumerable: true,
1518
+ configurable: true,
1519
+ writable: true,
1520
+ value: void 0
1521
+ });
1522
+ Object.defineProperty(this, "five", {
1523
+ enumerable: true,
1524
+ configurable: true,
1525
+ writable: true,
1526
+ value: void 0
1527
+ });
1528
+ Object.defineProperty(this, "wrapperSelector", {
1529
+ enumerable: true,
1530
+ configurable: true,
1531
+ writable: true,
1532
+ value: ''
1533
+ });
1534
+ Object.defineProperty(this, "data", {
1535
+ enumerable: true,
1536
+ configurable: true,
1537
+ writable: true,
1538
+ value: void 0
1539
+ });
1540
+ Object.defineProperty(this, "wrapper", {
1541
+ enumerable: true,
1542
+ configurable: true,
1543
+ writable: true,
1544
+ value: null
1545
+ });
1546
+ Object.defineProperty(this, "extraObjects", {
1547
+ enumerable: true,
1548
+ configurable: true,
1549
+ writable: true,
1550
+ value: []
1551
+ });
1552
+ Object.defineProperty(this, "configs", {
1553
+ enumerable: true,
1554
+ configurable: true,
1555
+ writable: true,
1556
+ value: {}
1557
+ });
1558
+ Object.defineProperty(this, "dispose", {
1559
+ enumerable: true,
1560
+ configurable: true,
1561
+ writable: true,
1562
+ value: () => {
1563
+ var _a;
1564
+ (_a = this.app) === null || _a === void 0 ? void 0 : _a.$destroy();
1565
+ }
1566
+ });
1567
+ Object.defineProperty(this, "load", {
1568
+ enumerable: true,
1569
+ configurable: true,
1570
+ writable: true,
1571
+ value: async (data) => {
1572
+ const copyData = JSON.parse(JSON.stringify(data));
1573
+ const floorplanData = await formatData(copyData);
1574
+ this.data = floorplanData;
1575
+ // const loadImage = async () => {
1576
+ // const floorIndex = this.five.work.observers[this.five.getCurrentState().panoIndex].floorIndex
1577
+ // // 当有 svgString 时,没有加载过程
1578
+ // if (floorplanData.outlines[floorIndex]?.svgContent) return
1579
+ // // 如果当前楼层图片不存在,不存在加载过程
1580
+ // const nowFloorImageSrc = floorplanData.outlines[floorIndex]?.url
1581
+ // if (!nowFloorImageSrc) return
1582
+ // // 图片加载完成时再 render
1583
+ // await new Promise<void>((resolve) => {
1584
+ // const nowFloorImage = new Image()
1585
+ // nowFloorImage.src = nowFloorImageSrc
1586
+ // nowFloorImage.onload = () => resolve()
1587
+ // })
1588
+ // }
1589
+ // await loadImage()
1590
+ this.render();
1591
+ }
1592
+ });
1593
+ this.five = five;
1594
+ (params === null || params === void 0 ? void 0 : params.configs) && Object.assign(this.configs, params.configs);
1595
+ if (typeof (params === null || params === void 0 ? void 0 : params.wrapper) === 'string')
1596
+ this.wrapperSelector = params.wrapper;
1597
+ else if ((params === null || params === void 0 ? void 0 : params.wrapper) instanceof Element)
1598
+ this.wrapper = params.wrapper;
1599
+ five.once('dispose', this.dispose);
1600
+ }
1601
+ /** 把插件的渲染DOM插入到对应的容器中去 */
1602
+ appendTo(wrapper) {
1603
+ this.wrapper = wrapper;
1604
+ this.render();
1605
+ }
1606
+ changeConfigs(configs) {
1607
+ Object.assign(this.configs, configs);
1608
+ this.render();
1609
+ }
1610
+ setExtraObjectsWith3DPositions(data) {
1611
+ if (!this.data)
1612
+ return;
1613
+ this.extraObjects = formatExtraObjects(data, this.five, this.data);
1614
+ this.render();
1615
+ }
1616
+ render() {
1617
+ var _a;
1618
+ // 处理 wrapper
1619
+ if (!this.wrapper) {
1620
+ const _wrapper = document.querySelector(this.wrapperSelector);
1621
+ this.wrapper = _wrapper;
1622
+ }
1623
+ if (!this.data || !this.wrapper)
1624
+ return;
1625
+ const props = {
1626
+ five: this.five,
1627
+ floorplanData: this.data,
1628
+ extraObjects: this.extraObjects,
1629
+ cameraImageUrl: this.configs.cameraImageUrl,
1630
+ hoverEnable: (_a = this.configs.hoverEnable) !== null && _a !== void 0 ? _a : false,
1631
+ };
1632
+ if (!this.app) {
1633
+ this.app = new Main({
1634
+ target: this.wrapper,
1635
+ props,
1636
+ });
1637
+ return;
1638
+ }
1639
+ this.app.$set(props);
1640
+ }
1641
+ }
1642
+
1643
+ const PanoFloorplanRadarPlugin = (five, params) => {
1644
+ return new PanoFloorplanRadarPluginController(five, params);
1645
+ };
1646
+
1647
+ exports.PanoFloorplanRadarPlugin = PanoFloorplanRadarPlugin;
1648
+ exports["default"] = PanoFloorplanRadarPlugin;