@realsee/dnalogel 2.11.2 → 2.12.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 (342) hide show
  1. package/dist/CSS3DRenderPlugin/utils/index.d.ts +0 -1
  2. package/{libs/PanoTagPlugin/controller/TagCacheController.d.ts → dist/PanoTagPlugin/controller/TagCache.d.ts} +7 -7
  3. package/dist/PanoTagPlugin/controller/TagComputer.d.ts +3 -36
  4. package/dist/PanoTagPlugin/controller/TagRender.d.ts +57 -0
  5. package/dist/PanoTagPlugin/controller/TagUtil.d.ts +56 -0
  6. package/dist/PanoTagPlugin/controller/index.d.ts +16 -72
  7. package/dist/PanoTagPlugin/typings/controller.d.ts +15 -16
  8. package/dist/PanoTagPlugin/typings/tag/TagConfig.d.ts +2 -0
  9. package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +12 -0
  10. package/dist/PanoTagPlugin/utils/device.d.ts +1 -0
  11. package/dist/PanoTagPlugin/utils/model/imageModel.d.ts +8 -0
  12. package/dist/PanoTagPlugin/utils/tag/tagCheck.d.ts +7 -7
  13. package/dist/index.cjs.js +46 -46
  14. package/dist/index.js +3317 -3258
  15. package/dist/index.umd.js +46 -46
  16. package/docs/assets/search.js +1 -1
  17. package/docs/classes/CSS3DRender.html +31 -31
  18. package/docs/classes/CruisePluginController.html +25 -25
  19. package/docs/classes/Magnifier.html +20 -20
  20. package/docs/classes/ModelRoomLabelController.html +11 -11
  21. package/docs/classes/Object3DHelperController.html +25 -25
  22. package/docs/classes/PaintBrush.html +15 -15
  23. package/docs/classes/PanoMeasurePluginLine.html +23 -23
  24. package/docs/classes/PanoMeasurePluginModel.html +22 -22
  25. package/docs/classes/PanoMeasurePluginPoint.html +14 -14
  26. package/docs/classes/PanoMeasurePluginPolyline.html +26 -26
  27. package/docs/classes/PanoTagPluginController.html +108 -295
  28. package/docs/classes/Util.BetterTween.html +8 -8
  29. package/docs/classes/Util.FivePointSelector.html +12 -12
  30. package/docs/classes/Util.Interval.html +12 -12
  31. package/docs/classes/Util.Magnifier.html +17 -17
  32. package/docs/classes/Util.PointDomHelper.html +11 -11
  33. package/docs/classes/Util.PointHelper.html +11 -11
  34. package/docs/classes/Util.Rectangle.html +13 -13
  35. package/docs/enums/CameraMovementEffect.html +7 -7
  36. package/docs/enums/ContentType.html +19 -19
  37. package/docs/enums/DIRECTION.html +9 -9
  38. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +9 -9
  39. package/docs/enums/DimensionType.html +7 -7
  40. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +8 -8
  41. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +9 -9
  42. package/docs/enums/PaintBrushTypeEnum.html +8 -8
  43. package/docs/enums/PointType.html +7 -7
  44. package/docs/enums/Rotation.html +8 -8
  45. package/docs/functions/CSS3DRenderPlugin.html +7 -5
  46. package/docs/functions/CameraMovementPlugin.html +7 -5
  47. package/docs/functions/CruisePlugin.html +7 -5
  48. package/docs/functions/GuideLinePlugin.html +8 -6
  49. package/docs/functions/ItemLabelPlugin.html +7 -5
  50. package/docs/functions/MapviewFloorplanPlugin.html +7 -5
  51. package/docs/functions/ModelChassisCompassPlugin.html +7 -5
  52. package/docs/functions/ModelEntryDoorGuidePlugin.html +7 -5
  53. package/docs/functions/ModelFloorplanPlugin.html +7 -5
  54. package/docs/functions/ModelItemLabelPlugin.html +7 -5
  55. package/docs/functions/ModelRoomLabelPlugin.html +7 -5
  56. package/docs/functions/ModelTVVideoPlugin.html +7 -5
  57. package/docs/functions/ModelViewPlugin.html +7 -5
  58. package/docs/functions/Object3DHelperPlugin.html +7 -5
  59. package/docs/functions/PanoCompassPlugin.html +7 -5
  60. package/docs/functions/PanoCursorRaycasterPlugin.html +7 -5
  61. package/docs/functions/PanoDoorLabelPlugin.html +7 -5
  62. package/docs/functions/PanoFloorplanRadarPlugin.html +7 -5
  63. package/docs/functions/PanoMeasurePlugin.html +7 -5
  64. package/docs/functions/PanoRulerPlugin.html +7 -5
  65. package/docs/functions/PanoRulerProPlugin.html +7 -5
  66. package/docs/functions/PanoSpatialTagPlugin.html +7 -5
  67. package/docs/functions/PanoTagPlugin.html +10 -13
  68. package/docs/functions/PanoVideoPlugin.html +7 -5
  69. package/docs/functions/TopviewFloorplanPlugin.html +7 -5
  70. package/docs/functions/Util.getCoordsFromClient.html +5 -5
  71. package/docs/functions/Util.getCoordsFromElement.html +5 -5
  72. package/docs/functions/Util.getFrameTime.html +5 -5
  73. package/docs/functions/Util.getIntersectFromRelativePosition.html +5 -5
  74. package/docs/functions/Util.getRaycasterFromFivePointer.html +5 -5
  75. package/docs/functions/Util.isNil.html +5 -5
  76. package/docs/functions/Util.nextFrame.html +5 -5
  77. package/docs/functions/Util.notNil.html +5 -5
  78. package/docs/functions/Util.requestAnimationFrameInterval.html +5 -5
  79. package/docs/functions/Util.tweenProgress.html +5 -5
  80. package/docs/functions/pluginFlag.html +8 -6
  81. package/docs/index.html +7 -5
  82. package/docs/interfaces/AddTagConfig.html +6 -6
  83. package/docs/interfaces/CSS3DRenderPluginEventMap.html +11 -11
  84. package/docs/interfaces/CSS3DRenderPluginState.html +8 -8
  85. package/docs/interfaces/CameraMovementPluginExportType.html +7 -7
  86. package/docs/interfaces/EventMap.html +15 -15
  87. package/docs/interfaces/FloorplanBounding.html +8 -8
  88. package/docs/interfaces/FloorplanData.html +10 -10
  89. package/docs/interfaces/FloorplanEntrance.html +11 -11
  90. package/docs/interfaces/FloorplanExtraObject.html +10 -10
  91. package/docs/interfaces/FloorplanExtraObject3D.html +8 -8
  92. package/docs/interfaces/FloorplanFloorData.html +9 -9
  93. package/docs/interfaces/FloorplanImagePosition.html +7 -7
  94. package/docs/interfaces/FloorplanObserver.html +9 -9
  95. package/docs/interfaces/FloorplanOutlineItem.html +9 -9
  96. package/docs/interfaces/FloorplanPosition.html +7 -7
  97. package/docs/interfaces/FloorplanRoomItem.html +13 -13
  98. package/docs/interfaces/FloorplanRoomLabelItem.html +7 -7
  99. package/docs/interfaces/FloorplanServerBounding.html +8 -8
  100. package/docs/interfaces/FloorplanServerComputedData.html +10 -10
  101. package/docs/interfaces/FloorplanServerData.html +7 -7
  102. package/docs/interfaces/FloorplanServerDoorItem.html +10 -10
  103. package/docs/interfaces/FloorplanServerDoorPosition.html +8 -8
  104. package/docs/interfaces/FloorplanServerEntrance.html +11 -11
  105. package/docs/interfaces/FloorplanServerFloorData.html +9 -9
  106. package/docs/interfaces/FloorplanServerImagePosition.html +7 -7
  107. package/docs/interfaces/FloorplanServerObserver.html +9 -9
  108. package/docs/interfaces/FloorplanServerOutlineItem.html +9 -9
  109. package/docs/interfaces/FloorplanServerPosition.html +7 -7
  110. package/docs/interfaces/FloorplanServerRoomItem.html +14 -14
  111. package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -7
  112. package/docs/interfaces/HelperOffset.html +8 -8
  113. package/docs/interfaces/ItemLabelPluginData.html +6 -6
  114. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +11 -11
  115. package/docs/interfaces/ItemLabelPluginParametersType.html +9 -9
  116. package/docs/interfaces/MinMax.html +7 -7
  117. package/docs/interfaces/ModelChassisCompassPluginData.html +7 -7
  118. package/docs/interfaces/ModelChassisCompassPluginExportType.html +8 -8
  119. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +7 -7
  120. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +8 -8
  121. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +8 -8
  122. package/docs/interfaces/ModelItemLabelPluginData.html +6 -6
  123. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +11 -11
  124. package/docs/interfaces/ModelItemLabelPluginParametersType.html +7 -7
  125. package/docs/interfaces/ModelRoomLabelPluginData.html +6 -6
  126. package/docs/interfaces/ModelTVVideoPluginData.html +9 -9
  127. package/docs/interfaces/ModelTVVideoPluginExportType.html +8 -8
  128. package/docs/interfaces/ModelTVVideoPluginParameterType.html +6 -6
  129. package/docs/interfaces/ModelViewPluginExportType.html +11 -11
  130. package/docs/interfaces/Object3DHelperState.html +8 -8
  131. package/docs/interfaces/ObjectHelperControllers.html +9 -9
  132. package/docs/interfaces/PaintBrushAction.html +12 -12
  133. package/docs/interfaces/PaintBrushConfigs.html +12 -12
  134. package/docs/interfaces/PaintBrushState.html +10 -10
  135. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +10 -10
  136. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +8 -6
  137. package/docs/interfaces/PanoMeasureParameterType.html +12 -12
  138. package/docs/interfaces/PanoMeasurePluginLineJson.html +8 -8
  139. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +7 -7
  140. package/docs/interfaces/PanoMeasurePluginPointJson.html +7 -7
  141. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +8 -8
  142. package/docs/interfaces/PanoRulerPluginExportType.html +10 -10
  143. package/docs/interfaces/PanoRulerPluginOptions.html +7 -7
  144. package/docs/interfaces/PanoRulerPluginParameterType.html +8 -8
  145. package/docs/interfaces/PanoRulerProPluginExportType.html +9 -9
  146. package/docs/interfaces/PanoRulerProPluginOptions.html +7 -7
  147. package/docs/interfaces/PanoRulerProPluginParameterType.html +7 -7
  148. package/docs/interfaces/PanoRulerProPluginState.html +8 -8
  149. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +8 -6
  150. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +8 -6
  151. package/docs/interfaces/PanoSpatialTagPluginData.html +11 -11
  152. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +10 -10
  153. package/docs/interfaces/PanoSpatialTagPluginExportType.html +13 -13
  154. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +10 -10
  155. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +13 -13
  156. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +11 -11
  157. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +10 -10
  158. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +6 -6
  159. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +8 -8
  160. package/docs/interfaces/PanoVideoPluginType.PluginData.html +6 -6
  161. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +9 -9
  162. package/docs/interfaces/PanoVideoPluginType.PluginState.html +6 -6
  163. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +8 -8
  164. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +10 -10
  165. package/docs/interfaces/Point.html +8 -8
  166. package/docs/interfaces/Room.html +9 -9
  167. package/docs/interfaces/RoomInfo.html +7 -7
  168. package/docs/interfaces/RoomLabel.html +14 -14
  169. package/docs/interfaces/RoomRules.html +8 -6
  170. package/docs/interfaces/Rooms.html +8 -6
  171. package/docs/interfaces/Scissor.html +9 -9
  172. package/docs/interfaces/State.html +8 -8
  173. package/docs/interfaces/{TagCache.html → TagCacheInterface.html} +30 -30
  174. package/docs/interfaces/TagConfig.html +19 -10
  175. package/docs/interfaces/TagGLTFObjectGroup.html +68 -0
  176. package/docs/interfaces/TagIconUrl.html +11 -11
  177. package/docs/interfaces/TagObjectGroup.html +68 -0
  178. package/docs/interfaces/TagStyle.html +6 -6
  179. package/docs/interfaces/Tags.html +9 -9
  180. package/docs/interfaces/TemporaryState.html +6 -6
  181. package/docs/interfaces/Util.MagnifierParameter.html +11 -11
  182. package/docs/interfaces/Util.MouseGroupParameter.html +8 -8
  183. package/docs/modules/PanoVideoPluginType.html +5 -5
  184. package/docs/modules/Util.html +5 -5
  185. package/docs/modules.html +10 -6
  186. package/docs/types/ArrayPosition.html +8 -6
  187. package/docs/types/AudioAppearance.html +8 -6
  188. package/docs/types/AudioTagTypeConfigKey.html +8 -6
  189. package/docs/types/CSS3DRenderExportType.html +8 -6
  190. package/docs/types/CSS3DRenderPluginExportType.html +8 -6
  191. package/docs/types/CSS3DRenderPluginParameterType.html +8 -6
  192. package/docs/types/ClassFunctionParameters.html +8 -6
  193. package/docs/types/Color.html +8 -6
  194. package/docs/types/ContentTypeConfigKey.html +8 -6
  195. package/docs/types/ContentTypeConfigKeySplit.html +8 -6
  196. package/docs/types/ContentTypeMap.html +8 -6
  197. package/docs/types/Create3DDomContainerReturnType.html +8 -6
  198. package/docs/types/Create3DElementReturnType.html +8 -6
  199. package/docs/types/CruisePluginExportType.html +8 -6
  200. package/docs/types/Direction-1.html +8 -6
  201. package/docs/types/Direction4.html +8 -6
  202. package/docs/types/FloorplanRuleLabels.html +8 -6
  203. package/docs/types/FloorplanServerRuleLabels.html +8 -6
  204. package/docs/types/GuideLinePluginExportType.html +8 -6
  205. package/docs/types/HelperEventMap.html +8 -6
  206. package/docs/types/LoadTagConfig.html +8 -6
  207. package/docs/types/MapviewFloorplanPluginParameterType.html +8 -6
  208. package/docs/types/MapviewFloorplanPluginReturnType.html +8 -6
  209. package/docs/types/MediaData.html +8 -6
  210. package/docs/types/MediaStore.html +8 -6
  211. package/docs/types/ModelElement.html +8 -6
  212. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +8 -6
  213. package/docs/types/ModelFloorplanPluginParameterType.html +8 -6
  214. package/docs/types/ModelFloorplanPluginReturnType.html +8 -6
  215. package/docs/types/ModelRoomLabelPluginParameters.html +8 -6
  216. package/docs/types/ModelRoomLabelPluginReturnType.html +8 -6
  217. package/docs/types/MoveArgs.html +8 -6
  218. package/docs/types/MoveOpts.html +8 -6
  219. package/docs/types/Object3DHelperEventMap.html +8 -6
  220. package/docs/types/ObjectFit.html +8 -6
  221. package/docs/types/PaintBrushEventMap.html +8 -6
  222. package/docs/types/PanoCompassPluginData.html +8 -6
  223. package/docs/types/PanoCompassPluginExportType.html +8 -6
  224. package/docs/types/PanoCompassPluginParameterType.html +8 -6
  225. package/docs/types/PanoFloorplanRadarPluginParameterType.html +8 -6
  226. package/docs/types/PanoFloorplanRadarPluginReturnType.html +8 -6
  227. package/docs/types/PanoIndex.html +8 -6
  228. package/docs/types/PanoMeasurePluginEvent.html +8 -6
  229. package/docs/types/PanoMeasureReturnType.html +8 -6
  230. package/docs/types/PanoSpatialTagPluginId.html +8 -6
  231. package/docs/types/PanoTagPluginExportInterface.html +8 -6
  232. package/docs/types/PanoTagPluginParamsInterface.html +8 -6
  233. package/docs/types/PanoVideoPluginParameterType.html +8 -6
  234. package/docs/types/PanoVideoPluginReturnType.html +8 -6
  235. package/docs/types/PlaneTag.html +8 -6
  236. package/docs/types/PlaneTagElement.html +8 -6
  237. package/docs/types/Point2DElement.html +8 -6
  238. package/docs/types/Point2DTag.html +8 -6
  239. package/docs/types/Point3DElement.html +8 -6
  240. package/docs/types/Point3DTag.html +8 -6
  241. package/docs/types/PointTag.html +8 -6
  242. package/docs/types/PointTagElement.html +8 -6
  243. package/docs/types/Position.html +8 -6
  244. package/docs/types/RotateArgs.html +8 -6
  245. package/docs/types/RotateOpts.html +8 -6
  246. package/docs/types/RuleLabelsKey.html +8 -6
  247. package/docs/types/RuleLabelsValue.html +8 -6
  248. package/docs/types/StickType.html +8 -6
  249. package/docs/types/Tag.html +8 -6
  250. package/docs/types/Tag2D.html +8 -6
  251. package/docs/types/Tag3D.html +8 -6
  252. package/docs/types/TagContentType.html +8 -6
  253. package/docs/types/TagDimensionType.html +8 -6
  254. package/docs/types/TagElement.html +9 -7
  255. package/docs/types/TagEvents.html +8 -6
  256. package/docs/types/TagGLTFObject.html +8 -6
  257. package/docs/types/TagHooks.html +8 -6
  258. package/docs/types/TagIconSize.html +8 -6
  259. package/docs/types/TagId.html +8 -6
  260. package/docs/types/TagPointType.html +8 -6
  261. package/docs/types/TopviewFloorplanPluginParameterType.html +8 -6
  262. package/docs/types/TopviewFloorplanPluginReturnType.html +8 -6
  263. package/docs/types/WorkCode.html +8 -6
  264. package/docs/variables/FLOOR_TYPE_MAP.html +8 -6
  265. package/docs/variables/PLUGIN.html +8 -6
  266. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +8 -6
  267. package/docs/variables/ROOM_TYPE_MAP.html +8 -6
  268. package/docs/variables/VERSION.html +8 -6
  269. package/docs/variables/itemLabelPluginServerParams.html +8 -6
  270. package/docs/variables/modelItemLabelPluginServerParams.html +8 -6
  271. package/docs/variables/modelRoomLabelPluginServerParams.html +8 -6
  272. package/libs/CSS3DRenderPlugin/CSS3DRender.js +2 -2
  273. package/libs/CSS3DRenderPlugin/Controller.js +2 -2
  274. package/libs/CSS3DRenderPlugin/index.js +2 -2
  275. package/libs/CSS3DRenderPlugin/utils/index.d.ts +0 -1
  276. package/libs/CSS3DRenderPlugin/utils/index.js +8 -10
  277. package/libs/CSS3DRenderPlugin/utils/three/CSS3DObject.js +6 -6
  278. package/libs/ModelTVVideoPlugin/Plugin.js +1 -1
  279. package/libs/ModelTVVideoPlugin/index.js +1 -1
  280. package/libs/Object3DHelperPlugin/Controller.js +1 -1
  281. package/libs/Object3DHelperPlugin/index.js +1 -1
  282. package/libs/PanoCompassPlugin/Controller.js +1 -1
  283. package/libs/PanoCompassPlugin/index.js +1 -1
  284. package/libs/PanoSpatialTagPlugin/Plugin.js +1 -1
  285. package/libs/PanoSpatialTagPlugin/index.js +1 -1
  286. package/libs/PanoTagPlugin/Components/Common/MediaItem.js +1 -1
  287. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +1 -1
  288. package/libs/PanoTagPlugin/Components/Tag/index.js +16 -16
  289. package/libs/PanoTagPlugin/Components/TagContainer.js +1 -1
  290. package/libs/PanoTagPlugin/Components/TagItem.js +20 -20
  291. package/{dist/PanoTagPlugin/controller/TagCacheController.d.ts → libs/PanoTagPlugin/controller/TagCache.d.ts} +7 -7
  292. package/libs/PanoTagPlugin/controller/{TagCacheController.js → TagCache.js} +11 -11
  293. package/libs/PanoTagPlugin/controller/TagComputer.d.ts +3 -36
  294. package/libs/PanoTagPlugin/controller/TagComputer.js +168 -289
  295. package/libs/PanoTagPlugin/controller/TagRender.d.ts +57 -0
  296. package/libs/PanoTagPlugin/controller/TagRender.js +310 -0
  297. package/libs/PanoTagPlugin/controller/TagUtil.d.ts +56 -0
  298. package/libs/PanoTagPlugin/controller/TagUtil.js +172 -0
  299. package/libs/PanoTagPlugin/controller/index.d.ts +16 -72
  300. package/libs/PanoTagPlugin/controller/index.js +170 -330
  301. package/libs/PanoTagPlugin/index.js +51 -46
  302. package/libs/PanoTagPlugin/mocks/v1/mock-80P6A03eQRQKY3oqLj.d.ts +4 -0
  303. package/libs/PanoTagPlugin/mocks/v1/mock-80P6A03eQRQKY3oqLj.js +6 -0
  304. package/libs/PanoTagPlugin/mocks/v1/mock-80QG2vMPboNv5DWrom.d.ts +93 -0
  305. package/libs/PanoTagPlugin/mocks/v1/mock-80QG2vMPboNv5DWrom.js +5622 -0
  306. package/libs/PanoTagPlugin/mocks/v1/mock-test3-realsee-cn-4zr0A5.js +1325 -0
  307. package/libs/PanoTagPlugin/mocks/v1/mock1.d.ts +173 -0
  308. package/libs/PanoTagPlugin/mocks/v1/mock1.js +121 -0
  309. package/libs/PanoTagPlugin/mocks/v1/mock2.d.ts +233 -0
  310. package/libs/PanoTagPlugin/mocks/v1/mock2.js +296 -0
  311. package/libs/PanoTagPlugin/mocks/v1/mock3.d.ts +22 -0
  312. package/libs/PanoTagPlugin/mocks/v1/mock3.js +32 -0
  313. package/libs/PanoTagPlugin/mocks/v1/mock4.d.ts +56 -0
  314. package/libs/PanoTagPlugin/mocks/v1/mock4.js +60 -0
  315. package/libs/PanoTagPlugin/mocks/v1/mock5.d.ts +13 -0
  316. package/libs/PanoTagPlugin/mocks/v1/mock5.js +17 -0
  317. package/libs/PanoTagPlugin/mocks/v1/mock6.d.ts +16 -0
  318. package/libs/PanoTagPlugin/mocks/v1/mock6.js +27 -0
  319. package/libs/PanoTagPlugin/mocks/v1/mock7.d.ts +22 -0
  320. package/libs/PanoTagPlugin/mocks/v1/mock7.js +228 -0
  321. package/libs/PanoTagPlugin/tag.config.js +2 -1
  322. package/libs/PanoTagPlugin/typings/controller.d.ts +15 -16
  323. package/libs/PanoTagPlugin/typings/tag/TagConfig.d.ts +2 -0
  324. package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +12 -0
  325. package/libs/PanoTagPlugin/utils/addDebugPoints.js +1 -1
  326. package/libs/PanoTagPlugin/utils/device.d.ts +1 -0
  327. package/libs/PanoTagPlugin/utils/device.js +4 -0
  328. package/libs/PanoTagPlugin/utils/index.js +32 -33
  329. package/libs/PanoTagPlugin/utils/model/imageModel.d.ts +8 -0
  330. package/libs/PanoTagPlugin/utils/model/imageModel.js +29 -0
  331. package/libs/PanoTagPlugin/utils/planeNormal.js +1 -1
  332. package/libs/PanoTagPlugin/utils/tag/tagCheck.d.ts +7 -7
  333. package/libs/PanoTagPlugin/utils/tagPosition.js +1 -1
  334. package/libs/PanoVideoPlugin/Controller.js +1 -1
  335. package/libs/PanoVideoPlugin/VideoMeshController.js +1 -1
  336. package/libs/PanoVideoPlugin/index.js +1 -1
  337. package/libs/base/BasePlugin.js +3 -3
  338. package/libs/index.js +123 -119
  339. package/package.json +17 -15
  340. /package/dist/{CSS3DRenderPlugin/utils → shared-utils/three}/centerPoint.d.ts +0 -0
  341. /package/libs/{CSS3DRenderPlugin/utils → shared-utils/three}/centerPoint.d.ts +0 -0
  342. /package/libs/{CSS3DRenderPlugin/utils → shared-utils/three}/centerPoint.js +0 -0
@@ -0,0 +1,310 @@
1
+ var R = Object.defineProperty;
2
+ var O = (p, m, e) => m in p ? R(p, m, { enumerable: !0, configurable: !0, writable: !0, value: e }) : p[m] = e;
3
+ var c = (p, m, e) => (O(p, typeof m != "symbol" ? m + "" : m, e), e);
4
+ var C = (p, m, e) => new Promise((t, i) => {
5
+ var o = (n) => {
6
+ try {
7
+ r(e.next(n));
8
+ } catch (a) {
9
+ i(a);
10
+ }
11
+ }, s = (n) => {
12
+ try {
13
+ r(e.throw(n));
14
+ } catch (a) {
15
+ i(a);
16
+ }
17
+ }, r = (n) => n.done ? t(n.value) : Promise.resolve(n.value).then(o, s);
18
+ r((e = e.apply(p, m)).next());
19
+ });
20
+ import { TagComputer as w } from "./TagComputer.js";
21
+ import { Group as y, Quaternion as x, Vector3 as T, Matrix4 as b } from "three";
22
+ import A from "../Components/TagContainer.js";
23
+ import G from "../Components/Tag/index.js";
24
+ import { arrayPositionToVector3 as D } from "../../CSS3DRenderPlugin/utils/positionToVector3.js";
25
+ import { planeNormal as j } from "../utils/planeNormal.js";
26
+ import { isMediaModelTag as f } from "../utils/tag/tagCheck.js";
27
+ import { normalPositionToPositions as V } from "../utils/normalPositionToPositions.js";
28
+ import { CSS3DRenderPlugin as k } from "../../CSS3DRenderPlugin/index.js";
29
+ import { loadGLTF as E } from "../../shared-utils/three/GLTFLoader.js";
30
+ import F from "../utils/model/imageModel.js";
31
+ import "../utils/tagPosition.js";
32
+ import "../../shared-utils/three/centerPoint.js";
33
+ import "../utils/checkRange.js";
34
+ import "hammerjs";
35
+ import "@realsee/five";
36
+ import "@tweenjs/tween.js";
37
+ import "../../CSS3DRenderPlugin/CSS3DRender.js";
38
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
39
+ import "three/examples/jsm/renderers/CSS3DRenderer";
40
+ import "../../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
41
+ import "../../CSS3DRenderPlugin/utils/createResizeObserver.js";
42
+ import "../../CSS3DRenderPlugin/utils/even.js";
43
+ import "../../shared-utils/Subscribe.js";
44
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
45
+ import "../../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
46
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
47
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
48
+ import "../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
49
+ import "../../shared-utils/isNil.js";
50
+ import "../../shared-utils/animationFrame/BetterTween.js";
51
+ import "../../shared-utils/animationFrame/index.js";
52
+ import "./TagUtil.js";
53
+ import "object-assign-deep";
54
+ import "../tag.config.js";
55
+ import "./TagCache.js";
56
+ import "../../base/BasePlugin.js";
57
+ import "../../vendor/svelte/store/index.js";
58
+ import "../../vendor/svelte/internal/index.js";
59
+ import "../utils/device.js";
60
+ import "../Components/TagItem.js";
61
+ import "../utils/noTypecheck.js";
62
+ import "../Components/Common/TagPoint.js";
63
+ import "../Components/Common/Shadow.js";
64
+ import "../../vendor/svelte/transition/index.js";
65
+ import "../../vendor/svelte/easing/index.js";
66
+ import "../Components/Common/Icon/Icon.js";
67
+ import "../utils/getImageInfo.js";
68
+ import "../utils/px2rem.js";
69
+ import "../Assets/Icon.js";
70
+ import "../Components/Tag/TextTag/index.js";
71
+ import "../Components/Tag/TextTag/TextTag.js";
72
+ import "../Components/Common/Line/Straight.js";
73
+ import "../../shared-utils/uuid.js";
74
+ import "../Components/Common/Text/FlyMText.js";
75
+ import "../Components/Common/Text/FlyText.js";
76
+ import "animejs";
77
+ import "../utils/search.js";
78
+ import "../utils/constants.js";
79
+ import "../Components/Common/Arrow.js";
80
+ import "../utils/doUtil.js";
81
+ import "../Components/Tag/TextTag/TextPlaneTag.js";
82
+ import "../Components/Common/Text/MText.js";
83
+ import "../Components/Tag/ImageTextTag.js";
84
+ import "../Components/Common/Line/Polyline.js";
85
+ import "../Components/Common/Media.js";
86
+ import "../../vendor/svelte-carousel/src/components/Carousel/Carousel.js";
87
+ import "../../vendor/svelte-carousel/src/components/Dots/Dots.js";
88
+ import "../../vendor/svelte-carousel/src/components/Dot/Dot.js";
89
+ import "../../vendor/svelte-carousel/src/components/Arrow/Arrow.js";
90
+ import "../../vendor/svelte-carousel/src/direction.js";
91
+ import "../../vendor/svelte-carousel/src/components/Progress/Progress.js";
92
+ import "../../vendor/svelte-carousel/src/actions/swipeable/swipeable.js";
93
+ import "../../vendor/svelte-carousel/src/actions/swipeable/event.js";
94
+ import "../../vendor/svelte-carousel/src/utils/event.js";
95
+ import "../../vendor/svelte-carousel/src/units.js";
96
+ import "../../vendor/svelte-carousel/src/actions/hoverable/hoverable.js";
97
+ import "../../vendor/svelte-carousel/src/actions/hoverable/event.js";
98
+ import "../../vendor/svelte-carousel/src/actions/tappable/tappable.js";
99
+ import "../../vendor/svelte-carousel/src/utils/math.js";
100
+ import "../../vendor/svelte-carousel/src/actions/tappable/event.js";
101
+ import "../../vendor/svelte-carousel/src/utils/page.js";
102
+ import "../../vendor/svelte-carousel/src/utils/clones.js";
103
+ import "../../vendor/svelte-carousel/src/utils/object.js";
104
+ import "../../vendor/svelte-carousel/src/components/Carousel/createCarousel.js";
105
+ import "../../vendor/simply-reactive/src/simply-reactive.js";
106
+ import "lodash.get";
107
+ import "lodash.clonedeep";
108
+ import "../../vendor/simply-reactive/src/utils/subscription.js";
109
+ import "../../vendor/simply-reactive/src/utils/object.js";
110
+ import "lodash.isequal";
111
+ import "../../vendor/simply-reactive/src/utils/watcher.js";
112
+ import "../../vendor/svelte-carousel/src/utils/lazy.js";
113
+ import "../../vendor/svelte-carousel/src/utils/ProgressManager.js";
114
+ import "../../vendor/svelte-carousel/src/utils/interval.js";
115
+ import "../Components/Common/MediaItem.js";
116
+ import "../Components/Tag/MarketingTag.js";
117
+ import "../Components/Tag/AudioTag/index.js";
118
+ import "../Components/Tag/AudioTag/AudioTag.js";
119
+ import "../Components/Common/Audio.js";
120
+ import "../utils/audio/SharedAudio.js";
121
+ import "../../shared-utils/audio.js";
122
+ import "../Components/Common/Icon/audioIcon.js";
123
+ import "../Components/Tag/AudioTag/AudioPlaneTag.js";
124
+ import "../Components/Tag/MediaPlane.js";
125
+ import "../Components/Tag/LinkTag.js";
126
+ import "../Components/Tag/CustomTag.js";
127
+ import "../../CSS3DRenderPlugin/Controller.js";
128
+ import "../../CSS3DRenderPlugin/utils/waitFiveModelLoaded.js";
129
+ import "@realsee/five/gltf-loader";
130
+ import "../../shared-utils/three/loadTexture.js";
131
+ class We extends w {
132
+ constructor(e) {
133
+ super(e);
134
+ c(this, "group", new y());
135
+ c(this, "gltfObjectGroup", new y());
136
+ c(this, "enabledModelTagSet", /* @__PURE__ */ new Set());
137
+ c(this, "temporaryState", { visible: !0 });
138
+ c(this, "TagContainerSvelte");
139
+ c(this, "loadModel", (e) => C(this, null, function* () {
140
+ var n;
141
+ const t = e.data.modelUrl;
142
+ if (!t)
143
+ return;
144
+ const i = E(t).then((a) => Object.assign(a.scene, { customID: e.id, isTagModel: !0 }));
145
+ e.model = { promise: i };
146
+ const o = yield i;
147
+ if (((n = e.model) == null ? void 0 : n.promise) !== i || (e.model.object = o, !this.tags.includes(e)))
148
+ return;
149
+ o.visible = e.state.visible, new b().fromArray(e.matrix).decompose(o.position, o.quaternion, o.scale), o.updateWorldMatrix(!0, !0), this.getVisibleByFloorIndex(e) || (o.visible = !1);
150
+ const r = this.gltfObjectGroup.children.find((a) => a.customID === e.id);
151
+ return r && this.gltfObjectGroup.remove(r), this.gltfObjectGroup.add(o), this.updateTagCss3DObjectMatrix(e, o), o;
152
+ }));
153
+ this.group.name = "PanoTagPluginModelGroup", this.gltfObjectGroup.name = "PanoTagPluginGLTFObjectGroup", this.group.add(this.gltfObjectGroup);
154
+ }
155
+ clearTags() {
156
+ this.tags = [], this.enabledModelTagSet.clear(), this.clearCache(), this.disposeAllCSS3DContainer(), this.updateRenderAllTags();
157
+ }
158
+ updateRenderAllTags() {
159
+ this.enabledModelTagSet.clear(), this.tags.forEach((e) => e.stickType === "Model" && this.enabledModelTagSet.add(e.id)), this.updateRenderPointTag(), this.updateRenderPlaneTag(), this.updateRenderModelTag(), this.updateRenderImageModel();
160
+ }
161
+ updateRenderImageModel() {
162
+ this.sort([...this.filterImageModel]).forEach((t) => {
163
+ var o, s, r, n;
164
+ const i = (o = t.data.mediaData[0]) == null ? void 0 : o.url;
165
+ !i || (t.imageModel && (t.imageModel.visible = (r = (s = t.state) == null ? void 0 : s.visible) != null ? r : !0), ((n = t.imageModel) == null ? void 0 : n.imageSrc) !== i && (t.imageModel = new F(i, t.position.map(D)), t.imageModel.name = "PanoTagPluginImageModel", this.five.scene.add(t.imageModel)));
166
+ });
167
+ }
168
+ updateRenderPlaneTag() {
169
+ this.sort([...this.filter3DTag]).forEach((t) => {
170
+ var n, a, h;
171
+ if (f(t) && ((n = t.model) == null ? void 0 : n.object) && this.updateTagCss3DObjectMatrix(t, (a = t.model) == null ? void 0 : a.object), t.tag3DContentSvelte) {
172
+ const { svelteApp: l, domContainer: M, initialNormal: u, currentNormal: d } = t.tag3DContentSvelte;
173
+ if (this.updateTagCss3DObjectVisible(t), l.$set({ tag: t, hooks: this.hooks, state: this.state, temporaryState: this.temporaryState }), !u.equals(d)) {
174
+ const g = new x().setFromUnitVectors(u, d);
175
+ M.css3DObject.setRotationFromQuaternion(g);
176
+ }
177
+ return;
178
+ }
179
+ if (((h = t.state) == null ? void 0 : h.visible) === !1)
180
+ return;
181
+ if (this.css3DRenderPlugin || (this.css3DRenderPlugin = k(this.five)), t.stickType === "3DPoint" && !t.normal)
182
+ return console.error("updateRenderPlaneTag: \u4E09\u7EF4\u70B9\u6807\u7B7E\u7F3A\u5C11\u6CD5\u5411\u91CF\uFF01");
183
+ const i = (() => {
184
+ if (t.stickType === "Plane")
185
+ return t.position;
186
+ if (f(t))
187
+ return t.data.mediaPosition;
188
+ const l = t;
189
+ return V(
190
+ this.five.camera.position,
191
+ D(l.position),
192
+ D(l.normal)
193
+ );
194
+ })();
195
+ if (!i)
196
+ return;
197
+ const o = function() {
198
+ if (t.normal)
199
+ return D(t.normal);
200
+ if (t.stickType === "Plane")
201
+ return j(t.position);
202
+ if (t.contentType === "MediaModel")
203
+ return j(i);
204
+ }();
205
+ if (!o)
206
+ return;
207
+ const s = this.getTagConfig(t).tag3DConfig, r = this.css3DRenderPlugin.create3DDomContainer(i, s);
208
+ !r || (this.updateTagCss3DObjectVisible(t), this.store.css3DRenderDisposer.set(t.id, r.dispose), t.tag3DContentSvelte = {
209
+ svelteApp: new G({
210
+ target: r.container,
211
+ props: {
212
+ tag: t,
213
+ hooks: this.hooks,
214
+ state: this.state,
215
+ mediaStore: this.mediaStore,
216
+ temporaryState: this.temporaryState
217
+ }
218
+ }),
219
+ domContainer: r,
220
+ initialNormal: o,
221
+ currentNormal: o
222
+ });
223
+ }), this.clearUnusedPanelTag();
224
+ }
225
+ updateRenderModelTag() {
226
+ const e = (i) => !this.enabledModelTagSet.has(i.customID);
227
+ this.gltfObjectGroup.remove(...this.gltfObjectGroup.children.filter(e)), this.tags.filter(f).forEach((i) => {
228
+ var o;
229
+ (o = i.model) == null || o.promise.then((s) => {
230
+ s.visible = i.state.visible;
231
+ });
232
+ });
233
+ }
234
+ updateTagModelVisible() {
235
+ this.tags.forEach((e) => {
236
+ var t, i, o;
237
+ e.imageModel && (e.imageModel.visible = (o = ((t = e.state) == null ? void 0 : t.visible) && ((i = this.state) == null ? void 0 : i.visible)) != null ? o : !0);
238
+ });
239
+ }
240
+ updateTagCss3DObjectMatrix(e, t) {
241
+ var g, S, v, P;
242
+ const i = (v = (S = (g = e.mergedConfig) == null ? void 0 : g.tag3DConfig) == null ? void 0 : S.ratio) != null ? v : 216e-5, o = (P = e.tag3DContentSvelte) == null ? void 0 : P.domContainer.css3DObject;
243
+ if (!o)
244
+ return;
245
+ const s = f(e) ? e.data.mediaPosition : e.position;
246
+ t.updateWorldMatrix(!1, !1);
247
+ const r = t.matrixWorld, n = new T().fromArray(s[0]), a = new T().fromArray(s[2]), h = new T().lerpVectors(n, a, 0.5).add(new T(0, 0, 5e-4)), l = new b().setPosition(h), M = new b().makeScale(i, i, i), u = new b().multiply(r).multiply(l).multiply(M);
248
+ u.decompose(o.position, o.quaternion, o.scale);
249
+ const d = o.opacityMesh;
250
+ !d || u.decompose(d.position, d.quaternion, d.scale);
251
+ }
252
+ addMediaModelTag(e) {
253
+ return C(this, null, function* () {
254
+ const t = e.filter(f).map(this.loadModel);
255
+ yield Promise.all(t), this.setModelMedialVisible(), this.updateRenderAllTags();
256
+ });
257
+ }
258
+ updateRenderPointTag() {
259
+ var t;
260
+ const e = this.sort(this.filterPointTag);
261
+ if (this.setPointTagPosition(), this.TagContainerSvelte)
262
+ this.TagContainerSvelte.$set({ tags: e, state: this.state, temporaryState: this.temporaryState });
263
+ else {
264
+ const i = (t = this.five.getElement()) == null ? void 0 : t.parentElement;
265
+ if (!i)
266
+ return console.error("updateRenderPlaneTag: tag2DContainer not found");
267
+ this.TagContainerSvelte = new A({
268
+ target: i,
269
+ props: { hooks: this.hooks, tags: e, state: this.state, temporaryState: this.temporaryState, mediaStore: this.mediaStore }
270
+ });
271
+ }
272
+ }
273
+ updateTagContainerVisible() {
274
+ var e;
275
+ (e = this.TagContainerSvelte) == null || e.$set({
276
+ state: this.state,
277
+ temporaryState: this.temporaryState,
278
+ withAnimation: this.store.visibleWithAnimation
279
+ }), this.filter3DTag.forEach((t) => {
280
+ var i, o, s, r;
281
+ (s = (o = (i = t.tag3DContentSvelte) == null ? void 0 : i.domContainer) == null ? void 0 : o.css3DObject) == null || s.setVisible(this.state.visible), (r = t.tag3DContentSvelte) == null || r.svelteApp.$set({
282
+ state: this.state,
283
+ temporaryState: this.temporaryState,
284
+ withAnimation: this.store.visibleWithAnimation
285
+ });
286
+ });
287
+ }
288
+ disposeAllCSS3DContainer() {
289
+ for (const [e, t] of this.store.css3DRenderDisposer)
290
+ t == null || t();
291
+ this.store.css3DRenderDisposer = /* @__PURE__ */ new Map();
292
+ }
293
+ clearUnusedPanelTag() {
294
+ this.filter2DPointTag.forEach((e) => {
295
+ var t;
296
+ (t = e.tag3DContentSvelte) == null || t.domContainer.dispose(), e.tag3DContentSvelte = void 0;
297
+ });
298
+ for (const [e, t] of this.store.css3DRenderDisposer) {
299
+ const i = this.getTagById(e);
300
+ (!i || i.stickType === "2DPoint") && (t == null || t(), this.store.css3DRenderDisposer.delete(e));
301
+ }
302
+ }
303
+ updateTagCss3DObjectVisible(e) {
304
+ var t, i, o, s, r;
305
+ (r = (i = (t = e.tag3DContentSvelte) == null ? void 0 : t.domContainer) == null ? void 0 : i.css3DObject) == null || r.setVisible((s = this.state.visible && ((o = e.state) == null ? void 0 : o.visible)) != null ? s : !0), this.five.needsRender = !0;
306
+ }
307
+ }
308
+ export {
309
+ We as TagRender
310
+ };
@@ -0,0 +1,56 @@
1
+ import type { TagElement, TagContentType, StickType, TagId, TagConfig, PlaneTag, MediaStore } from '../typings';
2
+ import type { Tag, Tags, Point2DElement, Point3DElement, PlaneTagElement, PointTagElement, Point3DTag, ModelElement } from '../typings';
3
+ import { TagCache } from './TagCache';
4
+ import { CSS3DRenderPluginExportType } from '../../CSS3DRenderPlugin';
5
+ import { Five } from '@realsee/five';
6
+ export declare abstract class TagUtil extends TagCache {
7
+ config: Pick<Tags, 'globalConfig' | 'contentTypeConfig'>;
8
+ tags: TagElement[];
9
+ protected mediaStore: MediaStore;
10
+ /** css3DRenderPlugin */
11
+ protected css3DRenderPlugin?: CSS3DRenderPluginExportType;
12
+ protected store: {
13
+ /** 清理函数数组 */
14
+ disposers: (() => any)[];
15
+ visibleWithAnimation?: boolean;
16
+ css3DRenderDisposer: Map<TagId, () => void>;
17
+ eventListenerDisposer?: () => void;
18
+ resizeObserverDisposer?: () => void;
19
+ resizeObserverDisposerAdding: boolean;
20
+ disposed: boolean;
21
+ };
22
+ protected get isPanorama(): boolean;
23
+ protected constructor(five: Five);
24
+ getTagById<C extends TagContentType = any, S extends StickType = any>(id: TagId): TagElement<C, S> | undefined;
25
+ /** 暂停当前标签内进行的所有多媒体 */
26
+ pauseCurrentMedia(): void;
27
+ protected loadVideoFirstFrame(): void;
28
+ /**
29
+ * @description: 获取merge后的配置
30
+ * TODO: 缓存
31
+ */
32
+ protected getTagConfig(tag: Tag<any, any>): TagConfig<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown", StickType>;
33
+ protected updateTagConfig(params?: {
34
+ force?: boolean;
35
+ }): void;
36
+ protected can<T extends TagElement<any, any>>(action: 'show' | 'hide' | 'fold' | 'unfold' | 'renderByMesh', paramsTag: T): boolean;
37
+ /**
38
+ * @description: 获取角度
39
+ */
40
+ protected getAngle(tag: Point3DTag | PlaneTag, panoIndex?: number): number;
41
+ /**
42
+ * @description: 获取距离
43
+ */
44
+ protected getDistance(tag: Tag<any, any>, panoIndex?: number): number;
45
+ protected get filterPointTag(): PointTagElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
46
+ protected get filter2DPointTag(): Point2DElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
47
+ protected get filter3DPointTag(): Point3DElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
48
+ protected get filterImageModel(): PlaneTagElement<"MediaPlane">[];
49
+ protected get filterModelTag(): ModelElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
50
+ protected get filter3DTag(): (TagElement<any, "Plane"> | TagElement<any, "Model"> | TagElement<any, "3DPoint">)[];
51
+ /**
52
+ * @description 检查是否已经销毁
53
+ * @returns isDisposed; 已经销毁返回 true,否则返回 false
54
+ */
55
+ protected checkDisposed(): boolean;
56
+ }
@@ -0,0 +1,172 @@
1
+ var h = Object.defineProperty;
2
+ var y = (c, d, e) => d in c ? h(c, d, { enumerable: !0, configurable: !0, writable: !0, value: e }) : c[d] = e;
3
+ var a = (c, d, e) => (y(c, typeof d != "symbol" ? d + "" : d, e), e);
4
+ import T from "object-assign-deep";
5
+ import * as C from "three";
6
+ import { DefaultConfig as v } from "../tag.config.js";
7
+ import { anyPositionToVector3 as m } from "../../CSS3DRenderPlugin/utils/positionToVector3.js";
8
+ import { planeNormal as b } from "../utils/planeNormal.js";
9
+ import { tagPosition as k, getTagPosition as P } from "../utils/tagPosition.js";
10
+ import { TagCache as D } from "./TagCache.js";
11
+ import { writable as w } from "../../vendor/svelte/store/index.js";
12
+ import { isIOSWX as M } from "../utils/device.js";
13
+ import "../../shared-utils/three/centerPoint.js";
14
+ import "../utils/tag/tagCheck.js";
15
+ import "../../base/BasePlugin.js";
16
+ import "../../shared-utils/Subscribe.js";
17
+ import "../../vendor/svelte/internal/index.js";
18
+ class z extends D {
19
+ constructor(e) {
20
+ super(e);
21
+ a(this, "config", v);
22
+ a(this, "tags", []);
23
+ a(this, "mediaStore", w({
24
+ currentMediaElement: null
25
+ }));
26
+ a(this, "css3DRenderPlugin");
27
+ a(this, "store", {
28
+ disposers: [],
29
+ disposed: !1,
30
+ resizeObserverDisposerAdding: !1,
31
+ css3DRenderDisposer: /* @__PURE__ */ new Map()
32
+ });
33
+ }
34
+ get isPanorama() {
35
+ return this.five.currentMode === "Panorama";
36
+ }
37
+ getTagById(e) {
38
+ const o = this.tags.find((i) => i.id === e);
39
+ if (!o) {
40
+ console.warn(`error: can not find tag id ${e} by getTagById()`);
41
+ return;
42
+ }
43
+ return o;
44
+ }
45
+ pauseCurrentMedia() {
46
+ this.mediaStore.set({ currentMediaElement: null });
47
+ }
48
+ loadVideoFirstFrame() {
49
+ M && this.hooks.emit("loadVideoFirstFrame");
50
+ }
51
+ getTagConfig(e) {
52
+ var t, f;
53
+ if (!e)
54
+ return (t = this.config.globalConfig) != null ? t : {};
55
+ const o = {};
56
+ this.config.contentTypeConfig && Object.keys(this.config.contentTypeConfig).forEach((g) => {
57
+ const n = g;
58
+ if (o[n])
59
+ return;
60
+ const r = n.split("-");
61
+ if (r.length === 1) {
62
+ const [s] = r;
63
+ e.contentType === s && (o[n] = this.config.contentTypeConfig[n]);
64
+ }
65
+ if (r.length === 2) {
66
+ const [s = "Any", l = "Any"] = r;
67
+ (e.stickType === s || s === "Any") && (e.contentType === l || l === "Any") && (o[n] = this.config.contentTypeConfig[n]);
68
+ }
69
+ if (r.length === 3) {
70
+ const [s = "Any", l, p] = r;
71
+ if (l === "Audio" && e.contentType === "Audio") {
72
+ const u = e;
73
+ (u.stickType === s || s === "Any") && u.data.appearance === p && (o[n] = this.config.contentTypeConfig[n]);
74
+ }
75
+ }
76
+ });
77
+ const i = T({}, this.config.globalConfig, ...Object.values(o), e.config);
78
+ return typeof i.unfoldedConfig == "object" && (i.unfoldedConfig.disableFold && (i.unfoldedConfig = { keep: "unfolded" }), i.unfoldedConfig.disableUnfold && (i.unfoldedConfig = { keep: "folded" }), i.unfoldedConfig.keep && (i.unfoldedConfig = { keep: i.unfoldedConfig.keep })), typeof i.visibleConfig == "object" && i.visibleConfig.keep && (i.visibleConfig = { keep: i.visibleConfig.keep, visibleFiveMode: (f = i.visibleConfig) == null ? void 0 : f.visibleFiveMode }), i;
79
+ }
80
+ updateTagConfig(e) {
81
+ e != null && e.force && this.clearCache(), this.tags.forEach((o) => {
82
+ const i = this.getTagConfig(o);
83
+ o.mergedConfig = i;
84
+ });
85
+ }
86
+ can(e, o) {
87
+ const i = o, t = this.getTagConfig(i);
88
+ if (!t || typeof t != "object")
89
+ return !0;
90
+ if (e === "show" || e === "hide") {
91
+ if (!t.visibleConfig || typeof t.visibleConfig != "object")
92
+ return !0;
93
+ if (e === "show" && t.visibleConfig.keep === "hidden" || e === "hide" && (t.visibleConfig.keep === "visible" || t.visibleConfig.alwaysShowWhenMovePano))
94
+ return !1;
95
+ }
96
+ if (e === "fold" || e === "unfold") {
97
+ if (!t.unfoldedConfig || typeof t.unfoldedConfig != "object")
98
+ return !0;
99
+ if (e === "fold" && t.unfoldedConfig.keep === "unfolded" || e === "unfold" && t.unfoldedConfig.keep === "folded")
100
+ return !1;
101
+ }
102
+ if (e === "renderByMesh")
103
+ if (i.contentType === "MediaPlane" && i.stickType === "Plane") {
104
+ const f = i.data.mediaData;
105
+ return f.length === 1 && f[0].type === "Image" && t.renderType === "Mesh";
106
+ } else
107
+ return !1;
108
+ return !0;
109
+ }
110
+ getAngle(e, o) {
111
+ var f, g, n;
112
+ const i = (f = this.five.panoIndex) != null ? f : o;
113
+ if (i === void 0)
114
+ throw new Error(`getDistance(): fivePanoIndex is ${i}`);
115
+ const t = this.getCache({ panoIndex: o, id: e.id });
116
+ if (t.angle !== void 0)
117
+ return t.angle;
118
+ {
119
+ const r = (n = (g = this.five.work) == null ? void 0 : g.observers[i]) == null ? void 0 : n.position;
120
+ if (r === void 0)
121
+ throw new Error(`getAngleRange(): observerPosition is ${r}`);
122
+ const s = (() => e.stickType === "3DPoint" ? m(e.normal) : b(e.position))();
123
+ if (!s)
124
+ return;
125
+ const l = new C.Vector3().copy(r).sub(k(e.position)), p = s.angleTo(l) * 180 / Math.PI;
126
+ return t.angle = p, t.angle;
127
+ }
128
+ }
129
+ getDistance(e, o) {
130
+ var f, g, n;
131
+ const i = (f = this.five.panoIndex) != null ? f : o;
132
+ if (i === void 0)
133
+ throw new Error(`getDistance(): fivePanoIndex is ${i}`);
134
+ const t = this.getCache({ panoIndex: o, id: e.id });
135
+ if (t.distance !== void 0)
136
+ return t.distance;
137
+ {
138
+ const r = (n = (g = this.five.work) == null ? void 0 : g.observers[i]) == null ? void 0 : n.position;
139
+ if (r === void 0)
140
+ throw new Error(`getDistance(): observerPosition is ${r}`);
141
+ const s = P(e);
142
+ if (!s)
143
+ return -1;
144
+ const l = r.distanceTo(s);
145
+ return t.distance = l, l;
146
+ }
147
+ }
148
+ get filterPointTag() {
149
+ return this.tags.filter((e) => e.stickType === "2DPoint" || e.stickType === "3DPoint").filter((e) => e.position);
150
+ }
151
+ get filter2DPointTag() {
152
+ return this.tags.filter((e) => e.stickType === "2DPoint").filter((e) => e.position);
153
+ }
154
+ get filter3DPointTag() {
155
+ return this.tags.filter((e) => e.stickType === "3DPoint").filter((e) => e.position);
156
+ }
157
+ get filterImageModel() {
158
+ return this.tags.filter((e) => this.can("renderByMesh", e));
159
+ }
160
+ get filterModelTag() {
161
+ return this.tags.filter((e) => e.stickType === "Model");
162
+ }
163
+ get filter3DTag() {
164
+ return this.tags.filter((e) => e.stickType === "3DPoint" || e.stickType === "Plane" || e.stickType === "Model").filter((e) => !this.can("renderByMesh", e));
165
+ }
166
+ checkDisposed() {
167
+ return this.store.disposed ? (console.error("PanoTagPluginController has been disposed"), !0) : !1;
168
+ }
169
+ }
170
+ export {
171
+ z as TagUtil
172
+ };