@realsee/dnalogel 2.0.0-alpha.9 → 2.0.0-beta.36

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 (485) hide show
  1. package/README.md +78 -28
  2. package/components/index.js +1450 -0
  3. package/dist/CSS3DRenderPlugin/Plugin.d.ts +49 -0
  4. package/dist/CSS3DRenderPlugin/index.d.ts +3 -48
  5. package/dist/CSS3DRenderPlugin/index.js +27 -26
  6. package/dist/CameraMovementPlugin/CameraMovementPlugin.d.ts +7 -0
  7. package/dist/CameraMovementPlugin/index.d.ts +4 -6
  8. package/dist/CameraMovementPlugin/index.js +12 -12
  9. package/dist/CameraMovementPlugin/typing.d.ts +1 -1
  10. package/dist/ItemLabelPlugin/Plugin.d.ts +4 -0
  11. package/dist/ItemLabelPlugin/events.type.d.ts +9 -0
  12. package/dist/ItemLabelPlugin/index.d.ts +9 -0
  13. package/dist/ItemLabelPlugin/index.js +941 -0
  14. package/dist/ItemLabelPlugin/typings.d.ts +59 -0
  15. package/dist/ItemLabelPlugin/utils/getLabelTransform.d.ts +1 -0
  16. package/dist/ItemLabelPlugin/utils/getStrokeLength.d.ts +5 -0
  17. package/dist/ItemLabelPlugin/utils/isImpacted.d.ts +6 -0
  18. package/dist/ItemLabelPlugin/utils/parseData.d.ts +3 -0
  19. package/dist/ItemLabelPlugin/utils/transform2RenderData.d.ts +3 -0
  20. package/dist/ModelChassisCompassPlugin/Plugin.d.ts +19 -0
  21. package/dist/ModelChassisCompassPlugin/index.d.ts +3 -18
  22. package/dist/ModelChassisCompassPlugin/index.js +8 -5
  23. package/dist/ModelEntryDoorGuidePlugin/Plugin.d.ts +26 -0
  24. package/dist/ModelEntryDoorGuidePlugin/index.d.ts +3 -25
  25. package/dist/ModelEntryDoorGuidePlugin/index.js +20 -20
  26. package/dist/ModelItemLabelPlugin/ModelItemLabelPlugin.d.ts +4 -0
  27. package/dist/ModelItemLabelPlugin/events.type.d.ts +9 -0
  28. package/dist/ModelItemLabelPlugin/index.d.ts +9 -0
  29. package/dist/ModelItemLabelPlugin/index.js +674 -0
  30. package/dist/ModelItemLabelPlugin/typings.d.ts +56 -0
  31. package/dist/ModelItemLabelPlugin/utils/parseData.d.ts +3 -0
  32. package/dist/ModelRoomLabelPlugin/index.js +153 -73
  33. package/dist/ModelRoomLabelPlugin/utils/parseData.d.ts +1 -1
  34. package/dist/ModelTVVideoPlugin/Plugin.d.ts +4 -0
  35. package/dist/ModelTVVideoPlugin/index.d.ts +5 -0
  36. package/dist/ModelTVVideoPlugin/index.js +301 -0
  37. package/dist/ModelTVVideoPlugin/typings.d.ts +25 -0
  38. package/dist/ModelTVVideoPlugin/utils/parseData.d.ts +2 -0
  39. package/dist/ModelViewPlugin/Plugin.d.ts +17 -0
  40. package/dist/ModelViewPlugin/index.d.ts +3 -16
  41. package/dist/PanoCompassPlugin/Plugin.d.ts +47 -0
  42. package/dist/PanoCompassPlugin/index.d.ts +4 -47
  43. package/dist/PanoCompassPlugin/index.js +242 -129
  44. package/dist/PanoCursorRaycasterPlugin/index.d.ts +1 -1
  45. package/dist/PanoCursorRaycasterPlugin/index.js +5 -3
  46. package/dist/PanoMeasurePlugin/Controller/BaseController.d.ts +12 -9
  47. package/dist/PanoMeasurePlugin/Controller/EditController.d.ts +1 -1
  48. package/dist/PanoMeasurePlugin/Controller/MixedController.d.ts +44 -0
  49. package/dist/PanoMeasurePlugin/Controller/ShortcutKeyController.d.ts +2 -2
  50. package/dist/PanoMeasurePlugin/Controller/WatchController.d.ts +2 -1
  51. package/dist/PanoMeasurePlugin/Controller/index.d.ts +18 -9
  52. package/dist/PanoMeasurePlugin/Model/index.d.ts +2 -2
  53. package/dist/PanoMeasurePlugin/Model/line.d.ts +5 -5
  54. package/dist/PanoMeasurePlugin/Model/point.d.ts +2 -2
  55. package/dist/PanoMeasurePlugin/Model/polyline.d.ts +3 -3
  56. package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.d.ts +1 -1
  57. package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.d.ts +1 -1
  58. package/dist/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +5 -2
  59. package/dist/PanoMeasurePlugin/Modules/FiveHelper.d.ts +1 -1
  60. package/dist/PanoMeasurePlugin/Modules/GuideController.d.ts +1 -1
  61. package/dist/PanoMeasurePlugin/Modules/Magnifier.d.ts +50 -15
  62. package/dist/PanoMeasurePlugin/Modules/UIController/MainBtnController.d.ts +1 -1
  63. package/dist/PanoMeasurePlugin/Modules/UIController/NewMainBtnController.d.ts +12 -0
  64. package/dist/PanoMeasurePlugin/Modules/UIController/Revoke/index.d.ts +2 -1
  65. package/dist/PanoMeasurePlugin/Modules/UIController/index.d.ts +5 -1
  66. package/dist/PanoMeasurePlugin/Modules/UIController/mobileHTML.d.ts +2 -0
  67. package/dist/PanoMeasurePlugin/Modules/UIController/style.d.ts +2 -0
  68. package/dist/PanoMeasurePlugin/Modules/rangePiece/html.d.ts +4 -0
  69. package/dist/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +42 -0
  70. package/dist/PanoMeasurePlugin/index.d.ts +9 -6
  71. package/dist/PanoMeasurePlugin/index.js +2649 -3442
  72. package/dist/PanoMeasurePlugin/typings/data.d.ts +4 -0
  73. package/dist/PanoMeasurePlugin/typings/event.type.d.ts +14 -5
  74. package/dist/PanoMeasurePlugin/utils/calculateThreeMouse.d.ts +10 -0
  75. package/dist/PanoMeasurePlugin/utils/clearGroup.d.ts +1 -1
  76. package/dist/PanoMeasurePlugin/utils/constants.d.ts +1 -1
  77. package/dist/PanoMeasurePlugin/utils/distanceDom.d.ts +3 -3
  78. package/dist/PanoMeasurePlugin/utils/findAssociatedLines.d.ts +1 -1
  79. package/dist/PanoMeasurePlugin/utils/findClosestPoint.d.ts +3 -3
  80. package/dist/PanoMeasurePlugin/utils/getIntersectionFromEvent.d.ts +2 -2
  81. package/dist/PanoMeasurePlugin/utils/getPointFromHammerEvent.d.ts +1 -1
  82. package/dist/PanoMeasurePlugin/utils/isNDCPointInScreen.d.ts +1 -1
  83. package/dist/PanoMeasurePlugin/utils/line.d.ts +1 -1
  84. package/dist/PanoMeasurePlugin/utils/mouseGroup.d.ts +2 -2
  85. package/dist/PanoRulerPlugin/Plugin.d.ts +31 -0
  86. package/dist/PanoRulerPlugin/index.d.ts +4 -30
  87. package/dist/PanoRulerPlugin/index.js +12 -12
  88. package/dist/PanoSpatialTagPlugin/Plugin.d.ts +35 -0
  89. package/dist/PanoSpatialTagPlugin/index.d.ts +5 -0
  90. package/dist/PanoSpatialTagPlugin/index.js +1307 -0
  91. package/dist/PanoSpatialTagPlugin/store.d.ts +1 -0
  92. package/dist/PanoSpatialTagPlugin/style.d.ts +1 -0
  93. package/dist/PanoSpatialTagPlugin/typings.d.ts +40 -0
  94. package/dist/base/BasePlugin.d.ts +100 -0
  95. package/dist/base/BasePluginWithData.d.ts +34 -0
  96. package/dist/components/PaintBrush/Controller.d.ts +43 -0
  97. package/dist/components/PaintBrush/Subscribe.d.ts +76 -0
  98. package/dist/components/PaintBrush/index.d.ts +27 -0
  99. package/dist/components/PaintBrush/style.d.ts +2 -0
  100. package/dist/components/PaintBrush/tween.d.ts +62 -0
  101. package/dist/components/PaintBrush/typings.d.ts +58 -0
  102. package/dist/components/PaintBrush/utils.d.ts +26 -0
  103. package/dist/components/index.d.ts +2 -0
  104. package/dist/floorplan/{ModelFloorplanPlugin/Assets → Assets}/compass.d.ts +0 -0
  105. package/dist/floorplan/ModelFloorplanPlugin/Controller.d.ts +70 -77
  106. package/dist/floorplan/ModelFloorplanPlugin/index.d.ts +5 -7
  107. package/dist/floorplan/ModelFloorplanPlugin/index.js +2319 -1620
  108. package/dist/floorplan/ModelFloorplanPlugin/typing.d.ts +107 -0
  109. package/dist/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +24 -16
  110. package/dist/floorplan/PanoFloorplanRadarPlugin/index.d.ts +5 -6
  111. package/dist/floorplan/PanoFloorplanRadarPlugin/index.js +601 -266
  112. package/dist/floorplan/PanoFloorplanRadarPlugin/typing.d.ts +52 -0
  113. package/dist/floorplan/TopviewFloorplanPlugin/Controller.d.ts +53 -47
  114. package/dist/floorplan/TopviewFloorplanPlugin/index.d.ts +6 -4
  115. package/dist/floorplan/TopviewFloorplanPlugin/index.js +2198 -1428
  116. package/dist/floorplan/TopviewFloorplanPlugin/typing.d.ts +86 -0
  117. package/dist/floorplan/index.d.ts +6 -0
  118. package/dist/floorplan/utils/constant.d.ts +22 -0
  119. package/dist/floorplan/utils/correctFiveState.d.ts +15 -0
  120. package/dist/floorplan/utils/formatPosition.d.ts +1 -1
  121. package/dist/index.d.ts +15 -24
  122. package/dist/index.es.js +10694 -7145
  123. package/dist/index.js +10432 -6869
  124. package/dist/index.umd.js +10435 -6875
  125. package/dist/shared-utils/five/changeMode.d.ts +4 -1
  126. package/dist/shared-utils/getPxmm.d.ts +8 -0
  127. package/dist/shared-utils/index.d.ts +1 -0
  128. package/dist/shared-utils/math/Interval.d.ts +13 -0
  129. package/dist/shared-utils/math/Rectangle.d.ts +27 -0
  130. package/dist/shared-utils/math/index.d.ts +2 -0
  131. package/dist/shared-utils/three/getExtraModelLoader.d.ts +1 -1
  132. package/dist/shared-utils/three/getNormal.d.ts +1 -1
  133. package/dist/shared-utils/three/getTextureLoader.d.ts +1 -1
  134. package/dist/shared-utils/three/loadFbxObj.d.ts +1 -1
  135. package/dist/shared-utils/tinyEJSrender.d.ts +5 -0
  136. package/dist/shared-utils/uuid.d.ts +1 -0
  137. package/dist/shared-utils/vectorTocoordinates.d.ts +1 -1
  138. package/docs/assets/search.js +1 -1
  139. package/docs/classes/Magnifier.html +9 -0
  140. package/docs/classes/ModelRoomLabelController.html +5 -8
  141. package/docs/enums/CameraMovementEffect.html +3 -0
  142. package/docs/enums/DIRECTION.html +1 -0
  143. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -0
  144. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
  145. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -0
  146. package/docs/enums/Rotation.html +3 -0
  147. package/docs/index.html +78 -33
  148. package/docs/interfaces/CSS3DRenderPluginExportType.html +4 -0
  149. package/docs/interfaces/CameraMovementPluginExportType.html +17 -0
  150. package/docs/interfaces/FloorplanBounding.html +10 -0
  151. package/docs/interfaces/FloorplanData.html +3 -0
  152. package/docs/interfaces/FloorplanEntrance.html +15 -0
  153. package/docs/interfaces/FloorplanExtraObject.html +7 -0
  154. package/docs/interfaces/FloorplanExtraObject3D.html +3 -0
  155. package/docs/interfaces/FloorplanFloorData.html +3 -0
  156. package/docs/interfaces/FloorplanImagePosition.html +3 -0
  157. package/docs/interfaces/FloorplanObserver.html +5 -0
  158. package/docs/interfaces/FloorplanOutlineItem.html +3 -0
  159. package/docs/interfaces/FloorplanPosition.html +3 -0
  160. package/docs/interfaces/FloorplanRoomItem.html +17 -0
  161. package/docs/interfaces/FloorplanRoomLabelItem.html +7 -0
  162. package/docs/interfaces/FloorplanServerBounding.html +10 -0
  163. package/docs/interfaces/FloorplanServerComputedData.html +1 -0
  164. package/docs/interfaces/FloorplanServerData.html +3 -0
  165. package/docs/interfaces/FloorplanServerEntrance.html +15 -0
  166. package/docs/interfaces/FloorplanServerFloorData.html +3 -0
  167. package/docs/interfaces/FloorplanServerImagePosition.html +3 -0
  168. package/docs/interfaces/FloorplanServerObserver.html +5 -0
  169. package/docs/interfaces/FloorplanServerOutlineItem.html +3 -0
  170. package/docs/interfaces/FloorplanServerPosition.html +3 -0
  171. package/docs/interfaces/FloorplanServerRoomItem.html +20 -0
  172. package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -0
  173. package/docs/interfaces/ItemLabelPluginData.html +1 -0
  174. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -0
  175. package/docs/interfaces/ItemLabelPluginParametersType.html +1 -0
  176. package/docs/interfaces/LineJson.html +1 -1
  177. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
  178. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
  179. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
  180. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
  181. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
  182. package/docs/interfaces/ModelItemLabelPluginData.html +1 -0
  183. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -0
  184. package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -0
  185. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
  186. package/docs/interfaces/ModelTVVideoPluginData.html +1 -0
  187. package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -0
  188. package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -0
  189. package/docs/interfaces/ModelViewPluginExportType.html +1 -0
  190. package/docs/interfaces/OpenParameter.html +3 -0
  191. package/docs/interfaces/PanoCompassPluginData.html +1 -1
  192. package/docs/interfaces/PanoCompassPluginParameterType.html +1 -1
  193. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
  194. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -0
  195. package/docs/interfaces/PanoMeasureParameterType.html +1 -0
  196. package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
  197. package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
  198. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
  199. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -0
  200. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -0
  201. package/docs/interfaces/PanoSpatialTagPluginData.html +1 -0
  202. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -0
  203. package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -0
  204. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -0
  205. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -0
  206. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -0
  207. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -0
  208. package/docs/interfaces/Point.html +1 -0
  209. package/docs/interfaces/PointJson.html +1 -1
  210. package/docs/interfaces/Room.html +1 -0
  211. package/docs/interfaces/RoomInfo.html +1 -0
  212. package/docs/interfaces/RoomLabel.html +7 -7
  213. package/docs/interfaces/RoomRules.html +1 -0
  214. package/docs/interfaces/Rooms.html +1 -0
  215. package/docs/modules.html +26 -18
  216. package/libs/CSS3DRenderPlugin/Plugin.d.ts +49 -0
  217. package/libs/CSS3DRenderPlugin/Plugin.js +182 -0
  218. package/libs/CSS3DRenderPlugin/index.d.ts +3 -48
  219. package/libs/CSS3DRenderPlugin/index.js +2 -180
  220. package/libs/CameraMovementPlugin/CameraMovementPlugin.d.ts +7 -0
  221. package/libs/CameraMovementPlugin/CameraMovementPlugin.js +159 -0
  222. package/libs/CameraMovementPlugin/index.d.ts +4 -6
  223. package/libs/CameraMovementPlugin/index.js +3 -158
  224. package/libs/CameraMovementPlugin/typing.d.ts +1 -1
  225. package/libs/ItemLabelPlugin/ItemLabelComponent.js +577 -0
  226. package/libs/ItemLabelPlugin/ItemLabelItem.js +227 -0
  227. package/libs/ItemLabelPlugin/Plugin.d.ts +4 -0
  228. package/libs/ItemLabelPlugin/Plugin.js +120 -0
  229. package/libs/ItemLabelPlugin/events.type.d.ts +9 -0
  230. package/libs/ItemLabelPlugin/events.type.js +1 -0
  231. package/libs/ItemLabelPlugin/index.d.ts +9 -0
  232. package/libs/ItemLabelPlugin/index.js +8 -0
  233. package/libs/ItemLabelPlugin/typings.d.ts +59 -0
  234. package/libs/ItemLabelPlugin/typings.js +7 -0
  235. package/libs/ItemLabelPlugin/utils/getLabelTransform.d.ts +1 -0
  236. package/libs/ItemLabelPlugin/utils/getLabelTransform.js +3 -0
  237. package/libs/ItemLabelPlugin/utils/getStrokeLength.d.ts +5 -0
  238. package/libs/ItemLabelPlugin/utils/getStrokeLength.js +16 -0
  239. package/libs/ItemLabelPlugin/utils/isImpacted.d.ts +6 -0
  240. package/libs/ItemLabelPlugin/utils/isImpacted.js +13 -0
  241. package/libs/ItemLabelPlugin/utils/parseData.d.ts +3 -0
  242. package/libs/ItemLabelPlugin/utils/parseData.js +4 -0
  243. package/libs/ItemLabelPlugin/utils/transform2RenderData.d.ts +3 -0
  244. package/libs/ItemLabelPlugin/utils/transform2RenderData.js +4 -0
  245. package/libs/ModelChassisCompassPlugin/Plugin.d.ts +19 -0
  246. package/libs/ModelChassisCompassPlugin/Plugin.js +77 -0
  247. package/libs/ModelChassisCompassPlugin/index.d.ts +3 -18
  248. package/libs/ModelChassisCompassPlugin/index.js +2 -74
  249. package/libs/ModelEntryDoorGuidePlugin/Plugin.d.ts +26 -0
  250. package/libs/ModelEntryDoorGuidePlugin/Plugin.js +140 -0
  251. package/libs/ModelEntryDoorGuidePlugin/index.d.ts +3 -25
  252. package/libs/ModelEntryDoorGuidePlugin/index.js +2 -136
  253. package/libs/ModelItemLabelPlugin/ItemLabelComponent.js +409 -0
  254. package/libs/ModelItemLabelPlugin/ItemLabelItem.js +133 -0
  255. package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.d.ts +4 -0
  256. package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +120 -0
  257. package/libs/ModelItemLabelPlugin/events.type.d.ts +9 -0
  258. package/libs/ModelItemLabelPlugin/events.type.js +1 -0
  259. package/libs/ModelItemLabelPlugin/index.d.ts +9 -0
  260. package/libs/ModelItemLabelPlugin/index.js +8 -0
  261. package/libs/ModelItemLabelPlugin/typings.d.ts +56 -0
  262. package/libs/ModelItemLabelPlugin/typings.js +7 -0
  263. package/libs/ModelItemLabelPlugin/utils/parseData.d.ts +3 -0
  264. package/libs/ModelItemLabelPlugin/utils/parseData.js +4 -0
  265. package/libs/ModelRoomLabelPlugin/Controller.js +65 -23
  266. package/libs/ModelRoomLabelPlugin/RoomLabelItems.js +83 -45
  267. package/libs/ModelRoomLabelPlugin/utils/parseData.d.ts +1 -1
  268. package/libs/ModelSimulationPlugin/index.d.ts +33 -0
  269. package/libs/ModelSimulationPlugin/index.js +166 -0
  270. package/libs/ModelSimulationPlugin/shaders/fragment.d.ts +2 -0
  271. package/libs/ModelSimulationPlugin/shaders/fragment.js +96 -0
  272. package/libs/ModelSimulationPlugin/shaders/vertex.d.ts +2 -0
  273. package/libs/ModelSimulationPlugin/shaders/vertex.js +23 -0
  274. package/libs/ModelTVVideoPlugin/Plugin.d.ts +4 -0
  275. package/libs/ModelTVVideoPlugin/Plugin.js +254 -0
  276. package/libs/ModelTVVideoPlugin/index.d.ts +5 -0
  277. package/libs/ModelTVVideoPlugin/index.js +4 -0
  278. package/libs/ModelTVVideoPlugin/typings.d.ts +25 -0
  279. package/libs/ModelTVVideoPlugin/typings.js +8 -0
  280. package/libs/ModelTVVideoPlugin/utils/parseData.d.ts +2 -0
  281. package/libs/ModelTVVideoPlugin/utils/parseData.js +13 -0
  282. package/libs/ModelViewPlugin/Plugin.d.ts +17 -0
  283. package/libs/ModelViewPlugin/Plugin.js +160 -0
  284. package/libs/ModelViewPlugin/index.d.ts +3 -16
  285. package/libs/ModelViewPlugin/index.js +2 -159
  286. package/libs/PanoCompassPlugin/Plugin.d.ts +47 -0
  287. package/libs/PanoCompassPlugin/Plugin.js +249 -0
  288. package/libs/PanoCompassPlugin/index.d.ts +4 -47
  289. package/libs/PanoCompassPlugin/index.js +3 -167
  290. package/libs/PanoCursorRaycasterPlugin/index.d.ts +1 -1
  291. package/libs/PanoCursorRaycasterPlugin/index.js +5 -3
  292. package/libs/PanoMeasurePlugin/Controller/BaseController.d.ts +12 -9
  293. package/libs/PanoMeasurePlugin/Controller/BaseController.js +77 -14
  294. package/libs/PanoMeasurePlugin/Controller/EditController.d.ts +1 -1
  295. package/libs/PanoMeasurePlugin/Controller/EditController.js +268 -155
  296. package/libs/PanoMeasurePlugin/Controller/MixedController.d.ts +44 -0
  297. package/libs/PanoMeasurePlugin/Controller/MixedController.js +337 -0
  298. package/libs/PanoMeasurePlugin/Controller/ShortcutKeyController.d.ts +2 -2
  299. package/libs/PanoMeasurePlugin/Controller/ShortcutKeyController.js +40 -20
  300. package/libs/PanoMeasurePlugin/Controller/WatchController.d.ts +2 -1
  301. package/libs/PanoMeasurePlugin/Controller/WatchController.js +246 -153
  302. package/libs/PanoMeasurePlugin/Controller/index.d.ts +18 -9
  303. package/libs/PanoMeasurePlugin/Controller/index.js +182 -54
  304. package/libs/PanoMeasurePlugin/Model/index.d.ts +2 -2
  305. package/libs/PanoMeasurePlugin/Model/index.js +30 -5
  306. package/libs/PanoMeasurePlugin/Model/line.d.ts +5 -5
  307. package/libs/PanoMeasurePlugin/Model/line.js +61 -11
  308. package/libs/PanoMeasurePlugin/Model/point.d.ts +2 -2
  309. package/libs/PanoMeasurePlugin/Model/point.js +24 -4
  310. package/libs/PanoMeasurePlugin/Model/polyline.d.ts +3 -3
  311. package/libs/PanoMeasurePlugin/Model/polyline.js +20 -3
  312. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.d.ts +1 -1
  313. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.js +11 -14
  314. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.d.ts +1 -1
  315. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.js +1 -1
  316. package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +5 -2
  317. package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.js +107 -25
  318. package/libs/PanoMeasurePlugin/Modules/FiveHelper.d.ts +1 -1
  319. package/libs/PanoMeasurePlugin/Modules/FiveHelper.js +23 -8
  320. package/libs/PanoMeasurePlugin/Modules/GuideController.d.ts +1 -1
  321. package/libs/PanoMeasurePlugin/Modules/GuideController.js +61 -26
  322. package/libs/PanoMeasurePlugin/Modules/Magnifier.d.ts +50 -15
  323. package/libs/PanoMeasurePlugin/Modules/Magnifier.js +234 -59
  324. package/libs/PanoMeasurePlugin/Modules/UIController/MainBtnController.d.ts +1 -1
  325. package/libs/PanoMeasurePlugin/Modules/UIController/MainBtnController.js +84 -38
  326. package/libs/PanoMeasurePlugin/Modules/UIController/NewMainBtnController.d.ts +12 -0
  327. package/libs/PanoMeasurePlugin/Modules/UIController/NewMainBtnController.js +98 -0
  328. package/libs/PanoMeasurePlugin/Modules/UIController/Revoke/index.d.ts +2 -1
  329. package/libs/PanoMeasurePlugin/Modules/UIController/Revoke/index.js +52 -17
  330. package/libs/PanoMeasurePlugin/Modules/UIController/index.d.ts +5 -1
  331. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +84 -34
  332. package/libs/PanoMeasurePlugin/Modules/UIController/mobileHTML.d.ts +2 -0
  333. package/libs/PanoMeasurePlugin/Modules/UIController/mobileHTML.js +80 -0
  334. package/libs/PanoMeasurePlugin/Modules/UIController/style.d.ts +2 -0
  335. package/libs/PanoMeasurePlugin/Modules/UIController/style.js +11 -1
  336. package/libs/PanoMeasurePlugin/Modules/rangePiece/html.d.ts +4 -0
  337. package/libs/PanoMeasurePlugin/Modules/rangePiece/html.js +64 -0
  338. package/libs/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +42 -0
  339. package/libs/PanoMeasurePlugin/Modules/rangePiece/index.js +265 -0
  340. package/libs/PanoMeasurePlugin/index.d.ts +9 -6
  341. package/libs/PanoMeasurePlugin/index.js +3 -1
  342. package/libs/PanoMeasurePlugin/typings/data.d.ts +4 -0
  343. package/libs/PanoMeasurePlugin/typings/event.type.d.ts +14 -5
  344. package/libs/PanoMeasurePlugin/utils/calculateThreeMouse.d.ts +10 -0
  345. package/libs/PanoMeasurePlugin/utils/calculateThreeMouse.js +15 -0
  346. package/libs/PanoMeasurePlugin/utils/clearGroup.d.ts +1 -1
  347. package/libs/PanoMeasurePlugin/utils/constants.d.ts +1 -1
  348. package/libs/PanoMeasurePlugin/utils/constants.js +7 -7
  349. package/libs/PanoMeasurePlugin/utils/distanceDom.d.ts +3 -3
  350. package/libs/PanoMeasurePlugin/utils/distanceDom.js +22 -16
  351. package/libs/PanoMeasurePlugin/utils/findAssociatedLines.d.ts +1 -1
  352. package/libs/PanoMeasurePlugin/utils/findClosestPoint.d.ts +3 -3
  353. package/libs/PanoMeasurePlugin/utils/getIntersectionFromEvent.d.ts +2 -2
  354. package/libs/PanoMeasurePlugin/utils/getPointFromHammerEvent.d.ts +1 -1
  355. package/libs/PanoMeasurePlugin/utils/isNDCPointInScreen.d.ts +1 -1
  356. package/libs/PanoMeasurePlugin/utils/line.d.ts +1 -1
  357. package/libs/PanoMeasurePlugin/utils/line.js +8 -7
  358. package/libs/PanoMeasurePlugin/utils/mouseGroup.d.ts +2 -2
  359. package/libs/PanoMeasurePlugin/utils/mouseGroup.js +5 -5
  360. package/libs/PanoRulerPlugin/Plugin.d.ts +31 -0
  361. package/libs/PanoRulerPlugin/Plugin.js +403 -0
  362. package/libs/PanoRulerPlugin/index.d.ts +4 -30
  363. package/libs/PanoRulerPlugin/index.js +2 -397
  364. package/libs/PanoSpatialTagPlugin/Components/origins.js +168 -0
  365. package/libs/PanoSpatialTagPlugin/Components/tag.js +302 -0
  366. package/libs/PanoSpatialTagPlugin/Plugin.d.ts +35 -0
  367. package/libs/PanoSpatialTagPlugin/Plugin.js +426 -0
  368. package/libs/PanoSpatialTagPlugin/index.d.ts +5 -0
  369. package/libs/PanoSpatialTagPlugin/index.js +5 -0
  370. package/libs/PanoSpatialTagPlugin/store.d.ts +1 -0
  371. package/libs/PanoSpatialTagPlugin/store.js +2 -0
  372. package/libs/PanoSpatialTagPlugin/style.d.ts +1 -0
  373. package/libs/PanoSpatialTagPlugin/style.js +8 -0
  374. package/libs/PanoSpatialTagPlugin/typings.d.ts +40 -0
  375. package/libs/PanoSpatialTagPlugin/typings.js +1 -0
  376. package/libs/base/BasePlugin.d.ts +100 -0
  377. package/libs/base/BasePlugin.js +31 -0
  378. package/libs/base/BasePluginWithData.d.ts +34 -0
  379. package/libs/base/BasePluginWithData.js +4 -0
  380. package/libs/components/PaintBrush/Controller.d.ts +43 -0
  381. package/libs/components/PaintBrush/Controller.js +575 -0
  382. package/libs/components/PaintBrush/Subscribe.d.ts +76 -0
  383. package/libs/components/PaintBrush/Subscribe.js +121 -0
  384. package/libs/components/PaintBrush/index.d.ts +27 -0
  385. package/libs/components/PaintBrush/index.js +57 -0
  386. package/libs/components/PaintBrush/style.d.ts +2 -0
  387. package/libs/components/PaintBrush/style.js +102 -0
  388. package/libs/components/PaintBrush/tween.d.ts +62 -0
  389. package/libs/components/PaintBrush/tween.js +15 -0
  390. package/libs/components/PaintBrush/typings.d.ts +58 -0
  391. package/libs/components/PaintBrush/typings.js +6 -0
  392. package/libs/components/PaintBrush/utils.d.ts +26 -0
  393. package/libs/components/PaintBrush/utils.js +51 -0
  394. package/libs/components/index.d.ts +2 -0
  395. package/libs/components/index.js +3 -0
  396. package/libs/floorplan/Assets/compass.d.ts +1 -0
  397. package/libs/floorplan/Assets/compass.js +1 -0
  398. package/libs/floorplan/Components/BaseImage.js +10 -5
  399. package/libs/floorplan/Components/Camera.js +120 -0
  400. package/libs/floorplan/Components/Compass.js +120 -0
  401. package/libs/floorplan/Components/CurrentFloor.js +469 -0
  402. package/libs/floorplan/Components/Main.js +470 -0
  403. package/libs/floorplan/Components/RoomHighlight/Room.js +45 -8
  404. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.js +30 -103
  405. package/libs/floorplan/Components/RoomLabels/RoomLabel.js +322 -0
  406. package/libs/floorplan/Components/RoomLabels/RoomLabels.js +309 -0
  407. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.js +30 -27
  408. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.js +1 -0
  409. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.js +11 -9
  410. package/libs/floorplan/Components/RuleLabels/RuleItem.js +284 -0
  411. package/libs/floorplan/Components/RuleLabels/RuleLabels.js +269 -0
  412. package/libs/floorplan/ModelFloorplanPlugin/Components/Camera.js +1 -1
  413. package/libs/floorplan/ModelFloorplanPlugin/Components/Compass.js +1 -1
  414. package/libs/floorplan/ModelFloorplanPlugin/Components/CurrentFloor/CurrentFloor.js +1 -1
  415. package/libs/floorplan/ModelFloorplanPlugin/Components/Main.js +1 -1
  416. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabel.js +1 -1
  417. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabels.js +1 -1
  418. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleItem.js +1 -1
  419. package/libs/floorplan/ModelFloorplanPlugin/Controller.d.ts +70 -77
  420. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +661 -325
  421. package/libs/floorplan/ModelFloorplanPlugin/index.d.ts +5 -7
  422. package/libs/floorplan/ModelFloorplanPlugin/index.js +2 -2
  423. package/libs/floorplan/ModelFloorplanPlugin/typing.d.ts +107 -0
  424. package/libs/floorplan/ModelFloorplanPlugin/typing.js +1 -0
  425. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.js +49 -33
  426. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.js +3 -1
  427. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.js +114 -53
  428. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +24 -16
  429. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +194 -42
  430. package/libs/floorplan/PanoFloorplanRadarPlugin/index.d.ts +5 -6
  431. package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +2 -2
  432. package/libs/floorplan/PanoFloorplanRadarPlugin/typing.d.ts +52 -0
  433. package/libs/floorplan/PanoFloorplanRadarPlugin/typing.js +1 -0
  434. package/libs/floorplan/TopviewFloorplanPlugin/Controller.d.ts +53 -47
  435. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +450 -154
  436. package/libs/floorplan/TopviewFloorplanPlugin/index.d.ts +6 -4
  437. package/libs/floorplan/TopviewFloorplanPlugin/index.js +2 -2
  438. package/libs/floorplan/TopviewFloorplanPlugin/style.js +1 -1
  439. package/libs/floorplan/TopviewFloorplanPlugin/typing.d.ts +86 -0
  440. package/libs/floorplan/TopviewFloorplanPlugin/typing.js +1 -0
  441. package/libs/floorplan/index.d.ts +6 -0
  442. package/libs/floorplan/index.js +7 -0
  443. package/libs/floorplan/utils/constant.d.ts +22 -0
  444. package/libs/floorplan/utils/constant.js +23 -0
  445. package/libs/floorplan/utils/correctFiveState.d.ts +15 -0
  446. package/libs/floorplan/utils/correctFiveState.js +46 -0
  447. package/libs/floorplan/utils/formatPosition.d.ts +1 -1
  448. package/libs/floorplan/utils/formatPosition.js +3 -3
  449. package/libs/index.d.ts +15 -24
  450. package/libs/index.js +25 -14
  451. package/libs/shared-utils/Subscribe.js +8 -1
  452. package/libs/shared-utils/animationFrame/BetterTween.js +47 -18
  453. package/libs/shared-utils/createCanvasTextTexture.js +6 -5
  454. package/libs/shared-utils/five/changeMode.d.ts +4 -1
  455. package/libs/shared-utils/five/changeMode.js +34 -13
  456. package/libs/shared-utils/getPxmm.d.ts +8 -0
  457. package/libs/shared-utils/getPxmm.js +25 -20
  458. package/libs/shared-utils/index.d.ts +1 -0
  459. package/libs/shared-utils/index.js +1 -0
  460. package/libs/shared-utils/math/Interval.d.ts +13 -0
  461. package/libs/shared-utils/math/Interval.js +40 -0
  462. package/libs/shared-utils/math/Rectangle.d.ts +27 -0
  463. package/libs/shared-utils/math/Rectangle.js +50 -0
  464. package/libs/shared-utils/math/evenNumber.js +1 -1
  465. package/libs/shared-utils/math/index.d.ts +2 -0
  466. package/libs/shared-utils/math/index.js +2 -0
  467. package/libs/shared-utils/three/getExtraModelLoader.d.ts +1 -1
  468. package/libs/shared-utils/three/getNormal.d.ts +1 -1
  469. package/libs/shared-utils/three/getTextureLoader.d.ts +1 -1
  470. package/libs/shared-utils/three/loadFbxObj.d.ts +1 -1
  471. package/libs/shared-utils/three/transfromToMeshBasicMaterial.js +2 -1
  472. package/libs/shared-utils/tinyEJSrender.d.ts +5 -0
  473. package/libs/shared-utils/tinyEJSrender.js +210 -0
  474. package/libs/shared-utils/uuid.d.ts +1 -0
  475. package/libs/shared-utils/uuid.js +1 -0
  476. package/libs/shared-utils/vectorTocoordinates.d.ts +1 -1
  477. package/package.json +13 -6
  478. package/CHANGELOG.md +0 -30
  479. package/dist/shared-utils/five/useFivePlugin.d.ts +0 -1
  480. package/dist/shared-utils/useDebounce.d.ts +0 -8
  481. package/dist/shared-utils/useThrottle.d.ts +0 -8
  482. package/docs/enums/ModelFloorplanErrorType.html +0 -1
  483. package/docs/interfaces/ModelFloorplanParameterType.html +0 -1
  484. package/docs/interfaces/ModelFloorplanViewEvent.html +0 -5
  485. package/docs/interfaces/TopviewFloorplanPluginParameterType.html +0 -1
@@ -0,0 +1,86 @@
1
+ import type { FLOOR_PLAN_ATTACHED_TO } from '../constant';
2
+ import type * as BasePlugin from '../../base/BasePluginWithData';
3
+ import type { FloorplanServerData } from '../typings/floorplanServerData';
4
+ import type { FloorplanData, FloorplanRoomItem } from '../typings/floorplanData';
5
+ export interface Config {
6
+ /** 指北针的显示文案,默认为 '北' */
7
+ northDesc: string;
8
+ /** 户型图展示时,模型的透明度,默认为 1 */
9
+ modelOpacity: number;
10
+ /** 鼠标放置在分间上时,是否要自动高亮分间,默认为 true */
11
+ hoverEnable: boolean;
12
+ /** 是否开启放大缩小和拖动功能,默认为 false */
13
+ gestureEnable: boolean;
14
+ /** 是否要启用指北针功能,默认为 true */
15
+ compassEnable: boolean;
16
+ /** Five 切换到 Topview Mode 时,是否自动展示户型图,默认为 true */
17
+ autoShowEnable: boolean;
18
+ /** 是否要启用户型图分间标尺功能,默认为 true */
19
+ ruleLabelsEnable: boolean;
20
+ /** 是否要启用户型图分间标签功能,默认为 true */
21
+ roomLabelsEnable: boolean;
22
+ /** 自定义「雷达」图标 */
23
+ cameraImageUrl: string;
24
+ /** 点击房间时,是否需要跳转到被点房间的全景态点位上,默认为 true */
25
+ preventRoomClick?: boolean;
26
+ /** 计算户型图大小时,以模型的哪个高度为依据,默认为 BOUNDING_CENTER
27
+ * - FLOOR_PLAN_ATTACHED_TO.FLOOR: 户型图大小与模型的地板进行贴合
28
+ * - FLOOR_PLAN_ATTACHED_TO.CEILING: 户型图大小与模型的天花板进行贴合
29
+ * - FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER: 户型图大小与模型的中心进行贴合
30
+ */
31
+ attachedTo: FLOOR_PLAN_ATTACHED_TO;
32
+ /** 分间标签的自定义函数,通过返回自定义 DOM 替换对应分间的标签 */
33
+ getLabelElement: undefined | ((room: FloorplanRoomItem) => Element | null);
34
+ /** 是否支持房屋标签自适应展示,默认为 true
35
+ * @description
36
+ * * 标签边框超过房间边框时,自动隐藏;不超过时自动展示。
37
+ * * 鼠标 hover 时,自动展示。
38
+ * */
39
+ adaptiveRoomLabelVisibleEnable: boolean;
40
+ }
41
+ export interface State extends BasePlugin.State {
42
+ visible: boolean;
43
+ config: Config;
44
+ }
45
+ export interface EventMap extends BasePlugin.EventMap<State, FloorplanData> {
46
+ /** 展示结束的回调
47
+ * @param event.userAction 是否是用户操作
48
+ */
49
+ showAnimationEnded: (event: {
50
+ userAction: boolean;
51
+ }) => void;
52
+ /** visible 从 false 到 true 的回调
53
+ * @param event.userAction 是否是用户操作
54
+ */
55
+ show: (event: {
56
+ userAction: boolean;
57
+ }) => void;
58
+ /** visible 从 true 到 false 的回调
59
+ * @param event.userAction 是否是用户操作
60
+ */
61
+ hide: (event: {
62
+ userAction: boolean;
63
+ }) => void;
64
+ /** enabled 从 false 到 true 的回调
65
+ * @param event.userAction 是否是用户操作
66
+ */
67
+ enable: (event: {
68
+ userAction: boolean;
69
+ }) => void;
70
+ /** enabled 从 true 到 false 的回调
71
+ * @param event.userAction 是否是用户操作
72
+ */
73
+ disable: (event: {
74
+ userAction: boolean;
75
+ }) => void;
76
+ }
77
+ /** 插件初始化参数 */
78
+ export interface Parameters extends Partial<Config> {
79
+ selector?: string | Element;
80
+ scale?: number;
81
+ }
82
+ export interface PluginServerData extends BasePlugin.ServerData {
83
+ version: number;
84
+ data: FloorplanServerData;
85
+ }
86
+ export { FloorplanData as PluginData };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export * from './constant';
2
+ export * from './TopviewFloorplanPlugin';
3
+ export * from './PanoFloorplanRadarPlugin';
4
+ export * from './ModelFloorplanPlugin';
5
+ export * from './typings/floorplanServerData';
6
+ export * from './typings/floorplanData';
@@ -0,0 +1,7 @@
1
+ // floorplan
2
+ export * from './constant';
3
+ export * from './TopviewFloorplanPlugin';
4
+ export * from './PanoFloorplanRadarPlugin';
5
+ export * from './ModelFloorplanPlugin';
6
+ export * from './typings/floorplanServerData';
7
+ export * from './typings/floorplanData';
@@ -0,0 +1,22 @@
1
+ export declare const enum FloorplanErrorType {
2
+ /** 意料之外的错误 */
3
+ UnknownError = "UnknownError",
4
+ /** 数据未加载 */
5
+ DataNotLoaded = "DataNotLoaded",
6
+ /** 展示过程被隐藏打断 */
7
+ BreakOffByHide = "BreakOffByHide",
8
+ /** 展示过程中插件被禁用 */
9
+ BreakOffByDisable = "BreakOffByDisable",
10
+ /** 模型未加载完成 */
11
+ ModelNotLoaded = "ModelNotLoaded",
12
+ /** Five changeMode 行为不符合预期 */
13
+ ChangeModeError = "ChangeModeError",
14
+ /** Five updateCamera 行为不符合预期 */
15
+ UpdateCameraError = "UpdateCameraError"
16
+ }
17
+ /** 户型图展示 & 模型消失的默认时间 */
18
+ export declare const SHOW_ANIME_DURATION = 500;
19
+ /** Five camera 默认 fov */
20
+ export declare const FIVE_CAMERA_DEFAULT_FOV = 80;
21
+ /** 展示户型图时,默认模型的透明度 */
22
+ export declare const DEFAULT_SHOW_MODEL_OPACITY = 0.01;
@@ -0,0 +1,23 @@
1
+ export var FloorplanErrorType;
2
+ (function (FloorplanErrorType) {
3
+ /** 意料之外的错误 */
4
+ FloorplanErrorType["UnknownError"] = "UnknownError";
5
+ /** 数据未加载 */
6
+ FloorplanErrorType["DataNotLoaded"] = "DataNotLoaded";
7
+ /** 展示过程被隐藏打断 */
8
+ FloorplanErrorType["BreakOffByHide"] = "BreakOffByHide";
9
+ /** 展示过程中插件被禁用 */
10
+ FloorplanErrorType["BreakOffByDisable"] = "BreakOffByDisable";
11
+ /** 模型未加载完成 */
12
+ FloorplanErrorType["ModelNotLoaded"] = "ModelNotLoaded";
13
+ /** Five changeMode 行为不符合预期 */
14
+ FloorplanErrorType["ChangeModeError"] = "ChangeModeError";
15
+ /** Five updateCamera 行为不符合预期 */
16
+ FloorplanErrorType["UpdateCameraError"] = "UpdateCameraError";
17
+ })(FloorplanErrorType || (FloorplanErrorType = {}));
18
+ /** 户型图展示 & 模型消失的默认时间 */
19
+ export const SHOW_ANIME_DURATION = 500;
20
+ /** Five camera 默认 fov */
21
+ export const FIVE_CAMERA_DEFAULT_FOV = 80;
22
+ /** 展示户型图时,默认模型的透明度 */
23
+ export const DEFAULT_SHOW_MODEL_OPACITY = 0.01;
@@ -0,0 +1,15 @@
1
+ import type { Five, Mode } from '@realsee/five';
2
+ export interface ShowState {
3
+ latitude: number;
4
+ longitude: number;
5
+ fov: number;
6
+ mode: Mode;
7
+ }
8
+ /** 判断当前状态是否可以展示户型图 */
9
+ export declare function checkShowState(five: Five, showState: ShowState): boolean;
10
+ /** 更改 Five 状态到展示户型图的状态
11
+ * 1. 判断状态不符合时,会纠正到正确的状态
12
+ * 2. 内置了相应的动画时间计算
13
+ * 3. 纠正成功会返回 true,失败「可能会被用户行为中断」会返回 false
14
+ */
15
+ export default function correctFiveState(five: Five, showState: ShowState, userAction?: boolean): Promise<void>;
@@ -0,0 +1,46 @@
1
+ import to from '../../shared-utils/to';
2
+ import { FloorplanErrorType } from '../utils/constant';
3
+ import nearlyEqual from '../../shared-utils/nearlyEqual';
4
+ import changeMode from '../../shared-utils/five/changeMode';
5
+ /** 判断当前状态是否可以展示户型图 */
6
+ export function checkShowState(five, showState) {
7
+ if (five.currentMode !== showState.mode)
8
+ return false;
9
+ const { latitude, longitude, fov } = showState;
10
+ const { latitude: _latitude, longitude: _longitude } = five.getCurrentState();
11
+ const _fov = five.camera.fov;
12
+ if (!nearlyEqual(latitude, _latitude, 2))
13
+ return false;
14
+ if (!nearlyEqual(longitude, _longitude, 2))
15
+ return false;
16
+ if (fov !== _fov)
17
+ return false;
18
+ return true;
19
+ }
20
+ /** 更改 Five 状态到展示户型图的状态
21
+ * 1. 判断状态不符合时,会纠正到正确的状态
22
+ * 2. 内置了相应的动画时间计算
23
+ * 3. 纠正成功会返回 true,失败「可能会被用户行为中断」会返回 false
24
+ */
25
+ export default async function correctFiveState(five, showState, userAction = true) {
26
+ // 当前已满足状态,不需要变更
27
+ const result = checkShowState(five, showState);
28
+ if (result === true)
29
+ return;
30
+ const currentFiveState = five.getCurrentState();
31
+ // 纠正 mode
32
+ if (currentFiveState.mode !== showState.mode) {
33
+ const [changeModeError] = await to(changeMode(five, [showState.mode, showState, undefined, userAction]));
34
+ if (changeModeError)
35
+ throw new Error(FloorplanErrorType.ChangeModeError);
36
+ return;
37
+ }
38
+ // 纠正相机状态
39
+ // 根据 latitude、longitude、fov 计算动画时间,最多 1s
40
+ const { latitude, longitude, fov } = currentFiveState;
41
+ const time = Math.min(1000, Math.max(200, Math.abs(latitude - Math.PI / 2) * 1000, (longitude > Math.PI ? 2 * Math.PI - longitude : longitude) * 500, Math.abs(fov - showState.fov) * 10));
42
+ const [updateCameraError] = await to(five.updateCamera(showState, time, userAction));
43
+ if (updateCameraError)
44
+ throw new Error(FloorplanErrorType.UpdateCameraError);
45
+ return;
46
+ }
@@ -7,7 +7,7 @@ export declare function pathD(points: Vector2Position[], options?: {
7
7
  format?: (vector: Vector2Position) => Vector2Position;
8
8
  }): string;
9
9
  /** 把户型图上点点位转换到 SVG 上的点位 */
10
- export default function formatFloorplanPoint({ x, y }: Vector2Position, pxmm: number, bounding: FloorplanBounding): {
10
+ export default function formatFloorplanPoint({ x, y }: Vector2Position, bounding: FloorplanBounding): {
11
11
  x: number;
12
12
  y: number;
13
13
  };
@@ -9,7 +9,7 @@ export function pathD(points, options = {}) {
9
9
  d += 'M' + point;
10
10
  return d;
11
11
  }
12
- if (needA?.[index]) {
12
+ if (needA === null || needA === void 0 ? void 0 : needA[index]) {
13
13
  d += 'A' + needA[index] + ',' + point;
14
14
  return d;
15
15
  }
@@ -19,9 +19,9 @@ export function pathD(points, options = {}) {
19
19
  return d + (needZ ? 'Z' : '');
20
20
  }
21
21
  /** 把户型图上点点位转换到 SVG 上的点位 */
22
- export default function formatFloorplanPoint({ x, y }, pxmm, bounding) {
22
+ export default function formatFloorplanPoint({ x, y }, bounding) {
23
23
  const { max, min } = bounding;
24
- return { x: (x - min.x) * pxmm, y: (max.y - y) * pxmm };
24
+ return { x: x - min.x, y: max.y - y };
25
25
  }
26
26
  /** 模型坐标转户型图坐标 */
27
27
  export function modelPosition2FloorplanPosition(position, floorplanData) {
package/libs/index.d.ts CHANGED
@@ -1,24 +1,15 @@
1
- export { default as ModelViewPlugin } from './ModelViewPlugin';
2
- export { default as CSS3DRenderPlugin } from './CSS3DRenderPlugin';
3
- export type { PanoCursorRaycasterPluginExportType } from './PanoCursorRaycasterPlugin';
4
- export { default as PanoCursorRaycasterPlugin } from './PanoCursorRaycasterPlugin';
5
- export type { ModelRoomLabelController, ModelRoomLabelPluginData, RoomLabel, ModelRoomLabelPluginReturnType, ModelRoomLabelPluginParameters, } from './ModelRoomLabelPlugin';
6
- export { default as ModelRoomLabelPlugin } from './ModelRoomLabelPlugin';
7
- export * from './floorplan/constant';
8
- export type { TopviewFloorplanPluginReturnType, TopviewFloorplanPluginParameterType, } from './floorplan/TopviewFloorplanPlugin';
9
- export { default as TopviewFloorplanPlugin } from './floorplan/TopviewFloorplanPlugin';
10
- export type { PanoFloorplanRadarPluginReturnType, PanoFloorplanRadarPluginParameterType, } from './floorplan/PanoFloorplanRadarPlugin';
11
- export { default as PanoFloorplanRadarPlugin } from './floorplan/PanoFloorplanRadarPlugin';
12
- export type { ModelFloorplanParameterType, ModelFloorplanPluginReturnType, ModelFloorplanErrorType, ModelFloorplanPluginsConfigs, ModelFloorplanEventHandlers, ModelFloorplanViewEvent, } from './floorplan/ModelFloorplanPlugin';
13
- export { default as ModelFloorplanPlugin } from './floorplan/ModelFloorplanPlugin';
14
- export type { ModelChassisCompassPluginParameterType, ModelChassisCompassPluginData, ModelChassisCompassPluginExportType, } from './ModelChassisCompassPlugin';
15
- export { default as ModelChassisCompassPlugin } from './ModelChassisCompassPlugin';
16
- export type { ModelEntryDoorGuidePluginParameterType, ModelEntryDoorGuidePluginData, ModelEntryDoorGuidePluginExportType, } from './ModelEntryDoorGuidePlugin';
17
- export { default as ModelEntryDoorGuidePlugin } from './ModelEntryDoorGuidePlugin';
18
- export { default as CameraMovementPlugin } from './CameraMovementPlugin';
19
- export type { PanoRulerPluginParameterType, PanoRulerPluginExportType, PanoRulerPluginOptions, } from './PanoRulerPlugin';
20
- export { default as PanoRulerPlugin } from './PanoRulerPlugin';
21
- export type { PanoCompassPluginParameterType, PanoCompassPluginExportType, PanoCompassPluginData, } from './PanoCompassPlugin';
22
- export { default as PanoCompassPlugin } from './PanoCompassPlugin';
23
- export type { PluginReturns, PluginEvent, LineJson, PointJson } from './PanoMeasurePlugin';
24
- export { default as PanoMeasurePlugin } from './PanoMeasurePlugin';
1
+ export * from './ModelViewPlugin';
2
+ export * from './CSS3DRenderPlugin';
3
+ export * from './PanoCursorRaycasterPlugin';
4
+ export * from './ModelRoomLabelPlugin';
5
+ export * from './floorplan';
6
+ export * from './ModelChassisCompassPlugin';
7
+ export * from './ModelEntryDoorGuidePlugin';
8
+ export * from './CameraMovementPlugin';
9
+ export * from './PanoRulerPlugin';
10
+ export * from './PanoCompassPlugin';
11
+ export * from './PanoMeasurePlugin';
12
+ export * from './PanoSpatialTagPlugin';
13
+ export * from './ModelItemLabelPlugin';
14
+ export * from './ModelTVVideoPlugin';
15
+ export * from './ItemLabelPlugin';
package/libs/index.js CHANGED
@@ -1,15 +1,26 @@
1
- export { default as ModelViewPlugin } from './ModelViewPlugin';
2
- export { default as CSS3DRenderPlugin } from './CSS3DRenderPlugin';
3
- export { default as PanoCursorRaycasterPlugin } from './PanoCursorRaycasterPlugin';
4
- export { default as ModelRoomLabelPlugin } from './ModelRoomLabelPlugin';
1
+ export * from './ModelViewPlugin';
2
+ export * from './CSS3DRenderPlugin';
3
+ export * from './PanoCursorRaycasterPlugin';
4
+ // 模型房屋标签
5
+ export * from './ModelRoomLabelPlugin';
5
6
  // floorplan
6
- export * from './floorplan/constant';
7
- export { default as TopviewFloorplanPlugin } from './floorplan/TopviewFloorplanPlugin';
8
- export { default as PanoFloorplanRadarPlugin } from './floorplan/PanoFloorplanRadarPlugin';
9
- export { default as ModelFloorplanPlugin } from './floorplan/ModelFloorplanPlugin';
10
- export { default as ModelChassisCompassPlugin } from './ModelChassisCompassPlugin';
11
- export { default as ModelEntryDoorGuidePlugin } from './ModelEntryDoorGuidePlugin';
12
- export { default as CameraMovementPlugin } from './CameraMovementPlugin';
13
- export { default as PanoRulerPlugin } from './PanoRulerPlugin';
14
- export { default as PanoCompassPlugin } from './PanoCompassPlugin';
15
- export { default as PanoMeasurePlugin } from './PanoMeasurePlugin';
7
+ export * from './floorplan';
8
+ // 模型底盘
9
+ export * from './ModelChassisCompassPlugin';
10
+ // 模型入户门
11
+ export * from './ModelEntryDoorGuidePlugin';
12
+ export * from './CameraMovementPlugin';
13
+ // 全景标尺
14
+ export * from './PanoRulerPlugin';
15
+ // 全景指南针
16
+ export * from './PanoCompassPlugin';
17
+ // pc 全景测量工具
18
+ export * from './PanoMeasurePlugin';
19
+ // 空间三维标签
20
+ export * from './PanoSpatialTagPlugin';
21
+ // 模型物品标签插件
22
+ export * from './ModelItemLabelPlugin';
23
+ // 模型电视插件
24
+ export * from './ModelTVVideoPlugin';
25
+ // 物品标签
26
+ export * from './ItemLabelPlugin';
@@ -1,3 +1,4 @@
1
+ var _a;
1
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
3
  const __EVENT__ = '__events__';
3
4
  /**
@@ -5,8 +6,13 @@ const __EVENT__ = '__events__';
5
6
  * 观察者模式(供前端使用),Node端推荐<a href="https://nodejs.org/api/events.html#events_class_eventemitter">EventEmitter</a>。
6
7
  */
7
8
  export default class Subscribe {
8
- [__EVENT__];
9
9
  constructor() {
10
+ Object.defineProperty(this, _a, {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: void 0
15
+ });
10
16
  this[__EVENT__] = {};
11
17
  }
12
18
  /**
@@ -99,3 +105,4 @@ export default class Subscribe {
99
105
  return canceled;
100
106
  }
101
107
  }
108
+ _a = __EVENT__;
@@ -1,24 +1,53 @@
1
1
  import TWEEN from '@tweenjs/tween.js';
2
2
  import { requestAnimationFrameInterval } from './index';
3
3
  export class BetterTween extends TWEEN.Tween {
4
- disposeMethods = [];
5
- animationFrameDisposer;
6
- onDispose = (callback) => {
7
- this.disposeMethods.push(callback);
8
- return this;
9
- };
10
- play = () => {
11
- this.start(0);
12
- this.animationFrameDisposer = requestAnimationFrameInterval((time) => this.update(time));
13
- return this;
14
- };
15
- dispose = () => {
16
- this.stop();
17
- this.animationFrameDisposer?.();
18
- this.disposeMethods.forEach((fn) => fn());
19
- this.disposeMethods = [];
20
- TWEEN.remove(this);
21
- };
4
+ constructor() {
5
+ super(...arguments);
6
+ Object.defineProperty(this, "disposeMethods", {
7
+ enumerable: true,
8
+ configurable: true,
9
+ writable: true,
10
+ value: []
11
+ });
12
+ Object.defineProperty(this, "animationFrameDisposer", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: void 0
17
+ });
18
+ Object.defineProperty(this, "onDispose", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: (callback) => {
23
+ this.disposeMethods.push(callback);
24
+ return this;
25
+ }
26
+ });
27
+ Object.defineProperty(this, "play", {
28
+ enumerable: true,
29
+ configurable: true,
30
+ writable: true,
31
+ value: () => {
32
+ this.start(0);
33
+ this.animationFrameDisposer = requestAnimationFrameInterval((time) => this.update(time));
34
+ return this;
35
+ }
36
+ });
37
+ Object.defineProperty(this, "dispose", {
38
+ enumerable: true,
39
+ configurable: true,
40
+ writable: true,
41
+ value: () => {
42
+ var _a;
43
+ this.stop();
44
+ (_a = this.animationFrameDisposer) === null || _a === void 0 ? void 0 : _a.call(this);
45
+ this.disposeMethods.forEach((fn) => fn());
46
+ this.disposeMethods = [];
47
+ TWEEN.remove(this);
48
+ }
49
+ });
50
+ }
22
51
  }
23
52
  export function tweenProgress(duration, easing = TWEEN.Easing.Linear.None) {
24
53
  const tween = new BetterTween({ progress: 0 }).to({ progress: 1 });
@@ -1,10 +1,11 @@
1
1
  import { CanvasTexture } from 'three';
2
2
  export default function createCanvasTextTexture(text, config) {
3
- const size = config?.size ?? 512;
4
- const fontSize = config?.fontSize ?? size * (35 / 256) * 1.2;
5
- const backgroundColor = config?.backgroundColor ?? 'rgba(0,0,0,0)';
6
- const fontColor = config?.fontColor ?? '#fff';
7
- const textAlign = config?.textAlign ?? 'center';
3
+ var _a, _b, _c, _d, _e;
4
+ const size = (_a = config === null || config === void 0 ? void 0 : config.size) !== null && _a !== void 0 ? _a : 512;
5
+ const fontSize = (_b = config === null || config === void 0 ? void 0 : config.fontSize) !== null && _b !== void 0 ? _b : size * (35 / 256) * 1.2;
6
+ const backgroundColor = (_c = config === null || config === void 0 ? void 0 : config.backgroundColor) !== null && _c !== void 0 ? _c : 'rgba(0,0,0,0)';
7
+ const fontColor = (_d = config === null || config === void 0 ? void 0 : config.fontColor) !== null && _d !== void 0 ? _d : '#fff';
8
+ const textAlign = (_e = config === null || config === void 0 ? void 0 : config.textAlign) !== null && _e !== void 0 ? _e : 'center';
8
9
  const canvas = document.createElement('canvas');
9
10
  canvas.setAttribute('width', size + '');
10
11
  canvas.setAttribute('height', size + '');
@@ -1,2 +1,5 @@
1
1
  import type { Five } from '@realsee/five';
2
- export default function changeMode(five: Five, ...changeModeParams: Parameters<Five['changeMode']>): Promise<void>;
2
+ /** 等待 five changeMode 结束
3
+ * @description Promise 的状态只代表 mode 与预期是否一致,不保证参数的一致性
4
+ */
5
+ export default function changeMode(five: Five, changeModeParams: Parameters<Five['changeMode']>): Promise<void>;
@@ -1,15 +1,36 @@
1
- import to from '../to';
2
- export default async function changeMode(five, ...changeModeParams) {
3
- const [changeModeError] = await to(five.changeMode(...changeModeParams));
4
- if (changeModeError)
5
- throw changeModeError;
6
- await new Promise((reslove, reject) => {
7
- five.once('initAnimationEnded', reslove);
8
- const handleModeChange = (mode) => {
9
- if (mode !== changeModeParams[0])
10
- reject('changeMode 被中断');
11
- five.off('modeChange', handleModeChange);
12
- };
13
- five.on('modeChange', handleModeChange);
1
+ import nearlyEqual from '../nearlyEqual';
2
+ /** 等待 five changeMode 结束
3
+ * @description Promise 的状态只代表 mode 与预期是否一致,不保证参数的一致性
4
+ */
5
+ export default async function changeMode(five, changeModeParams) {
6
+ await new Promise((resolve, reject) => {
7
+ // 虽然 changeMode 是异步函数,但不代表异步流程结束代表切换 Mode 动画结束
8
+ five.changeMode(...changeModeParams).catch((error) => reject(error));
9
+ five.once('initAnimationEnded', () => {
10
+ const fiveCurrentState = five.getCurrentState();
11
+ const correctMode = changeModeParams[0];
12
+ if (fiveCurrentState.mode !== correctMode)
13
+ reject(new Error('mode 与预期不符'));
14
+ /** 检测当前的 current pose 和传入的 pose 是否一致 */
15
+ const checkPose = () => {
16
+ const correctPose = changeModeParams[1];
17
+ if (!correctPose)
18
+ return true;
19
+ return Object.keys(correctPose).every((key) => {
20
+ const fivePoseItem = fiveCurrentState[key];
21
+ if (fivePoseItem === undefined)
22
+ return true;
23
+ const correctPoseItem = correctPose[key];
24
+ if (typeof fivePoseItem === 'number' && typeof correctPoseItem === 'number') {
25
+ return nearlyEqual(fivePoseItem, correctPoseItem, 2);
26
+ }
27
+ return fivePoseItem === correctPoseItem;
28
+ });
29
+ };
30
+ const checkPoseResult = checkPose();
31
+ if (!checkPoseResult)
32
+ reject(new Error('five pose 与预期不符'));
33
+ resolve();
34
+ });
14
35
  });
15
36
  }
@@ -3,6 +3,14 @@ import { FLOOR_PLAN_ATTACHED_TO } from '../floorplan/constant';
3
3
  interface GetPxmmOption {
4
4
  attachedTo: FLOOR_PLAN_ATTACHED_TO;
5
5
  }
6
+ /** 获取当前楼层地面的 Y 值 */
7
+ export declare function getFloorY(five: Five, floorIndex: number): number;
8
+ /** 获取当前吸附类型的 Y 值
9
+ * * FLOOR_PLAN_ATTACHED_TO.FLOOR:当前楼层地板的 Y
10
+ * * FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER:当前模型中心的 Y
11
+ * * FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER:当前楼层天花板的 Y
12
+ */
13
+ export declare function getAttachedY(five: Five, floorIndex: number, attachedTo?: FLOOR_PLAN_ATTACHED_TO): number;
6
14
  /**
7
15
  * 获取「在俯视图」状态下,模型 mm 与屏幕像素 px 的对应关系,即每 mm 对应多少 px
8
16
  * @param five five
@@ -1,30 +1,35 @@
1
1
  import { FLOOR_PLAN_ATTACHED_TO } from '../floorplan/constant';
2
2
  import * as THREE from 'three';
3
+ /** 获取当前楼层地面的 Y 值 */
4
+ export function getFloorY(five, floorIndex) {
5
+ const maxFloorIndex = Math.max(...five.work.observers.map((ob) => ob.floorIndex));
6
+ return floorIndex > maxFloorIndex
7
+ ? five.model.bounding.max.y
8
+ : Math.max(...five.work.observers
9
+ .filter((ob) => ob.floorIndex === floorIndex)
10
+ .map((ob) => ob.standingPosition.y));
11
+ }
12
+ /** 获取当前吸附类型的 Y 值
13
+ * * FLOOR_PLAN_ATTACHED_TO.FLOOR:当前楼层地板的 Y
14
+ * * FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER:当前模型中心的 Y
15
+ * * FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER:当前楼层天花板的 Y
16
+ */
17
+ export function getAttachedY(five, floorIndex, attachedTo = FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER) {
18
+ const currentFloorY = getFloorY(five, floorIndex);
19
+ const nextFloorY = getFloorY(five, floorIndex + 1);
20
+ if (attachedTo === FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER)
21
+ return (five.model.bounding.max.y + five.model.bounding.min.y) / 2;
22
+ else if (attachedTo === FLOOR_PLAN_ATTACHED_TO.CEILING)
23
+ return nextFloorY;
24
+ else
25
+ return currentFloorY;
26
+ }
3
27
  /**
4
28
  * 获取「在俯视图」状态下,模型 mm 与屏幕像素 px 的对应关系,即每 mm 对应多少 px
5
29
  * @param five five
6
30
  */
7
31
  export default function getPxmm(five, container, floorIndex, options) {
8
- const maxFloorIndex = Math.max(...five.work.observers.map((ob) => ob.floorIndex));
9
- function getFloorY(floorIndex) {
10
- return floorIndex > maxFloorIndex
11
- ? five.model.bounding.max.y
12
- : Math.max(...five.work.observers
13
- .filter((ob) => ob.floorIndex === floorIndex)
14
- .map((ob) => ob.standingPosition.y));
15
- }
16
- function getY() {
17
- const currentFloorY = getFloorY(floorIndex);
18
- const nextFloorY = getFloorY(floorIndex + 1);
19
- const attachedTo = options?.attachedTo || FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER;
20
- if (attachedTo === FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER)
21
- return (five.model.bounding.max.y + five.model.bounding.min.y) / 2;
22
- else if (attachedTo === FLOOR_PLAN_ATTACHED_TO.CEILING)
23
- return nextFloorY;
24
- else
25
- return currentFloorY;
26
- }
27
- const y = getY();
32
+ const y = getAttachedY(five, floorIndex, options === null || options === void 0 ? void 0 : options.attachedTo);
28
33
  const originPosition = new THREE.Vector3(0, y, 0);
29
34
  const originPositionXUnit = new THREE.Vector3(1, y, 0);
30
35
  const mouse = originPosition.clone().project(five.camera);
@@ -0,0 +1 @@
1
+ export * from './math';
@@ -0,0 +1 @@
1
+ export * from './math';
@@ -0,0 +1,13 @@
1
+ /** 一维区间 */
2
+ declare class Interval {
3
+ min: number;
4
+ max: number;
5
+ isInterval: boolean;
6
+ constructor(min?: number, max?: number);
7
+ fromArray(array: number[]): Interval;
8
+ /** 两个区间是否重叠 */
9
+ isOverlap(target: Interval): boolean;
10
+ /** 是否包含区间 */
11
+ contains(target: Interval): boolean;
12
+ }
13
+ export { Interval };
@@ -0,0 +1,40 @@
1
+ /** 一维区间 */
2
+ class Interval {
3
+ constructor(min = 0, max = 0) {
4
+ Object.defineProperty(this, "min", {
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true,
8
+ value: void 0
9
+ });
10
+ Object.defineProperty(this, "max", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: void 0
15
+ });
16
+ Object.defineProperty(this, "isInterval", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: true
21
+ });
22
+ this.min = min;
23
+ this.max = max;
24
+ }
25
+ fromArray(array) {
26
+ this.min = array[0];
27
+ this.max = array[1];
28
+ return this;
29
+ }
30
+ /** 两个区间是否重叠 */
31
+ isOverlap(target) {
32
+ // 两个区间最大值中的最小值小于两个区间最小值中的最大值时,两个区间没有交集
33
+ return Math.min(this.max, target.max) < Math.max(this.min, target.min);
34
+ }
35
+ /** 是否包含区间 */
36
+ contains(target) {
37
+ return this.min < target.min && this.max > target.max;
38
+ }
39
+ }
40
+ export { Interval };