@realsee/dnalogel 2.16.0-2 → 2.16.0-alpha.0

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 (427) hide show
  1. package/dist/CSS3DRenderPlugin/Controller.d.ts +0 -1
  2. package/dist/CruisePlugin/Controller.d.ts +2 -1
  3. package/dist/CruisePlugin/typing.d.ts +2 -12
  4. package/dist/GuideLinePlugin/Controller.d.ts +12 -20
  5. package/dist/GuideLinePlugin/index.d.ts +0 -4
  6. package/dist/GuideLinePlugin/typing.d.ts +1 -70
  7. package/dist/GuideLinePlugin/utils/getLineGeometries.d.ts +16 -0
  8. package/dist/PanoTagPlugin/typings/controller.d.ts +5 -2
  9. package/dist/PanoTagPlugin/typings/tag/Tag.d.ts +1 -3
  10. package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +4 -1
  11. package/dist/PanoTagPlugin/utils/model/mediaPlane.d.ts +69 -0
  12. package/dist/base/BasePlugin.d.ts +0 -1
  13. package/dist/index.cjs.js +115 -162
  14. package/dist/index.js +5234 -5141
  15. package/dist/index.umd.js +116 -163
  16. package/dist/shared-utils/five/FiveDomEvents.d.ts +11 -0
  17. package/dist/shared-utils/index.d.ts +0 -3
  18. package/dist/shared-utils/logger.d.ts +17 -0
  19. package/dist/shared-utils/math/pointIsRectangle.d.ts +2 -0
  20. package/dist/shared-utils/offscreenCanvas.d.ts +2 -0
  21. package/dist/shared-utils/three/Quadrangle.d.ts +20 -0
  22. package/dist/shared-utils/three/getPositionsByObjectFit.d.ts +2 -0
  23. package/dist/shared-utils/three/loadVideoTexture.d.ts +4 -0
  24. package/docs/assets/search.js +1 -1
  25. package/docs/classes/CSS3DRender.html +31 -34
  26. package/docs/classes/CruisePluginController.html +27 -46
  27. package/docs/classes/Magnifier.html +20 -23
  28. package/docs/classes/ModelRoomLabelController.html +11 -14
  29. package/docs/classes/Object3DHelperController.html +24 -43
  30. package/docs/classes/PaintBrush.html +15 -18
  31. package/docs/classes/PanoMeasurePluginLine.html +23 -26
  32. package/docs/classes/PanoMeasurePluginModel.html +22 -25
  33. package/docs/classes/PanoMeasurePluginPoint.html +14 -17
  34. package/docs/classes/PanoMeasurePluginPolyline.html +26 -29
  35. package/docs/classes/PanoTagPluginController.html +65 -84
  36. package/docs/classes/Util.BetterTween.html +8 -11
  37. package/docs/classes/Util.FivePointSelector.html +12 -15
  38. package/docs/classes/Util.Interval.html +12 -15
  39. package/docs/classes/Util.Magnifier.html +17 -20
  40. package/docs/classes/Util.PointDomHelper.html +11 -14
  41. package/docs/classes/Util.PointHelper.html +11 -14
  42. package/docs/classes/Util.Rectangle.html +13 -16
  43. package/docs/enums/CameraMovementEffect.html +7 -10
  44. package/docs/enums/ContentType.html +19 -22
  45. package/docs/enums/DIRECTION.html +9 -12
  46. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +9 -12
  47. package/docs/enums/DimensionType.html +7 -10
  48. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +8 -11
  49. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +9 -12
  50. package/docs/enums/PaintBrushTypeEnum.html +8 -11
  51. package/docs/enums/Rotation.html +8 -11
  52. package/docs/functions/CSS3DRenderPlugin.html +5 -7
  53. package/docs/functions/CameraMovementPlugin.html +5 -7
  54. package/docs/functions/CruisePlugin.html +5 -7
  55. package/docs/functions/GuideLinePlugin.html +6 -8
  56. package/docs/functions/ItemLabelPlugin.html +5 -7
  57. package/docs/functions/MapviewFloorplanPlugin.html +5 -7
  58. package/docs/functions/ModelChassisCompassPlugin.html +5 -7
  59. package/docs/functions/ModelEntryDoorGuidePlugin.html +5 -7
  60. package/docs/functions/ModelFloorplanPlugin.html +5 -7
  61. package/docs/functions/ModelItemLabelPlugin.html +5 -7
  62. package/docs/functions/ModelRoomLabelPlugin.html +5 -7
  63. package/docs/functions/ModelTVVideoPlugin.html +5 -7
  64. package/docs/functions/ModelViewPlugin.html +5 -7
  65. package/docs/functions/Object3DHelperPlugin.html +5 -7
  66. package/docs/functions/PanoCompassPlugin.html +5 -7
  67. package/docs/functions/PanoCursorRaycasterPlugin.html +5 -7
  68. package/docs/functions/PanoDoorLabelPlugin.html +5 -7
  69. package/docs/functions/PanoFloorplanRadarPlugin.html +5 -7
  70. package/docs/functions/PanoMeasurePlugin.html +5 -7
  71. package/docs/functions/PanoRulerPlugin.html +5 -7
  72. package/docs/functions/PanoRulerProPlugin.html +5 -7
  73. package/docs/functions/PanoSpatialTagPlugin.html +5 -7
  74. package/docs/functions/PanoTagPlugin.html +5 -7
  75. package/docs/functions/PanoVideoPlugin.html +5 -7
  76. package/docs/functions/TopviewFloorplanPlugin.html +5 -7
  77. package/docs/functions/Util.getCoordsFromClient.html +6 -13
  78. package/docs/functions/Util.getCoordsFromElement.html +6 -13
  79. package/docs/functions/Util.getFrameTime.html +6 -13
  80. package/docs/functions/Util.getIntersectFromRelativePosition.html +6 -13
  81. package/docs/functions/Util.getRaycasterFromFivePointer.html +6 -13
  82. package/docs/functions/Util.isNil.html +6 -13
  83. package/docs/functions/Util.nextFrame.html +6 -13
  84. package/docs/functions/Util.notNil.html +6 -13
  85. package/docs/functions/Util.requestAnimationFrameInterval.html +6 -13
  86. package/docs/functions/Util.tweenProgress.html +6 -13
  87. package/docs/functions/pluginFlag.html +6 -8
  88. package/docs/index.html +5 -7
  89. package/docs/interfaces/AddTagConfig.html +6 -9
  90. package/docs/interfaces/CSS3DRenderPluginEventMap.html +11 -14
  91. package/docs/interfaces/CSS3DRenderPluginState.html +8 -11
  92. package/docs/interfaces/CameraMovementPluginExportType.html +7 -10
  93. package/docs/interfaces/EventMap.html +15 -18
  94. package/docs/interfaces/FloorplanBounding.html +8 -11
  95. package/docs/interfaces/FloorplanData.html +10 -13
  96. package/docs/interfaces/FloorplanEntrance.html +11 -14
  97. package/docs/interfaces/FloorplanExtraObject.html +10 -13
  98. package/docs/interfaces/FloorplanExtraObject3D.html +8 -11
  99. package/docs/interfaces/FloorplanFloorData.html +9 -12
  100. package/docs/interfaces/FloorplanImagePosition.html +7 -10
  101. package/docs/interfaces/FloorplanObserver.html +9 -12
  102. package/docs/interfaces/FloorplanOutlineItem.html +9 -12
  103. package/docs/interfaces/FloorplanPosition.html +7 -10
  104. package/docs/interfaces/FloorplanRoomItem.html +13 -16
  105. package/docs/interfaces/FloorplanRoomLabelItem.html +7 -10
  106. package/docs/interfaces/FloorplanServerBounding.html +8 -11
  107. package/docs/interfaces/FloorplanServerComputedData.html +10 -13
  108. package/docs/interfaces/FloorplanServerData.html +7 -10
  109. package/docs/interfaces/FloorplanServerDoorItem.html +10 -13
  110. package/docs/interfaces/FloorplanServerDoorPosition.html +8 -11
  111. package/docs/interfaces/FloorplanServerEntrance.html +11 -14
  112. package/docs/interfaces/FloorplanServerFloorData.html +9 -12
  113. package/docs/interfaces/FloorplanServerImagePosition.html +7 -10
  114. package/docs/interfaces/FloorplanServerObserver.html +9 -12
  115. package/docs/interfaces/FloorplanServerOutlineItem.html +9 -12
  116. package/docs/interfaces/FloorplanServerPosition.html +7 -10
  117. package/docs/interfaces/FloorplanServerRoomItem.html +14 -17
  118. package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -10
  119. package/docs/interfaces/HelperOffset.html +8 -11
  120. package/docs/interfaces/ImagePlaneGroup.html +6 -9
  121. package/docs/interfaces/ItemLabelPluginData.html +6 -9
  122. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +11 -14
  123. package/docs/interfaces/ItemLabelPluginParametersType.html +9 -12
  124. package/docs/interfaces/MinMax.html +7 -10
  125. package/docs/interfaces/ModelChassisCompassPluginData.html +7 -10
  126. package/docs/interfaces/ModelChassisCompassPluginExportType.html +8 -11
  127. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +7 -10
  128. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +8 -11
  129. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +8 -11
  130. package/docs/interfaces/ModelItemLabelPluginData.html +6 -9
  131. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +11 -14
  132. package/docs/interfaces/ModelItemLabelPluginParametersType.html +7 -10
  133. package/docs/interfaces/ModelRoomLabelPluginData.html +6 -9
  134. package/docs/interfaces/ModelTVVideoPluginData.html +9 -12
  135. package/docs/interfaces/ModelTVVideoPluginExportType.html +8 -11
  136. package/docs/interfaces/ModelTVVideoPluginParameterType.html +6 -9
  137. package/docs/interfaces/ModelViewPluginExportType.html +11 -14
  138. package/docs/interfaces/Object3DHelperState.html +8 -11
  139. package/docs/interfaces/ObjectHelperControllers.html +9 -12
  140. package/docs/interfaces/PaintBrushAction.html +12 -15
  141. package/docs/interfaces/PaintBrushConfigs.html +12 -15
  142. package/docs/interfaces/PaintBrushState.html +10 -13
  143. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +10 -13
  144. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +6 -8
  145. package/docs/interfaces/PanoMeasureParameterType.html +14 -17
  146. package/docs/interfaces/PanoMeasurePluginLineJson.html +8 -11
  147. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +7 -10
  148. package/docs/interfaces/PanoMeasurePluginPointJson.html +7 -10
  149. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +8 -11
  150. package/docs/interfaces/PanoRulerPluginExportType.html +10 -13
  151. package/docs/interfaces/PanoRulerPluginOptions.html +7 -10
  152. package/docs/interfaces/PanoRulerPluginParameterType.html +8 -11
  153. package/docs/interfaces/PanoRulerProPluginExportType.html +9 -12
  154. package/docs/interfaces/PanoRulerProPluginOptions.html +7 -10
  155. package/docs/interfaces/PanoRulerProPluginParameterType.html +7 -10
  156. package/docs/interfaces/PanoRulerProPluginState.html +8 -11
  157. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +6 -8
  158. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +6 -8
  159. package/docs/interfaces/PanoSpatialTagPluginData.html +11 -14
  160. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +10 -13
  161. package/docs/interfaces/PanoSpatialTagPluginExportType.html +13 -16
  162. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +10 -13
  163. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +13 -16
  164. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +11 -14
  165. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +10 -13
  166. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +6 -9
  167. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +8 -11
  168. package/docs/interfaces/PanoVideoPluginType.PluginData.html +6 -9
  169. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +15 -18
  170. package/docs/interfaces/PanoVideoPluginType.PluginState.html +6 -9
  171. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +8 -11
  172. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +10 -13
  173. package/docs/interfaces/Point.html +8 -11
  174. package/docs/interfaces/Room.html +9 -12
  175. package/docs/interfaces/RoomInfo.html +7 -10
  176. package/docs/interfaces/RoomLabel.html +14 -17
  177. package/docs/interfaces/RoomRules.html +6 -8
  178. package/docs/interfaces/Rooms.html +6 -8
  179. package/docs/interfaces/Scissor.html +9 -12
  180. package/docs/interfaces/State.html +8 -11
  181. package/docs/interfaces/TagCacheInterface.html +12 -15
  182. package/docs/interfaces/TagConfig.html +11 -14
  183. package/docs/interfaces/TagGLTFObjectGroup.html +6 -9
  184. package/docs/interfaces/TagIconUrl.html +11 -14
  185. package/docs/interfaces/TagObjectGroup.html +6 -9
  186. package/docs/interfaces/TagStyle.html +6 -9
  187. package/docs/interfaces/Tags.html +10 -13
  188. package/docs/interfaces/TemporaryState.html +6 -9
  189. package/docs/interfaces/Util.MagnifierParameter.html +11 -14
  190. package/docs/interfaces/Util.MouseGroupParameter.html +8 -11
  191. package/docs/modules/PanoVideoPluginType.html +5 -8
  192. package/docs/modules/Util.html +6 -17
  193. package/docs/modules.html +7 -11
  194. package/docs/types/ArrayPosition.html +6 -8
  195. package/docs/types/AudioAppearance.html +6 -8
  196. package/docs/types/AudioTagTypeConfigKey.html +6 -8
  197. package/docs/types/CSS3DRenderExportType.html +6 -8
  198. package/docs/types/CSS3DRenderPluginExportType.html +6 -8
  199. package/docs/types/CSS3DRenderPluginParameterType.html +6 -8
  200. package/docs/types/ClassFunctionParameters.html +6 -8
  201. package/docs/types/Color.html +6 -8
  202. package/docs/types/ContentTypeConfigKey.html +6 -8
  203. package/docs/types/ContentTypeConfigKeySplit.html +6 -8
  204. package/docs/types/ContentTypeMap.html +6 -8
  205. package/docs/types/Create3DDomContainerReturnType.html +6 -8
  206. package/docs/types/Create3DElementReturnType.html +6 -8
  207. package/docs/types/CruisePluginExportType.html +6 -8
  208. package/docs/types/Direction-1.html +6 -8
  209. package/docs/types/Direction4.html +6 -8
  210. package/docs/types/ElementRenderer.html +288 -0
  211. package/docs/types/FloorplanRuleLabels.html +6 -8
  212. package/docs/types/FloorplanServerRuleLabels.html +6 -8
  213. package/docs/types/GuideLinePluginExportType.html +6 -8
  214. package/docs/types/HelperEventMap.html +6 -8
  215. package/docs/types/LoadTagConfig.html +6 -8
  216. package/docs/types/MapviewFloorplanPluginParameterType.html +6 -8
  217. package/docs/types/MapviewFloorplanPluginReturnType.html +6 -8
  218. package/docs/types/MediaData.html +6 -8
  219. package/docs/types/MediaStore.html +6 -8
  220. package/docs/types/ModelElement.html +6 -8
  221. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +6 -8
  222. package/docs/types/ModelFloorplanPluginParameterType.html +6 -8
  223. package/docs/types/ModelFloorplanPluginReturnType.html +6 -8
  224. package/docs/types/ModelRoomLabelPluginParameters.html +6 -8
  225. package/docs/types/ModelRoomLabelPluginReturnType.html +6 -8
  226. package/docs/types/MoveArgs.html +6 -8
  227. package/docs/types/MoveOpts.html +6 -8
  228. package/docs/types/Object3DHelperEventMap.html +6 -8
  229. package/docs/types/ObjectFit.html +6 -8
  230. package/docs/types/PaintBrushEventMap.html +6 -8
  231. package/docs/types/PanoCompassPluginData.html +6 -8
  232. package/docs/types/PanoCompassPluginExportType.html +6 -8
  233. package/docs/types/PanoCompassPluginParameterType.html +6 -8
  234. package/docs/types/PanoFloorplanRadarPluginParameterType.html +6 -8
  235. package/docs/types/PanoFloorplanRadarPluginReturnType.html +6 -8
  236. package/docs/types/PanoIndex.html +6 -8
  237. package/docs/types/PanoMeasurePluginEvent.html +6 -8
  238. package/docs/types/PanoMeasureReturnType.html +6 -8
  239. package/docs/types/PanoSpatialTagPluginId.html +6 -8
  240. package/docs/types/PanoTagPluginExportInterface.html +6 -8
  241. package/docs/types/PanoTagPluginParamsInterface.html +6 -8
  242. package/docs/types/PanoVideoPluginParameterType.html +6 -8
  243. package/docs/types/PanoVideoPluginReturnType.html +6 -8
  244. package/docs/types/PlaneTag.html +6 -8
  245. package/docs/types/PlaneTagElement.html +6 -8
  246. package/docs/types/Point2DElement.html +6 -8
  247. package/docs/types/Point2DTag.html +6 -8
  248. package/docs/types/Point3DElement.html +6 -8
  249. package/docs/types/Point3DTag.html +6 -8
  250. package/docs/types/PointTag.html +6 -8
  251. package/docs/types/PointTagElement.html +6 -8
  252. package/docs/types/Position.html +6 -8
  253. package/docs/types/RotateArgs.html +6 -8
  254. package/docs/types/RotateOpts.html +6 -8
  255. package/docs/types/RuleLabelsKey.html +6 -8
  256. package/docs/types/RuleLabelsValue.html +6 -8
  257. package/docs/types/StickType.html +6 -8
  258. package/docs/types/Tag.html +7 -9
  259. package/docs/types/Tag2D.html +6 -8
  260. package/docs/types/Tag3D.html +6 -8
  261. package/docs/types/TagContentType.html +6 -8
  262. package/docs/types/TagDimensionType.html +6 -8
  263. package/docs/types/TagElement.html +7 -9
  264. package/docs/types/TagEvents.html +6 -8
  265. package/docs/types/TagGLTFObject.html +7 -9
  266. package/docs/types/TagHooks.html +6 -8
  267. package/docs/types/TagIconSize.html +6 -8
  268. package/docs/types/TagId.html +6 -8
  269. package/docs/types/TopviewFloorplanPluginParameterType.html +6 -8
  270. package/docs/types/TopviewFloorplanPluginReturnType.html +6 -8
  271. package/docs/types/WorkCode.html +6 -8
  272. package/docs/variables/FLOOR_TYPE_MAP.html +6 -8
  273. package/docs/variables/PLUGIN.html +6 -8
  274. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +6 -8
  275. package/docs/variables/ROOM_TYPE_MAP.html +6 -8
  276. package/docs/variables/itemLabelPluginServerParams.html +6 -8
  277. package/docs/variables/modelItemLabelPluginServerParams.html +6 -8
  278. package/docs/variables/modelRoomLabelPluginServerParams.html +6 -8
  279. package/libs/CSS3DRenderPlugin/Controller.d.ts +0 -1
  280. package/libs/CSS3DRenderPlugin/Controller.js +31 -40
  281. package/libs/CSS3DRenderPlugin/index.js +6 -12
  282. package/libs/CruisePlugin/Controller.d.ts +2 -1
  283. package/libs/CruisePlugin/Controller.js +174 -197
  284. package/libs/CruisePlugin/index.js +10 -33
  285. package/libs/CruisePlugin/typing.d.ts +2 -12
  286. package/libs/GuideLinePlugin/Controller.d.ts +12 -20
  287. package/libs/GuideLinePlugin/Controller.js +88 -125
  288. package/libs/GuideLinePlugin/index.d.ts +0 -4
  289. package/libs/GuideLinePlugin/index.js +7 -33
  290. package/libs/GuideLinePlugin/typing.d.ts +1 -70
  291. package/libs/GuideLinePlugin/utils/getLineGeometries.d.ts +16 -0
  292. package/libs/GuideLinePlugin/utils/getLineGeometries.js +64 -0
  293. package/libs/ModelTVVideoPlugin/Plugin.js +45 -53
  294. package/libs/ModelTVVideoPlugin/index.js +5 -11
  295. package/libs/Object3DHelperPlugin/Controller.js +28 -33
  296. package/libs/Object3DHelperPlugin/index.js +13 -18
  297. package/libs/PanoCompassPlugin/Controller.js +6 -8
  298. package/libs/PanoCompassPlugin/index.js +10 -12
  299. package/libs/PanoDoorLabelPlugin/BaseController.js +28 -47
  300. package/libs/PanoDoorLabelPlugin/Controller.js +22 -40
  301. package/libs/PanoDoorLabelPlugin/index.js +3 -21
  302. package/libs/PanoMeasurePlugin/typings/index.js +1 -20
  303. package/libs/PanoSpatialTagPlugin/Plugin.js +3 -8
  304. package/libs/PanoSpatialTagPlugin/index.js +3 -8
  305. package/libs/PanoTagPlugin/Components/Common/Icon/Icon.js +4 -2
  306. package/libs/PanoTagPlugin/Components/Common/Media.js +49 -49
  307. package/libs/PanoTagPlugin/Components/Common/TagPoint.js +4 -2
  308. package/libs/PanoTagPlugin/Components/Common/Text/FlyMText.js +13 -11
  309. package/libs/PanoTagPlugin/Components/Common/Text/FlyText.js +4 -2
  310. package/libs/PanoTagPlugin/Components/Tag/AudioTag/AudioTag.js +4 -2
  311. package/libs/PanoTagPlugin/Components/Tag/AudioTag/index.js +4 -2
  312. package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.js +20 -18
  313. package/libs/PanoTagPlugin/Components/Tag/LinkTag.js +4 -2
  314. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +1 -1
  315. package/libs/PanoTagPlugin/Components/Tag/TextTag/TextTag.js +38 -36
  316. package/libs/PanoTagPlugin/Components/Tag/TextTag/index.js +25 -23
  317. package/libs/PanoTagPlugin/Components/Tag/index.js +26 -25
  318. package/libs/PanoTagPlugin/Components/TagContainer.js +4 -3
  319. package/libs/PanoTagPlugin/Components/TagItem.js +4 -3
  320. package/libs/PanoTagPlugin/controller/TagCache.js +22 -42
  321. package/libs/PanoTagPlugin/controller/TagComputer.js +4 -5
  322. package/libs/PanoTagPlugin/controller/TagRender.js +82 -63
  323. package/libs/PanoTagPlugin/controller/TagUtil.js +13 -20
  324. package/libs/PanoTagPlugin/controller/index.js +22 -15
  325. package/libs/PanoTagPlugin/index.js +17 -13
  326. package/libs/PanoTagPlugin/typings/controller.d.ts +5 -2
  327. package/libs/PanoTagPlugin/typings/index.js +6 -4
  328. package/libs/PanoTagPlugin/typings/tag/Tag.d.ts +1 -3
  329. package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +4 -1
  330. package/libs/PanoTagPlugin/typings/tag/Utils.js +2 -0
  331. package/libs/PanoTagPlugin/utils/addDebugPoints.js +4 -2
  332. package/libs/PanoTagPlugin/utils/index.js +35 -33
  333. package/libs/PanoTagPlugin/utils/model/mediaPlane.d.ts +69 -0
  334. package/libs/PanoTagPlugin/utils/model/mediaPlane.js +214 -0
  335. package/libs/PanoTagPlugin/utils/planeNormal.js +4 -2
  336. package/libs/PanoTagPlugin/utils/tagPosition.js +9 -7
  337. package/libs/PanoVideoPlugin/Controller.js +3 -4
  338. package/libs/PanoVideoPlugin/VideoMeshController.js +1 -1
  339. package/libs/PanoVideoPlugin/index.js +6 -7
  340. package/libs/base/BasePlugin.d.ts +0 -1
  341. package/libs/base/BasePlugin.js +10 -21
  342. package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +38 -57
  343. package/libs/floorplan/MapviewFloorplanPlugin/index.js +3 -22
  344. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +29 -48
  345. package/libs/floorplan/ModelFloorplanPlugin/index.js +3 -22
  346. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +11 -31
  347. package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +3 -23
  348. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +40 -59
  349. package/libs/floorplan/TopviewFloorplanPlugin/index.js +3 -22
  350. package/libs/floorplan/index.js +0 -6
  351. package/libs/index.js +120 -118
  352. package/libs/shared-utils/five/FiveDomEvents.d.ts +11 -0
  353. package/libs/shared-utils/five/FiveDomEvents.js +77 -0
  354. package/libs/shared-utils/index.d.ts +0 -3
  355. package/libs/shared-utils/index.js +29 -36
  356. package/libs/shared-utils/logger.d.ts +17 -0
  357. package/libs/shared-utils/logger.js +16 -0
  358. package/libs/shared-utils/math/pointIsRectangle.d.ts +2 -0
  359. package/libs/shared-utils/math/pointIsRectangle.js +10 -0
  360. package/libs/shared-utils/offscreenCanvas.d.ts +2 -0
  361. package/libs/shared-utils/offscreenCanvas.js +12 -0
  362. package/libs/shared-utils/three/PointDomHelper.js +1 -1
  363. package/libs/shared-utils/three/Quadrangle.d.ts +20 -0
  364. package/libs/shared-utils/three/Quadrangle.js +41 -0
  365. package/libs/shared-utils/three/getPositionsByObjectFit.d.ts +2 -0
  366. package/libs/shared-utils/three/getPositionsByObjectFit.js +20 -0
  367. package/libs/shared-utils/three/loadTexture.js +19 -21
  368. package/libs/shared-utils/three/loadVideoTexture.d.ts +4 -0
  369. package/libs/shared-utils/three/loadVideoTexture.js +14 -0
  370. package/package.json +2 -2
  371. package/dist/GuideLinePlugin/GuideLineItem.d.ts +0 -26
  372. package/dist/GuideLinePlugin/GuideLineModeItem.d.ts +0 -64
  373. package/dist/GuideLinePlugin/utils/createLineGeometry.d.ts +0 -19
  374. package/dist/GuideLinePlugin/utils/index.d.ts +0 -7
  375. package/dist/PanoTagPlugin/utils/model/imagePlane.d.ts +0 -9
  376. package/dist/shared-utils/five/index.d.ts +0 -1
  377. package/dist/shared-utils/five/mode.d.ts +0 -3
  378. package/dist/shared-utils/isAbsoluteURL.d.ts +0 -1
  379. package/dist/shared-utils/log.d.ts +0 -2
  380. package/docs/classes/GuideLineItem.GuideLineItem.html +0 -169
  381. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +0 -344
  382. package/docs/functions/Util.isAbsoluteURL.html +0 -79
  383. package/docs/functions/Util.isModelLike.html +0 -79
  384. package/docs/functions/Util.isPanoramaLike.html +0 -79
  385. package/docs/functions/Util.uuid.html +0 -76
  386. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +0 -97
  387. package/docs/interfaces/GuideLinePluginType.EventMap.html +0 -258
  388. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +0 -92
  389. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +0 -87
  390. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +0 -108
  391. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +0 -85
  392. package/docs/interfaces/GuideLinePluginType.PluginDataV1.html +0 -76
  393. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +0 -71
  394. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +0 -82
  395. package/docs/interfaces/GuideLinePluginType.PluginState.html +0 -99
  396. package/docs/interfaces/GuideLinePluginType.Route.html +0 -103
  397. package/docs/interfaces/GuideLinePluginType.RouteConfig.html +0 -92
  398. package/docs/modules/GuideLineItem.html +0 -53
  399. package/docs/modules/GuideLineModeItem.html +0 -53
  400. package/docs/modules/GuideLinePluginType.html +0 -99
  401. package/docs/types/GuideLinePluginType.GuideLineItem.html +0 -67
  402. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +0 -65
  403. package/docs/types/GuideLinePluginType.GuideLineStyle.html +0 -67
  404. package/docs/types/GuideLinePluginType.PathItem.html +0 -67
  405. package/docs/types/GuideLinePluginType.PluginData.html +0 -65
  406. package/libs/GuideLinePlugin/GuideLineItem/index.js +0 -35
  407. package/libs/GuideLinePlugin/GuideLineItem.d.ts +0 -26
  408. package/libs/GuideLinePlugin/GuideLineItem.js +0 -31
  409. package/libs/GuideLinePlugin/GuideLineModeItem/index.js +0 -231
  410. package/libs/GuideLinePlugin/GuideLineModeItem.d.ts +0 -64
  411. package/libs/GuideLinePlugin/GuideLineModeItem.js +0 -29
  412. package/libs/GuideLinePlugin/utils/createLineGeometry.d.ts +0 -19
  413. package/libs/GuideLinePlugin/utils/createLineGeometry.js +0 -35
  414. package/libs/GuideLinePlugin/utils/dataFormatter.d.ts +0 -2
  415. package/libs/GuideLinePlugin/utils/dataFormatter.js +0 -6
  416. package/libs/GuideLinePlugin/utils/index.d.ts +0 -7
  417. package/libs/GuideLinePlugin/utils/index.js +0 -32
  418. package/libs/PanoTagPlugin/utils/model/imagePlane.d.ts +0 -9
  419. package/libs/PanoTagPlugin/utils/model/imagePlane.js +0 -33
  420. package/libs/shared-utils/five/index.d.ts +0 -1
  421. package/libs/shared-utils/five/index.js +0 -1
  422. package/libs/shared-utils/five/mode.d.ts +0 -3
  423. package/libs/shared-utils/five/mode.js +0 -11
  424. package/libs/shared-utils/isAbsoluteURL.d.ts +0 -1
  425. package/libs/shared-utils/isAbsoluteURL.js +0 -6
  426. package/libs/shared-utils/log.d.ts +0 -2
  427. package/libs/shared-utils/log.js +0 -10
@@ -1,40 +1,17 @@
1
1
  import o from "./Controller.js";
2
- import { default as X } from "./Controller.js";
2
+ import { default as y } from "./Controller.js";
3
3
  import "../base/BasePluginWithData.js";
4
4
  import "../base/BasePlugin.js";
5
5
  import "../shared-utils/Subscribe.js";
6
- import "@realsee/five";
7
- import "hammerjs";
8
- import "three";
9
- import "@tweenjs/tween.js";
10
- import "../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
11
- import "../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
12
- import "three/examples/jsm/renderers/CSS3DRenderer";
13
- import "../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
14
- import "../CSS3DRenderPlugin/utils/createResizeObserver.js";
15
- import "../CSS3DRenderPlugin/utils/even.js";
16
- import "../CSS3DRenderPlugin/utils/positionToVector3.js";
17
- import "../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
18
- import "../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
19
- import "../shared-utils/three/centerPoint.js";
20
- import "../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
21
- import "../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
22
- import "../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
23
- import "../shared-utils/isAbsoluteURL.js";
24
- import "../shared-utils/animationFrame/BetterTween.js";
25
- import "../shared-utils/animationFrame/index.js";
26
6
  import "../GuideLinePlugin/index.js";
27
7
  import "../GuideLinePlugin/Controller.js";
8
+ import "three";
9
+ import "../GuideLinePlugin/utils/getLineGeometries.js";
10
+ import "polyline-normals";
11
+ import "../GuideLinePlugin/utils/getArrowMaterial.js";
12
+ import "../shared-utils/isNil.js";
28
13
  import "../shared-utils/equal.js";
29
14
  import "../shared-utils/isTruelyObject.js";
30
- import "../GuideLinePlugin/GuideLineItem/index.js";
31
- import "object-assign-deep";
32
- import "../GuideLinePlugin/GuideLineModeItem/index.js";
33
- import "../shared-utils/log.js";
34
- import "../GuideLinePlugin/utils/createLineGeometry.js";
35
- import "polyline-normals";
36
- import "../shared-utils/five/mode.js";
37
- import "../shared-utils/three/loadTexture.js";
38
15
  import "../shared-utils/uuid.js";
39
16
  import "./utils/coordinatesAngle.js";
40
17
  import "./utils/coordinatesToVector.js";
@@ -43,9 +20,9 @@ import "./utils/vectorToCoordinates.js";
43
20
  import "./utils/formatRad.js";
44
21
  import "./utils/linerValue.js";
45
22
  import "./utils/sleep.js";
46
- const U = (r) => new o(r);
23
+ const k = (r) => new o(r);
47
24
  export {
48
- U as CruisePlugin,
49
- X as CruisePluginController,
50
- U as default
25
+ k as CruisePlugin,
26
+ y as CruisePluginController,
27
+ k as default
51
28
  };
@@ -1,8 +1,7 @@
1
1
  import type { MovePanoOptions, Pose, State } from '@realsee/five';
2
2
  import type CruisePlugin from '.';
3
3
  import type * as BasePluginWithData from '../base/BasePluginWithData';
4
- import type * as BasePlugin from '../base/BasePlugin';
5
- import type { PluginDataV1 as GuideLinePluginData } from '../GuideLinePlugin/typing';
4
+ import type { PluginData as GuideLinePluginData } from '../GuideLinePlugin/typing';
6
5
  declare type FivePoseAndState = Partial<Pose> & Partial<State>;
7
6
  export declare type MoveEffect = MovePanoOptions['effect'];
8
7
  export declare type CruiseData = {
@@ -27,12 +26,7 @@ export interface CruiseKeyframe {
27
26
  export interface PluginData {
28
27
  keyframesId: string;
29
28
  keyframes: CruiseKeyframe[];
30
- guildPluginOptions?: {
31
- arrowTextureUrl?: string;
32
- skipPanoIndexMesh?: boolean;
33
- unitWidth?: number;
34
- unitHeight?: number;
35
- };
29
+ guildPluginOptions?: GuideLinePluginData['config'];
36
30
  }
37
31
  export interface PluginServerData extends BasePluginWithData.ServerData {
38
32
  data: {
@@ -141,9 +135,5 @@ export interface EventMap extends BasePluginWithData.EventMap<PluginState, Plugi
141
135
  userAction: boolean;
142
136
  }) => void;
143
137
  }
144
- export interface Config extends BasePlugin.Config {
145
- /** 漫游时是否加载路线 */
146
- useGuideLine?: boolean;
147
- }
148
138
  export declare type CruisePluginExportType = ReturnType<typeof CruisePlugin>;
149
139
  export {};
@@ -1,13 +1,10 @@
1
1
  import * as BasePluginWithData from '../base/BasePluginWithData';
2
2
  import type { Five } from '@realsee/five';
3
3
  import type { EventMap, PluginData, PluginServerData, PluginState } from './typing';
4
- import type * as PluginType from './typing';
5
4
  import type { Config } from '../base/BasePlugin';
6
- import { GuideLineItem } from './GuideLineItem';
7
5
  export declare const pluginFlag: (name: string) => string;
8
6
  export default class Controller extends BasePluginWithData.Controller<PluginState, EventMap, PluginServerData, PluginData> {
9
- readonly version = "v1.1.0";
10
- readonly name = "GuideLinePlugin";
7
+ static lasestVersion: string;
11
8
  state: {
12
9
  visible: boolean;
13
10
  enabled: boolean;
@@ -15,45 +12,40 @@ export default class Controller extends BasePluginWithData.Controller<PluginStat
15
12
  };
16
13
  protected data?: PluginData;
17
14
  private linesGroup?;
18
- /** GuideLineItem 索引 */
19
- private itemMap;
20
15
  constructor(five: Five, config?: Config);
21
16
  load(serverData: PluginServerData | PluginData, state?: PluginState, userAction?: boolean): Promise<void>;
22
- formatData(serverData: any): Promise<PluginType.PluginDataV2>;
23
- /** 展示插件 */
17
+ formatData(serverData: any): Promise<PluginData>;
24
18
  show(options?: {
25
19
  userAction?: boolean;
26
20
  }): Promise<void>;
27
- /** 隐藏插件 */
28
21
  hide(options?: {
29
22
  userAction?: boolean;
30
23
  }): Promise<void>;
31
- /** 开启插件 */
32
24
  enable(options?: {
33
25
  userAction?: boolean;
34
26
  }): void;
35
- /** 关闭插件 */
36
27
  disable(options?: {
37
28
  userAction?: boolean;
38
29
  }): void;
39
- /** 销毁插件 */
40
30
  dispose(): void;
41
31
  setState(state: Partial<PluginState>, options?: {
42
32
  userAction?: boolean;
43
33
  }): void;
44
- /** 添加一个 GuideLineItem */
45
- addGuideLineItem(data?: PluginType.GuideLineItem): GuideLineItem;
46
- /** 获取 Plugin 内的 GuideLineItem */
47
- getGuideLineItemByID(id: string | number): GuideLineItem;
48
- removeGuideLineItem(item: GuideLineItem): void;
49
- clear(): void;
50
34
  private handleEnable;
51
35
  private handleVisible;
52
36
  private handleDispose;
37
+ /**
38
+ * 获取多条路线的 Mesh Group
39
+ */
40
+ private getLinesGroup;
41
+ /**
42
+ * 获取单条路线
43
+ */
44
+ private getLine;
53
45
  private disposedErrorLog;
46
+ private actionWhenEnabled;
54
47
  /**
55
48
  * @description: Wait for five model ready
56
49
  */
57
- private waitFiveLoaded;
58
- private getDataWithoutVersion;
50
+ private waitFiveModelLoaded;
59
51
  }
@@ -1,126 +1,81 @@
1
- var g = Object.defineProperty;
2
- var b = Object.getOwnPropertySymbols;
3
- var L = Object.prototype.hasOwnProperty, w = Object.prototype.propertyIsEnumerable;
4
- var u = (s, t, e) => t in s ? g(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e, m = (s, t) => {
1
+ var y = Object.defineProperty;
2
+ var x = Object.getOwnPropertySymbols;
3
+ var I = Object.prototype.hasOwnProperty, N = Object.prototype.propertyIsEnumerable;
4
+ var f = (r, t, e) => t in r ? y(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e, m = (r, t) => {
5
5
  for (var e in t || (t = {}))
6
- L.call(t, e) && u(s, e, t[e]);
7
- if (b)
8
- for (var e of b(t))
9
- w.call(t, e) && u(s, e, t[e]);
10
- return s;
6
+ I.call(t, e) && f(r, e, t[e]);
7
+ if (x)
8
+ for (var e of x(t))
9
+ N.call(t, e) && f(r, e, t[e]);
10
+ return r;
11
11
  };
12
- var n = (s, t, e) => (u(s, typeof t != "symbol" ? t + "" : t, e), e);
13
- var l = (s, t, e) => new Promise((i, r) => {
14
- var d = (a) => {
12
+ var d = (r, t, e) => (f(r, typeof t != "symbol" ? t + "" : t, e), e);
13
+ var u = (r, t, e) => new Promise((i, s) => {
14
+ var a = (o) => {
15
15
  try {
16
- h(e.next(a));
17
- } catch (p) {
18
- r(p);
16
+ h(e.next(o));
17
+ } catch (l) {
18
+ s(l);
19
19
  }
20
- }, o = (a) => {
20
+ }, n = (o) => {
21
21
  try {
22
- h(e.throw(a));
23
- } catch (p) {
24
- r(p);
22
+ h(e.throw(o));
23
+ } catch (l) {
24
+ s(l);
25
25
  }
26
- }, h = (a) => a.done ? i(a.value) : Promise.resolve(a.value).then(d, o);
27
- h((e = e.apply(s, t)).next());
26
+ }, h = (o) => o.done ? i(o.value) : Promise.resolve(o.value).then(a, n);
27
+ h((e = e.apply(r, t)).next());
28
28
  });
29
- import { Controller as G } from "../base/BasePluginWithData.js";
30
- import "three";
31
- import { equal as I } from "../shared-utils/equal.js";
32
- import { GuideLineItem as D } from "./GuideLineItem/index.js";
33
- import "polyline-normals";
34
- import "@realsee/five";
35
- import "hammerjs";
36
- import "@tweenjs/tween.js";
37
- import "../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
38
- import "../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
39
- import { uuid as S } from "../shared-utils/uuid.js";
40
- import "../shared-utils/animationFrame/BetterTween.js";
41
- import "../shared-utils/three/loadTexture.js";
29
+ import { Controller as W } from "../base/BasePluginWithData.js";
30
+ import * as v from "three";
31
+ import U from "./utils/getLineGeometries.js";
32
+ import { getArrowMaterial as _ } from "./utils/getArrowMaterial.js";
33
+ import { notNil as P } from "../shared-utils/isNil.js";
34
+ import { equal as A } from "../shared-utils/equal.js";
42
35
  import "../base/BasePlugin.js";
43
36
  import "../shared-utils/Subscribe.js";
44
- import "../shared-utils/isAbsoluteURL.js";
37
+ import "polyline-normals";
45
38
  import "../shared-utils/isTruelyObject.js";
46
- import "object-assign-deep";
47
- import "./GuideLineModeItem/index.js";
48
- import "../shared-utils/log.js";
49
- import "./utils/createLineGeometry.js";
50
- import "../shared-utils/five/mode.js";
51
- import "../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
52
- import "three/examples/jsm/renderers/CSS3DRenderer";
53
- import "../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
54
- import "../CSS3DRenderPlugin/utils/createResizeObserver.js";
55
- import "../CSS3DRenderPlugin/utils/even.js";
56
- import "../CSS3DRenderPlugin/utils/positionToVector3.js";
57
- import "../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
58
- import "../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
59
- import "../shared-utils/three/centerPoint.js";
60
- import "../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
61
- import "../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
62
- import "../shared-utils/animationFrame/index.js";
63
- const v = "v1.1.0", c = "GuideLinePlugin", f = `${c}@${v}`, ne = (s) => `${f}--${s}`;
64
- function _(s) {
65
- return Object.hasOwn(s, "routes");
66
- }
67
- class de extends G {
39
+ const $ = "v1.1.0", g = "GuideLinePlugin", c = `${g}@${$}`, M = (r) => `${c}--${r}`;
40
+ class V extends W {
68
41
  constructor(e, i) {
69
42
  super(e, i);
70
- n(this, "version", v);
71
- n(this, "name", c);
72
- n(this, "state", {
43
+ d(this, "state", {
73
44
  visible: !1,
74
45
  enabled: !0,
75
46
  disposed: !1
76
47
  });
77
- n(this, "data");
78
- n(this, "linesGroup");
79
- n(this, "itemMap", /* @__PURE__ */ new Map());
80
- n(this, "disposedErrorLog", () => {
81
- console.error(`${f} is disposed`);
48
+ d(this, "data");
49
+ d(this, "linesGroup");
50
+ d(this, "disposedErrorLog", () => {
51
+ console.error(`${c} is disposed`);
82
52
  });
83
- Object.assign(window, { [`__${c}_DEBUG__`]: this });
84
- }
85
- load(e, i, r = !0) {
86
- return l(this, null, function* () {
87
- if (this.state.disposed)
88
- return;
89
- this.clear();
90
- const d = this.data ? JSON.parse(JSON.stringify(this.data)) : void 0, o = yield this.formatData(e);
91
- this.hooks.emit("dataChange", o, d), this.data = o, o.lines.forEach((h) => {
92
- this.addGuideLineItem(h);
93
- }), yield this.waitFiveLoaded(), this.handleVisible(this.state.visible), this.handleEnable(this.state.enabled), i && this.setState(i, { userAction: r }), this.hooks.emit("dataLoaded", o), console.info(`${f} loaded`, o);
53
+ d(this, "actionWhenEnabled", (e) => {
54
+ if (this.state.enabled)
55
+ return e();
56
+ });
57
+ Object.assign(window, { [`__${g}_DEBUG__`]: this });
58
+ }
59
+ load(e, i, s = !0) {
60
+ return u(this, null, function* () {
61
+ const a = this.data ? JSON.parse(JSON.stringify(this.data)) : void 0, n = yield this.formatData(e);
62
+ this.hooks.emit("dataChange", n, a), this.data = n, this.linesGroup && this.five.scene.remove(this.linesGroup);
63
+ const h = this.getLinesGroup(n.routes, n.config);
64
+ !h || (this.linesGroup = h, yield this.waitFiveModelLoaded(), this.five.scene.add(h), this.handleVisible(this.state.visible), this.handleEnable(this.state.enabled), i && this.setState(i), this.five.needsRender = !0, this.hooks.emit("dataLoaded", n), console.info(`${c} loaded`, n));
94
65
  });
95
66
  }
96
67
  formatData(e) {
97
- return l(this, null, function* () {
98
- const i = this.getDataWithoutVersion(e);
99
- if (_(i)) {
100
- const { routes: r } = i;
101
- return { lines: r.map((o) => {
102
- const { panoIndexList: h } = o;
103
- return {
104
- render_id: S(),
105
- pano_group: h,
106
- panorama_style: {
107
- visible: !0,
108
- width: 0.6,
109
- unit_length: 0.4
110
- }
111
- };
112
- }) };
113
- }
114
- return i;
68
+ return u(this, null, function* () {
69
+ return typeof e == "object" && e !== null && e.version && e.data ? e.data : e;
115
70
  });
116
71
  }
117
72
  show(e) {
118
- return l(this, null, function* () {
73
+ return u(this, null, function* () {
119
74
  this.setState({ visible: !0 }, e);
120
75
  });
121
76
  }
122
77
  hide(e) {
123
- return l(this, null, function* () {
78
+ return u(this, null, function* () {
124
79
  this.setState({ visible: !1 }, e);
125
80
  });
126
81
  }
@@ -134,54 +89,62 @@ class de extends G {
134
89
  this.setState({ disposed: !0 });
135
90
  }
136
91
  setState(e, i) {
137
- var d;
92
+ var a;
138
93
  if (this.state.disposed)
139
94
  return this.disposedErrorLog();
140
- const r = m({}, this.state);
141
- this.state = m(m({}, 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), I(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);
142
- }
143
- addGuideLineItem(e) {
144
- const i = e.render_id || e.id, r = new D({ five: this.five, id: i, plugin: this });
145
- return this.itemMap.set(i, r), e && r.setData(e), r;
146
- }
147
- getGuideLineItemByID(e) {
148
- return this.itemMap.get(e);
149
- }
150
- removeGuideLineItem(e) {
151
- this.itemMap.delete(e.id), e.panoramaItem.dispose(), e.modelItem.dispose();
152
- }
153
- clear() {
154
- this.itemMap.forEach((e) => {
155
- this.removeGuideLineItem(e);
156
- });
95
+ const s = m({}, this.state);
96
+ this.state = m(m({}, this.state), e), e.disposed !== void 0 && e.disposed !== s.disposed && e.disposed && this.handleDispose(), e.visible !== void 0 && e.visible !== s.visible && this.handleVisible(e.visible, i == null ? void 0 : i.userAction), e.enabled !== void 0 && e.enabled !== s.enabled && this.handleEnable(e.enabled, i == null ? void 0 : i.userAction), A(s, this.state, { deep: !0 }) || (this.hooks.emit("stateChange", { state: this.state, prevState: s, userAction: (a = i == null ? void 0 : i.userAction) != null ? a : !0 }), this.five.needsRender = !0);
157
97
  }
158
98
  handleEnable(e, i = !0) {
159
- this.hooks.emit(e ? "enable" : "disable", { userAction: i });
99
+ 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 })));
160
100
  }
161
101
  handleVisible(e, i = !0) {
162
- !this.state.enabled || this.hooks.emit(e ? "show" : "hide", { userAction: i });
102
+ 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 }))));
163
103
  }
164
104
  handleDispose() {
165
105
  this.linesGroup && this.five.scene.remove(this.linesGroup), this.hooks.emit("dispose");
166
106
  }
167
- waitFiveLoaded() {
168
- return l(this, null, function* () {
107
+ getLinesGroup(e, i) {
108
+ const s = e.map((n) => this.getLine(n, i)).filter(P), a = new v.Group();
109
+ if (a.name = M("route-group"), s.length !== 0)
110
+ return a.add(...s), a;
111
+ }
112
+ getLine(e, i) {
113
+ var o, l, G, w, E, L, k, S;
114
+ const s = new v.Group(), a = e.panoIndexList.map((b) => {
115
+ var p;
116
+ return (p = this.five.work.observers[b]) == null ? void 0 : p.standingPosition;
117
+ }).filter(P), n = U(a, {
118
+ skipPanoIndexMesh: (l = (o = e.skipPanoIndexMesh) != null ? o : i == null ? void 0 : i.skipPanoIndexMesh) != null ? l : !0,
119
+ unitWidth: (w = (G = e.unitWidth) != null ? G : i == null ? void 0 : i.unitWidth) != null ? w : 0.6,
120
+ unitHeight: (L = (E = e.unitHeight) != null ? E : i == null ? void 0 : i.unitHeight) != null ? L : 0.4
121
+ });
122
+ if (!n)
123
+ return;
124
+ const h = _({
125
+ textureUrl: (S = (k = e.arrowTextureUrl) != null ? k : i == null ? void 0 : i.arrowTextureUrl) != null ? S : this.staticPrefix + "/release/web/arrow6.b6ce0c62.png"
126
+ });
127
+ return n.forEach((b) => {
128
+ const p = new v.Mesh(b, h);
129
+ p.name = M("route-line-mesh"), s.add(p);
130
+ }), s;
131
+ }
132
+ waitFiveModelLoaded() {
133
+ return u(this, null, function* () {
169
134
  return new Promise((e) => {
170
- if (this.five.work) {
135
+ if (this.five.model.loaded) {
171
136
  e();
172
137
  return;
173
138
  }
174
- this.five.once("loaded", () => {
139
+ this.five.once("modelLoaded", () => {
175
140
  e();
176
141
  });
177
142
  });
178
143
  });
179
144
  }
180
- getDataWithoutVersion(e) {
181
- return typeof e == "object" && e !== null && e.version && e.data ? e.data : e;
182
- }
183
145
  }
146
+ d(V, "lasestVersion", $);
184
147
  export {
185
- de as default,
186
- ne as pluginFlag
148
+ V as default,
149
+ M as pluginFlag
187
150
  };
@@ -1,9 +1,5 @@
1
1
  import type { Five } from '@realsee/five';
2
2
  import Controller from './Controller';
3
- import type * as GuideLinePluginType from './typing';
4
- import * as GuideLineItem from './GuideLineItem';
5
- import * as GuideLineModeItem from './GuideLineModeItem';
6
3
  export declare const GuideLinePlugin: (five: Five, config?: ConstructorParameters<typeof Controller>[1]) => Controller;
7
4
  export type { GuideLinePluginExportType } from './typing';
8
5
  export default GuideLinePlugin;
9
- export { GuideLineItem, GuideLineModeItem, GuideLinePluginType };
@@ -1,42 +1,16 @@
1
1
  import t from "./Controller.js";
2
- import { GuideLineItem$1 as J } from "./GuideLineItem/index.js";
3
- import { GuideLineModeItem$1 as N } from "./GuideLineModeItem/index.js";
4
2
  import "../base/BasePluginWithData.js";
5
3
  import "../base/BasePlugin.js";
6
4
  import "../shared-utils/Subscribe.js";
7
- import "@realsee/five";
8
- import "hammerjs";
9
5
  import "three";
10
- import "@tweenjs/tween.js";
11
- import "../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
12
- import "../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
13
- import "three/examples/jsm/renderers/CSS3DRenderer";
14
- import "../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
15
- import "../CSS3DRenderPlugin/utils/createResizeObserver.js";
16
- import "../CSS3DRenderPlugin/utils/even.js";
17
- import "../CSS3DRenderPlugin/utils/positionToVector3.js";
18
- import "../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
19
- import "../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
20
- import "../shared-utils/three/centerPoint.js";
21
- import "../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
22
- import "../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
23
- import "../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
24
- import "../shared-utils/isAbsoluteURL.js";
25
- import "../shared-utils/animationFrame/BetterTween.js";
26
- import "../shared-utils/animationFrame/index.js";
6
+ import "./utils/getLineGeometries.js";
7
+ import "polyline-normals";
8
+ import "./utils/getArrowMaterial.js";
9
+ import "../shared-utils/isNil.js";
27
10
  import "../shared-utils/equal.js";
28
11
  import "../shared-utils/isTruelyObject.js";
29
- import "polyline-normals";
30
- import "../shared-utils/uuid.js";
31
- import "../shared-utils/three/loadTexture.js";
32
- import "object-assign-deep";
33
- import "../shared-utils/log.js";
34
- import "./utils/createLineGeometry.js";
35
- import "../shared-utils/five/mode.js";
36
- const E = (i, o) => new t(i, o);
12
+ const c = (o, r) => new t(o, r);
37
13
  export {
38
- J as GuideLineItem,
39
- N as GuideLineModeItem,
40
- E as GuideLinePlugin,
41
- E as default
14
+ c as GuideLinePlugin,
15
+ c as default
42
16
  };
@@ -1,5 +1,4 @@
1
1
  import type GuideLinePlugin from '.';
2
- import type { RequireAtLeastOne } from 'type-fest';
3
2
  import type * as BasePluginWithData from '../base/BasePluginWithData';
4
3
  export interface RouteConfig {
5
4
  arrowTextureUrl?: string;
@@ -10,15 +9,10 @@ export interface RouteConfig {
10
9
  export interface Route extends RouteConfig {
11
10
  panoIndexList: number[];
12
11
  }
13
- export interface PluginDataV1 {
12
+ export interface PluginData {
14
13
  routes: Route[];
15
14
  config?: RouteConfig;
16
15
  }
17
- export interface PluginDataV2 {
18
- /** 路线数据 */
19
- lines: GuideLineItem[];
20
- }
21
- export declare type PluginData = PluginDataV1 | PluginDataV2;
22
16
  export interface PluginServerData extends BasePluginWithData.ServerData {
23
17
  data: PluginData;
24
18
  }
@@ -41,66 +35,3 @@ export interface EventMap extends BasePluginWithData.EventMap<PluginState, Plugi
41
35
  }) => void;
42
36
  }
43
37
  export declare type GuideLinePluginExportType = ReturnType<typeof GuideLinePlugin>;
44
- export interface LineGeometriesConfig {
45
- /** 是否越过点位圆环。可以开启此选项来使越过点位,使其不会重叠显示 */
46
- skipPanoIndexMesh?: boolean;
47
- unitWidth?: number;
48
- unitLength?: number;
49
- }
50
- export declare type GuideLineModeItemMode = 'panorama' | 'model';
51
- export interface GuideLineItemContainer<T> {
52
- onChildRemoved?: (child: T) => void;
53
- }
54
- /** 单条路线的数据 */
55
- export declare type GuideLineItem = RequireAtLeastOne<{
56
- /** server ID */
57
- id?: number;
58
- /** client ID,不存在时,会使用 String(id) 作为 client ID */
59
- render_id?: string;
60
- /** 路线名称 */
61
- name?: string;
62
- /** 可展示的楼层 */
63
- visible_floor_indexes?: null | number[];
64
- /** 点位数组 */
65
- pano_group?: number[];
66
- /** 路径:由多个曲线组合而成的路径,路径为空时,会使用 pano_group 自动创建 */
67
- path?: PathItem[];
68
- /** 全景态使用的数据 */
69
- panorama_style?: GuideLineStyle;
70
- /** 模型态使用的数据 */
71
- model_style?: GuideLineStyle;
72
- }, 'id' | 'render_id'>;
73
- /** 影响形状的样式 */
74
- export interface GuideLineGeometryStyle {
75
- /** scale 之前的路线宽度,默认值是 0.5 */
76
- width?: number;
77
- /** 每一段 scale 之前的 长度,默认值是 0.5 */
78
- unit_length?: number;
79
- /** 线宽缩放 */
80
- scale?: number;
81
- }
82
- /** 影响材质的样式 */
83
- export interface GuideLineMaterialStyle {
84
- /** 是否可见 */
85
- visible?: boolean;
86
- /** rgb 颜色 [r, g, b] */
87
- color?: number[];
88
- /** 透明度 */
89
- opacity?: number;
90
- /** 贴图 */
91
- texture?: {
92
- /** 贴图地址 */
93
- url: string;
94
- };
95
- }
96
- /** 不同模态下的路线数据 */
97
- export declare type GuideLineStyle = GuideLineGeometryStyle & GuideLineMaterialStyle;
98
- /** 目前只支持 CatmullRomCurve3 */
99
- export declare type PathItem = CatmullRomCurve3;
100
- export interface CatmullRomCurve3 {
101
- type: 'CatmullRomCurve3';
102
- points: number[][];
103
- closed?: boolean;
104
- curve_type?: string;
105
- tension?: number;
106
- }
@@ -0,0 +1,16 @@
1
+ import * as THREE from 'three';
2
+ export interface LineGeometriesConfig {
3
+ /** 是否越过点位圆环。可以开启此选项来使越过点位,使其不会重叠显示 */
4
+ skipPanoIndexMesh?: boolean;
5
+ unitWidth?: number;
6
+ unitHeight?: number;
7
+ }
8
+ /**
9
+ * @description: 根据坐标获取平滑曲线
10
+ * @param {Vector3[]} positionList 坐标点数组
11
+ * @param {number} config.unitWidth 宽
12
+ * @param {number} config.unitHeight 高
13
+ * @param {boolean} config.skipPanoIndexMesh 是否越过点位圆环。可以开启此选项来使越过点位,使其不会重叠显示
14
+ * @return {THREE.BufferGeometry[]} THREE.BufferGeometry[]
15
+ */
16
+ export default function getLineGeometries(positionList: THREE.Vector3[], config?: LineGeometriesConfig): THREE.BufferGeometry[];