@realsee/dnalogel 2.6.6 → 2.6.7-dev.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 (369) hide show
  1. package/dist/CSS3DRenderPlugin/Controller.d.ts +1 -1
  2. package/dist/Object3DHelperPlugin/Controller.d.ts +25 -10
  3. package/dist/Object3DHelperPlugin/FiveControllerWrapper.d.ts +6 -8
  4. package/dist/Object3DHelperPlugin/typings.d.ts +14 -0
  5. package/dist/PanoTagPlugin/controller/TagCacheController.d.ts +1 -0
  6. package/dist/PanoTagPlugin/controller/TagComputer.d.ts +22 -6
  7. package/dist/PanoTagPlugin/controller/index.d.ts +32 -6
  8. package/dist/PanoTagPlugin/typings/controller.d.ts +17 -2
  9. package/dist/PanoTagPlugin/typings/tag/Tag.d.ts +5 -2
  10. package/dist/PanoTagPlugin/typings/tag/TagData.d.ts +19 -3
  11. package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +1 -1
  12. package/dist/PanoTagPlugin/utils/tag/index.d.ts +2 -0
  13. package/dist/PanoTagPlugin/utils/tag/tagCheck.d.ts +2 -1
  14. package/dist/PanoTagPlugin/utils/tagPosition.d.ts +3 -1
  15. package/dist/index.cjs.js +43 -43
  16. package/dist/index.js +5075 -4664
  17. package/dist/index.umd.js +32 -32
  18. package/dist/shared-utils/Object3DHelper/Base/BaseController.d.ts +41 -15
  19. package/dist/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +27 -20
  20. package/dist/shared-utils/Object3DHelper/Controller/BoundingBoxController.d.ts +7 -0
  21. package/dist/shared-utils/Object3DHelper/Controller/CSS3DScaleController.d.ts +1 -0
  22. package/dist/shared-utils/Object3DHelper/Controller/MoveController.d.ts +24 -0
  23. package/dist/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +6 -1
  24. package/dist/shared-utils/Object3DHelper/Controller/RotateController.d.ts +14 -0
  25. package/dist/shared-utils/Object3DHelper/Controller/ScaleController.d.ts +12 -0
  26. package/dist/shared-utils/Object3DHelper/Helper/{OutlineHelper.d.ts → BoundingBoxHelper.d.ts} +3 -2
  27. package/{libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts → dist/shared-utils/Object3DHelper/Helper/CSS3DScaleHelper.d.ts} +3 -8
  28. package/dist/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +14 -11
  29. package/dist/shared-utils/Object3DHelper/Helper/ScaleHelper.d.ts +5 -0
  30. package/dist/shared-utils/Object3DHelper/Helper/index.d.ts +2 -2
  31. package/dist/shared-utils/Object3DHelper/index.d.ts +4 -27
  32. package/dist/shared-utils/Object3DHelper/typings/Hooks.d.ts +22 -12
  33. package/dist/shared-utils/Object3DHelper/typings/index.d.ts +22 -0
  34. package/dist/shared-utils/Object3DHelper/utils/boundingBox.d.ts +2 -0
  35. package/dist/shared-utils/three/GLTFLoader.d.ts +2 -0
  36. package/docs/assets/search.js +1 -1
  37. package/docs/classes/CSS3DRender.html +31 -31
  38. package/docs/classes/CruisePluginController.html +24 -24
  39. package/docs/classes/Magnifier.html +20 -20
  40. package/docs/classes/ModelRoomLabelController.html +11 -11
  41. package/docs/classes/Object3DHelperController.html +40 -33
  42. package/docs/classes/PaintBrush.html +15 -15
  43. package/docs/classes/PanoMeasurePluginLine.html +23 -23
  44. package/docs/classes/PanoMeasurePluginModel.html +22 -22
  45. package/docs/classes/PanoMeasurePluginPoint.html +14 -14
  46. package/docs/classes/PanoMeasurePluginPolyline.html +26 -26
  47. package/docs/classes/PanoTagPluginController.html +205 -77
  48. package/docs/classes/Util.BetterTween.html +8 -8
  49. package/docs/classes/Util.FivePointSelector.html +12 -12
  50. package/docs/classes/Util.Interval.html +12 -12
  51. package/docs/classes/Util.Magnifier.html +17 -17
  52. package/docs/classes/Util.PointDomHelper.html +11 -11
  53. package/docs/classes/Util.PointHelper.html +11 -11
  54. package/docs/classes/Util.Rectangle.html +13 -13
  55. package/docs/enums/CameraMovementEffect.html +7 -7
  56. package/docs/enums/ContentType.html +34 -16
  57. package/docs/enums/DIRECTION.html +9 -9
  58. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +9 -9
  59. package/docs/enums/DimensionType.html +7 -7
  60. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +8 -8
  61. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +9 -9
  62. package/docs/enums/PaintBrushTypeEnum.html +8 -8
  63. package/docs/enums/PointType.html +7 -7
  64. package/docs/enums/Rotation.html +8 -8
  65. package/docs/functions/CSS3DRenderPlugin.html +10 -5
  66. package/docs/functions/CameraMovementPlugin.html +10 -5
  67. package/docs/functions/CruisePlugin.html +10 -5
  68. package/docs/functions/GuideLinePlugin.html +10 -5
  69. package/docs/functions/ItemLabelPlugin.html +10 -5
  70. package/docs/functions/MapviewFloorplanPlugin.html +10 -5
  71. package/docs/functions/ModelChassisCompassPlugin.html +10 -5
  72. package/docs/functions/ModelEntryDoorGuidePlugin.html +10 -5
  73. package/docs/functions/ModelFloorplanPlugin.html +10 -5
  74. package/docs/functions/ModelItemLabelPlugin.html +10 -5
  75. package/docs/functions/ModelRoomLabelPlugin.html +10 -5
  76. package/docs/functions/ModelTVVideoPlugin.html +10 -5
  77. package/docs/functions/ModelViewPlugin.html +10 -5
  78. package/docs/functions/Object3DHelperPlugin.html +10 -5
  79. package/docs/functions/PanoCompassPlugin.html +10 -5
  80. package/docs/functions/PanoCursorRaycasterPlugin.html +10 -5
  81. package/docs/functions/PanoDoorLabelPlugin.html +10 -5
  82. package/docs/functions/PanoFloorplanRadarPlugin.html +10 -5
  83. package/docs/functions/PanoMeasurePlugin.html +10 -5
  84. package/docs/functions/PanoRulerPlugin.html +10 -5
  85. package/docs/functions/PanoRulerProPlugin.html +10 -5
  86. package/docs/functions/PanoSpatialTagPlugin.html +10 -5
  87. package/docs/functions/PanoTagPlugin.html +15 -10
  88. package/docs/functions/TopviewFloorplanPlugin.html +10 -5
  89. package/docs/functions/Util.getCoordsFromClient.html +5 -5
  90. package/docs/functions/Util.getCoordsFromElement.html +5 -5
  91. package/docs/functions/Util.getFrameTime.html +5 -5
  92. package/docs/functions/Util.getIntersectFromRelativePosition.html +5 -5
  93. package/docs/functions/Util.getRaycasterFromFivePointer.html +5 -5
  94. package/docs/functions/Util.isNil.html +5 -5
  95. package/docs/functions/Util.nextFrame.html +5 -5
  96. package/docs/functions/Util.notNil.html +5 -5
  97. package/docs/functions/Util.requestAnimationFrameInterval.html +5 -5
  98. package/docs/functions/Util.tweenProgress.html +5 -5
  99. package/docs/functions/pluginFlag.html +10 -5
  100. package/docs/index.html +9 -4
  101. package/docs/interfaces/AddTagConfig.html +6 -6
  102. package/docs/interfaces/CSS3DRenderPluginEventMap.html +11 -11
  103. package/docs/interfaces/CSS3DRenderPluginState.html +8 -8
  104. package/docs/interfaces/CameraMovementPluginExportType.html +7 -7
  105. package/docs/interfaces/EventMap.html +19 -19
  106. package/docs/interfaces/FloorplanBounding.html +8 -8
  107. package/docs/interfaces/FloorplanData.html +10 -10
  108. package/docs/interfaces/FloorplanEntrance.html +11 -11
  109. package/docs/interfaces/FloorplanExtraObject.html +10 -10
  110. package/docs/interfaces/FloorplanExtraObject3D.html +8 -8
  111. package/docs/interfaces/FloorplanFloorData.html +9 -9
  112. package/docs/interfaces/FloorplanImagePosition.html +7 -7
  113. package/docs/interfaces/FloorplanObserver.html +9 -9
  114. package/docs/interfaces/FloorplanOutlineItem.html +9 -9
  115. package/docs/interfaces/FloorplanPosition.html +7 -7
  116. package/docs/interfaces/FloorplanRoomItem.html +13 -13
  117. package/docs/interfaces/FloorplanRoomLabelItem.html +7 -7
  118. package/docs/interfaces/FloorplanServerBounding.html +8 -8
  119. package/docs/interfaces/FloorplanServerComputedData.html +10 -10
  120. package/docs/interfaces/FloorplanServerData.html +7 -7
  121. package/docs/interfaces/FloorplanServerDoorItem.html +10 -10
  122. package/docs/interfaces/FloorplanServerDoorPosition.html +8 -8
  123. package/docs/interfaces/FloorplanServerEntrance.html +11 -11
  124. package/docs/interfaces/FloorplanServerFloorData.html +9 -9
  125. package/docs/interfaces/FloorplanServerImagePosition.html +7 -7
  126. package/docs/interfaces/FloorplanServerObserver.html +9 -9
  127. package/docs/interfaces/FloorplanServerOutlineItem.html +9 -9
  128. package/docs/interfaces/FloorplanServerPosition.html +7 -7
  129. package/docs/interfaces/FloorplanServerRoomItem.html +14 -14
  130. package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -7
  131. package/docs/interfaces/HelperOffset.html +78 -0
  132. package/docs/interfaces/ItemLabelPluginData.html +6 -6
  133. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +11 -11
  134. package/docs/interfaces/ItemLabelPluginParametersType.html +9 -9
  135. package/docs/interfaces/MinMax.html +7 -7
  136. package/docs/interfaces/ModelChassisCompassPluginData.html +7 -7
  137. package/docs/interfaces/ModelChassisCompassPluginExportType.html +8 -8
  138. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +7 -7
  139. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +8 -8
  140. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +8 -8
  141. package/docs/interfaces/ModelItemLabelPluginData.html +6 -6
  142. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +11 -11
  143. package/docs/interfaces/ModelItemLabelPluginParametersType.html +7 -7
  144. package/docs/interfaces/ModelRoomLabelPluginData.html +6 -6
  145. package/docs/interfaces/ModelTVVideoPluginData.html +9 -9
  146. package/docs/interfaces/ModelTVVideoPluginExportType.html +8 -8
  147. package/docs/interfaces/ModelTVVideoPluginParameterType.html +6 -6
  148. package/docs/interfaces/ModelViewPluginExportType.html +11 -11
  149. package/docs/interfaces/Object3DHelperState.html +8 -8
  150. package/docs/interfaces/ObjectHelperControllers.html +85 -0
  151. package/docs/interfaces/PaintBrushAction.html +12 -12
  152. package/docs/interfaces/PaintBrushConfigs.html +12 -12
  153. package/docs/interfaces/PaintBrushState.html +10 -10
  154. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +10 -10
  155. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +10 -5
  156. package/docs/interfaces/PanoMeasureParameterType.html +12 -12
  157. package/docs/interfaces/PanoMeasurePluginLineJson.html +8 -8
  158. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +7 -7
  159. package/docs/interfaces/PanoMeasurePluginPointJson.html +7 -7
  160. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +8 -8
  161. package/docs/interfaces/PanoRulerPluginExportType.html +10 -10
  162. package/docs/interfaces/PanoRulerPluginOptions.html +7 -7
  163. package/docs/interfaces/PanoRulerPluginParameterType.html +8 -8
  164. package/docs/interfaces/PanoRulerProPluginExportType.html +9 -9
  165. package/docs/interfaces/PanoRulerProPluginOptions.html +7 -7
  166. package/docs/interfaces/PanoRulerProPluginParameterType.html +7 -7
  167. package/docs/interfaces/PanoRulerProPluginState.html +8 -8
  168. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +10 -5
  169. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +10 -5
  170. package/docs/interfaces/PanoSpatialTagPluginData.html +11 -11
  171. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +10 -10
  172. package/docs/interfaces/PanoSpatialTagPluginExportType.html +13 -13
  173. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +10 -10
  174. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +13 -13
  175. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +11 -11
  176. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +10 -10
  177. package/docs/interfaces/Point.html +8 -8
  178. package/docs/interfaces/Room.html +9 -9
  179. package/docs/interfaces/RoomInfo.html +7 -7
  180. package/docs/interfaces/RoomLabel.html +14 -14
  181. package/docs/interfaces/RoomRules.html +10 -5
  182. package/docs/interfaces/Rooms.html +10 -5
  183. package/docs/interfaces/Scissor.html +9 -9
  184. package/docs/interfaces/State.html +8 -8
  185. package/docs/interfaces/TagCache.html +25 -16
  186. package/docs/interfaces/TagConfig.html +10 -10
  187. package/docs/interfaces/TagIconUrl.html +9 -9
  188. package/docs/interfaces/Tags.html +11 -11
  189. package/docs/interfaces/TemporaryState.html +6 -6
  190. package/docs/interfaces/Util.MagnifierParameter.html +11 -11
  191. package/docs/interfaces/Util.MouseGroupParameter.html +8 -8
  192. package/docs/modules/Util.html +5 -5
  193. package/docs/modules.html +14 -4
  194. package/docs/types/ArrayPosition.html +10 -5
  195. package/docs/types/AudioAppearance.html +10 -5
  196. package/docs/types/AudioTagTypeConfigKey.html +10 -5
  197. package/docs/types/CSS3DRenderExportType.html +10 -5
  198. package/docs/types/CSS3DRenderPluginExportType.html +10 -5
  199. package/docs/types/CSS3DRenderPluginParameterType.html +10 -5
  200. package/docs/types/ClassFunctionParameters.html +268 -0
  201. package/docs/types/Color.html +10 -5
  202. package/docs/types/ContentTypeConfigKey.html +10 -5
  203. package/docs/types/ContentTypeConfigKeySplit.html +10 -5
  204. package/docs/types/ContentTypeMap.html +10 -5
  205. package/docs/types/Create3DDomContainerReturnType.html +10 -5
  206. package/docs/types/Create3DElementReturnType.html +10 -5
  207. package/docs/types/CruisePluginExportType.html +10 -5
  208. package/docs/types/Direction-1.html +10 -5
  209. package/docs/types/Direction4.html +10 -5
  210. package/docs/types/FloorplanRuleLabels.html +10 -5
  211. package/docs/types/FloorplanServerRuleLabels.html +10 -5
  212. package/docs/types/GuideLinePluginExportType.html +10 -5
  213. package/docs/types/HelperEventMap.html +174 -21
  214. package/docs/types/LoadTagConfig.html +10 -5
  215. package/docs/types/MapviewFloorplanPluginParameterType.html +10 -5
  216. package/docs/types/MapviewFloorplanPluginReturnType.html +10 -5
  217. package/docs/types/MediaData.html +10 -5
  218. package/docs/types/MediaStore.html +10 -5
  219. package/docs/types/ModelElement.html +266 -0
  220. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +10 -5
  221. package/docs/types/ModelFloorplanPluginParameterType.html +10 -5
  222. package/docs/types/ModelFloorplanPluginReturnType.html +10 -5
  223. package/docs/types/ModelRoomLabelPluginParameters.html +10 -5
  224. package/docs/types/ModelRoomLabelPluginReturnType.html +10 -5
  225. package/docs/types/MoveArgs.html +10 -5
  226. package/docs/types/MoveOpts.html +10 -5
  227. package/docs/types/Object3DHelperEventMap.html +10 -5
  228. package/docs/types/ObjectFit.html +10 -5
  229. package/docs/types/PaintBrushEventMap.html +10 -5
  230. package/docs/types/PanoCompassPluginData.html +10 -5
  231. package/docs/types/PanoCompassPluginExportType.html +10 -5
  232. package/docs/types/PanoCompassPluginParameterType.html +10 -5
  233. package/docs/types/PanoFloorplanRadarPluginParameterType.html +10 -5
  234. package/docs/types/PanoFloorplanRadarPluginReturnType.html +10 -5
  235. package/docs/types/PanoIndex.html +10 -5
  236. package/docs/types/PanoMeasurePluginEvent.html +10 -5
  237. package/docs/types/PanoMeasureReturnType.html +10 -5
  238. package/docs/types/PanoSpatialTagPluginId.html +10 -5
  239. package/docs/types/PanoTagPluginExportInterface.html +10 -5
  240. package/docs/types/PanoTagPluginParamsInterface.html +10 -5
  241. package/docs/types/PlaneTag.html +10 -5
  242. package/docs/types/PlaneTagElement.html +10 -5
  243. package/docs/types/Point2DElement.html +10 -5
  244. package/docs/types/Point2DTag.html +10 -5
  245. package/docs/types/Point3DElement.html +10 -5
  246. package/docs/types/Point3DTag.html +10 -5
  247. package/docs/types/PointTag.html +10 -5
  248. package/docs/types/PointTagElement.html +10 -5
  249. package/docs/types/Position.html +10 -5
  250. package/docs/types/RotateArgs.html +10 -5
  251. package/docs/types/RotateOpts.html +10 -5
  252. package/docs/types/RuleLabelsKey.html +10 -5
  253. package/docs/types/RuleLabelsValue.html +10 -5
  254. package/docs/types/StickType.html +11 -6
  255. package/docs/types/Tag.html +11 -6
  256. package/docs/types/Tag2D.html +10 -5
  257. package/docs/types/Tag3D.html +10 -5
  258. package/docs/types/TagContentType.html +11 -6
  259. package/docs/types/TagDimensionType.html +10 -5
  260. package/docs/types/TagElement.html +11 -6
  261. package/docs/types/TagEvents.html +10 -5
  262. package/docs/types/TagGLTFObject.html +261 -0
  263. package/docs/types/TagHooks.html +10 -5
  264. package/docs/types/TagIconSize.html +10 -5
  265. package/docs/types/TagId.html +10 -5
  266. package/docs/types/TagPointType.html +10 -5
  267. package/docs/types/TopviewFloorplanPluginParameterType.html +10 -5
  268. package/docs/types/TopviewFloorplanPluginReturnType.html +10 -5
  269. package/docs/types/WorkCode.html +10 -5
  270. package/docs/variables/FLOOR_TYPE_MAP.html +10 -5
  271. package/docs/variables/PLUGIN.html +10 -5
  272. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +10 -5
  273. package/docs/variables/ROOM_TYPE_MAP.html +10 -5
  274. package/docs/variables/VERSION.html +10 -5
  275. package/docs/variables/itemLabelPluginServerParams.html +10 -5
  276. package/docs/variables/modelItemLabelPluginServerParams.html +10 -5
  277. package/docs/variables/modelRoomLabelPluginServerParams.html +10 -5
  278. package/libs/CSS3DRenderPlugin/CSS3DRender.js +43 -43
  279. package/libs/CSS3DRenderPlugin/Controller.d.ts +1 -1
  280. package/libs/CSS3DRenderPlugin/utils/generateBehindFiveElement.js +15 -14
  281. package/libs/Object3DHelperPlugin/Controller.d.ts +25 -10
  282. package/libs/Object3DHelperPlugin/Controller.js +117 -97
  283. package/libs/Object3DHelperPlugin/FiveControllerWrapper.d.ts +6 -8
  284. package/libs/Object3DHelperPlugin/FiveControllerWrapper.js +29 -22
  285. package/libs/Object3DHelperPlugin/index.js +16 -11
  286. package/libs/Object3DHelperPlugin/typings.d.ts +14 -0
  287. package/libs/PanoTagPlugin/Components/Common/Media.js +3 -2
  288. package/libs/PanoTagPlugin/Components/Common/Text/FlyMText.js +3 -2
  289. package/libs/PanoTagPlugin/Components/Common/Text/FlyText.js +3 -2
  290. package/libs/PanoTagPlugin/Components/Tag/AudioTag/AudioPlaneTag.js +3 -2
  291. package/libs/PanoTagPlugin/Components/Tag/AudioTag/AudioTag.js +3 -2
  292. package/libs/PanoTagPlugin/Components/Tag/AudioTag/index.js +12 -11
  293. package/libs/PanoTagPlugin/Components/Tag/CustomTag.js +33 -33
  294. package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.js +3 -2
  295. package/libs/PanoTagPlugin/Components/Tag/MediaPlane.js +12 -11
  296. package/libs/PanoTagPlugin/Components/Tag/TextTag/TextTag.js +26 -25
  297. package/libs/PanoTagPlugin/Components/Tag/TextTag/index.js +29 -28
  298. package/libs/PanoTagPlugin/Components/Tag/index.js +126 -119
  299. package/libs/PanoTagPlugin/Components/TagContainer.js +4 -2
  300. package/libs/PanoTagPlugin/Components/TagItem.js +4 -2
  301. package/libs/PanoTagPlugin/controller/TagCacheController.d.ts +1 -0
  302. package/libs/PanoTagPlugin/controller/TagCacheController.js +14 -12
  303. package/libs/PanoTagPlugin/controller/TagComputer.d.ts +22 -6
  304. package/libs/PanoTagPlugin/controller/TagComputer.js +242 -176
  305. package/libs/PanoTagPlugin/controller/index.d.ts +32 -6
  306. package/libs/PanoTagPlugin/controller/index.js +176 -91
  307. package/libs/PanoTagPlugin/index.js +15 -12
  308. package/libs/PanoTagPlugin/tag.config.js +9 -0
  309. package/libs/PanoTagPlugin/typings/controller.d.ts +17 -2
  310. package/libs/PanoTagPlugin/typings/controller.js +1 -1
  311. package/libs/PanoTagPlugin/typings/index.js +6 -5
  312. package/libs/PanoTagPlugin/typings/tag/Tag.d.ts +5 -2
  313. package/libs/PanoTagPlugin/typings/tag/TagData.d.ts +19 -3
  314. package/libs/PanoTagPlugin/typings/tag/TagData.js +1 -1
  315. package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +1 -1
  316. package/libs/PanoTagPlugin/utils/addDebugPoints.js +5 -4
  317. package/libs/PanoTagPlugin/utils/color.js +5 -5
  318. package/libs/PanoTagPlugin/utils/index.js +37 -34
  319. package/libs/PanoTagPlugin/utils/planeNormal.js +3 -2
  320. package/libs/PanoTagPlugin/utils/tag/index.d.ts +2 -0
  321. package/libs/PanoTagPlugin/utils/tag/index.js +11 -0
  322. package/libs/PanoTagPlugin/utils/tag/tagCheck.d.ts +2 -1
  323. package/libs/PanoTagPlugin/utils/tag/tagCheck.js +6 -2
  324. package/libs/PanoTagPlugin/utils/tagPosition.d.ts +3 -1
  325. package/libs/PanoTagPlugin/utils/tagPosition.js +20 -8
  326. package/libs/index.js +111 -104
  327. package/libs/shared-utils/Object3DHelper/Base/BaseController.d.ts +41 -15
  328. package/libs/shared-utils/Object3DHelper/Base/BaseController.js +112 -90
  329. package/libs/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +27 -20
  330. package/libs/shared-utils/Object3DHelper/Base/BaseHelper.js +55 -22
  331. package/libs/shared-utils/Object3DHelper/Controller/BoundingBoxController.d.ts +7 -0
  332. package/libs/shared-utils/Object3DHelper/Controller/BoundingBoxController.js +14 -0
  333. package/libs/shared-utils/Object3DHelper/Controller/CSS3DScaleController.d.ts +1 -0
  334. package/libs/shared-utils/Object3DHelper/Controller/CSS3DScaleController.js +14 -10
  335. package/libs/shared-utils/Object3DHelper/Controller/MoveController.d.ts +24 -0
  336. package/libs/shared-utils/Object3DHelper/Controller/MoveController.js +80 -37
  337. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +6 -1
  338. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +44 -41
  339. package/libs/shared-utils/Object3DHelper/Controller/RotateController.d.ts +14 -0
  340. package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +95 -67
  341. package/libs/shared-utils/Object3DHelper/Controller/ScaleController.d.ts +12 -0
  342. package/libs/shared-utils/Object3DHelper/Controller/ScaleController.js +21 -0
  343. package/libs/shared-utils/Object3DHelper/Helper/{OutlineHelper.d.ts → BoundingBoxHelper.d.ts} +3 -2
  344. package/libs/shared-utils/Object3DHelper/Helper/BoundingBoxHelper.js +87 -0
  345. package/{dist/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts → libs/shared-utils/Object3DHelper/Helper/CSS3DScaleHelper.d.ts} +3 -8
  346. package/libs/shared-utils/Object3DHelper/Helper/{RectangleScaleHelper.js → CSS3DScaleHelper.js} +5 -7
  347. package/libs/shared-utils/Object3DHelper/Helper/MoveHelper.js +7 -9
  348. package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +14 -11
  349. package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.js +72 -66
  350. package/libs/shared-utils/Object3DHelper/Helper/ScaleHelper.d.ts +5 -0
  351. package/libs/shared-utils/Object3DHelper/Helper/ScaleHelper.js +9 -0
  352. package/libs/shared-utils/Object3DHelper/Helper/index.d.ts +2 -2
  353. package/libs/shared-utils/Object3DHelper/Helper/index.js +0 -2
  354. package/libs/shared-utils/Object3DHelper/index.d.ts +4 -27
  355. package/libs/shared-utils/Object3DHelper/index.js +48 -96
  356. package/libs/shared-utils/Object3DHelper/typings/Hooks.d.ts +22 -12
  357. package/libs/shared-utils/Object3DHelper/typings/index.d.ts +22 -0
  358. package/libs/shared-utils/Object3DHelper/typings/index.js +2 -1
  359. package/libs/shared-utils/Object3DHelper/utils/boundingBox.d.ts +2 -0
  360. package/libs/shared-utils/Object3DHelper/utils/boundingBox.js +24 -0
  361. package/libs/shared-utils/Object3DHelper/utils/threex/domevents/index.js +2 -2
  362. package/libs/shared-utils/three/GLTFLoader.d.ts +2 -0
  363. package/libs/shared-utils/three/GLTFLoader.js +16 -0
  364. package/libs/typings/math.type.js +1 -0
  365. package/package.json +4 -4
  366. package/dist/shared-utils/Object3DHelper/utils/getPoint.d.ts +0 -3
  367. package/libs/shared-utils/Object3DHelper/Helper/OutlineHelper.js +0 -2
  368. package/libs/shared-utils/Object3DHelper/utils/getPoint.d.ts +0 -3
  369. package/libs/shared-utils/Object3DHelper/utils/getPoint.js +0 -1
@@ -1,6 +1,8 @@
1
1
  import type { Five } from '@realsee/five';
2
- import type { Tag, Tags, TagConfig, ContentTypeConfigKey, PlaneTag, TagElement, Point2DElement, Point3DElement, PlaneTagElement, PointTagElement, Point3DTag, TagId } from '../typings';
2
+ import * as THREE from 'three';
3
+ import type { Tag, Tags, TagConfig, ContentTypeConfigKey, PlaneTag, TagElement, Point2DElement, Point3DElement, PlaneTagElement, PointTagElement, Point3DTag, TagId, ModelElement, TagContentType, StickType } from '../typings';
3
4
  import { TagCacheController } from './TagCacheController';
5
+ import { Raycaster } from 'three';
4
6
  export declare abstract class TagComputer extends TagCacheController {
5
7
  tags: TagElement[];
6
8
  config: {
@@ -10,7 +12,7 @@ export declare abstract class TagComputer extends TagCacheController {
10
12
  protected get isPanorama(): boolean;
11
13
  private raycaster;
12
14
  protected constructor(five: Five);
13
- getTagById(id: TagId): TagElement<import("../typings").TagContentType, import("../typings").StickType>;
15
+ getTagById<C extends TagContentType = any, S extends StickType = any>(id: TagId): TagElement<C, S>;
14
16
  /**
15
17
  * @description: 改变类型配置
16
18
  */
@@ -19,6 +21,8 @@ export declare abstract class TagComputer extends TagCacheController {
19
21
  * @description: 获取是否可见
20
22
  */
21
23
  getVisibleByPanoIndex(tag: Tag<any, any>, panoIndex?: number): boolean;
24
+ /** 获取当前点位上模型中的多媒体是否应该展示 */
25
+ getModelMedialVisibleByPanoIndex(tag: Tag<any, any>): boolean;
22
26
  /**
23
27
  * @description: 获取是否展开
24
28
  */
@@ -38,7 +42,7 @@ export declare abstract class TagComputer extends TagCacheController {
38
42
  /**
39
43
  * @description: 获取merge后的配置
40
44
  */
41
- getTagConfig(tag: Tag<any, any>): TagConfig<import("../typings").TagContentType, import("../typings").StickType>;
45
+ getTagConfig(tag: Tag<any, any>): TagConfig<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown", StickType>;
42
46
  protected can(action: 'show' | 'hide' | 'fold' | 'unfold', tag: Tag<any, any>): boolean;
43
47
  protected sort<T extends Tag<any, any>>(tags: T[]): T[];
44
48
  /**
@@ -46,6 +50,7 @@ export declare abstract class TagComputer extends TagCacheController {
46
50
  */
47
51
  protected setPointTagPosition(): void;
48
52
  protected setVisibleByPanoIndex(): void;
53
+ protected setModelMedialVisibleByPanoIndex(): void;
49
54
  protected setUnfoldedByPanoIndex(): void;
50
55
  /**
51
56
  * @description: 一个点的标签
@@ -55,12 +60,23 @@ export declare abstract class TagComputer extends TagCacheController {
55
60
  y: number;
56
61
  z: number;
57
62
  };
58
- protected filterPointTag(): PointTagElement<import("../typings").TagContentType>[];
59
- protected filter2DPointTag(): Point2DElement<import("../typings").TagContentType>[];
60
- protected filter3DPointTag(): Point3DElement<import("../typings").TagContentType>[];
63
+ protected filterPointTag(): PointTagElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
64
+ protected filter2DPointTag(): Point2DElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
65
+ protected filter3DPointTag(): Point3DElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
66
+ protected filterModelTag(): ModelElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
61
67
  protected filter3DTag(): TagElement<any, "3DPoint" | "Plane">[];
62
68
  protected filterPlaneTag(): PlaneTagElement[];
63
69
  protected updateTagConfig(params?: {
64
70
  force?: boolean;
65
71
  }): void;
72
+ /** 通过射线检测标签可用性 */
73
+ protected getTagEnableByIntersect(tag: Tag<any, any>, raycaster: Raycaster): {
74
+ value: boolean;
75
+ reason: string;
76
+ };
77
+ /** 获取点位看向标签的射线 */
78
+ protected getRaycasterFromPanoIndex(tag: Tag, panoIndex: number): THREE.Raycaster;
79
+ /** 检测 target floor index 是否匹配当前楼层 */
80
+ protected checkFloorIndex(tag: TagElement): boolean;
81
+ protected changeTagMode(tag: TagElement<'MediaModel', 'Model'>, mode: 'behind' | 'front'): void;
66
82
  }
@@ -1,246 +1,262 @@
1
- var j = Object.defineProperty, w = Object.defineProperties;
2
- var $ = Object.getOwnPropertyDescriptors;
3
- var k = Object.getOwnPropertySymbols;
4
- var R = Object.prototype.hasOwnProperty, A = Object.prototype.propertyIsEnumerable;
5
- var P = (g, c, e) => c in g ? j(g, c, { enumerable: !0, configurable: !0, writable: !0, value: e }) : g[c] = e, x = (g, c) => {
6
- for (var e in c || (c = {}))
7
- R.call(c, e) && P(g, e, c[e]);
8
- if (k)
9
- for (var e of k(c))
10
- A.call(c, e) && P(g, e, c[e]);
1
+ var M = Object.defineProperty, U = Object.defineProperties;
2
+ var B = Object.getOwnPropertyDescriptors;
3
+ var P = Object.getOwnPropertySymbols;
4
+ var R = Object.prototype.hasOwnProperty, w = Object.prototype.propertyIsEnumerable;
5
+ var T = (g, d, e) => d in g ? M(g, d, { enumerable: !0, configurable: !0, writable: !0, value: e }) : g[d] = e, C = (g, d) => {
6
+ for (var e in d || (d = {}))
7
+ R.call(d, e) && T(g, e, d[e]);
8
+ if (P)
9
+ for (var e of P(d))
10
+ w.call(d, e) && T(g, e, d[e]);
11
11
  return g;
12
- }, I = (g, c) => w(g, $(c));
13
- var b = (g, c, e) => (P(g, typeof c != "symbol" ? c + "" : c, e), e);
14
- import D from "object-assign-deep";
15
- import * as U from "three";
16
- import { DefaultConfig as B } from "../tag.config.js";
17
- import { is3DTag as E, isPointTag as V } from "../utils/tag/tagCheck.js";
18
- import { arrayPositionToVector3 as M, anyPositionToVector3 as S } from "../../CSS3DRenderPlugin/utils/positionToVector3.js";
19
- import { planeNormal as _ } from "../utils/planeNormal.js";
20
- import { tagPosition as T } from "../utils/tagPosition.js";
21
- import { checkRange as y } from "../utils/checkRange.js";
22
- import { TagCacheController as z } from "./TagCacheController.js";
12
+ }, I = (g, d) => U(g, B(d));
13
+ var y = (g, d, e) => (T(g, typeof d != "symbol" ? d + "" : d, e), e);
14
+ import x from "object-assign-deep";
15
+ import * as k from "three";
16
+ import { DefaultConfig as $ } from "../tag.config.js";
17
+ import { isMediaModelTag as m, is3DTag as A } from "../utils/tag/tagCheck.js";
18
+ import { anyPositionToVector3 as E } from "../../CSS3DRenderPlugin/utils/positionToVector3.js";
19
+ import { planeNormal as V } from "../utils/planeNormal.js";
20
+ import { getTagPosition as D, tagPosition as j } from "../utils/tagPosition.js";
21
+ import { checkRange as b } from "../utils/checkRange.js";
22
+ import { TagCacheController as S } from "./TagCacheController.js";
23
+ import "hammerjs";
24
+ import "@realsee/five";
25
+ import "@tweenjs/tween.js";
26
+ import "../../CSS3DRenderPlugin/CSS3DRender.js";
27
+ import "../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
28
+ import { notNil as _ } from "../../shared-utils/isNil.js";
29
+ import "../../shared-utils/animationFrame/BetterTween.js";
30
+ import "@realsee/five/gltf-loader";
23
31
  import "../../CSS3DRenderPlugin/utils/centerPoint.js";
24
32
  import "../../base/BasePlugin.js";
25
33
  import "../../shared-utils/Subscribe.js";
26
- class Y extends z {
34
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
35
+ import "three/examples/jsm/renderers/CSS3DRenderer";
36
+ import "../../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
37
+ import "../../CSS3DRenderPlugin/utils/createResizeObserver.js";
38
+ import "../../CSS3DRenderPlugin/utils/even.js";
39
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
40
+ import "../../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
41
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
42
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
43
+ import "../../shared-utils/animationFrame/index.js";
44
+ class he extends S {
27
45
  constructor(e) {
28
46
  super(e);
29
- b(this, "tags", []);
30
- b(this, "config", B);
31
- b(this, "raycaster", new U.Raycaster());
47
+ y(this, "tags", []);
48
+ y(this, "config", $);
49
+ y(this, "raycaster", new k.Raycaster());
32
50
  }
33
51
  get isPanorama() {
34
52
  return this.five.currentMode === "Panorama";
35
53
  }
36
54
  getTagById(e) {
37
- const n = this.tags.find((i) => i.id === e);
38
- if (!n) {
39
- console.error(`getTagById(): tag is ${n}, id is ${e}`);
55
+ const t = this.tags.find((i) => i.id === e);
56
+ if (!t) {
57
+ console.error(`getTagById(): tag is ${t}, id is ${e}`);
40
58
  return;
41
59
  }
42
- return n;
60
+ return t;
43
61
  }
44
- changeContentTypeConfig(e, n, i = !0) {
45
- this.config.contentTypeConfig || (this.config.contentTypeConfig = {}), i ? this.config.contentTypeConfig[e] = D({}, this.config.contentTypeConfig[e], n) : this.config.contentTypeConfig[e] = n, this.clearCache();
62
+ changeContentTypeConfig(e, t, i = !0) {
63
+ this.config.contentTypeConfig || (this.config.contentTypeConfig = {}), i ? this.config.contentTypeConfig[e] = x({}, this.config.contentTypeConfig[e], t) : this.config.contentTypeConfig[e] = t, this.clearCache();
46
64
  }
47
- getVisibleByPanoIndex(e, n) {
48
- var o;
49
- const i = this.getCache({ panoIndex: n, id: e.id }), s = (o = this.five.panoIndex) != null ? o : n;
65
+ getVisibleByPanoIndex(e, t) {
66
+ var n;
67
+ const i = this.getCache({ panoIndex: t, id: e.id }), o = (n = this.five.panoIndex) != null ? n : t;
68
+ if (m(e))
69
+ return !0;
50
70
  if (i.visible !== void 0)
51
71
  return i.visible;
52
72
  {
53
- const a = (() => {
54
- var d, h, f, l;
55
- const t = (d = this.getTagConfig(e).visibleConfig) != null ? d : {}, r = this.getDistance(e);
56
- if (typeof t == "function")
57
- return { value: t(this.five, { tag: e, distance: r }), reason: "config function result" };
58
- if (t.keep === "hidden")
73
+ const r = (() => {
74
+ var c, u, f;
75
+ const s = (c = this.getTagConfig(e).visibleConfig) != null ? c : {}, l = this.getDistance(e);
76
+ if (typeof s == "function")
77
+ return { value: s(this.five, { tag: e, distance: l }), reason: "config function result" };
78
+ if (s.keep === "hidden")
59
79
  return { value: !1, reason: "config.keep is hidden" };
60
- if (t.keep === "visible")
80
+ if (s.keep === "visible")
61
81
  return { value: !0, reason: "config.keep is visible" };
62
- if (t.visiblePanoIndex !== void 0 && t.visiblePanoIndex !== "all" && s !== void 0) {
63
- if (Array.isArray(t.visiblePanoIndex) && !t.visiblePanoIndex.includes(s))
82
+ if (s.visiblePanoIndex !== void 0 && s.visiblePanoIndex !== "all" && o !== void 0) {
83
+ if (Array.isArray(s.visiblePanoIndex) && !s.visiblePanoIndex.includes(o))
64
84
  return {
65
85
  value: !1,
66
- reason: `current panoIndex is not included in visiblePano. currentPanoIndex: ${s}, visiblePanoIndex: ${t.visiblePanoIndex}`
86
+ reason: `current panoIndex is not included in visiblePano. currentPanoIndex: ${o}, visiblePanoIndex: ${s.visiblePanoIndex}`
67
87
  };
68
- if (t.visiblePanoIndex === "current" && s !== ((h = e.fiveState) == null ? void 0 : h.panoIndex))
88
+ if (s.visiblePanoIndex === "current" && o !== ((u = e.fiveState) == null ? void 0 : u.panoIndex))
69
89
  return {
70
90
  value: !1,
71
- reason: `current panoIndex is not equal to tag.panoIndex. currentPanoIndex: ${s}, tag.panoIndex: ${(f = e.fiveState) == null ? void 0 : f.panoIndex}`
91
+ reason: `current panoIndex is not equal to tag.panoIndex. currentPanoIndex: ${o}, tag.panoIndex: ${(f = e.fiveState) == null ? void 0 : f.panoIndex}`
72
92
  };
73
93
  }
74
- if (t.visibleDistance !== void 0 && t.visibleDistance !== "unLimited" && y(r, t.visibleDistance) === !1)
94
+ if (s.visibleDistance !== void 0 && s.visibleDistance !== "unLimited" && b(l, s.visibleDistance) === !1)
75
95
  return {
76
96
  value: !1,
77
- reason: `distance is not in visibleDistance. distance: ${r}, visibleDistance: ${t.visibleDistance}`
97
+ reason: `distance is not in visibleDistance. distance: ${l}, visibleDistance: ${s.visibleDistance}`
78
98
  };
79
- if (t.intersectRaycaster !== !1 && (typeof t.intersectRaycaster != "object" || t.intersectRaycaster.enabled !== !1)) {
80
- if (s === void 0)
81
- return {
82
- value: !1,
83
- reason: `intersectRaycaster check failed: fivePanoIndex is ${s}`
84
- };
85
- const u = (l = this.five.work.observers[s]) == null ? void 0 : l.position;
86
- if (u === void 0)
87
- throw new Error(`getVisible(): observerPosition is ${u}`);
88
- const p = T(e.position).sub(u).normalize();
89
- this.raycaster.set(u, p);
90
- const [v] = this.five.model.intersectRaycaster(this.raycaster), C = (() => {
91
- var m;
92
- return typeof t.intersectRaycaster == "object" && (m = t.intersectRaycaster.distanceAccuracy) != null ? m : 0.01;
93
- })();
94
- if (v && v.distance + C < r)
99
+ if (s.intersectRaycaster !== !1 && (typeof s.intersectRaycaster != "object" || s.intersectRaycaster.enabled !== !1)) {
100
+ if (o === void 0)
95
101
  return {
96
102
  value: !1,
97
- reason: `intersectRaycaster check failed: distance is ${r}, intersection.distance is ${v.distance}, distanceError is ${C}`
103
+ reason: `intersectRaycaster check failed: fivePanoIndex is ${o}`
98
104
  };
105
+ const a = this.getRaycasterFromPanoIndex(e, o), p = this.getTagEnableByIntersect(e, a);
106
+ if (p.value === !1)
107
+ return p;
99
108
  }
100
- if (t.angleRange && E(e)) {
101
- const u = this.getAngle(e);
102
- if (y(u, t.angleRange) === !1)
103
- return { value: !1, reason: `angle is not in angleRange. angle: ${u}, angleRange: ${t.angleRange}` };
109
+ if (s.angleRange && A(e)) {
110
+ const a = this.getAngle(e);
111
+ if (b(a, s.angleRange) === !1)
112
+ return { value: !1, reason: `angle is not in angleRange. angle: ${a}, angleRange: ${s.angleRange}` };
104
113
  }
105
114
  return {
106
115
  value: !0,
107
116
  reason: "all check passed"
108
117
  };
109
118
  })();
110
- return i.visible = a.value, i.__debug_visiblereason__ = a, i.visible;
119
+ return i.visible = r.value, i.__debug_visible_reason__ = r, i.visible;
111
120
  }
112
121
  }
113
- getUnfoldedByPanoIndex(e, n) {
122
+ getModelMedialVisibleByPanoIndex(e) {
123
+ const t = this.five.getCurrentState().panoIndex, i = this.getCache({ panoIndex: t, id: e.id });
124
+ if (i.modelMedialVisible !== void 0)
125
+ return i.modelMedialVisible;
126
+ const o = this.getRaycasterFromPanoIndex(e, t), n = this.getTagEnableByIntersect(e, o);
127
+ return i.modelMedialVisible = n.value, i.__debug_visible_reason__ = n, n.value !== !1;
128
+ }
129
+ getUnfoldedByPanoIndex(e, t) {
114
130
  if (!this.getVisibleByPanoIndex(e))
115
131
  return;
116
- const s = this.getCache({ panoIndex: n, id: e.id });
117
- if (s.unfolded !== void 0)
118
- return s.unfolded;
132
+ const o = this.getCache({ panoIndex: t, id: e.id });
133
+ if (o.unfolded !== void 0)
134
+ return o.unfolded;
119
135
  {
120
- const o = this.getTagConfig(e).unfoldedConfig;
121
- if (!o)
136
+ const n = this.getTagConfig(e).unfoldedConfig;
137
+ if (!n)
122
138
  return;
123
- const a = (() => {
124
- const r = this.getDistance(e);
125
- if (typeof o == "function")
126
- return o(this.five, { tag: e, distance: r });
127
- if (o.keep === "folded")
139
+ const r = (() => {
140
+ const l = this.getDistance(e);
141
+ if (typeof n == "function")
142
+ return n(this.five, { tag: e, distance: l });
143
+ if (n.keep === "folded")
128
144
  return !1;
129
- if (o.keep === "unfolded")
145
+ if (n.keep === "unfolded")
130
146
  return !0;
131
- if (o.unfoldDistance && y(r, o.unfoldDistance) === !1)
147
+ if (n.unfoldDistance && b(l, n.unfoldDistance) === !1)
132
148
  return !1;
133
149
  })();
134
- s.unfolded = a;
135
- const t = this.getUnfoldedByCamera(e);
136
- return t !== void 0 ? t : s.unfolded;
150
+ o.unfolded = r;
151
+ const s = this.getUnfoldedByCamera(e);
152
+ return s !== void 0 ? s : o.unfolded;
137
153
  }
138
154
  }
139
155
  getUnfoldedByCamera(e) {
140
156
  return this.getVisibleByPanoIndex(e) ? (() => {
141
- var a;
142
- const s = this.getDistance(e), o = this.getTagConfig(e).unfoldedConfig;
143
- if (!!o) {
144
- if (typeof o == "function")
145
- return o(this.five, { tag: e, distance: s });
146
- if (o.keep === "folded")
157
+ var r;
158
+ const o = this.getDistance(e), n = this.getTagConfig(e).unfoldedConfig;
159
+ if (!!n) {
160
+ if (typeof n == "function")
161
+ return n(this.five, { tag: e, distance: o });
162
+ if (n.keep === "folded")
147
163
  return !1;
148
- if (o.keep === "unfolded")
164
+ if (n.keep === "unfolded")
149
165
  return !0;
150
- if (o.autoUnfold === void 0 || o.autoUnfold === !1 || o.autoUnfold.enable === !1)
166
+ if (n.autoUnfold === void 0 || n.autoUnfold === !1 || n.autoUnfold.enable === !1)
151
167
  return;
152
- if (o.autoUnfold.strategy === "ScreenPostion") {
153
- const t = this.getTagProject(e);
154
- if (t && y(t.x, o.autoUnfold.autoUnfoldProjectX) === !1)
168
+ if (n.autoUnfold.strategy === "ScreenPostion") {
169
+ const s = this.getTagProject(e);
170
+ if (s && b(s.x, n.autoUnfold.autoUnfoldProjectX) === !1)
155
171
  return !1;
156
172
  }
157
- if (o.autoUnfold.strategy === "MinimumDistance") {
158
- const d = this.filterPointTag().filter((f) => this.getVisibleByPanoIndex(f)).filter((f) => {
159
- const l = this.getTagProject(f);
160
- if (!l)
173
+ if (n.autoUnfold.strategy === "MinimumDistance") {
174
+ const c = this.filterPointTag().filter((f) => this.getVisibleByPanoIndex(f)).filter((f) => {
175
+ const a = this.getTagProject(f);
176
+ if (!a)
161
177
  return !1;
162
- const { x: u, y: p, z: v } = l;
163
- return !(Math.abs(v) > 1 || Math.abs(u) > 1 || Math.abs(p) > 1);
164
- }).map((f) => ({ tag: f, id: f.id, tagConfig: this.getTagConfig(f).unfoldedConfig })).filter(({ tag: f, tagConfig: l }) => {
165
- var u, p;
166
- return !(typeof l != "object" || l.keep || l.autoUnfold === !1 || ((u = l.autoUnfold) == null ? void 0 : u.enable) === !1 || ((p = l.autoUnfold) == null ? void 0 : p.strategy) !== "MinimumDistance");
167
- }).map((f) => I(x({}, f), { distance: this.getDistance(f.tag) })).filter(({ distance: f, tagConfig: l }) => {
168
- var u, p;
169
- return !(f === void 0 || typeof l != "object" || l.autoUnfold === !1 || ((u = l.autoUnfold) == null ? void 0 : u.enable) === !1 || ((p = l.autoUnfold) == null ? void 0 : p.strategy) !== "MinimumDistance" || l.autoUnfold.distance && y(f, l.autoUnfold.distance) === !1);
170
- }).sort((f, l) => f.distance - l.distance).findIndex((f) => f.id === e.id);
171
- if (d === -1 || d <= ((a = o.autoUnfold.maxNumber) != null ? a : 1) - 1 === !1)
178
+ const { x: p, y: h, z: v } = a;
179
+ return !(Math.abs(v) > 1 || Math.abs(p) > 1 || Math.abs(h) > 1);
180
+ }).map((f) => ({ tag: f, id: f.id, tagConfig: this.getTagConfig(f).unfoldedConfig })).filter(({ tag: f, tagConfig: a }) => {
181
+ var p, h;
182
+ return !(typeof a != "object" || a.keep || a.autoUnfold === !1 || ((p = a.autoUnfold) == null ? void 0 : p.enable) === !1 || ((h = a.autoUnfold) == null ? void 0 : h.strategy) !== "MinimumDistance");
183
+ }).map((f) => I(C({}, f), { distance: this.getDistance(f.tag) })).filter(({ distance: f, tagConfig: a }) => {
184
+ var p, h;
185
+ return !(f === void 0 || typeof a != "object" || a.autoUnfold === !1 || ((p = a.autoUnfold) == null ? void 0 : p.enable) === !1 || ((h = a.autoUnfold) == null ? void 0 : h.strategy) !== "MinimumDistance" || a.autoUnfold.distance && b(f, a.autoUnfold.distance) === !1);
186
+ }).sort((f, a) => f.distance - a.distance).findIndex((f) => f.id === e.id);
187
+ if (c === -1 || c <= ((r = n.autoUnfold.maxNumber) != null ? r : 1) - 1 === !1)
172
188
  return !1;
173
189
  }
174
190
  return !0;
175
191
  }
176
192
  })() : void 0;
177
193
  }
178
- getDistance(e, n) {
179
- var o, a, t;
180
- const i = (o = this.five.panoIndex) != null ? o : n;
194
+ getDistance(e, t) {
195
+ var n, r, s;
196
+ const i = (n = this.five.panoIndex) != null ? n : t;
181
197
  if (i === void 0)
182
198
  throw new Error(`getDistance(): fivePanoIndex is ${i}`);
183
- const s = this.getCache({ panoIndex: n, id: e.id });
184
- if (s.distance !== void 0)
185
- return s.distance;
199
+ const o = this.getCache({ panoIndex: t, id: e.id });
200
+ if (o.distance !== void 0)
201
+ return o.distance;
186
202
  {
187
- const r = (t = (a = this.five.work) == null ? void 0 : a.observers[i]) == null ? void 0 : t.position;
188
- if (r === void 0)
189
- throw new Error(`getDistance(): observerPosition is ${r}`);
190
- const d = (() => V(e) ? M(e == null ? void 0 : e.position) : T(e.position))(), h = r.distanceTo(d);
191
- return s.distance = h, h;
203
+ const l = (s = (r = this.five.work) == null ? void 0 : r.observers[i]) == null ? void 0 : s.position;
204
+ if (l === void 0)
205
+ throw new Error(`getDistance(): observerPosition is ${l}`);
206
+ const c = D(e), u = l.distanceTo(c);
207
+ return o.distance = u, u;
192
208
  }
193
209
  }
194
- getAngle(e, n) {
195
- var o, a, t;
196
- const i = (o = this.five.panoIndex) != null ? o : n;
210
+ getAngle(e, t) {
211
+ var n, r, s;
212
+ const i = (n = this.five.panoIndex) != null ? n : t;
197
213
  if (i === void 0)
198
214
  throw new Error(`getDistance(): fivePanoIndex is ${i}`);
199
- const s = this.getCache({ panoIndex: n, id: e.id });
200
- if (s.angle !== void 0)
201
- return s.angle;
215
+ const o = this.getCache({ panoIndex: t, id: e.id });
216
+ if (o.angle !== void 0)
217
+ return o.angle;
202
218
  {
203
- const r = (t = (a = this.five.work) == null ? void 0 : a.observers[i]) == null ? void 0 : t.position;
204
- if (r === void 0)
205
- throw new Error(`getAngleRange(): observerPosition is ${r}`);
206
- const d = (() => e.stickType === "3DPoint" ? S(e.normal) : _(e.position))();
207
- if (!d)
219
+ const l = (s = (r = this.five.work) == null ? void 0 : r.observers[i]) == null ? void 0 : s.position;
220
+ if (l === void 0)
221
+ throw new Error(`getAngleRange(): observerPosition is ${l}`);
222
+ const c = (() => e.stickType === "3DPoint" ? E(e.normal) : V(e.position))();
223
+ if (!c)
208
224
  return;
209
- const h = new U.Vector3().copy(r).sub(T(e.position)), f = d.angleTo(h) * 180 / Math.PI;
210
- return s.angle = f, s.angle;
225
+ const u = new k.Vector3().copy(l).sub(j(e.position)), f = c.angleTo(u) * 180 / Math.PI;
226
+ return o.angle = f, o.angle;
211
227
  }
212
228
  }
213
229
  getTagConfig(e) {
214
- var s;
230
+ var o;
215
231
  if (!e)
216
- return (s = this.config.globalConfig) != null ? s : {};
217
- const n = {};
218
- this.config.contentTypeConfig && Object.keys(this.config.contentTypeConfig).forEach((o) => {
219
- const a = o;
220
- if (n[a])
232
+ return (o = this.config.globalConfig) != null ? o : {};
233
+ const t = {};
234
+ this.config.contentTypeConfig && Object.keys(this.config.contentTypeConfig).forEach((n) => {
235
+ const r = n;
236
+ if (t[r])
221
237
  return;
222
- const t = a.split("-");
223
- if (t.length === 1) {
224
- const [r] = t;
225
- e.contentType === r && (n[a] = this.config.contentTypeConfig[a]);
238
+ const s = r.split("-");
239
+ if (s.length === 1) {
240
+ const [l] = s;
241
+ e.contentType === l && (t[r] = this.config.contentTypeConfig[r]);
226
242
  }
227
- if (t.length === 2) {
228
- const [r = "Any", d = "Any"] = t;
229
- (e.stickType === r || r === "Any") && (e.contentType === d || d === "Any") && (n[a] = this.config.contentTypeConfig[a]);
243
+ if (s.length === 2) {
244
+ const [l = "Any", c = "Any"] = s;
245
+ (e.stickType === l || l === "Any") && (e.contentType === c || c === "Any") && (t[r] = this.config.contentTypeConfig[r]);
230
246
  }
231
- if (t.length === 3) {
232
- const [r = "Any", d, h] = t;
233
- if (d === "Audio" && e.contentType === "Audio") {
247
+ if (s.length === 3) {
248
+ const [l = "Any", c, u] = s;
249
+ if (c === "Audio" && e.contentType === "Audio") {
234
250
  const f = e;
235
- (f.stickType === r || r === "Any") && f.data.appearance === h && (n[a] = this.config.contentTypeConfig[a]);
251
+ (f.stickType === l || l === "Any") && f.data.appearance === u && (t[r] = this.config.contentTypeConfig[r]);
236
252
  }
237
253
  }
238
254
  });
239
- const i = D({}, this.config.globalConfig, ...Object.values(n), e.config);
255
+ const i = x({}, this.config.globalConfig, ...Object.values(t), e.config);
240
256
  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 }), i;
241
257
  }
242
- can(e, n) {
243
- const i = this.getTagConfig(n);
258
+ can(e, t) {
259
+ const i = this.getTagConfig(t);
244
260
  if (!i || typeof i != "object")
245
261
  return !0;
246
262
  if (e === "show" || e === "hide") {
@@ -258,37 +274,45 @@ class Y extends z {
258
274
  return !0;
259
275
  }
260
276
  sort(e) {
261
- return e.sort((n, i) => {
262
- const s = this.getDistance(n), o = this.getDistance(i);
263
- return s === void 0 || o === void 0 ? 0 : o - s;
277
+ return e.sort((t, i) => {
278
+ const o = this.getDistance(t), n = this.getDistance(i);
279
+ return o === void 0 || n === void 0 ? 0 : n - o;
264
280
  });
265
281
  }
266
282
  setPointTagPosition() {
267
283
  const e = this.filterPointTag();
268
- e.length !== 0 && e.forEach((n) => {
269
- var s;
270
- if (!((s = n.state) != null && s.visible)) {
271
- n.pointTagStyle = null;
284
+ e.length !== 0 && e.forEach((t) => {
285
+ var o;
286
+ if (!((o = t.state) != null && o.visible)) {
287
+ t.pointTagStyle = null;
272
288
  return;
273
289
  }
274
- const i = this.getTagProject(n);
290
+ const i = this.getTagProject(t);
275
291
  if (!i) {
276
- n.pointTagStyle = null;
292
+ t.pointTagStyle = null;
277
293
  return;
278
294
  }
279
- n.pointTagStyle = { leftPercent: (i.x + 1) / 2 * 100, topPercent: (-i.y + 1) / 2 * 100 };
295
+ t.pointTagStyle = { leftPercent: (i.x + 1) / 2 * 100, topPercent: (-i.y + 1) / 2 * 100 };
280
296
  });
281
297
  }
282
298
  setVisibleByPanoIndex() {
283
299
  this.tags.forEach((e) => {
284
- const n = this.getVisibleByPanoIndex(e);
285
- e.state && (e.state.visible = n);
300
+ const t = this.getVisibleByPanoIndex(e);
301
+ e.state && (e.state.visible = t);
302
+ });
303
+ }
304
+ setModelMedialVisibleByPanoIndex() {
305
+ this.tags.forEach((e) => {
306
+ if (!m(e))
307
+ return;
308
+ const t = this.getModelMedialVisibleByPanoIndex(e);
309
+ e.mediaVisible = t;
286
310
  });
287
311
  }
288
312
  setUnfoldedByPanoIndex() {
289
313
  this.tags.forEach((e) => {
290
- const n = this.getUnfoldedByPanoIndex(e);
291
- if (!!e.state && (n !== void 0 && (e.state.unfolded = n), n && !e.state.visible)) {
314
+ const t = this.getUnfoldedByPanoIndex(e);
315
+ if (!!e.state && (t !== void 0 && (e.state.unfolded = t), t && !e.state.visible)) {
292
316
  const i = this.getTagConfig(e);
293
317
  typeof i.unfoldedConfig == "object" && i.unfoldedConfig.autoUnfoldWhenHide !== !1 && (e.state.unfolded = !1);
294
318
  }
@@ -297,9 +321,9 @@ class Y extends z {
297
321
  getTagProject(e) {
298
322
  if (!this.getVisibleByPanoIndex(e))
299
323
  return;
300
- const i = T(e.position), { x: s, y: o, z: a } = i.project(this.five.camera);
301
- if (!(a > 1))
302
- return { x: s, y: o, z: a };
324
+ const i = j(e.position), { x: o, y: n, z: r } = i.project(this.five.camera);
325
+ if (!(r > 1))
326
+ return { x: o, y: n, z: r };
303
327
  }
304
328
  filterPointTag() {
305
329
  return this.tags.filter((e) => e.stickType === "2DPoint" || e.stickType === "3DPoint");
@@ -310,6 +334,9 @@ class Y extends z {
310
334
  filter3DPointTag() {
311
335
  return this.tags.filter((e) => e.stickType === "3DPoint");
312
336
  }
337
+ filterModelTag() {
338
+ return this.tags.filter((e) => e.stickType === "Model");
339
+ }
313
340
  filter3DTag() {
314
341
  return this.tags.filter((e) => e.stickType === "3DPoint" || e.stickType === "Plane");
315
342
  }
@@ -317,12 +344,51 @@ class Y extends z {
317
344
  return this.tags.filter((e) => e.stickType === "Plane");
318
345
  }
319
346
  updateTagConfig(e) {
320
- e != null && e.force && this.clearCache(), this.tags.forEach((n) => {
321
- const i = this.getTagConfig(n);
322
- n.mergedConfig = i;
347
+ e != null && e.force && this.clearCache(), this.tags.forEach((t) => {
348
+ const i = this.getTagConfig(t);
349
+ t.mergedConfig = i;
323
350
  });
324
351
  }
352
+ getTagEnableByIntersect(e, t) {
353
+ var c, u, f;
354
+ const i = (c = this.getTagConfig(e).visibleConfig) != null ? c : {}, o = this.getDistance(e), [n] = this.five.model.intersectRaycaster(t), r = (() => {
355
+ if (!m(e))
356
+ return;
357
+ const a = this.tags.filter(m).map((h) => {
358
+ var v;
359
+ return (v = h.model) == null ? void 0 : v.object;
360
+ }).filter(_);
361
+ return t.intersectObjects(a, !0)[0];
362
+ })(), s = (() => {
363
+ var a;
364
+ return typeof i == "object" && typeof i.intersectRaycaster == "object" && (a = i.intersectRaycaster.distanceAccuracy) != null ? a : 0.01;
365
+ })();
366
+ return Math.min((u = n == null ? void 0 : n.distance) != null ? u : 1 / 0, (f = r == null ? void 0 : r.distance) != null ? f : 1 / 0) + s < o ? {
367
+ value: !1,
368
+ reason: `intersectRaycaster check failed: distance is ${o}, intersection.point is ${n.point.toArray()}, distanceError is ${s}`
369
+ } : { value: !0, reason: "" };
370
+ }
371
+ getRaycasterFromPanoIndex(e, t) {
372
+ var n;
373
+ const i = (n = this.five.work.observers[t]) == null ? void 0 : n.position;
374
+ if (i === void 0)
375
+ throw new Error(`getVisible(): observerPosition is ${i}`);
376
+ const o = D(e).sub(i).normalize();
377
+ return this.raycaster.set(i, o), this.raycaster;
378
+ }
379
+ checkFloorIndex(e) {
380
+ var r;
381
+ const t = e.fiveState;
382
+ if (!t)
383
+ return !0;
384
+ const i = t.panoIndex, o = (r = this.five.work.observers[i]) == null ? void 0 : r.floorIndex, n = this.five.model.shownFloor;
385
+ return n === null || n === o;
386
+ }
387
+ changeTagMode(e, t) {
388
+ var i, o, n, r, s;
389
+ (i = e.config) != null && i.tag3DConfig ? e.config.tag3DConfig.mode = t : e.config ? e.config.tag3DConfig = { mode: t } : e.config = { tag3DConfig: { mode: t } }, (n = (o = e.tag3DContentSvelte) == null ? void 0 : o.domContainer) == null || n.dispose(), (s = (r = e.tag3DContentSvelte) == null ? void 0 : r.svelteApp) == null || s.$destroy(), e.tag3DContentSvelte = void 0;
390
+ }
325
391
  }
326
392
  export {
327
- Y as TagComputer
393
+ he as TagComputer
328
394
  };