@realsee/dnalogel 2.1.2-alpha.0 → 2.1.2-alpha.10

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 (494) hide show
  1. package/README.md +3 -12
  2. package/dist/CSS3DRenderPlugin/index..js +88 -0
  3. package/dist/CSS3DRenderPlugin/index.cjs.js +1 -0
  4. package/dist/CameraMovementPlugin/index..js +11 -0
  5. package/dist/CameraMovementPlugin/index.cjs.js +1 -0
  6. package/dist/CruisePlugin/index..js +527 -0
  7. package/dist/CruisePlugin/index.cjs.js +1 -0
  8. package/dist/GuideLinePlugin/index..js +214 -0
  9. package/dist/GuideLinePlugin/index.cjs.js +1 -0
  10. package/dist/ItemLabelPlugin/index..js +508 -0
  11. package/dist/ItemLabelPlugin/index.cjs.js +10 -0
  12. package/dist/ModelChassisCompassPlugin/index..js +9 -0
  13. package/dist/ModelChassisCompassPlugin/index.cjs.js +1 -0
  14. package/dist/ModelEntryDoorGuidePlugin/index..js +9 -0
  15. package/dist/ModelEntryDoorGuidePlugin/index.cjs.js +1 -0
  16. package/dist/ModelItemLabelPlugin/index..js +334 -0
  17. package/dist/ModelItemLabelPlugin/index.cjs.js +10 -0
  18. package/dist/ModelRoomLabelPlugin/index..js +274 -0
  19. package/dist/ModelRoomLabelPlugin/index.cjs.js +1 -0
  20. package/dist/ModelTVVideoPlugin/index..js +12 -0
  21. package/dist/ModelTVVideoPlugin/index.cjs.js +1 -0
  22. package/dist/ModelViewPlugin/index..js +8 -0
  23. package/dist/ModelViewPlugin/index.cjs.js +1 -0
  24. package/dist/Object3DHelperPlugin/index..js +1414 -0
  25. package/dist/Object3DHelperPlugin/index.cjs.js +1 -0
  26. package/dist/PanoCompassPlugin/index..js +258 -0
  27. package/dist/PanoCompassPlugin/index.cjs.js +1 -0
  28. package/dist/PanoCursorRaycasterPlugin/index..js +63 -0
  29. package/dist/PanoCursorRaycasterPlugin/index.cjs.js +1 -0
  30. package/dist/PanoDoorLabelPlugin/index..js +340 -0
  31. package/dist/PanoDoorLabelPlugin/index.cjs.js +1 -0
  32. package/dist/PanoMeasurePlugin/index..js +15 -0
  33. package/dist/PanoMeasurePlugin/index.cjs.js +1 -0
  34. package/dist/PanoRulerPlugin/index..js +9 -0
  35. package/dist/PanoRulerPlugin/index.cjs.js +1 -0
  36. package/dist/PanoRulerProPlugin/index..js +395 -0
  37. package/dist/PanoRulerProPlugin/index.cjs.js +1 -0
  38. package/dist/PanoSpatialTagPlugin/index..js +15 -0
  39. package/dist/PanoSpatialTagPlugin/index.cjs.js +1 -0
  40. package/dist/PanoTagPlugin/index..js +4522 -0
  41. package/dist/PanoTagPlugin/index.cjs.js +17 -0
  42. package/dist/chunks/cjs/BasePlugin.57e5204f.cjs.js +1 -0
  43. package/dist/chunks/cjs/BasePluginWithData.0a28882d.cjs.js +1 -0
  44. package/dist/chunks/cjs/CSS3DRender.15349564.cjs.js +1 -0
  45. package/dist/chunks/cjs/CameraMovementPlugin.2b342576.cjs.js +1 -0
  46. package/dist/chunks/cjs/Plugin.5f616fb3.cjs.js +1 -0
  47. package/dist/chunks/cjs/Plugin.609da4aa.cjs.js +94 -0
  48. package/dist/chunks/cjs/Plugin.67936d0e.cjs.js +16 -0
  49. package/dist/chunks/cjs/Plugin.8a110c53.cjs.js +1 -0
  50. package/dist/chunks/cjs/Plugin.9971108a.cjs.js +1 -0
  51. package/dist/chunks/cjs/Plugin.fd42bf8a.cjs.js +1 -0
  52. package/dist/chunks/cjs/Subscribe.5398d5c6.cjs.js +1 -0
  53. package/dist/chunks/cjs/changeModelCanvasOpacity.8d84f111.cjs.js +1 -0
  54. package/dist/chunks/cjs/correctFiveState.4c8472bd.cjs.js +1 -0
  55. package/dist/chunks/cjs/debounce.93dfb637.cjs.js +1 -0
  56. package/dist/chunks/cjs/equal.e9fcbd4e.cjs.js +1 -0
  57. package/dist/chunks/cjs/filter.cf9ebbb3.cjs.js +1 -0
  58. package/dist/chunks/cjs/formatData.81e95011.cjs.js +10 -0
  59. package/dist/chunks/cjs/index.30b7baeb.cjs.js +101 -0
  60. package/dist/chunks/cjs/index.686e84d1.cjs.js +290 -0
  61. package/dist/chunks/cjs/index.7d2010ce.cjs.js +1 -0
  62. package/dist/chunks/cjs/isNil.b3a58990.cjs.js +1 -0
  63. package/dist/chunks/cjs/planimetry.7fce816a.cjs.js +1 -0
  64. package/dist/chunks/cjs/throttle.86c209eb.cjs.js +1 -0
  65. package/dist/chunks/cjs/transfromToMeshBasicMaterial.9db6d46a.cjs.js +1 -0
  66. package/dist/chunks/cjs/uuid.29ed9c88.cjs.js +1 -0
  67. package/dist/chunks/es/BasePlugin.813e25f7.es.js +18 -0
  68. package/dist/chunks/es/BasePluginWithData.4bf4e649.es.js +6 -0
  69. package/dist/chunks/es/CSS3DRender.5652510e.es.js +393 -0
  70. package/dist/chunks/es/CameraMovementPlugin.4a7c3e46.es.js +120 -0
  71. package/dist/chunks/es/Plugin.26c2df05.es.js +106 -0
  72. package/dist/chunks/es/Plugin.435485ed.es.js +584 -0
  73. package/dist/chunks/es/Plugin.a98418f0.es.js +82 -0
  74. package/dist/chunks/es/Plugin.ae4ee6f8.es.js +82 -0
  75. package/dist/chunks/es/Plugin.dd11e0ad.es.js +180 -0
  76. package/dist/chunks/es/Plugin.f4cf895f.es.js +355 -0
  77. package/dist/chunks/es/Subscribe.c73e0f91.es.js +50 -0
  78. package/dist/chunks/es/changeModelCanvasOpacity.45ef9fd6.es.js +1551 -0
  79. package/dist/chunks/es/correctFiveState.e7feab9f.es.js +66 -0
  80. package/dist/chunks/es/debounce.ef83f417.es.js +11 -0
  81. package/dist/chunks/es/equal.7db4a6f7.es.js +56 -0
  82. package/dist/chunks/es/filter.97ec06c4.es.js +12 -0
  83. package/dist/chunks/es/formatData.a2b39ef9.es.js +483 -0
  84. package/dist/chunks/es/index.a273f06e.es.js +532 -0
  85. package/dist/chunks/es/index.b8fdb59b.es.js +50 -0
  86. package/dist/chunks/es/index.f74f4851.es.js +1787 -0
  87. package/dist/chunks/es/isNil.212842d9.es.js +10 -0
  88. package/dist/chunks/es/planimetry.b0b4a28d.es.js +43 -0
  89. package/dist/chunks/es/throttle.db66bac3.es.js +11 -0
  90. package/dist/chunks/es/transfromToMeshBasicMaterial.849ee069.es.js +24 -0
  91. package/dist/chunks/es/uuid.676cb2c8.es.js +9 -0
  92. package/dist/components/PaintBrush/index..js +6 -0
  93. package/dist/components/PaintBrush/index.cjs.js +1 -0
  94. package/dist/components/index..js +7 -0
  95. package/dist/components/index.cjs.js +1 -0
  96. package/dist/floorplan/MapviewFloorplanPlugin/index..js +324 -0
  97. package/dist/floorplan/MapviewFloorplanPlugin/index.cjs.js +1 -0
  98. package/dist/floorplan/ModelFloorplanPlugin/index..js +320 -0
  99. package/dist/floorplan/ModelFloorplanPlugin/index.cjs.js +1 -0
  100. package/dist/floorplan/PanoFloorplanRadarPlugin/index..js +613 -0
  101. package/dist/floorplan/PanoFloorplanRadarPlugin/index.cjs.js +1 -0
  102. package/dist/floorplan/TopviewFloorplanPlugin/index..js +277 -0
  103. package/dist/floorplan/TopviewFloorplanPlugin/index.cjs.js +1 -0
  104. package/dist/index..js +530 -0
  105. package/dist/index.cjs.js +3 -543
  106. package/docs/classes/CruisePluginController.html +24 -24
  107. package/docs/classes/Magnifier.html +16 -16
  108. package/docs/classes/ModelRoomLabelController.html +11 -11
  109. package/docs/classes/Object3DHelperController.html +24 -24
  110. package/docs/classes/PaintBrush.html +15 -15
  111. package/docs/classes/PanoTagPluginController.html +39 -39
  112. package/docs/classes/Util.BetterTween.html +8 -8
  113. package/docs/classes/Util.FivePointSelector.html +12 -12
  114. package/docs/classes/Util.Interval.html +12 -12
  115. package/docs/classes/Util.Magnifier.html +17 -17
  116. package/docs/classes/Util.PointDomHelper.html +11 -11
  117. package/docs/classes/Util.PointHelper.html +11 -11
  118. package/docs/classes/Util.Rectangle.html +13 -13
  119. package/docs/enums/CameraMovementEffect.html +7 -7
  120. package/docs/enums/ContentType.html +12 -12
  121. package/docs/enums/DIRECTION.html +9 -9
  122. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +9 -9
  123. package/docs/enums/DimensionType.html +7 -7
  124. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +8 -8
  125. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +9 -9
  126. package/docs/enums/LinkType.html +7 -7
  127. package/docs/enums/PaintBrushTypeEnum.html +8 -8
  128. package/docs/enums/PointType.html +7 -7
  129. package/docs/enums/Rotation.html +8 -8
  130. package/docs/functions/CSS3DRenderPlugin.html +4 -4
  131. package/docs/functions/CameraMovementPlugin.html +4 -4
  132. package/docs/functions/CruisePlugin.html +4 -4
  133. package/docs/functions/GuideLinePlugin.html +5 -5
  134. package/docs/functions/ItemLabelPlugin.html +4 -4
  135. package/docs/functions/MapviewFloorplanPlugin.html +4 -4
  136. package/docs/functions/ModelChassisCompassPlugin.html +4 -4
  137. package/docs/functions/ModelEntryDoorGuidePlugin.html +4 -4
  138. package/docs/functions/ModelFloorplanPlugin.html +4 -4
  139. package/docs/functions/ModelItemLabelPlugin.html +4 -4
  140. package/docs/functions/ModelRoomLabelPlugin.html +4 -4
  141. package/docs/functions/ModelTVVideoPlugin.html +4 -4
  142. package/docs/functions/ModelViewPlugin.html +4 -4
  143. package/docs/functions/Object3DHelperPlugin.html +4 -4
  144. package/docs/functions/PanoCompassPlugin.html +4 -4
  145. package/docs/functions/PanoCursorRaycasterPlugin.html +4 -4
  146. package/docs/functions/PanoDoorLabelPlugin.html +4 -4
  147. package/docs/functions/PanoFloorplanRadarPlugin.html +4 -4
  148. package/docs/functions/PanoMeasurePlugin.html +4 -4
  149. package/docs/functions/PanoRulerPlugin.html +4 -4
  150. package/docs/functions/PanoRulerProPlugin.html +4 -4
  151. package/docs/functions/PanoSpatialTagPlugin.html +4 -4
  152. package/docs/functions/PanoTagPlugin.html +4 -4
  153. package/docs/functions/TopviewFloorplanPlugin.html +4 -4
  154. package/docs/functions/Util.getCoordsFromClient.html +5 -5
  155. package/docs/functions/Util.getCoordsFromElement.html +5 -5
  156. package/docs/functions/Util.getFrameTime.html +5 -5
  157. package/docs/functions/Util.getIntersectFromRelativePosition.html +5 -5
  158. package/docs/functions/Util.getRaycasterFromFivePointer.html +5 -5
  159. package/docs/functions/Util.isNil.html +5 -5
  160. package/docs/functions/Util.nextFrame.html +5 -5
  161. package/docs/functions/Util.notNil.html +5 -5
  162. package/docs/functions/Util.requestAnimationFrameInterval.html +5 -5
  163. package/docs/functions/Util.tweenProgress.html +5 -5
  164. package/docs/functions/pluginFlag.html +5 -5
  165. package/docs/index.html +6 -11
  166. package/docs/interfaces/CSS3DRenderPluginEventMap.html +11 -11
  167. package/docs/interfaces/CSS3DRenderPluginState.html +8 -8
  168. package/docs/interfaces/CameraMovementPluginExportType.html +7 -7
  169. package/docs/interfaces/ContentTypeMap.html +12 -12
  170. package/docs/interfaces/FloorplanBounding.html +8 -8
  171. package/docs/interfaces/FloorplanData.html +10 -10
  172. package/docs/interfaces/FloorplanEntrance.html +11 -11
  173. package/docs/interfaces/FloorplanExtraObject.html +10 -10
  174. package/docs/interfaces/FloorplanExtraObject3D.html +8 -8
  175. package/docs/interfaces/FloorplanFloorData.html +9 -9
  176. package/docs/interfaces/FloorplanImagePosition.html +7 -7
  177. package/docs/interfaces/FloorplanObserver.html +9 -9
  178. package/docs/interfaces/FloorplanOutlineItem.html +9 -9
  179. package/docs/interfaces/FloorplanPosition.html +7 -7
  180. package/docs/interfaces/FloorplanRoomItem.html +13 -13
  181. package/docs/interfaces/FloorplanRoomLabelItem.html +7 -7
  182. package/docs/interfaces/FloorplanServerBounding.html +8 -8
  183. package/docs/interfaces/FloorplanServerComputedData.html +10 -10
  184. package/docs/interfaces/FloorplanServerData.html +7 -7
  185. package/docs/interfaces/FloorplanServerDoorItem.html +10 -10
  186. package/docs/interfaces/FloorplanServerDoorPosition.html +8 -8
  187. package/docs/interfaces/FloorplanServerEntrance.html +11 -11
  188. package/docs/interfaces/FloorplanServerFloorData.html +9 -9
  189. package/docs/interfaces/FloorplanServerImagePosition.html +7 -7
  190. package/docs/interfaces/FloorplanServerObserver.html +9 -9
  191. package/docs/interfaces/FloorplanServerOutlineItem.html +9 -9
  192. package/docs/interfaces/FloorplanServerPosition.html +7 -7
  193. package/docs/interfaces/FloorplanServerRoomItem.html +14 -14
  194. package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -7
  195. package/docs/interfaces/ItemLabelPluginData.html +6 -6
  196. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +11 -11
  197. package/docs/interfaces/ItemLabelPluginParametersType.html +9 -9
  198. package/docs/interfaces/LineJson.html +7 -7
  199. package/docs/interfaces/ModelChassisCompassPluginData.html +7 -7
  200. package/docs/interfaces/ModelChassisCompassPluginExportType.html +8 -8
  201. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +7 -7
  202. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +8 -8
  203. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +8 -8
  204. package/docs/interfaces/ModelItemLabelPluginData.html +6 -6
  205. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +11 -11
  206. package/docs/interfaces/ModelItemLabelPluginParametersType.html +7 -7
  207. package/docs/interfaces/ModelRoomLabelPluginData.html +6 -6
  208. package/docs/interfaces/ModelTVVideoPluginData.html +9 -9
  209. package/docs/interfaces/ModelTVVideoPluginExportType.html +8 -8
  210. package/docs/interfaces/ModelTVVideoPluginParameterType.html +6 -6
  211. package/docs/interfaces/ModelViewPluginExportType.html +8 -8
  212. package/docs/interfaces/Object3DHelperState.html +8 -8
  213. package/docs/interfaces/OpenParameter.html +7 -7
  214. package/docs/interfaces/PaintBrushAction.html +12 -12
  215. package/docs/interfaces/PaintBrushConfigs.html +12 -12
  216. package/docs/interfaces/PaintBrushState.html +10 -10
  217. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +10 -10
  218. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +5 -5
  219. package/docs/interfaces/PanoMeasureParameterType.html +11 -11
  220. package/docs/interfaces/PanoRulerPluginExportType.html +10 -10
  221. package/docs/interfaces/PanoRulerPluginOptions.html +7 -7
  222. package/docs/interfaces/PanoRulerPluginParameterType.html +8 -8
  223. package/docs/interfaces/PanoRulerProPluginExportType.html +9 -9
  224. package/docs/interfaces/PanoRulerProPluginOptions.html +7 -7
  225. package/docs/interfaces/PanoRulerProPluginParameterType.html +7 -7
  226. package/docs/interfaces/PanoRulerProPluginState.html +8 -8
  227. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +5 -5
  228. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +5 -5
  229. package/docs/interfaces/PanoSpatialTagPluginData.html +11 -11
  230. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +10 -10
  231. package/docs/interfaces/PanoSpatialTagPluginExportType.html +13 -13
  232. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +10 -10
  233. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +13 -13
  234. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +11 -11
  235. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +10 -10
  236. package/docs/interfaces/Point.html +8 -8
  237. package/docs/interfaces/PointJson.html +8 -8
  238. package/docs/interfaces/Room.html +9 -9
  239. package/docs/interfaces/RoomInfo.html +7 -7
  240. package/docs/interfaces/RoomLabel.html +14 -14
  241. package/docs/interfaces/RoomRules.html +5 -5
  242. package/docs/interfaces/Rooms.html +5 -5
  243. package/docs/interfaces/Scissor.html +9 -9
  244. package/docs/interfaces/TagConfig.html +10 -10
  245. package/docs/interfaces/Tags.html +9 -9
  246. package/docs/interfaces/Util.MagnifierParameter.html +11 -11
  247. package/docs/interfaces/Util.MouseGroupParameter.html +8 -8
  248. package/docs/modules/Util.html +5 -5
  249. package/docs/modules.html +4 -4
  250. package/docs/types/ArrayPosition.html +5 -5
  251. package/docs/types/CSS3DRenderExportType.html +5 -5
  252. package/docs/types/CSS3DRenderPluginExportType.html +5 -5
  253. package/docs/types/CSS3DRenderPluginParameterType.html +5 -5
  254. package/docs/types/Color.html +5 -5
  255. package/docs/types/ContentTypeConfigKey.html +5 -5
  256. package/docs/types/ContentTypeConfigKeyArray.html +5 -5
  257. package/docs/types/Create3DDomContainerReturnType.html +5 -5
  258. package/docs/types/Create3DElementReturnType.html +5 -5
  259. package/docs/types/CruisePluginExportType.html +5 -5
  260. package/docs/types/Direction-1.html +5 -5
  261. package/docs/types/Direction4.html +5 -5
  262. package/docs/types/FloorplanRuleLabels.html +5 -5
  263. package/docs/types/FloorplanServerRuleLabels.html +5 -5
  264. package/docs/types/GuideLinePluginExportType.html +5 -5
  265. package/docs/types/HelperEventMap.html +5 -5
  266. package/docs/types/MapviewFloorplanPluginParameterType.html +5 -5
  267. package/docs/types/MapviewFloorplanPluginReturnType.html +5 -5
  268. package/docs/types/MediaData.html +5 -5
  269. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +5 -5
  270. package/docs/types/ModelFloorplanPluginParameterType.html +5 -5
  271. package/docs/types/ModelFloorplanPluginReturnType.html +5 -5
  272. package/docs/types/ModelRoomLabelPluginParameters.html +5 -5
  273. package/docs/types/ModelRoomLabelPluginReturnType.html +5 -5
  274. package/docs/types/MoveArgs.html +5 -5
  275. package/docs/types/MoveOpts.html +5 -5
  276. package/docs/types/Object3DHelperEventMap.html +5 -5
  277. package/docs/types/ObjectFit.html +5 -5
  278. package/docs/types/PaintBrushEventMap.html +5 -5
  279. package/docs/types/PanoCompassPluginData.html +5 -5
  280. package/docs/types/PanoCompassPluginExportType.html +5 -5
  281. package/docs/types/PanoCompassPluginParameterType.html +5 -5
  282. package/docs/types/PanoFloorplanRadarPluginParameterType.html +5 -5
  283. package/docs/types/PanoFloorplanRadarPluginReturnType.html +5 -5
  284. package/docs/types/PanoMeasurePluginEvent.html +5 -5
  285. package/docs/types/PanoMeasureReturnType.html +5 -5
  286. package/docs/types/PanoSpatialTagPluginId.html +5 -5
  287. package/docs/types/PanoTagPluginExportInterface.html +5 -5
  288. package/docs/types/PanoTagPluginParamsInterface.html +5 -5
  289. package/docs/types/PlaneTag.html +5 -5
  290. package/docs/types/PointTag.html +5 -5
  291. package/docs/types/Position.html +5 -5
  292. package/docs/types/RotateArgs.html +5 -5
  293. package/docs/types/RotateOpts.html +5 -5
  294. package/docs/types/RuleLabelsKey.html +5 -5
  295. package/docs/types/RuleLabelsValue.html +5 -5
  296. package/docs/types/Tag.html +5 -5
  297. package/docs/types/Tag2D.html +5 -5
  298. package/docs/types/Tag3D.html +5 -5
  299. package/docs/types/TagId.html +5 -5
  300. package/docs/types/TopviewFloorplanPluginParameterType.html +5 -5
  301. package/docs/types/TopviewFloorplanPluginReturnType.html +5 -5
  302. package/docs/variables/FLOOR_TYPE_MAP.html +5 -5
  303. package/docs/variables/PLUGIN.html +5 -5
  304. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +5 -5
  305. package/docs/variables/ROOM_TYPE_MAP.html +5 -5
  306. package/docs/variables/VERSION.html +5 -5
  307. package/docs/variables/itemLabelPluginServerParams.html +5 -5
  308. package/docs/variables/modelItemLabelPluginServerParams.html +5 -5
  309. package/docs/variables/modelRoomLabelPluginServerParams.html +5 -5
  310. package/libs/CSS3DRenderPlugin/CSS3DRender.js +1 -5
  311. package/libs/CSS3DRenderPlugin/Controller.js +6 -7
  312. package/libs/CSS3DRenderPlugin/index.js +3 -4
  313. package/libs/CSS3DRenderPlugin/typing.js +1 -0
  314. package/libs/CSS3DRenderPlugin/utils/CSS3DObjectPlus.js +1 -3
  315. package/libs/CSS3DRenderPlugin/utils/index.js +1 -0
  316. package/libs/CSS3DRenderPlugin/utils/positionToVector3.js +1 -2
  317. package/libs/CSS3DRenderPlugin/utils/random.js +1 -0
  318. package/libs/CameraMovementPlugin/CameraMovementPlugin.js +16 -17
  319. package/libs/CameraMovementPlugin/index.js +3 -0
  320. package/libs/CruisePlugin/Controller.js +4 -4
  321. package/libs/CruisePlugin/index.js +3 -6
  322. package/libs/CruisePlugin/utils/linerValue.js +4 -4
  323. package/libs/GuideLinePlugin/Controller.js +3 -4
  324. package/libs/GuideLinePlugin/index.js +3 -4
  325. package/libs/GuideLinePlugin/utils/getLineGeometries.js +1 -1
  326. package/libs/ItemLabelPlugin/ItemLabelComponent.js +34 -32
  327. package/libs/ItemLabelPlugin/Plugin.js +5 -6
  328. package/libs/ModelChassisCompassPlugin/Plugin.js +3 -4
  329. package/libs/ModelChassisCompassPlugin/index.js +2 -0
  330. package/libs/ModelEntryDoorGuidePlugin/Plugin.js +22 -23
  331. package/libs/ModelEntryDoorGuidePlugin/index.js +2 -0
  332. package/libs/ModelItemLabelPlugin/ItemLabelComponent.js +4 -3
  333. package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +5 -6
  334. package/libs/ModelItemLabelPlugin/events.type.js +1 -0
  335. package/libs/ModelRoomLabelPlugin/RoomLabelItems.js +11 -10
  336. package/libs/ModelRoomLabelPlugin/index.js +0 -1
  337. package/libs/ModelTVVideoPlugin/Plugin.js +1 -2
  338. package/libs/ModelTVVideoPlugin/index.js +2 -0
  339. package/libs/ModelViewPlugin/Plugin.js +1 -2
  340. package/libs/ModelViewPlugin/index.js +2 -0
  341. package/libs/Object3DHelperPlugin/FiveControllerWrapper.js +6 -7
  342. package/libs/Object3DHelperPlugin/index.js +1 -6
  343. package/libs/PanoCompassPlugin/index.js +3 -4
  344. package/libs/PanoCursorRaycasterPlugin/index.js +7 -8
  345. package/libs/PanoDoorLabelPlugin/index.js +1 -2
  346. package/libs/PanoMeasurePlugin/Controller/BaseController.js +3 -3
  347. package/libs/PanoMeasurePlugin/Controller/EditController.js +5 -5
  348. package/libs/PanoMeasurePlugin/Controller/MixedController.js +17 -17
  349. package/libs/PanoMeasurePlugin/Controller/ViewController.js +3 -3
  350. package/libs/PanoMeasurePlugin/Controller/WatchController.js +9 -9
  351. package/libs/PanoMeasurePlugin/Controller/index.js +8 -8
  352. package/libs/PanoMeasurePlugin/Model/index.js +3 -3
  353. package/libs/PanoMeasurePlugin/Model/line.js +11 -11
  354. package/libs/PanoMeasurePlugin/Model/point.js +7 -7
  355. package/libs/PanoMeasurePlugin/Model/polyline.js +1 -1
  356. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.js +1 -1
  357. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.js +1 -1
  358. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.js +1 -1
  359. package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.js +4 -4
  360. package/libs/PanoMeasurePlugin/Modules/FiveHelper.js +3 -3
  361. package/libs/PanoMeasurePlugin/Modules/Magnifier.js +30 -30
  362. package/libs/PanoMeasurePlugin/Modules/UIController/HTML.js +2 -2
  363. package/libs/PanoMeasurePlugin/Modules/UIController/Revoke/index.js +2 -2
  364. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +3 -3
  365. package/libs/PanoMeasurePlugin/Modules/UIController/mobileHTML.js +1 -1
  366. package/libs/PanoMeasurePlugin/Modules/rangePiece/html.js +3 -4
  367. package/libs/PanoMeasurePlugin/Modules/rangePiece/index.js +5 -5
  368. package/libs/PanoMeasurePlugin/index.js +3 -4
  369. package/libs/PanoMeasurePlugin/utils/calculateThreeMouse.js +1 -1
  370. package/libs/PanoMeasurePlugin/utils/distanceDom.js +1 -1
  371. package/libs/PanoMeasurePlugin/utils/findClosestPoint.js +2 -2
  372. package/libs/PanoMeasurePlugin/utils/isNDCPointInScreen.js +3 -3
  373. package/libs/PanoMeasurePlugin/utils/line.js +0 -1
  374. package/libs/PanoMeasurePlugin/utils/math.js +1 -2
  375. package/libs/PanoMeasurePlugin/utils/ndc2Screen.js +2 -2
  376. package/libs/PanoRulerPlugin/Plugin.js +2 -3
  377. package/libs/PanoRulerPlugin/index.js +2 -0
  378. package/libs/PanoRulerPlugin/style.js +1 -1
  379. package/libs/PanoRulerProPlugin/Controller.js +15 -15
  380. package/libs/PanoRulerProPlugin/RulerItems.js +7 -4
  381. package/libs/PanoRulerProPlugin/index.js +3 -4
  382. package/libs/PanoSpatialTagPlugin/Components/origins.js +3 -2
  383. package/libs/PanoSpatialTagPlugin/Components/tag.js +3 -2
  384. package/libs/PanoSpatialTagPlugin/Plugin.js +2 -3
  385. package/libs/PanoSpatialTagPlugin/index.js +6 -0
  386. package/libs/PanoSpatialTagPlugin/typings.js +1 -0
  387. package/libs/PanoTagPlugin/Components/Common/Line/Polyline.js +1 -1
  388. package/libs/PanoTagPlugin/Components/Common/Line/Straight.js +1 -1
  389. package/libs/PanoTagPlugin/Components/Common/Media.js +43 -36
  390. package/libs/PanoTagPlugin/Components/Common/MultiLineText.js +88 -78
  391. package/libs/PanoTagPlugin/Components/Common/Point/CustomPoint.js +5 -4
  392. package/libs/PanoTagPlugin/Components/Common/Point/DefaultPoint.js +3 -2
  393. package/libs/PanoTagPlugin/Components/Common/Point/PointSwitch.js +30 -27
  394. package/libs/PanoTagPlugin/Components/Common/TextItem.js +106 -0
  395. package/libs/PanoTagPlugin/Components/Tag/AudioTag.js +20 -14
  396. package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.js +114 -92
  397. package/libs/PanoTagPlugin/Components/Tag/LinkTag.js +3 -2
  398. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +3 -2
  399. package/libs/PanoTagPlugin/Components/Tag/MediaPlane.js +71 -52
  400. package/libs/PanoTagPlugin/Components/Tag/TextTag.js +62 -50
  401. package/libs/PanoTagPlugin/Components/Tag/index.js +92 -63
  402. package/libs/PanoTagPlugin/Components/TagContainer.js +108 -64
  403. package/libs/PanoTagPlugin/Components/TagWrapper.js +113 -75
  404. package/libs/PanoTagPlugin/controller/index.js +0 -1
  405. package/libs/PanoTagPlugin/index.js +3 -7
  406. package/libs/PanoTagPlugin/tag.config.js +1 -2
  407. package/libs/PanoTagPlugin/typings/controller.js +1 -0
  408. package/libs/PanoTagPlugin/typings/index.js +1 -0
  409. package/libs/PanoTagPlugin/utils/constants.js +1 -2
  410. package/libs/PanoTagPlugin/utils/doUtil.js +6 -6
  411. package/libs/PanoTagPlugin/utils/index.js +1 -0
  412. package/libs/components/PaintBrush/Controller.js +3 -3
  413. package/libs/components/PaintBrush/style.js +1 -1
  414. package/libs/components/PaintBrush/tween.js +4 -4
  415. package/libs/components/index.js +2 -0
  416. package/libs/floorplan/Components/Camera.js +1 -1
  417. package/libs/floorplan/Components/CurrentFloor.js +51 -41
  418. package/libs/floorplan/Components/Main.js +41 -22
  419. package/libs/floorplan/Components/RoomHighlight/Room.js +3 -3
  420. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.js +3 -2
  421. package/libs/floorplan/Components/RoomLabels/RoomLabels.js +37 -36
  422. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.js +1 -1
  423. package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +7 -7
  424. package/libs/floorplan/MapviewFloorplanPlugin/index.js +3 -4
  425. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +7 -7
  426. package/libs/floorplan/ModelFloorplanPlugin/index.js +2 -3
  427. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.js +1 -1
  428. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.js +6 -2
  429. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.js +74 -65
  430. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +2 -2
  431. package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +2 -3
  432. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +5 -5
  433. package/libs/floorplan/TopviewFloorplanPlugin/index.js +3 -4
  434. package/libs/floorplan/index.js +6 -0
  435. package/libs/floorplan/typings/floorplanData.js +1 -0
  436. package/libs/floorplan/utils/correctFiveState.js +19 -19
  437. package/libs/floorplan/utils/formatData.js +16 -16
  438. package/libs/floorplan/utils/formatPosition.js +7 -7
  439. package/libs/index.js +344 -90
  440. package/libs/shared-utils/Object3DHelper/Base/BaseController.js +2 -3
  441. package/libs/shared-utils/Object3DHelper/Base/BaseHelper.js +1 -3
  442. package/libs/shared-utils/Object3DHelper/Constants/color.js +0 -1
  443. package/libs/shared-utils/Object3DHelper/Helper/HTML/utils/createElement.js +1 -2
  444. package/libs/shared-utils/Object3DHelper/Helper/index.js +3 -0
  445. package/libs/shared-utils/Object3DHelper/typings/Direction.js +1 -0
  446. package/libs/shared-utils/Object3DHelper/typings/Hooks.js +1 -0
  447. package/libs/shared-utils/Object3DHelper/typings/Scissor.js +1 -0
  448. package/libs/shared-utils/Object3DHelper/typings/index.js +1 -0
  449. package/libs/shared-utils/Object3DHelper/utils/filterNotColinearPoints.js +1 -0
  450. package/libs/shared-utils/Object3DHelper/utils/getPoint.js +1 -0
  451. package/libs/shared-utils/Object3DHelper/utils/index.js +1 -0
  452. package/libs/shared-utils/Object3DHelper/utils/normalPositionToPositions.js +1 -0
  453. package/libs/shared-utils/Object3DHelper/utils/object3DBoundingPosition.js +1 -0
  454. package/libs/shared-utils/Object3DHelper/utils/threex/domevents/index.js +1 -1
  455. package/libs/shared-utils/animationFrame/index.js +13 -16
  456. package/libs/shared-utils/animationFrame/tween.js +0 -2
  457. package/libs/shared-utils/changeModelCanvasOpacity.js +1 -1
  458. package/libs/shared-utils/createCanvasTextTexture.js +6 -6
  459. package/libs/shared-utils/createLine/index.js +3 -3
  460. package/libs/shared-utils/debounce.js +5 -5
  461. package/libs/shared-utils/equal.js +16 -16
  462. package/libs/shared-utils/filter.js +1 -1
  463. package/libs/shared-utils/five/changeMode.js +14 -14
  464. package/libs/shared-utils/getPxmm.js +7 -8
  465. package/libs/shared-utils/index.js +33 -29
  466. package/libs/shared-utils/isTruelyObject.js +1 -1
  467. package/libs/shared-utils/math/index.js +1 -0
  468. package/libs/shared-utils/math/planimetry.js +1 -6
  469. package/libs/shared-utils/math/rad2Deg.js +3 -3
  470. package/libs/shared-utils/nearlyEqual.js +3 -3
  471. package/libs/shared-utils/noop.js +1 -1
  472. package/libs/shared-utils/object3d2LocalMatrix.js +6 -7
  473. package/libs/shared-utils/removeArrayItem.js +5 -5
  474. package/libs/shared-utils/tap.js +3 -3
  475. package/libs/shared-utils/three/index.js +6 -0
  476. package/libs/shared-utils/three/transformPositionToVector3.js +2 -2
  477. package/libs/shared-utils/three/transfromToMeshBasicMaterial.js +12 -12
  478. package/libs/shared-utils/throttle.js +2 -2
  479. package/libs/shared-utils/tinyEJSrender.js +7 -7
  480. package/libs/shared-utils/to.js +14 -15
  481. package/libs/shared-utils/uuid.js +0 -1
  482. package/libs/{node_modules/.pnpm/swiper@8.4.4/node_modules → vendor}/swiper/components-shared/get-changed-params.js +0 -0
  483. package/libs/{node_modules/.pnpm/swiper@8.4.4/node_modules → vendor}/swiper/components-shared/get-params.js +0 -0
  484. package/libs/{node_modules/.pnpm/swiper@8.4.4/node_modules → vendor}/swiper/components-shared/mount-swiper.js +0 -0
  485. package/libs/{node_modules/.pnpm/swiper@8.4.4/node_modules → vendor}/swiper/components-shared/params-list.js +0 -0
  486. package/libs/{node_modules/.pnpm/swiper@8.4.4/node_modules → vendor}/swiper/components-shared/update-swiper.js +0 -0
  487. package/libs/{node_modules/.pnpm/swiper@8.4.4/node_modules → vendor}/swiper/components-shared/utils.js +0 -0
  488. package/libs/{node_modules/.pnpm/swiper@8.4.4/node_modules → vendor}/swiper/svelte/swiper-slide.js +1 -1
  489. package/libs/vendor/swiper/svelte/swiper-svelte.js +3 -0
  490. package/libs/{node_modules/.pnpm/swiper@8.4.4/node_modules → vendor}/swiper/svelte/swiper.js +1 -1
  491. package/package.json +19 -17
  492. package/dist/index.es.js +0 -16650
  493. package/dist/index.js +0 -16650
  494. package/dist/index.umd.js +0 -556
@@ -0,0 +1 @@
1
+ "use strict";var U=Object.defineProperty,A=Object.defineProperties;var _=Object.getOwnPropertyDescriptors;var L=Object.getOwnPropertySymbols;var V=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var C=(s,d,e)=>d in s?U(s,d,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[d]=e,P=(s,d)=>{for(var e in d||(d={}))V.call(d,e)&&C(s,e,d[e]);if(L)for(var e of L(d))q.call(d,e)&&C(s,e,d[e]);return s},j=(s,d)=>A(s,_(d));var S=(s,d,e)=>(C(s,typeof d!="symbol"?d+"":d,e),e);var y=(s,d,e)=>new Promise((t,i)=>{var a=n=>{try{o(e.next(n))}catch(r){i(r)}},u=n=>{try{o(e.throw(n))}catch(r){i(r)}},o=n=>n.done?t(n.value):Promise.resolve(n.value).then(a,u);o((e=e.apply(s,d)).next())});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Q=require("../chunks/cjs/BasePluginWithData.0a28882d.cjs.js"),R=require("../GuideLinePlugin/index.cjs.js"),k=require("../chunks/cjs/uuid.29ed9c88.cjs.js"),N=require("three"),$=require("../chunks/cjs/equal.e9fcbd4e.cjs.js");require("../chunks/cjs/BasePlugin.57e5204f.cjs.js");require("../chunks/cjs/Subscribe.5398d5c6.cjs.js");require("polyline-normals");require("../chunks/cjs/isNil.b3a58990.cjs.js");function B(s){if(s&&s.__esModule)return s;const d=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const e in s)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(s,e);Object.defineProperty(d,e,t.get?t:{enumerable:!0,get:()=>s[e]})}}return d.default=s,Object.freeze(d)}const T=B(N);function F(s){const d=Math.abs(Math.cos(s.latitude));return new T.Vector3(-Math.sin(s.longitude)*d,-Math.sin(s.latitude),-Math.cos(s.longitude)*d)}function H(s,d){const e=F(s),t=F(d);return e.angleTo(t)}const W=s=>y(exports,null,function*(){try{s().then(()=>{},()=>{}).catch(()=>{})}catch(d){}}),w=Math.PI*2;function z(s){return s>=0&&s<w?s:(s%w+w)%w}function J(s){return{longitude:z(-Math.atan2(s.x,-s.z)),latitude:-Math.asin(s.y/1)}}function X(s,d,e,t){const i=-s/e,a=s;return i*t+a}function Y(s){return new Promise(d=>{setTimeout(()=>{d()},s)})}const G="v1.0.6",K="CruisePlugin",x=`${K}@${G}`,D=()=>{console.error(`${x} is disposed`)},Z=()=>{console.warn(`${x} is disabled`)},ee=()=>{console.error(`${x} is disabled`)},M=new Map;class E extends Q.Controller{constructor(e,t){super(e,t);S(this,"state",{visible:!0,enabled:!0,disposed:!1,playing:!1,speed:1,config:{speedConfig:{rotateSpeed:.001,rotateSpeedUnit:"rad/ms",moveSpeed:.002,moveSpeedUnit:"m/ms"}}});S(this,"data");S(this,"config");S(this,"privateState",{playing:!1,currentPlayQueue:[],currentPlayKeyframe:null,broke:!1,disposers:[],modeChanging:!1});S(this,"GuideLine");this.config=t,Object.assign(window,{[`__${K}_DEBUG__`]:this});const i=this.setFiveLinearUpdateCamera.bind(this),a=this.setFiveOriginUpdateCamera.bind(this);this.hooks.on("play",i),this.hooks.on("broke",a),this.hooks.on("end",a),this.hooks.on("pause",a),this.privateState.disposers.push(()=>{this.hooks.off("play",i),this.hooks.off("broke",a),this.hooks.off("end",a),this.hooks.off("pause",a)})}load(e,t,i){return y(this,null,function*(){var l,m,h,f,g;if(this.state.disposed)return D();this.privateState.fiveOriginGetProgress||(m=(l=this.five.controller)==null?void 0:l.cameraMotion)!=null&&m.getProgress||(yield this.waitFiveLoaded(),this.privateState.fiveOriginGetProgress=(f=(h=this.five.controller)==null?void 0:h.cameraMotion)==null?void 0:f.getProgress),this.clear();const a=this.data?JSON.parse(JSON.stringify(this.data)):void 0,u=yield this.formatData(e);this.data=u,this.hooks.emit("dataChange",u,a);let o=[],n;const r=this.data.keyframes.filter(c=>c.data.panoIndex!==void 0);r.filter((c,v)=>{var p;return c.data.panoIndex!==((p=r[v-1])==null?void 0:p.data.panoIndex)}).map(c=>c.data.panoIndex).forEach(c=>{var p,I;const v=(p=this.five.work.observers[c])==null?void 0:p.floorIndex;if(v!==void 0)if(n===v){const b=o.length-1;o[b]=[...(I=o[b])!=null?I:[],c]}else{n=v;const b=o.length;o[b]=[c]}}),this.GuideLine||(this.GuideLine=R.GuideLinePlugin(this.five,this.config)),(g=this.GuideLine)==null||g.load({routes:o.map(c=>({panoIndexList:c}))}),this.setState({playing:!1}),this.handleVisible(this.state.visible),this.handleEnable(this.state.enabled),this.changePlayState(this.state.playing),this.changeSpeed(this.state.speed),t&&this.setState(t,{userAction:i}),console.log(`${x} loaded`,u),this.hooks.emit("dataLoaded",u)})}play(e){this.setState({playing:!0},e)}playFrom(e){const{index:t,id:i,userAction:a}=e;this.state.playing&&this.setState({playing:!1},{userAction:a}),this.setState({playing:!0},{userAction:a,playFromIndex:t,playFromId:i})}playFromStart(e){return this.playFrom(j(P({},e),{index:0}))}pause(e){this.setState({playing:!1},e)}show(e){return y(this,null,function*(){this.setState({visible:!0},e)})}hide(e){return y(this,null,function*(){this.setState({visible:!1},e)})}enable(e){this.setState({enabled:!0},e)}disable(e){this.setState({enabled:!1},e)}dispose(){this.setState({disposed:!0})}setState(e,t){var a;if(this.state.disposed)return D();if(!this.state.enabled&&e.enabled!==!0&&e.disposed!==!0)return ee();const i=P({},this.state);this.state=P(P({},this.state),e),e.disposed!==void 0&&e.disposed!==i.disposed&&e.disposed&&this.handleDispose(),e.visible!==void 0&&e.visible!==i.visible&&this.handleVisible(e.visible,t==null?void 0:t.userAction),e.enabled!==void 0&&e.enabled!==i.enabled&&this.handleEnable(e.enabled,t==null?void 0:t.userAction),e.playing!==void 0&&e.playing!==i.playing&&this.changePlayState(e.playing,t),e.speed!==void 0&&e.speed!==i.speed&&this.changeSpeed(e.speed,t==null?void 0:t.userAction),$.equal(i,this.state,{deep:!0})||this.hooks.emit("stateChange",{state:this.state,prevState:i,userAction:(a=t==null?void 0:t.userAction)!=null?a:!0})}formatData(e){return y(this,null,function*(){this.five.work||(yield this.waitFiveLoaded());const t=this.five.work.observers,i=(()=>{const a=e;return typeof a=="object"&&a!==null&&a.version&&a.data?a.data:a})();if(i.keyframes)return{keyframesId:k.uuid(),keyframes:i.keyframes.map((a,u)=>{var r;const o=i.keyframes[u+1],n=(()=>!o||o.start===void 0||a.end===void 0?0:o.start-a.end)();return P({id:(r=a.uuid)!=null?r:k.uuid(),moveIndex:u,stay:n,index:u},a)})};if(i.panoIndexList){let a=[];const{moveEffect:u,moveToFirstPanoEffect:o}=i;return this.privateState.moveToFirstPanoEffect=o,i.panoIndexList.forEach((n,r)=>{const l=(()=>{var c,v,p,I;const m=i.panoIndexList.slice(r).find(b=>b!==n);if(m===void 0)return;const h=(c=t[n])==null?void 0:c.position,f=(v=t[m])==null?void 0:v.position;if(!f||!h||((p=t[n])==null?void 0:p.floorIndex)!==((I=t[m])==null?void 0:I.floorIndex))return;const g=new T.Vector3().subVectors(f,h);return J(g)})();i.moveType===void 0||i.moveType==="justMove"?a.push({moveIndex:r,stay:i.stay,data:P({effect:"Move",panoIndex:n,moveEffect:u},l!=null?l:{})}):i.moveType==="moveAndRotate"&&(a.push({moveIndex:r,stay:i.stay,data:{effect:"Move",panoIndex:n,moveEffect:u}}),l&&a.push({moveIndex:r,stay:i.stay,data:P({effect:"Rotate",panoIndex:n},l)}))}),{keyframesId:k.uuid(),keyframes:a.map((n,r)=>P({id:k.uuid(),index:r},n))}}else throw new Error("format error: data no keyframes or no panoIndexList")})}handleEnable(e,t=!0){var i,a;e?((i=this.GuideLine)==null||i.enable(),this.hooks.emit("enable",{userAction:t})):((a=this.GuideLine)==null||a.disable(),this.changePlayState(!1,{userAction:t}),this.hooks.emit("disable",{userAction:t})),this.state.enabled=e}handleVisible(e,t=!0){var i,a;e?((i=this.GuideLine)==null||i.show(),this.actionIfStateIsEnabled(()=>this.hooks.emit("show",{userAction:t}))):((a=this.GuideLine)==null||a.hide(),this.actionIfStateIsEnabled(()=>this.hooks.emit("hide",{userAction:t}))),this.state.visible=e}changePlayState(e,t){this.actionIfStateIsEnabled(()=>{var i;return this.hooks.emit("playStateChange",e?"playing":"pause",{userAction:(i=t==null?void 0:t.userAction)!=null?i:!0})}),e?this.handlePlay(t):this.handlePause(t),this.state.playing=e}handlePlay(e){return y(this,null,function*(){var f;const{data:t,state:i,privateState:a,hooks:u}=this;if(a.playing||!(t!=null&&t.keyframes)||(t==null?void 0:t.keyframes.length)===0)return;const o=k.uuid();a.playId=o,a.playing=!0,a.broke=!1;const n=t.keyframes,r=this.getPauseData();(e==null?void 0:e.notEmitEvent)!==!0&&u.emit("play",{userAction:(f=e==null?void 0:e.userAction)!=null?f:!0});let l=!1;const h=yield(()=>y(this,null,function*(){var g,c;if((e==null?void 0:e.playFromIndex)!==void 0)return e.playFromIndex;if((e==null?void 0:e.playFromId)!==void 0)return(g=this.data)==null?void 0:g.keyframes.findIndex(v=>v.id===e.playFromId);if(r!=null&&r.keyframeId){const v=(c=this.data)==null?void 0:c.keyframes.find(p=>p.id===r.keyframeId);if(r!=null&&r.fiveState&&(yield this.move(r.fiveState,{moveEffect:a.moveToFirstPanoEffect})),v){if(v.data.effect==="Move")return v.index;if(v.data.effect==="Rotate"){const p=r.duration!==void 0?r.duration*(1-r.playedProgress):void 0;return yield this.playKeyframe(v,{duration:p}),l=!0,v.index+1}}}}))();this.clearPauseData();for(const g of n){if(a.broke||!i.playing||!a.playing||o!==a.playId)return;if(!(h!==void 0&&g.index<h))try{u.emit("playIndexChange",g.index,g),yield this.playKeyframe(g,{moveEffect:l===!1?a.moveToFirstPanoEffect:void 0,duration:800}),g.stay&&(yield Y(g.stay)),l===!1&&(l=!0)}catch(c){return Promise.resolve("broke")}}i.playing&&o===a.playId&&(this.setState({playing:!1},{userAction:!1}),u.emit("end"),this.clearPauseData())})}handlePause(e){var u;const{state:t,privateState:i,hooks:a}=this;t.playing=!1,i.playing!==!1&&(i.playing=!1,this.setPauseData(),i.broke||this.forceInteruptUpdateCamera(),(e==null?void 0:e.notEmitEvent)!==!0&&a.emit("pause",{userAction:(u=e==null?void 0:e.userAction)!=null?u:!0}))}playKeyframe(e,t){return y(this,null,function*(){var a;const{privateState:i}=this;return((a=this.privateState.currentPlayKeyframe)==null?void 0:a.keyframe.id)!==e.id&&(this.privateState.currentPlayKeyframe={keyframe:e}),i.currentPlayQueue.push(this.getPlayPromise(e,t)),this.actionPromiseQueue()})}addInterruptListener(e){const t=()=>{this.privateState.modeChanging||e()},i=e;return this.five.once("gesture",i),this.five.once("wantsChangeMode",t),()=>{this.five.off("gesture",i),this.five.once("wantsChangeMode",t)}}getPlayPromise(e,t){return y(this,null,function*(){var a;const i=e.data;if((a=t==null?void 0:t.duration)!=null||e.start!==void 0&&e.end!==void 0&&e.end-e.start,!!i)return new Promise((u,o)=>{let n=!1;this.addInterruptListener(()=>{if(!n)return this.hooks.emit("broke"),this.privateState.broke=!0,this.setState({playing:!1}),n=!0,o(new Error("play is interupted"))});try{if(n)return;const r=()=>{u(),n=!0};switch(i.effect){case"Move":this.move(i,t).then(r);break;case"Rotate":this.rotate(i,t).then(r);break;default:this.rotate(i,t).then(r)}}catch(r){}})})}actionPromiseQueue(){return y(this,null,function*(){const{privateState:e}=this;return new Promise((t,i)=>{if(e.currentPlayQueue.length===0){t();return}const a=e.currentPlayQueue.shift();if(!a){t();return}a.then(t,i)}).then(()=>e.currentPlayQueue.length===0?Promise.resolve():this.actionPromiseQueue())})}move(e,t){return y(this,null,function*(){if(e.mode&&e.mode!==this.five.currentMode)yield this.changeMode(e);else if(e.panoIndex!==this.five.panoIndex)yield this.changePano(e,t);else return Promise.resolve()})}rotate(e,t){return y(this,null,function*(){if(e.mode&&e.mode!==this.five.currentMode)yield this.changeMode({mode:e.mode,panoIndex:e.panoIndex});else if(e.panoIndex&&e.panoIndex!==this.five.panoIndex)return yield this.changePano(e,t);yield this.updateCamera(e,t==null?void 0:t.duration)})}updateCamera(e,t=800){return y(this,null,function*(){const{five:i,privateState:a,state:u}=this;let o=t;const n=(()=>{var h,f;const l=(h=u.config)==null?void 0:h.speedConfig,m=(f=e.rotateSpeed)!=null?f:l==null?void 0:l.rotateSpeed;if((l==null?void 0:l.rotateSpeedUnit)===void 0)return m;if(m!==void 0)return l.rotateSpeedUnit==="rad/ms"?m:m/1e3})();if(n){const l=this.five.getCurrentState();o=H(l,e)/n}a.currentPlayKeyframe&&(a.currentPlayKeyframe.originDuration=o);const r=this.getSpeededDuration(o);return new Promise(l=>{W(()=>i.updateCamera(e,r)),setTimeout(()=>l(),r)})})}changePano(e,t){return y(this,null,function*(){var m;const{five:i,privateState:a,state:u}=this;if(typeof e.panoIndex!="number"||e.panoIndex===i.panoIndex)return;i.getCurrentState().mode;const o=i.getCurrentState().mode!=="Panorama";o&&(this.privateState.modeChanging=!0);let n=(m=t==null?void 0:t.duration)!=null?m:800;const r=(()=>{var g,c;const h=(g=u.config)==null?void 0:g.speedConfig,f=(c=e.moveSpeed)!=null?c:h==null?void 0:h.moveSpeed;if((h==null?void 0:h.moveSpeedUnit)===void 0)return f;if(f!==void 0)return h.moveSpeedUnit==="m/ms"?f:f/1e3})();if(r&&typeof i.panoIndex=="number"&&typeof e.panoIndex=="number"){const h=i.work.observers[i.panoIndex].position,f=i.work.observers[e.panoIndex].position;n=h.distanceTo(f)/r}a.currentPlayKeyframe&&(a.currentPlayKeyframe.originDuration=n);const l=this.getSpeededDuration(n);yield new Promise(h=>{var f,g,c;i.moveToPano(e.panoIndex,{latitude:e.latitude,longitude:e.longitude,fov:e.fov,duration:l,effect:(c=(g=t==null?void 0:t.moveEffect)!=null?g:(f=this.state.config)==null?void 0:f.moveEffect)!=null?c:e.moveEffect,moveCancelCallback:()=>h(),moveEndCallback:()=>h()}),o&&i.once("panoArrived",()=>h())}),o&&(this.privateState.modeChanging=!1)})}changeSpeed(e,t=!0){const{state:i,privateState:a,hooks:u}=this,{currentPlayKeyframe:o}=a;if(u.emit("speedChange",e,{userAction:t}),i.playing&&o)try{const n=o.originDuration!==void 0?o.originDuration*(1-this.getProgress()):void 0,r=this.playKeyframe(o.keyframe,{duration:n});a.currentPlayQueue.push(r)}catch(n){}}getSpeededDuration(e){return e/this.state.speed}getProgress(){return this.five.controller.cameraMotion.progress}changeMode(e,t){return y(this,null,function*(){e.mode&&e.mode!==this.five.currentMode&&(this.privateState.modeChanging=!0,console.log("this.privateState.modeChanging",this.privateState.modeChanging),yield this.five.changeMode(e.mode,e,t),this.privateState.modeChanging=!1)})}forceInteruptUpdateCamera(){this.five.updateCamera({},0)}getPauseData(){var e,t;if((e=this.data)!=null&&e.keyframesId)return M.get((t=this.data)==null?void 0:t.keyframesId)}setPauseData(){var e,t,i,a;if((e=this.data)!=null&&e.keyframesId)return M.set((t=this.data)==null?void 0:t.keyframesId,{keyframeId:(i=this.privateState.currentPlayKeyframe)==null?void 0:i.keyframe.id,fiveState:this.five.getCurrentState(),duration:(a=this.privateState.currentPlayKeyframe)==null?void 0:a.originDuration,playedProgress:this.getProgress()})}clearPauseData(){var e,t;if((e=this.data)!=null&&e.keyframesId)return M.delete((t=this.data)==null?void 0:t.keyframesId)}clear(){this.clearPauseData(),this.privateState.currentPlayKeyframe=null}handleDispose(){var e,t;this.setState({playing:!1}),this.clearPauseData(),this.clear(),(e=this.GuideLine)==null||e.dispose(),this.GuideLine=void 0,(t=this.privateState.disposers)==null||t.forEach(i=>i==null?void 0:i())}actionIfStateIsEnabled(e,t){if(this.state.enabled)return e();t!=null&&t.warnLog&&Z()}waitFiveLoaded(){return y(this,null,function*(){return new Promise(e=>{if(this.five.work){e();return}this.five.once("loaded",()=>{e()})})})}setFiveLinearUpdateCamera(){!this.privateState.fiveOriginGetProgress||(this.five.controller.cameraMotion.getProgress=e=>{const t=this.five.controller.cameraMotion,i=e-t.startTime;return i<0?0:i>=t.duration?1:1-X(1,t.startVelocity,t.duration,i)})}setFiveOriginUpdateCamera(){!this.privateState.fiveOriginGetProgress||(this.five.controller.cameraMotion.getProgress=this.privateState.fiveOriginGetProgress)}}S(E,"PluginVersion",G);const O=s=>new E(s);exports.CruisePlugin=O;exports.CruisePluginController=E;exports.default=O;
@@ -0,0 +1,214 @@
1
+ var z = Object.defineProperty;
2
+ var S = Object.getOwnPropertySymbols;
3
+ var H = Object.prototype.hasOwnProperty, X = Object.prototype.propertyIsEnumerable;
4
+ var T = (n, s, e) => s in n ? z(n, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[s] = e, I = (n, s) => {
5
+ for (var e in s || (s = {}))
6
+ H.call(s, e) && T(n, e, s[e]);
7
+ if (S)
8
+ for (var e of S(s))
9
+ X.call(s, e) && T(n, e, s[e]);
10
+ return n;
11
+ };
12
+ var L = (n, s, e) => (T(n, typeof s != "symbol" ? s + "" : s, e), e);
13
+ var M = (n, s, e) => new Promise((i, r) => {
14
+ var d = (h) => {
15
+ try {
16
+ f(e.next(h));
17
+ } catch (m) {
18
+ r(m);
19
+ }
20
+ }, u = (h) => {
21
+ try {
22
+ f(e.throw(h));
23
+ } catch (m) {
24
+ r(m);
25
+ }
26
+ }, f = (h) => h.done ? i(h.value) : Promise.resolve(h.value).then(d, u);
27
+ f((e = e.apply(n, s)).next());
28
+ });
29
+ import { Controller as D } from "../chunks/es/BasePluginWithData.4bf4e649.es.js";
30
+ import * as p from "three";
31
+ import { Vector3 as R } from "three";
32
+ import j from "polyline-normals";
33
+ import { notNil as U } from "../chunks/es/isNil.212842d9.es.js";
34
+ import { equal as q } from "../chunks/es/equal.7db4a6f7.es.js";
35
+ import "../chunks/es/BasePlugin.813e25f7.es.js";
36
+ import "../chunks/es/Subscribe.c73e0f91.es.js";
37
+ const J = 2, Y = 3, Z = 3, K = 2;
38
+ function Q(n, s) {
39
+ var u, f, h;
40
+ if (n.length < 2)
41
+ return console.warn("positionList length must be greater than 1"), [];
42
+ const e = (u = s == null ? void 0 : s.unitWidth) != null ? u : 0.5, i = (f = s == null ? void 0 : s.unitHeight) != null ? f : 0.5, r = (h = s == null ? void 0 : s.skipPanoIndexMesh) != null ? h : !1, d = new p.CatmullRomCurve3(n, !1, "catmullrom", 1);
43
+ if (r) {
44
+ const m = Math.ceil(d.getLength() / i * 1.5), l = d.getPoints(m), v = [];
45
+ let o = 0;
46
+ const g = n;
47
+ return g.forEach((w, A) => {
48
+ let c = 0, t = 99999999;
49
+ l.forEach((b, a) => {
50
+ const G = b.distanceTo(w);
51
+ G < t && (c = a, t = G);
52
+ });
53
+ const E = l[c + 1], P = E == null ? void 0 : E.distanceTo(w), x = l[c - 1], N = x == null ? void 0 : x.distanceTo(w);
54
+ if (c > o && c - o > 1) {
55
+ let b = c;
56
+ x !== void 0 && N > 0.8 && (b = c + 1), x !== void 0 && N > 0.2 && N < 0.3 ? b = c : t > 0.2 && t < 0.3 && (b = c + 1);
57
+ let a = o;
58
+ if (E !== void 0 && P > 0.2 && P < 0.3 ? a = o + 1 : t > 0.2 && t < 0.3 && (a = o), l[a] && l[a + 1]) {
59
+ const y = g[A - 1];
60
+ if (y)
61
+ if (y.equals(l[a]))
62
+ a += 1;
63
+ else {
64
+ const W = new R().subVectors(l[a + 1], l[a]), $ = new R().subVectors(y, l[a]);
65
+ W.angleTo($) < Math.PI / 2 && (a += 1);
66
+ }
67
+ }
68
+ if (b < a || b - a <= 1)
69
+ return;
70
+ const G = l.slice(a, b), _ = k(G, e, i);
71
+ v.push(_), o = c;
72
+ }
73
+ }), v;
74
+ } else {
75
+ const m = Math.ceil(d.getLength()), l = d.getPoints(m);
76
+ return [k(l, e, i)];
77
+ }
78
+ }
79
+ function k(n, s, e) {
80
+ const i = s / 2, r = e / s, d = n.length, u = j(n.map((t) => [t.x, t.z])), h = (n.length - 1) * J * Y, m = 2 * d, l = m * Z, v = m * K, o = new Uint32Array(h), g = new Float32Array(l), w = new Float32Array(v);
81
+ n.forEach((t, E) => {
82
+ });
83
+ let A = 0;
84
+ for (let t = 0; t < n.length; t++) {
85
+ const [E, P] = u[t][0], x = n[t], { x: N, y: b, z: a } = x, G = new R(N + E * i, b + 0.05, a + P * i);
86
+ g[t * 6 + 0] = G.x, g[t * 6 + 1] = G.y, g[t * 6 + 2] = G.z;
87
+ const _ = new R(N - E * i, b + 0.05, a - P * i);
88
+ g[t * 6 + 3] = _.x, g[t * 6 + 4] = _.y, g[t * 6 + 5] = _.z, A += t > 0 ? n[t - 1].clone().sub(n[t]).length() : 0;
89
+ const y = A / s / r;
90
+ w[t * 4 + 0] = 0, w[t * 4 + 1] = y, w[t * 4 + 2] = 1, w[t * 4 + 3] = y, t !== n.length - 1 && (o[t * 6 + 0] = t * 2 + 0, o[t * 6 + 1] = t * 2 + 2, o[t * 6 + 2] = t * 2 + 1, o[t * 6 + 3] = t * 2 + 2, o[t * 6 + 4] = t * 2 + 3, o[t * 6 + 5] = t * 2 + 1);
91
+ }
92
+ const c = new p.BufferGeometry();
93
+ return c.setAttribute("position", new p.BufferAttribute(g, 3)), c.setAttribute("uv", new p.BufferAttribute(w, 2)), c.setIndex(new p.BufferAttribute(o, 1)), c;
94
+ }
95
+ function ee(n) {
96
+ const s = new p.TextureLoader().load(n.textureUrl);
97
+ return s.wrapS = s.wrapT = p.RepeatWrapping, s.encoding = p.sRGBEncoding, new p.MeshBasicMaterial({
98
+ color: 16777215,
99
+ map: s,
100
+ transparent: !0,
101
+ opacity: 0.8
102
+ });
103
+ }
104
+ const O = "v1.0.1", C = "GuideLinePlugin", B = `${C}@${O}`, V = (n) => `${B}--${n}`;
105
+ class F extends D {
106
+ constructor(e, i) {
107
+ super(e, i);
108
+ L(this, "state", {
109
+ visible: !1,
110
+ enabled: !0,
111
+ disposed: !1
112
+ });
113
+ L(this, "data");
114
+ L(this, "linesGroup");
115
+ L(this, "disposedErrorLog", () => {
116
+ console.error(`${B} is disposed`);
117
+ });
118
+ L(this, "actionWhenEnabled", (e) => {
119
+ if (this.state.enabled)
120
+ return e();
121
+ });
122
+ Object.assign(window, { [`__${C}_DEBUG__`]: this });
123
+ }
124
+ load(e, i, r = !0) {
125
+ return M(this, null, function* () {
126
+ const d = this.data ? JSON.parse(JSON.stringify(this.data)) : void 0, u = yield this.formatData(e);
127
+ this.hooks.emit("dataChange", u, d), this.data = u, this.linesGroup && this.five.scene.remove(this.linesGroup);
128
+ const f = this.getLinesGroup(u.routes);
129
+ !f || (this.linesGroup = f, yield this.waitFiveModelLoaded(), this.five.scene.add(f), this.handleVisible(this.state.visible), this.handleEnable(this.state.enabled), i && this.setState(i), this.five.needsRender = !0, this.hooks.emit("dataLoaded", u), console.log(`${B} loaded`, u));
130
+ });
131
+ }
132
+ formatData(e) {
133
+ return M(this, null, function* () {
134
+ return typeof e == "object" && e !== null && e.version && e.data ? e.data : e;
135
+ });
136
+ }
137
+ show(e) {
138
+ return M(this, null, function* () {
139
+ this.setState({ visible: !0 }, e);
140
+ });
141
+ }
142
+ hide(e) {
143
+ return M(this, null, function* () {
144
+ this.setState({ visible: !1 }, e);
145
+ });
146
+ }
147
+ enable(e) {
148
+ this.setState({ enabled: !0 }, e);
149
+ }
150
+ disable(e) {
151
+ this.setState({ enabled: !1 }, e);
152
+ }
153
+ dispose() {
154
+ this.setState({ disposed: !0 });
155
+ }
156
+ setState(e, i) {
157
+ var d;
158
+ if (this.state.disposed)
159
+ return this.disposedErrorLog();
160
+ const r = I({}, this.state);
161
+ this.state = I(I({}, this.state), e), e.disposed !== void 0 && e.disposed !== r.disposed && e.disposed && this.handleDispose(), e.visible !== void 0 && e.visible !== r.visible && this.handleVisible(e.visible, i == null ? void 0 : i.userAction), e.enabled !== void 0 && e.enabled !== r.enabled && this.handleEnable(e.enabled, i == null ? void 0 : i.userAction), q(r, this.state, { deep: !0 }) || (this.hooks.emit("stateChange", { state: this.state, prevState: r, userAction: (d = i == null ? void 0 : i.userAction) != null ? d : !0 }), this.five.needsRender = !0);
162
+ }
163
+ handleEnable(e, i = !0) {
164
+ this.linesGroup && (e ? (this.five.scene.add(this.linesGroup), this.actionWhenEnabled(() => this.hooks.emit("enable", { userAction: i }))) : (this.five.scene.remove(this.linesGroup), this.hooks.emit("disable", { userAction: i })));
165
+ }
166
+ handleVisible(e, i = !0) {
167
+ this.linesGroup && (e ? (this.linesGroup.visible = !0, this.actionWhenEnabled(() => this.hooks.emit("show", { userAction: i }))) : (this.linesGroup.visible = !1, this.actionWhenEnabled(() => this.hooks.emit("hide", { userAction: i }))));
168
+ }
169
+ handleDispose() {
170
+ this.linesGroup && this.five.scene.add(this.linesGroup);
171
+ }
172
+ getLinesGroup(e) {
173
+ const i = e.map(this.getLine.bind(this)).filter(U), r = new p.Group();
174
+ if (r.name = V("route-group"), i.length !== 0)
175
+ return r.add(...i), r;
176
+ }
177
+ getLine(e) {
178
+ var f, h, m, l;
179
+ const i = new p.Group(), r = e.panoIndexList.map((v) => {
180
+ var o;
181
+ return (o = this.five.work.observers[v]) == null ? void 0 : o.standingPosition;
182
+ }).filter(U), d = Q(r, {
183
+ skipPanoIndexMesh: (f = e.skipPanoIndexMesh) != null ? f : !0,
184
+ unitWidth: (h = e.unitWidth) != null ? h : 0.6,
185
+ unitHeight: (m = e.unitHeight) != null ? m : 0.4
186
+ });
187
+ if (!d)
188
+ return;
189
+ const u = ee({ textureUrl: (l = e.arrowTextureUrl) != null ? l : this.staticPrefix + "/release/web/arrow6.b6ce0c62.png" });
190
+ return d.forEach((v) => {
191
+ const o = new p.Mesh(v, u);
192
+ o.name = V("route-line-mesh"), i.add(o);
193
+ }), i;
194
+ }
195
+ waitFiveModelLoaded() {
196
+ return M(this, null, function* () {
197
+ return new Promise((e) => {
198
+ if (this.five.model.loaded) {
199
+ e();
200
+ return;
201
+ }
202
+ this.five.once("modelLoaded", () => {
203
+ e();
204
+ });
205
+ });
206
+ });
207
+ }
208
+ }
209
+ L(F, "lasestVersion", O);
210
+ const he = (n, s) => new F(n, s);
211
+ export {
212
+ he as GuideLinePlugin,
213
+ he as default
214
+ };
@@ -0,0 +1 @@
1
+ "use strict";var D=Object.defineProperty;var A=Object.getOwnPropertySymbols;var $=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable;var R=(t,s,e)=>s in t?D(t,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[s]=e,k=(t,s)=>{for(var e in s||(s={}))$.call(s,e)&&R(t,e,s[e]);if(A)for(var e of A(s))z.call(s,e)&&R(t,e,s[e]);return t};var y=(t,s,e)=>(R(t,typeof s!="symbol"?s+"":s,e),e);var P=(t,s,e)=>new Promise((n,r)=>{var c=u=>{try{f(e.next(u))}catch(b){r(b)}},h=u=>{try{f(e.throw(u))}catch(b){r(b)}},f=u=>u.done?n(u.value):Promise.resolve(u.value).then(c,h);f((e=e.apply(t,s)).next())});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const H=require("../chunks/cjs/BasePluginWithData.0a28882d.cjs.js"),j=require("three"),X=require("polyline-normals"),I=require("../chunks/cjs/isNil.b3a58990.cjs.js"),J=require("../chunks/cjs/equal.e9fcbd4e.cjs.js");require("../chunks/cjs/BasePlugin.57e5204f.cjs.js");require("../chunks/cjs/Subscribe.5398d5c6.cjs.js");const Y=t=>t&&typeof t=="object"&&"default"in t?t:{default:t};function Z(t){if(t&&t.__esModule)return t;const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const n=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(s,e,n.get?n:{enumerable:!0,get:()=>t[e]})}}return s.default=t,Object.freeze(s)}const p=Z(j),K=Y(X),Q=2,ee=3,te=3,se=2;function ie(t,s){var h,f,u;if(t.length<2)return console.warn("positionList length must be greater than 1"),[];const e=(h=s==null?void 0:s.unitWidth)!=null?h:.5,n=(f=s==null?void 0:s.unitHeight)!=null?f:.5,r=(u=s==null?void 0:s.skipPanoIndexMesh)!=null?u:!1,c=new p.CatmullRomCurve3(t,!1,"catmullrom",1);if(r){const b=Math.ceil(c.getLength()/n*1.5),l=c.getPoints(b),v=[];let o=0;const m=t;return m.forEach((w,T)=>{let d=0,i=99999999;l.forEach((g,a)=>{const G=g.distanceTo(w);G<i&&(d=a,i=G)});const E=l[d+1],x=E==null?void 0:E.distanceTo(w),_=l[d-1],L=_==null?void 0:_.distanceTo(w);if(d>o&&d-o>1){let g=d;_!==void 0&&L>.8&&(g=d+1),_!==void 0&&L>.2&&L<.3?g=d:i>.2&&i<.3&&(g=d+1);let a=o;if(E!==void 0&&x>.2&&x<.3?a=o+1:i>.2&&i<.3&&(a=o),l[a]&&l[a+1]){const N=m[T-1];if(N)if(N.equals(l[a]))a+=1;else{const F=new j.Vector3().subVectors(l[a+1],l[a]),C=new j.Vector3().subVectors(N,l[a]);F.angleTo(C)<Math.PI/2&&(a+=1)}}if(g<a||g-a<=1)return;const G=l.slice(a,g),M=O(G,e,n);v.push(M),o=d}}),v}else{const b=Math.ceil(c.getLength()),l=c.getPoints(b);return[O(l,e,n)]}}function O(t,s,e){const n=s/2,r=e/s,c=t.length,h=K.default(t.map(i=>[i.x,i.z])),u=(t.length-1)*Q*ee,b=2*c,l=b*te,v=b*se,o=new Uint32Array(u),m=new Float32Array(l),w=new Float32Array(v);t.forEach((i,E)=>{});let T=0;for(let i=0;i<t.length;i++){const[E,x]=h[i][0],_=t[i],{x:L,y:g,z:a}=_,G=new j.Vector3(L+E*n,g+.05,a+x*n);m[i*6+0]=G.x,m[i*6+1]=G.y,m[i*6+2]=G.z;const M=new j.Vector3(L-E*n,g+.05,a-x*n);m[i*6+3]=M.x,m[i*6+4]=M.y,m[i*6+5]=M.z,T+=i>0?t[i-1].clone().sub(t[i]).length():0;const N=T/s/r;w[i*4+0]=0,w[i*4+1]=N,w[i*4+2]=1,w[i*4+3]=N,i!==t.length-1&&(o[i*6+0]=i*2+0,o[i*6+1]=i*2+2,o[i*6+2]=i*2+1,o[i*6+3]=i*2+2,o[i*6+4]=i*2+3,o[i*6+5]=i*2+1)}const d=new p.BufferGeometry;return d.setAttribute("position",new p.BufferAttribute(m,3)),d.setAttribute("uv",new p.BufferAttribute(w,2)),d.setIndex(new p.BufferAttribute(o,1)),d}function ne(t){const s=new p.TextureLoader().load(t.textureUrl);return s.wrapS=s.wrapT=p.RepeatWrapping,s.encoding=p.sRGBEncoding,new p.MeshBasicMaterial({color:16777215,map:s,transparent:!0,opacity:.8})}const V="v1.0.1",U="GuideLinePlugin",S=`${U}@${V}`,B=t=>`${S}--${t}`;class q extends H.Controller{constructor(e,n){super(e,n);y(this,"state",{visible:!1,enabled:!0,disposed:!1});y(this,"data");y(this,"linesGroup");y(this,"disposedErrorLog",()=>{console.error(`${S} is disposed`)});y(this,"actionWhenEnabled",e=>{if(this.state.enabled)return e()});Object.assign(window,{[`__${U}_DEBUG__`]:this})}load(e,n,r=!0){return P(this,null,function*(){const c=this.data?JSON.parse(JSON.stringify(this.data)):void 0,h=yield this.formatData(e);this.hooks.emit("dataChange",h,c),this.data=h,this.linesGroup&&this.five.scene.remove(this.linesGroup);const f=this.getLinesGroup(h.routes);!f||(this.linesGroup=f,yield this.waitFiveModelLoaded(),this.five.scene.add(f),this.handleVisible(this.state.visible),this.handleEnable(this.state.enabled),n&&this.setState(n),this.five.needsRender=!0,this.hooks.emit("dataLoaded",h),console.log(`${S} loaded`,h))})}formatData(e){return P(this,null,function*(){return typeof e=="object"&&e!==null&&e.version&&e.data?e.data:e})}show(e){return P(this,null,function*(){this.setState({visible:!0},e)})}hide(e){return P(this,null,function*(){this.setState({visible:!1},e)})}enable(e){this.setState({enabled:!0},e)}disable(e){this.setState({enabled:!1},e)}dispose(){this.setState({disposed:!0})}setState(e,n){var c;if(this.state.disposed)return this.disposedErrorLog();const r=k({},this.state);this.state=k(k({},this.state),e),e.disposed!==void 0&&e.disposed!==r.disposed&&e.disposed&&this.handleDispose(),e.visible!==void 0&&e.visible!==r.visible&&this.handleVisible(e.visible,n==null?void 0:n.userAction),e.enabled!==void 0&&e.enabled!==r.enabled&&this.handleEnable(e.enabled,n==null?void 0:n.userAction),J.equal(r,this.state,{deep:!0})||(this.hooks.emit("stateChange",{state:this.state,prevState:r,userAction:(c=n==null?void 0:n.userAction)!=null?c:!0}),this.five.needsRender=!0)}handleEnable(e,n=!0){this.linesGroup&&(e?(this.five.scene.add(this.linesGroup),this.actionWhenEnabled(()=>this.hooks.emit("enable",{userAction:n}))):(this.five.scene.remove(this.linesGroup),this.hooks.emit("disable",{userAction:n})))}handleVisible(e,n=!0){this.linesGroup&&(e?(this.linesGroup.visible=!0,this.actionWhenEnabled(()=>this.hooks.emit("show",{userAction:n}))):(this.linesGroup.visible=!1,this.actionWhenEnabled(()=>this.hooks.emit("hide",{userAction:n}))))}handleDispose(){this.linesGroup&&this.five.scene.add(this.linesGroup)}getLinesGroup(e){const n=e.map(this.getLine.bind(this)).filter(I.notNil),r=new p.Group;if(r.name=B("route-group"),n.length!==0)return r.add(...n),r}getLine(e){var f,u,b,l;const n=new p.Group,r=e.panoIndexList.map(v=>{var o;return(o=this.five.work.observers[v])==null?void 0:o.standingPosition}).filter(I.notNil),c=ie(r,{skipPanoIndexMesh:(f=e.skipPanoIndexMesh)!=null?f:!0,unitWidth:(u=e.unitWidth)!=null?u:.6,unitHeight:(b=e.unitHeight)!=null?b:.4});if(!c)return;const h=ne({textureUrl:(l=e.arrowTextureUrl)!=null?l:this.staticPrefix+"/release/web/arrow6.b6ce0c62.png"});return c.forEach(v=>{const o=new p.Mesh(v,h);o.name=B("route-line-mesh"),n.add(o)}),n}waitFiveModelLoaded(){return P(this,null,function*(){return new Promise(e=>{if(this.five.model.loaded){e();return}this.five.once("modelLoaded",()=>{e()})})})}}y(q,"lasestVersion",V);const W=(t,s)=>new q(t,s);exports.GuideLinePlugin=W;exports.default=W;