@realsee/dnalogel 2.28.0-dev.1 → 2.28.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 (408) hide show
  1. package/dist/AreaMakerPlugin/Controller.d.ts +94 -0
  2. package/dist/AreaMakerPlugin/index.d.ts +4 -0
  3. package/dist/AreaMakerPlugin/typing.d.ts +148 -0
  4. package/dist/AreaMakerPlugin/utils/Item.d.ts +114 -0
  5. package/dist/GuideLinePlugin/utils/createLineGeometry.d.ts +0 -5
  6. package/dist/PanoTagPlugin/typings/tag/Tag.d.ts +1 -1
  7. package/dist/PanoTagPlugin/typings/tag/TagConfig.d.ts +2 -4
  8. package/dist/PanoTagPlugin/typings/tag/TagData.d.ts +2 -0
  9. package/dist/base/BasePluginWithData.d.ts +1 -1
  10. package/dist/components/AreaLabel/Assets/roomLabelBg.d.ts +1 -0
  11. package/dist/floorplan/index.d.ts +0 -1
  12. package/dist/floorplan/utils/correctFiveState.d.ts +2 -0
  13. package/dist/index.cjs.js +67 -67
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.js +6898 -7187
  16. package/dist/index.umd.js +60 -60
  17. package/dist/shared-utils/index.d.ts +1 -0
  18. package/dist/shared-utils/math/planimetry.d.ts +1 -1
  19. package/dist/shared-utils/three/core/Object3D.d.ts +8 -0
  20. package/dist/shared-utils/three/index.d.ts +2 -0
  21. package/dist/shared-utils/three/loadVideoTexture.d.ts +1 -1
  22. package/dist/shared-utils/three/objects/LineSegments.d.ts +9 -0
  23. package/libs/AreaMakerPlugin/Controller.d.ts +94 -0
  24. package/libs/AreaMakerPlugin/Controller.js +336 -0
  25. package/libs/AreaMakerPlugin/index.d.ts +4 -0
  26. package/libs/AreaMakerPlugin/index.js +37 -0
  27. package/libs/AreaMakerPlugin/typing.d.ts +148 -0
  28. package/libs/AreaMakerPlugin/utils/Item.d.ts +114 -0
  29. package/libs/AreaMakerPlugin/utils/Item.js +263 -0
  30. package/libs/GuideLinePlugin/GuideLineModeItem/index.js +42 -39
  31. package/libs/GuideLinePlugin/utils/createLineGeometry.d.ts +0 -5
  32. package/libs/GuideLinePlugin/utils/createLineGeometry.js +13 -13
  33. package/libs/PanoTagPlugin/controller/TagRender.js +19 -18
  34. package/libs/PanoTagPlugin/typings/tag/Tag.d.ts +1 -1
  35. package/libs/PanoTagPlugin/typings/tag/TagConfig.d.ts +2 -4
  36. package/libs/PanoTagPlugin/typings/tag/TagData.d.ts +2 -0
  37. package/libs/PanoTagPlugin/utils/model/mediaPlane.js +10 -10
  38. package/libs/base/BasePlugin.js +1 -1
  39. package/libs/base/BasePluginWithData.d.ts +1 -1
  40. package/libs/components/AreaLabel/Assets/roomLabelBg.d.ts +1 -0
  41. package/libs/components/AreaLabel/Assets/roomLabelBg.js +4 -0
  42. package/libs/components/AreaLabel/LabelItem.js +125 -0
  43. package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +49 -48
  44. package/libs/floorplan/index.d.ts +0 -1
  45. package/libs/floorplan/utils/correctFiveState.d.ts +2 -0
  46. package/libs/floorplan/utils/correctFiveState.js +28 -28
  47. package/libs/index.d.ts +1 -0
  48. package/libs/index.js +120 -122
  49. package/libs/shared-utils/device.js +0 -1
  50. package/libs/shared-utils/five/changeMode.js +32 -29
  51. package/libs/shared-utils/index.d.ts +1 -0
  52. package/libs/shared-utils/index.js +27 -21
  53. package/libs/shared-utils/logger.js +1 -1
  54. package/libs/shared-utils/math/planimetry.d.ts +1 -1
  55. package/libs/shared-utils/math/planimetry.js +36 -29
  56. package/libs/shared-utils/three/core/Object3D.d.ts +8 -0
  57. package/libs/shared-utils/three/core/Object3D.js +22 -0
  58. package/libs/shared-utils/three/index.d.ts +2 -0
  59. package/libs/shared-utils/three/loadVideoTexture.d.ts +1 -1
  60. package/libs/shared-utils/three/loadVideoTexture.js +6 -6
  61. package/libs/shared-utils/three/objects/LineSegments.d.ts +9 -0
  62. package/libs/shared-utils/three/objects/LineSegments.js +9 -0
  63. package/libs/vendor/svelte/internal/index.js +79 -85
  64. package/package.json +2 -2
  65. package/dist/floorplan/FloorplanRoomsPlugin/BasePlugin.d.ts +0 -114
  66. package/dist/floorplan/FloorplanRoomsPlugin/BasePluginWithData.d.ts +0 -23
  67. package/dist/floorplan/FloorplanRoomsPlugin/Components/CurrentFloor/RoomHighlight/Room.svelte.d.ts +0 -1
  68. package/dist/floorplan/FloorplanRoomsPlugin/Components/CurrentFloor/RoomHighlight/RoomHighlight.svelte.d.ts +0 -1
  69. package/dist/floorplan/FloorplanRoomsPlugin/Components/Main.svelte.d.ts +0 -1
  70. package/dist/floorplan/FloorplanRoomsPlugin/Controller.d.ts +0 -40
  71. package/dist/floorplan/FloorplanRoomsPlugin/index.d.ts +0 -6
  72. package/dist/floorplan/FloorplanRoomsPlugin/typing.d.ts +0 -60
  73. package/docs/.nojekyll +0 -1
  74. package/docs/assets/highlight.css +0 -120
  75. package/docs/assets/main.js +0 -58
  76. package/docs/assets/search.js +0 -1
  77. package/docs/assets/style.css +0 -1367
  78. package/docs/classes/CSS3DRender.html +0 -770
  79. package/docs/classes/CruisePluginController.html +0 -669
  80. package/docs/classes/GuideLineItem.GuideLineItem.html +0 -488
  81. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +0 -789
  82. package/docs/classes/Magnifier.html +0 -477
  83. package/docs/classes/ModelRoomLabelController.html +0 -395
  84. package/docs/classes/Object3DHelperController.html +0 -637
  85. package/docs/classes/PaintBrush.html +0 -499
  86. package/docs/classes/PanoMeasurePluginLine.html +0 -519
  87. package/docs/classes/PanoMeasurePluginModel.html +0 -568
  88. package/docs/classes/PanoMeasurePluginPoint.html +0 -359
  89. package/docs/classes/PanoMeasurePluginPolyline.html +0 -564
  90. package/docs/classes/PanoTagPluginController.html +0 -1087
  91. package/docs/classes/Util.BetterTween.html +0 -409
  92. package/docs/classes/Util.Interval.html +0 -425
  93. package/docs/classes/Util.Magnifier.html +0 -496
  94. package/docs/classes/Util.PointDomHelper.html +0 -400
  95. package/docs/classes/Util.PointHelper.html +0 -391
  96. package/docs/classes/Util.PointSelectorHelper.html +0 -447
  97. package/docs/classes/Util.Rectangle.html +0 -448
  98. package/docs/enums/CameraMovementEffect.html +0 -307
  99. package/docs/enums/ContentType.html +0 -443
  100. package/docs/enums/DIRECTION.html +0 -317
  101. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +0 -317
  102. package/docs/enums/DimensionType.html +0 -307
  103. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +0 -310
  104. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +0 -317
  105. package/docs/enums/PaintBrushTypeEnum.html +0 -310
  106. package/docs/enums/PointType.html +0 -307
  107. package/docs/enums/Rotation.html +0 -314
  108. package/docs/functions/CSS3DRenderPlugin.html +0 -285
  109. package/docs/functions/CameraMovementPlugin.html +0 -290
  110. package/docs/functions/CruisePlugin.html +0 -287
  111. package/docs/functions/FloorplanRoomsPlugin.html +0 -285
  112. package/docs/functions/GuideLinePlugin.html +0 -287
  113. package/docs/functions/ItemLabelPlugin.html +0 -287
  114. package/docs/functions/MapviewFloorplanPlugin.html +0 -287
  115. package/docs/functions/ModelChassisCompassPlugin.html +0 -290
  116. package/docs/functions/ModelEntryDoorGuidePlugin.html +0 -290
  117. package/docs/functions/ModelFloorplanPlugin.html +0 -287
  118. package/docs/functions/ModelItemLabelPlugin.html +0 -287
  119. package/docs/functions/ModelRoomLabelPlugin.html +0 -285
  120. package/docs/functions/ModelTVVideoPlugin.html +0 -287
  121. package/docs/functions/ModelViewPlugin.html +0 -290
  122. package/docs/functions/Object3DHelperPlugin.html +0 -285
  123. package/docs/functions/PanoCompassPlugin.html +0 -287
  124. package/docs/functions/PanoCursorRaycasterPlugin.html +0 -291
  125. package/docs/functions/PanoDoorLabelPlugin.html +0 -287
  126. package/docs/functions/PanoFloorplanRadarPlugin.html +0 -287
  127. package/docs/functions/PanoMeasurePlugin.html +0 -287
  128. package/docs/functions/PanoRulerPlugin.html +0 -290
  129. package/docs/functions/PanoRulerProPlugin.html +0 -290
  130. package/docs/functions/PanoSpatialTagPlugin.html +0 -290
  131. package/docs/functions/PanoTagPlugin.html +0 -292
  132. package/docs/functions/PanoVideoPlugin.html +0 -296
  133. package/docs/functions/PipelinePlugin.html +0 -285
  134. package/docs/functions/TopviewFloorplanPlugin.html +0 -287
  135. package/docs/functions/Util.absoluteUrl.html +0 -319
  136. package/docs/functions/Util.getCoordsFromClient.html +0 -321
  137. package/docs/functions/Util.getCoordsFromElement.html +0 -321
  138. package/docs/functions/Util.getFrameTime.html +0 -313
  139. package/docs/functions/Util.getIntersectFromRelativePosition.html +0 -321
  140. package/docs/functions/Util.getRaycasterFromFivePointer.html +0 -321
  141. package/docs/functions/Util.isAbsoluteURL.html +0 -314
  142. package/docs/functions/Util.isModelLike.html +0 -314
  143. package/docs/functions/Util.isNil.html +0 -322
  144. package/docs/functions/Util.isPanoramaLike.html +0 -314
  145. package/docs/functions/Util.nextFrame.html +0 -327
  146. package/docs/functions/Util.notNil.html +0 -322
  147. package/docs/functions/Util.requestAnimationFrameInterval.html +0 -343
  148. package/docs/functions/Util.tweenProgress.html +0 -316
  149. package/docs/functions/Util.uuid.html +0 -312
  150. package/docs/functions/pluginFlag.html +0 -285
  151. package/docs/index.html +0 -351
  152. package/docs/interfaces/AddTagConfig.html +0 -300
  153. package/docs/interfaces/CSS3DRenderPluginEventMap.html +0 -446
  154. package/docs/interfaces/CSS3DRenderPluginState.html +0 -322
  155. package/docs/interfaces/CameraMovementPluginExportType.html +0 -355
  156. package/docs/interfaces/CruisePluginTypes.Config.html +0 -356
  157. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +0 -358
  158. package/docs/interfaces/CruisePluginTypes.EventMap.html +0 -693
  159. package/docs/interfaces/CruisePluginTypes.MoveAction.html +0 -382
  160. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +0 -418
  161. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +0 -408
  162. package/docs/interfaces/CruisePluginTypes.PluginData.html +0 -348
  163. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +0 -316
  164. package/docs/interfaces/CruisePluginTypes.PluginState.html +0 -405
  165. package/docs/interfaces/EventMap.html +0 -539
  166. package/docs/interfaces/FloorplanBounding.html +0 -329
  167. package/docs/interfaces/FloorplanData.html +0 -332
  168. package/docs/interfaces/FloorplanEntrance.html +0 -357
  169. package/docs/interfaces/FloorplanExtraObject.html +0 -347
  170. package/docs/interfaces/FloorplanExtraObject3D.html +0 -336
  171. package/docs/interfaces/FloorplanFloorData.html +0 -325
  172. package/docs/interfaces/FloorplanImagePosition.html +0 -311
  173. package/docs/interfaces/FloorplanObserver.html +0 -329
  174. package/docs/interfaces/FloorplanOutlineItem.html +0 -325
  175. package/docs/interfaces/FloorplanPosition.html +0 -311
  176. package/docs/interfaces/FloorplanRoomItem.html +0 -376
  177. package/docs/interfaces/FloorplanRoomLabelItem.html +0 -317
  178. package/docs/interfaces/FloorplanServerBounding.html +0 -329
  179. package/docs/interfaces/FloorplanServerComputedData.html +0 -328
  180. package/docs/interfaces/FloorplanServerData.html +0 -311
  181. package/docs/interfaces/FloorplanServerDoorItem.html +0 -328
  182. package/docs/interfaces/FloorplanServerDoorPosition.html +0 -314
  183. package/docs/interfaces/FloorplanServerEntrance.html +0 -357
  184. package/docs/interfaces/FloorplanServerFloorData.html +0 -325
  185. package/docs/interfaces/FloorplanServerImagePosition.html +0 -311
  186. package/docs/interfaces/FloorplanServerObserver.html +0 -329
  187. package/docs/interfaces/FloorplanServerOutlineItem.html +0 -325
  188. package/docs/interfaces/FloorplanServerPosition.html +0 -311
  189. package/docs/interfaces/FloorplanServerRoomItem.html +0 -388
  190. package/docs/interfaces/FloorplanServerRoomLabelItem.html +0 -317
  191. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +0 -320
  192. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +0 -358
  193. package/docs/interfaces/GuideLinePluginType.EventMap.html +0 -522
  194. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +0 -353
  195. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +0 -344
  196. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +0 -411
  197. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +0 -343
  198. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +0 -468
  199. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +0 -340
  200. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +0 -468
  201. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +0 -305
  202. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +0 -326
  203. package/docs/interfaces/GuideLinePluginType.PluginState.html +0 -351
  204. package/docs/interfaces/GuideLinePluginType.Route.html +0 -367
  205. package/docs/interfaces/GuideLinePluginType.RouteConfig.html +0 -349
  206. package/docs/interfaces/HelperOffset.html +0 -329
  207. package/docs/interfaces/ImagePlaneGroup.html +0 -303
  208. package/docs/interfaces/ItemLabelPluginData.html +0 -300
  209. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +0 -385
  210. package/docs/interfaces/ItemLabelPluginParametersType.html +0 -321
  211. package/docs/interfaces/MinMax.html +0 -307
  212. package/docs/interfaces/ModelChassisCompassPluginData.html +0 -307
  213. package/docs/interfaces/ModelChassisCompassPluginExportType.html +0 -343
  214. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +0 -307
  215. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +0 -314
  216. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +0 -351
  217. package/docs/interfaces/ModelItemLabelPluginData.html +0 -300
  218. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +0 -385
  219. package/docs/interfaces/ModelItemLabelPluginParametersType.html +0 -307
  220. package/docs/interfaces/ModelRoomLabelPluginData.html +0 -300
  221. package/docs/interfaces/ModelTVVideoPluginData.html +0 -321
  222. package/docs/interfaces/ModelTVVideoPluginExportType.html +0 -345
  223. package/docs/interfaces/ModelTVVideoPluginParameterType.html +0 -300
  224. package/docs/interfaces/ModelViewPluginExportType.html +0 -413
  225. package/docs/interfaces/Object3DHelperState.html +0 -314
  226. package/docs/interfaces/ObjectHelperControllers.html +0 -321
  227. package/docs/interfaces/PaintBrushAction.html +0 -360
  228. package/docs/interfaces/PaintBrushConfigs.html +0 -358
  229. package/docs/interfaces/PaintBrushState.html +0 -342
  230. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +0 -422
  231. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +0 -279
  232. package/docs/interfaces/PanoMeasureParameterType.html +0 -446
  233. package/docs/interfaces/PanoMeasurePluginLineJson.html +0 -314
  234. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +0 -311
  235. package/docs/interfaces/PanoMeasurePluginPointJson.html +0 -307
  236. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +0 -317
  237. package/docs/interfaces/PanoRulerPluginExportType.html +0 -374
  238. package/docs/interfaces/PanoRulerPluginOptions.html +0 -323
  239. package/docs/interfaces/PanoRulerPluginParameterType.html +0 -314
  240. package/docs/interfaces/PanoRulerProPluginExportType.html +0 -350
  241. package/docs/interfaces/PanoRulerProPluginOptions.html +0 -320
  242. package/docs/interfaces/PanoRulerProPluginParameterType.html +0 -307
  243. package/docs/interfaces/PanoRulerProPluginState.html +0 -314
  244. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +0 -293
  245. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +0 -282
  246. package/docs/interfaces/PanoSpatialTagPluginData.html +0 -350
  247. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +0 -332
  248. package/docs/interfaces/PanoSpatialTagPluginExportType.html +0 -428
  249. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +0 -328
  250. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +0 -349
  251. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +0 -335
  252. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +0 -328
  253. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +0 -320
  254. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +0 -338
  255. package/docs/interfaces/PanoVideoPluginType.PluginData.html +0 -311
  256. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +0 -417
  257. package/docs/interfaces/PanoVideoPluginType.PluginState.html +0 -311
  258. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +0 -346
  259. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +0 -365
  260. package/docs/interfaces/Point.html +0 -314
  261. package/docs/interfaces/Room.html +0 -321
  262. package/docs/interfaces/RoomInfo.html +0 -307
  263. package/docs/interfaces/RoomLabel.html +0 -383
  264. package/docs/interfaces/RoomRules.html +0 -282
  265. package/docs/interfaces/Rooms.html +0 -282
  266. package/docs/interfaces/Scissor.html +0 -341
  267. package/docs/interfaces/State.html +0 -328
  268. package/docs/interfaces/TagCacheInterface.html +0 -352
  269. package/docs/interfaces/TagConfig.html +0 -542
  270. package/docs/interfaces/TagGLTFObjectGroup.html +0 -303
  271. package/docs/interfaces/TagIconUrl.html +0 -360
  272. package/docs/interfaces/TagObjectGroup.html +0 -303
  273. package/docs/interfaces/TagStyle.html +0 -313
  274. package/docs/interfaces/Tags.html +0 -543
  275. package/docs/interfaces/TemporaryState.html +0 -300
  276. package/docs/interfaces/Util.MagnifierParameter.html +0 -384
  277. package/docs/interfaces/Util.MouseGroupParameter.html +0 -343
  278. package/docs/interfaces/Util.PointIntersection.html +0 -358
  279. package/docs/modules/CruisePluginTypes.html +0 -325
  280. package/docs/modules/GuideLineItem.html +0 -286
  281. package/docs/modules/GuideLineModeItem.html +0 -291
  282. package/docs/modules/GuideLinePluginType.html +0 -345
  283. package/docs/modules/PanoVideoPluginType.html +0 -298
  284. package/docs/modules/Util.html +0 -340
  285. package/docs/modules.html +0 -534
  286. package/docs/types/ArrayPosition.html +0 -276
  287. package/docs/types/AudioAppearance.html +0 -276
  288. package/docs/types/AudioTagTypeConfigKey.html +0 -276
  289. package/docs/types/CSS3DRenderExportType.html +0 -276
  290. package/docs/types/CSS3DRenderPluginExportType.html +0 -276
  291. package/docs/types/CSS3DRenderPluginParameterType.html +0 -276
  292. package/docs/types/ClassFunctionParameters.html +0 -283
  293. package/docs/types/Color.html +0 -276
  294. package/docs/types/ContentTypeConfigKey.html +0 -276
  295. package/docs/types/ContentTypeConfigKeySplit.html +0 -276
  296. package/docs/types/ContentTypeMap.html +0 -276
  297. package/docs/types/Create3DDomContainerReturnType.html +0 -276
  298. package/docs/types/Create3DElementReturnType.html +0 -276
  299. package/docs/types/CruisePluginExportType.html +0 -276
  300. package/docs/types/CruisePluginTypes.CruiseData.html +0 -315
  301. package/docs/types/CruisePluginTypes.MoveEffect.html +0 -292
  302. package/docs/types/DeprecatedMediaPlaneProperty.html +0 -288
  303. package/docs/types/DeprecatedTagProperty.html +0 -291
  304. package/docs/types/Direction-1.html +0 -276
  305. package/docs/types/Direction4.html +0 -276
  306. package/docs/types/ElementRenderer.html +0 -300
  307. package/docs/types/FloorplanRoomsPluginParameterType.html +0 -276
  308. package/docs/types/FloorplanRoomsPluginReturnType.html +0 -276
  309. package/docs/types/FloorplanRuleLabels.html +0 -279
  310. package/docs/types/FloorplanServerRuleLabels.html +0 -276
  311. package/docs/types/GuideLinePluginExportType.html +0 -276
  312. package/docs/types/GuideLinePluginType.GuideLineItem.html +0 -348
  313. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +0 -369
  314. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +0 -302
  315. package/docs/types/GuideLinePluginType.GuideLineStyle.html +0 -305
  316. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +0 -305
  317. package/docs/types/GuideLinePluginType.PathItem.html +0 -305
  318. package/docs/types/GuideLinePluginType.PluginData.html +0 -314
  319. package/docs/types/HelperEventMap.html +0 -514
  320. package/docs/types/LoadTagConfig.html +0 -276
  321. package/docs/types/MapviewFloorplanPluginParameterType.html +0 -276
  322. package/docs/types/MapviewFloorplanPluginReturnType.html +0 -276
  323. package/docs/types/MediaData.html +0 -292
  324. package/docs/types/MediaStore.html +0 -281
  325. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +0 -283
  326. package/docs/types/ModelFloorplanPluginParameterType.html +0 -276
  327. package/docs/types/ModelFloorplanPluginReturnType.html +0 -276
  328. package/docs/types/ModelRoomLabelPluginParameters.html +0 -276
  329. package/docs/types/ModelRoomLabelPluginReturnType.html +0 -276
  330. package/docs/types/MoveArgs.html +0 -286
  331. package/docs/types/MoveOpts.html +0 -284
  332. package/docs/types/Object3DHelperEventMap.html +0 -369
  333. package/docs/types/ObjectFit.html +0 -276
  334. package/docs/types/PaintBrushEventMap.html +0 -307
  335. package/docs/types/PanoCompassPluginData.html +0 -276
  336. package/docs/types/PanoCompassPluginExportType.html +0 -276
  337. package/docs/types/PanoCompassPluginParameterType.html +0 -276
  338. package/docs/types/PanoFloorplanRadarPluginParameterType.html +0 -276
  339. package/docs/types/PanoFloorplanRadarPluginReturnType.html +0 -276
  340. package/docs/types/PanoIndex.html +0 -276
  341. package/docs/types/PanoMeasurePluginEvent.html +0 -276
  342. package/docs/types/PanoMeasureReturnType.html +0 -276
  343. package/docs/types/PanoSpatialTagPluginId.html +0 -276
  344. package/docs/types/PanoTagPluginExportInterface.html +0 -276
  345. package/docs/types/PanoTagPluginParamsInterface.html +0 -276
  346. package/docs/types/PanoVideoPluginParameterType.html +0 -276
  347. package/docs/types/PanoVideoPluginReturnType.html +0 -276
  348. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +0 -284
  349. package/docs/types/PipelinePluginParameterType.html +0 -276
  350. package/docs/types/PipelinePluginReturnType.html +0 -276
  351. package/docs/types/PlaneTag.html +0 -284
  352. package/docs/types/Point2DTag.html +0 -284
  353. package/docs/types/Point3DTag.html +0 -284
  354. package/docs/types/PointTag.html +0 -281
  355. package/docs/types/PointTagInstance.html +0 -281
  356. package/docs/types/Position.html +0 -276
  357. package/docs/types/RotateArgs.html +0 -288
  358. package/docs/types/RotateOpts.html +0 -284
  359. package/docs/types/RuleLabelsKey.html +0 -276
  360. package/docs/types/RuleLabelsValue.html +0 -276
  361. package/docs/types/StickType.html +0 -276
  362. package/docs/types/Tag.html +0 -342
  363. package/docs/types/Tag2D.html +0 -284
  364. package/docs/types/Tag3D.html +0 -284
  365. package/docs/types/TagConfigByKey.html +0 -281
  366. package/docs/types/TagContentType.html +0 -276
  367. package/docs/types/TagDimensionType.html +0 -278
  368. package/docs/types/TagElement.html +0 -286
  369. package/docs/types/TagEvents.html +0 -329
  370. package/docs/types/TagGLTFObject.html +0 -299
  371. package/docs/types/TagHooks.html +0 -276
  372. package/docs/types/TagId.html +0 -276
  373. package/docs/types/TagInstance.html +0 -348
  374. package/docs/types/TagPointType.html +0 -279
  375. package/docs/types/TagRendererMap.html +0 -281
  376. package/docs/types/TopviewFloorplanPluginParameterType.html +0 -276
  377. package/docs/types/TopviewFloorplanPluginReturnType.html +0 -276
  378. package/docs/types/WorkCode.html +0 -276
  379. package/docs/variables/FLOOR_TYPE_MAP.html +0 -286
  380. package/docs/variables/PLUGIN.html +0 -276
  381. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +0 -279
  382. package/docs/variables/ROOM_TYPE_MAP.html +0 -286
  383. package/docs/variables/defaultGlobalConfig.html +0 -276
  384. package/docs/variables/itemLabelPluginServerParams.html +0 -283
  385. package/docs/variables/modelItemLabelPluginServerParams.html +0 -283
  386. package/docs/variables/modelRoomLabelPluginServerParams.html +0 -283
  387. package/libs/floorplan/FloorplanRoomsPlugin/BasePlugin.d.ts +0 -114
  388. package/libs/floorplan/FloorplanRoomsPlugin/BasePlugin.js +0 -51
  389. package/libs/floorplan/FloorplanRoomsPlugin/BasePluginWithData.d.ts +0 -23
  390. package/libs/floorplan/FloorplanRoomsPlugin/BasePluginWithData.js +0 -25
  391. package/libs/floorplan/FloorplanRoomsPlugin/Components/CurrentFloor/CurrentFloor.js +0 -188
  392. package/libs/floorplan/FloorplanRoomsPlugin/Components/CurrentFloor/CurrentFloor.svelte.d.ts +0 -1
  393. package/libs/floorplan/FloorplanRoomsPlugin/Components/CurrentFloor/ExtraObjects.js +0 -94
  394. package/libs/floorplan/FloorplanRoomsPlugin/Components/CurrentFloor/ExtraObjects.svelte.d.ts +0 -1
  395. package/libs/floorplan/FloorplanRoomsPlugin/Components/CurrentFloor/RoomHighlight/Room.js +0 -111
  396. package/libs/floorplan/FloorplanRoomsPlugin/Components/CurrentFloor/RoomHighlight/Room.svelte.d.ts +0 -1
  397. package/libs/floorplan/FloorplanRoomsPlugin/Components/CurrentFloor/RoomHighlight/RoomHighlight.js +0 -191
  398. package/libs/floorplan/FloorplanRoomsPlugin/Components/CurrentFloor/RoomHighlight/RoomHighlight.svelte.d.ts +0 -1
  399. package/libs/floorplan/FloorplanRoomsPlugin/Components/Main.js +0 -237
  400. package/libs/floorplan/FloorplanRoomsPlugin/Components/Main.svelte.d.ts +0 -1
  401. package/libs/floorplan/FloorplanRoomsPlugin/Controller.d.ts +0 -40
  402. package/libs/floorplan/FloorplanRoomsPlugin/Controller.js +0 -207
  403. package/libs/floorplan/FloorplanRoomsPlugin/index.d.ts +0 -6
  404. package/libs/floorplan/FloorplanRoomsPlugin/index.js +0 -43
  405. package/libs/floorplan/FloorplanRoomsPlugin/typing.d.ts +0 -60
  406. /package/dist/{floorplan/FloorplanRoomsPlugin/Components/CurrentFloor/CurrentFloor.svelte.d.ts → components/AreaLabel/LabelItem.svelte.d.ts} +0 -0
  407. /package/libs/{floorplan/FloorplanRoomsPlugin → AreaMakerPlugin}/typing.js +0 -0
  408. /package/{dist/floorplan/FloorplanRoomsPlugin/Components/CurrentFloor/ExtraObjects.svelte.d.ts → libs/components/AreaLabel/LabelItem.svelte.d.ts} +0 -0
@@ -0,0 +1,114 @@
1
+ import * as THREE from 'three';
2
+ import { Object3D } from '../../shared-utils';
3
+ import { LineSegments } from '../../shared-utils';
4
+ import type { Controller } from '../Controller';
5
+ import type * as PluginType from '../typing';
6
+ import LabelItem from '../../components/AreaLabel/LabelItem.svelte';
7
+ import { Subscribe } from '../../shared-utils/Subscribe';
8
+ declare class AreaMakerModelGroup extends Object3D {
9
+ private areaMakerItem;
10
+ constructor(areaMakerItem: AreaMakerItem);
11
+ raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void;
12
+ }
13
+ export declare class AreaMakerItem {
14
+ id: string | number;
15
+ /** 标注名称 */
16
+ name: string;
17
+ /** 标注几何体 */
18
+ makerObject: THREE.Mesh<THREE.ExtrudeBufferGeometry, THREE.MeshBasicMaterial>;
19
+ /** 标注几何体的边框 */
20
+ outline: LineSegments<THREE.EdgesGeometry, THREE.LineBasicMaterial>;
21
+ /** 标注底面 Y 坐标 */
22
+ bottomY: PluginType.ServerAreaMakerItem['object_data']['bottom_y'];
23
+ /** 标注透明度 */
24
+ opacity: PluginType.ServerAreaMakerItem['object_data']['opacity'];
25
+ /** 标注高度 */
26
+ height: PluginType.ServerAreaMakerItem['object_data']['height'];
27
+ /** 标注所在楼层 */
28
+ floorIndex: PluginType.ServerAreaMakerItem['floor_index'];
29
+ /** 标注底面形状 */
30
+ shape: THREE.Shape;
31
+ /** 是否被挂载 */
32
+ mounted: boolean;
33
+ /** 查询问题使用的调试对象 */
34
+ checkMsg: {
35
+ /** 当标注没有展示时,可以通过这个字段查看原因 */
36
+ checkVisibleMsg: string;
37
+ /** 当标注标签没有展示时,可以通过这个字段查看原因 */
38
+ checkTagVisibleMsg: string;
39
+ };
40
+ /** 模型容器 */
41
+ modelGroup: AreaMakerModelGroup;
42
+ /** 标注是否可见 */
43
+ visible: boolean;
44
+ /** 标注标签实例 */
45
+ tagApp: LabelItem | null;
46
+ /** 标注标签是否可见 */
47
+ tagVisible: boolean;
48
+ /** 标注标签的世界坐标 */
49
+ tagPosition: THREE.Vector3;
50
+ /** 标注标签的 NDC 坐标 */
51
+ tagNDCPosition: THREE.Vector3;
52
+ /** 标注标签的 transform */
53
+ tagTransform: {
54
+ left: number;
55
+ top: number;
56
+ };
57
+ /** 标注标签的显示层级 */
58
+ tagZIndex: number;
59
+ hooks: Subscribe<PluginType.AreaMakerItemEventMap>;
60
+ /** Plugin 实例 */
61
+ private plugin;
62
+ /** 标注透明度动画 */
63
+ private opacityAnime?;
64
+ constructor(plugin: Controller, data: PluginType.ServerAreaMakerItem);
65
+ /** 挂载标注 */
66
+ mount(): void;
67
+ /** 卸载标注 */
68
+ unmount(): void;
69
+ /** 更改标注透明度
70
+ * @param opacity 标注透明度,范围:0-1
71
+ */
72
+ setOpacity(opacity: number): void;
73
+ /** 更改标注颜色
74
+ * @param color 标注颜色,支持 hex
75
+ * @example setColor('#FF0000')
76
+ */
77
+ setColor(color: string): void;
78
+ /** 更改标注高度
79
+ * @param height 标注高度,单位:米
80
+ */
81
+ setHeight(height: number): void;
82
+ /** 更改标注标签的显示层级
83
+ * @description 为什么需要这个方法
84
+ * 在相机朝向或位置发生变化时,各个标签所在的坐标与相机的远近关系发生了变化,所以标签的层级也会有变化。
85
+ * 比如:
86
+ * - 相机 -> 标签 A -> 标签 B: 标签 A 在标签 B 的前面
87
+ * - 标签 A <- 标签 B <- 相机: 标签 A 在标签 B 的后面
88
+ * 但是当前元素是无法感知到这种变化的,所以需要通过父元素调用这个方法来更新标签的层级。
89
+ */
90
+ setTagZIndex(zIndex: number): void;
91
+ /** 显示标注 */
92
+ /** 隐藏标注 */
93
+ /** 透明度动画 */
94
+ private doOpacityAnime;
95
+ /** 插件 Config 变化时更新自身 depthTest */
96
+ private onPluginConfigChange;
97
+ /** 更新标注可见性 */
98
+ private updateVisible;
99
+ /** 检测标注是否可见 */
100
+ private checkVisible;
101
+ /** 更新标注标签 */
102
+ private updateTag;
103
+ /** 更新标注标签的 NDC Position */
104
+ private updateTagNDCPosition;
105
+ /** 更新标注标签的 transform */
106
+ private updateTagDomTransform;
107
+ /** 更新标注标签可见性 */
108
+ private updateTagVisible;
109
+ /** 检测标注标签是否可见 */
110
+ private checkTagVisible;
111
+ /** 相机位姿发生变化时,更新标签 */
112
+ private onFiveCameraUpdate;
113
+ }
114
+ export {};
@@ -0,0 +1,263 @@
1
+ var f = Object.defineProperty;
2
+ var d = (n, t, e) => t in n ? f(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
3
+ var i = (n, t, e) => (d(n, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import * as a from "three";
5
+ import "hammerjs";
6
+ import "@realsee/five";
7
+ import "../../vendor/@tweenjs/tween/dist/tween.esm.js.js";
8
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
9
+ import "../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
10
+ import { Object3D as b } from "../../shared-utils/three/core/Object3D.js";
11
+ import { LineSegments as k } from "../../shared-utils/three/objects/LineSegments.js";
12
+ import { BetterTween as y } from "../../shared-utils/animationFrame/BetterTween.js";
13
+ import { LabelItem as O } from "../../components/AreaLabel/LabelItem.js";
14
+ import { getCenterPointOfPoints as T } from "../../shared-utils/math/planimetry.js";
15
+ import { Subscribe as C } from "../../shared-utils/Subscribe.js";
16
+ import "../../shared-utils/positionToVector3.js";
17
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
18
+ import "three/examples/jsm/renderers/CSS3DRenderer";
19
+ import "../../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
20
+ import "../../CSS3DRenderPlugin/utils/createResizeObserver.js";
21
+ import "../../CSS3DRenderPlugin/utils/even.js";
22
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
23
+ import "../../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
24
+ import "../../shared-utils/three/centerPoint.js";
25
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
26
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
27
+ import "../../shared-utils/animationFrame/index.js";
28
+ import "../../vendor/svelte/internal/index.js";
29
+ import "../../components/AreaLabel/Assets/roomLabelBg.js";
30
+ class M extends b {
31
+ constructor(e) {
32
+ super();
33
+ i(this, "areaMakerItem");
34
+ this.areaMakerItem = e;
35
+ }
36
+ raycast(e, s) {
37
+ this.areaMakerItem.makerObject.raycast(e, s);
38
+ }
39
+ }
40
+ class q {
41
+ constructor(t, e) {
42
+ i(this, "id");
43
+ /** 标注名称 */
44
+ i(this, "name", "");
45
+ /** 标注几何体 */
46
+ i(this, "makerObject");
47
+ /** 标注几何体的边框 */
48
+ i(this, "outline");
49
+ /** 标注底面 Y 坐标 */
50
+ i(this, "bottomY");
51
+ /** 标注透明度 */
52
+ i(this, "opacity");
53
+ /** 标注高度 */
54
+ i(this, "height");
55
+ /** 标注所在楼层 */
56
+ i(this, "floorIndex");
57
+ /** 标注底面形状 */
58
+ i(this, "shape");
59
+ /** 是否被挂载 */
60
+ i(this, "mounted", !1);
61
+ /** 查询问题使用的调试对象 */
62
+ i(this, "checkMsg", {
63
+ /** 当标注没有展示时,可以通过这个字段查看原因 */
64
+ checkVisibleMsg: "",
65
+ /** 当标注标签没有展示时,可以通过这个字段查看原因 */
66
+ checkTagVisibleMsg: ""
67
+ });
68
+ /** 模型容器 */
69
+ i(this, "modelGroup");
70
+ /** 标注是否可见 */
71
+ i(this, "visible", !1);
72
+ // ==================== 标签相关 ====================
73
+ /** 标注标签实例 */
74
+ i(this, "tagApp");
75
+ /** 标注标签是否可见 */
76
+ i(this, "tagVisible", !1);
77
+ /** 标注标签的世界坐标 */
78
+ i(this, "tagPosition", new a.Vector3());
79
+ /** 标注标签的 NDC 坐标 */
80
+ i(this, "tagNDCPosition", new a.Vector3());
81
+ /** 标注标签的 transform */
82
+ i(this, "tagTransform", { left: 0, top: 0 });
83
+ /** 标注标签的显示层级 */
84
+ i(this, "tagZIndex", 0);
85
+ i(this, "hooks", new C());
86
+ /** Plugin 实例 */
87
+ i(this, "plugin");
88
+ /** 标注透明度动画 */
89
+ i(this, "opacityAnime");
90
+ /** 显示标注 */
91
+ // public show() {
92
+ // return this.doOpacityAnime({
93
+ // duration: 500,
94
+ // makerObjectOpacity: [this.makerObject.material.opacity, this.opacity],
95
+ // outlineOpacity: [this.outline.material.opacity, 1],
96
+ // ...options,
97
+ // })
98
+ // }
99
+ /** 隐藏标注 */
100
+ // public hide() {
101
+ // return this.doOpacityAnime({
102
+ // duration: 500,
103
+ // makerObjectOpacity: [this.makerObject.material.opacity, 0],
104
+ // outlineOpacity: [this.outline.material.opacity, 0],
105
+ // ...options,
106
+ // })
107
+ // }
108
+ /** 透明度动画 */
109
+ i(this, "doOpacityAnime", (t) => {
110
+ var h;
111
+ (h = this.opacityAnime) == null || h.dispose();
112
+ const e = t.duration, [s, o] = t.makerObjectOpacity, [r, l] = t.outlineOpacity;
113
+ if (e === 0) {
114
+ this.makerObject.material.opacity = o, this.outline.material.opacity = l;
115
+ return;
116
+ }
117
+ return new Promise((p) => {
118
+ this.opacityAnime = new y({ makerObjectOpacity: s, outlineOpacity: r }).to({
119
+ makerObjectOpacity: o,
120
+ outlineOpacity: l
121
+ }).onUpdate(({ makerObjectOpacity: c, outlineOpacity: m }) => {
122
+ this.makerObject.material.opacity = c, this.outline.material.opacity = m, this.plugin.five.needsRender = !0;
123
+ }).onComplete(() => p(!0)).onDispose(() => {
124
+ this.makerObject.material.opacity = o, this.outline.material.opacity = l, this.plugin.five.needsRender = !0, p(!1);
125
+ }).play();
126
+ });
127
+ });
128
+ /** 插件 Config 变化时更新自身 depthTest */
129
+ i(this, "onPluginConfigChange", (t) => {
130
+ this.makerObject.material.depthTest = t.config.modelDepthTest, this.outline.material.depthTest = t.config.modelDepthTest, this.plugin.five.needsRender = !0;
131
+ });
132
+ /** 更新标注可见性 */
133
+ i(this, "updateVisible", () => {
134
+ const { result: t, msg: e } = this.checkVisible();
135
+ this.checkMsg.checkVisibleMsg = e, this.visible !== t && (this.visible = t, this.modelGroup.visible = t, this.plugin.five.needsRender = !0);
136
+ });
137
+ /** 检测标注是否可见 */
138
+ i(this, "checkVisible", () => {
139
+ if (!this.plugin.state.visible)
140
+ return { result: !1, msg: "插件不可见" };
141
+ const e = this.plugin.five.model.shownFloor;
142
+ return e === null || e === this.floorIndex ? { result: !0, msg: "" } : { result: !1, msg: `模型高亮楼层不符合展示条件, 当前高亮楼层为:${e}` };
143
+ });
144
+ /** 更新标注标签 */
145
+ i(this, "updateTag", () => {
146
+ this.tagApp && (this.updateTagNDCPosition(), this.updateTagDomTransform(), this.updateTagVisible());
147
+ });
148
+ /** 更新标注标签的 NDC Position */
149
+ i(this, "updateTagNDCPosition", () => {
150
+ const e = this.tagPosition.clone().project(this.plugin.five.camera);
151
+ this.tagNDCPosition.copy(e);
152
+ });
153
+ /** 更新标注标签的 transform */
154
+ i(this, "updateTagDomTransform", () => {
155
+ var o;
156
+ const t = this.tagNDCPosition, e = Math.round((t.x + 1) / 2 * this.plugin.tagDomContainer.clientWidth), s = Math.round((-t.y + 1) / 2 * this.plugin.tagDomContainer.clientHeight);
157
+ this.tagTransform.left === e && this.tagTransform.top === s || (this.tagTransform = { left: e, top: s }, (o = this.tagApp) == null || o.$set({ transform: `translate(${e}px, ${s}px)` }));
158
+ });
159
+ /** 更新标注标签可见性 */
160
+ i(this, "updateTagVisible", () => {
161
+ var s;
162
+ const { result: t, msg: e } = this.checkTagVisible();
163
+ this.checkMsg.checkTagVisibleMsg = e, this.tagVisible !== t && (this.tagVisible = t, (s = this.tagApp) == null || s.$set({ visible: t }));
164
+ });
165
+ /** 检测标注标签是否可见 */
166
+ i(this, "checkTagVisible", () => {
167
+ if (!this.visible)
168
+ return { result: !1, msg: "标注整体不可见" };
169
+ const e = this.plugin.five, s = new a.Raycaster(), o = e.camera.position.clone();
170
+ s.set(o.clone(), this.tagPosition.clone().sub(o).normalize());
171
+ const [r] = e.model.intersectRaycaster(s), l = this.tagPosition.distanceTo(e.camera.position);
172
+ if (r && r.distance + 0.1 < l)
173
+ return { result: !1, msg: "标注标签被 Five 模型遮挡" };
174
+ const h = this.tagNDCPosition;
175
+ return Math.abs(h.x) > 1.2 || Math.abs(h.y) > 1.2 || Math.abs(h.z) > 1 ? { result: !1, msg: "标注标签不在屏幕内" } : { result: !0, msg: "" };
176
+ });
177
+ /** 相机位姿发生变化时,更新标签 */
178
+ i(this, "onFiveCameraUpdate", () => {
179
+ this.tagApp && this.visible && (this.updateTagNDCPosition(), this.updateTagDomTransform(), this.updateTagVisible());
180
+ });
181
+ var p, c, m;
182
+ const s = e.object_data, o = s.bottom_y, r = s.height, l = new a.Color((p = s.color) != null ? p : "#FFFFFF"), h = (c = s.opacity) != null ? c : 0.4;
183
+ this.id = e.id, this.name = (m = e.name) != null ? m : "", this.plugin = t, this.height = r, this.bottomY = o, this.opacity = h, this.shape = new a.Shape().fromJSON(s.shape), this.floorIndex = e.floor_index, this.makerObject = new a.Mesh(u(this.shape, r), v(l, h)), g(this.makerObject, o), this.makerObject.material.depthTest = this.plugin.config.modelDepthTest, this.outline = new k(
184
+ new a.EdgesGeometry(this.makerObject.geometry),
185
+ new a.LineBasicMaterial({ color: l, transparent: !0 })
186
+ ), g(this.outline, o), this.outline.material.depthTest = this.plugin.config.modelDepthTest, this.setHeight(r), this.modelGroup = new M(this);
187
+ }
188
+ /** 挂载标注 */
189
+ mount() {
190
+ if (this.mounted = !0, this.updateVisible(), this.makerObject.material.depthTest = this.plugin.config.modelDepthTest, this.outline.material.depthTest = this.plugin.config.modelDepthTest, this.modelGroup.add(this.makerObject, this.outline), !!this.name) {
191
+ const e = this.plugin.tagDomContainer, s = {
192
+ content: this.name,
193
+ visible: this.tagVisible,
194
+ transform: `translate(${this.tagTransform.left}px, ${this.tagTransform.top}px)`,
195
+ onClick: (o) => this.hooks.emit("tagClick", { target: this, nativeEvent: o })
196
+ };
197
+ this.tagApp = new O({ target: e, props: s }), this.updateTag();
198
+ }
199
+ this.plugin.five.needsRender = !0, this.plugin.hooks.on("configChange", this.onPluginConfigChange), this.plugin.hooks.on("stateChange", this.updateVisible), this.plugin.five.on("modeChange", this.updateVisible), this.plugin.five.on("modelShownFloorChange", this.updateVisible), this.plugin.five.on("cameraUpdate", this.onFiveCameraUpdate);
200
+ }
201
+ /** 卸载标注 */
202
+ unmount() {
203
+ var t;
204
+ this.mounted = !1, this.modelGroup.remove(...this.modelGroup.children), (t = this.tagApp) == null || t.$destroy(), this.tagApp = null, this.plugin.hooks.off("configChange", this.onPluginConfigChange), this.plugin.hooks.off("stateChange", this.updateVisible), this.plugin.five.off("modeChange", this.updateVisible), this.plugin.five.off("modelShownFloorChange", this.updateVisible), this.plugin.five.off("cameraUpdate", this.onFiveCameraUpdate);
205
+ }
206
+ /** 更改标注透明度
207
+ * @param opacity 标注透明度,范围:0-1
208
+ */
209
+ setOpacity(t) {
210
+ var e;
211
+ this.opacity = t, (e = this.opacityAnime) == null || e.dispose(), this.makerObject.material.opacity = t, this.plugin.five.needsRender = !0;
212
+ }
213
+ /** 更改标注颜色
214
+ * @param color 标注颜色,支持 hex
215
+ * @example setColor('#FF0000')
216
+ */
217
+ setColor(t) {
218
+ const e = new a.Color(t);
219
+ this.makerObject.material.color = e, this.outline.material.color = e, this.plugin.five.needsRender = !0;
220
+ }
221
+ /** 更改标注高度
222
+ * @param height 标注高度,单位:米
223
+ */
224
+ setHeight(t) {
225
+ if (t <= 0)
226
+ throw new Error("高度必须大于 0");
227
+ this.height = t, this.makerObject.geometry = u(this.shape, t), this.outline.geometry = new a.EdgesGeometry(this.makerObject.geometry);
228
+ const e = this.shape.extractPoints(10).shape.slice(0, -1), s = T(e), o = new a.Vector3(s.x, s.y, t);
229
+ g(o, this.bottomY), this.tagPosition.copy(o), this.updateTag(), this.plugin.five.needsRender = !0;
230
+ }
231
+ /** 更改标注标签的显示层级
232
+ * @description 为什么需要这个方法
233
+ * 在相机朝向或位置发生变化时,各个标签所在的坐标与相机的远近关系发生了变化,所以标签的层级也会有变化。
234
+ * 比如:
235
+ * - 相机 -> 标签 A -> 标签 B: 标签 A 在标签 B 的前面
236
+ * - 标签 A <- 标签 B <- 相机: 标签 A 在标签 B 的后面
237
+ * 但是当前元素是无法感知到这种变化的,所以需要通过父元素调用这个方法来更新标签的层级。
238
+ */
239
+ setTagZIndex(t) {
240
+ var e;
241
+ this.tagZIndex !== t && ((e = this.tagApp) == null || e.$set({ zIndex: t }));
242
+ }
243
+ }
244
+ function u(n, t) {
245
+ return new a.ExtrudeBufferGeometry(n, {
246
+ depth: t,
247
+ bevelEnabled: !1
248
+ });
249
+ }
250
+ function v(n, t) {
251
+ return new a.MeshBasicMaterial({
252
+ color: n,
253
+ opacity: t,
254
+ transparent: !0
255
+ });
256
+ }
257
+ function g(n, t) {
258
+ const e = new a.Matrix4(), s = new a.Matrix4().makeRotationX(Math.PI / 2), o = new a.Matrix4().makeTranslation(0, 0, -t), r = new a.Matrix4().makeScale(1, 1, -1);
259
+ e.multiply(s), e.multiply(o), e.multiply(r), n.applyMatrix4(e);
260
+ }
261
+ export {
262
+ q as AreaMakerItem
263
+ };
@@ -2,14 +2,14 @@ var k = Object.defineProperty, w = Object.defineProperties;
2
2
  var P = Object.getOwnPropertyDescriptors;
3
3
  var C = Object.getOwnPropertySymbols;
4
4
  var F = Object.prototype.hasOwnProperty, L = Object.prototype.propertyIsEnumerable;
5
- var v = (n, e, t) => e in n ? k(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t, m = (n, e) => {
5
+ var v = (n, e, t) => e in n ? k(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t, p = (n, e) => {
6
6
  for (var t in e || (e = {}))
7
7
  F.call(e, t) && v(n, t, e[t]);
8
8
  if (C)
9
9
  for (var t of C(e))
10
10
  L.call(e, t) && v(n, t, e[t]);
11
11
  return n;
12
- }, p = (n, e) => w(n, P(e));
12
+ }, c = (n, e) => w(n, P(e));
13
13
  var i = (n, e, t) => (v(n, typeof e != "symbol" ? e + "" : e, t), t);
14
14
  import * as l from "three";
15
15
  import { logWarning as T, logError as V } from "../../shared-utils/log.js";
@@ -185,19 +185,19 @@ class R {
185
185
  this.mesh.material.uniforms.vOffset.value = t, this.mesh.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
186
186
  });
187
187
  i(this, "onFlickerAnimeUpdate", (e) => {
188
- var a, r;
188
+ var r, a, o, d;
189
189
  const { progress: t } = e, s = 1 - t;
190
- this.mesh.material.uniforms.flicker.value = s, this.mesh.material.uniformsNeedUpdate = !0, this.five.needsRender = !0, this.startTagContainer.tag && b(this.startTagContainer.tag) && ((a = this.startTagContainer.app) == null || a.$set(p(m({}, this.startTagContainer.tag.data), {
190
+ this.mesh.material.uniforms.flicker.value = s, this.mesh.material.uniformsNeedUpdate = !0, this.five.needsRender = !0, this.startTagContainer.tag && b(this.startTagContainer.tag) && ((o = this.startTagContainer.app) == null || o.$set(c(p({}, this.startTagContainer.tag.data), {
191
191
  opacity: s,
192
192
  name: this.name,
193
- distance: Math.round(this.curvePath.getLength())
194
- }))), this.endTagContainer.tag && b(this.endTagContainer.tag) && ((r = this.endTagContainer.app) == null || r.$set(p(m({}, this.endTagContainer.tag.data), { opacity: s })));
193
+ distance: Math.round((a = (r = this.curvePath) == null ? void 0 : r.getLength()) != null ? a : 0)
194
+ }))), this.endTagContainer.tag && b(this.endTagContainer.tag) && ((d = this.endTagContainer.app) == null || d.$set(c(p({}, this.endTagContainer.tag.data), { opacity: s })));
195
195
  });
196
196
  i(this, "logWarning", (e) => T("GuideLineModeItem: ", e));
197
197
  i(this, "logError", (e) => V("GuideLineModeItem: ", e));
198
- var r, o;
198
+ var a, o;
199
199
  this.five = e, this.mode = t.mode, this.plugin = t.plugin, this.parent = t.parent, this.startTagContainer = { tag: null, plugin: new y(this.five) }, this.endTagContainer = { tag: null, plugin: new y(this.five) };
200
- const s = new l.BufferGeometry(), a = new l.ShaderMaterial({
200
+ const s = new l.BufferGeometry(), r = new l.ShaderMaterial({
201
201
  vertexShader: B,
202
202
  fragmentShader: I,
203
203
  transparent: !0,
@@ -216,7 +216,7 @@ class R {
216
216
  vOffset: { value: 0 }
217
217
  }
218
218
  });
219
- this.mesh = new l.Mesh(s, a), this.mesh.name = "GuideLineModeItem", this.mode === "panorama" && (this.parent.hooks.on("walkStart", this.onWalkAnimationStart), this.parent.hooks.on("walkEnded", this.onWalkAnimationEnd)), this.updateVisible(), this.onFiveModeChange(this.five.getCurrentState().mode), this.onFiveModelShownFloorChange((o = (r = this.five.model) == null ? void 0 : r.shownFloor) != null ? o : null), this.flowAnime.onUpdate(this.onFlowAnimeUpdate), this.flickerAnime.onUpdate(this.onFlickerAnimeUpdate), this.parent.hooks.on("show", this.updateVisible), this.parent.hooks.on("hide", this.updateVisible), this.plugin.hooks.on("show", this.updateVisible), this.plugin.hooks.on("hide", this.updateVisible), this.plugin.hooks.on("enable", this.updateVisible), this.plugin.hooks.on("disable", this.updateVisible), this.plugin.hooks.on("dispose", this.dispose), this.five.on("modeChange", this.onFiveModeChange), this.five.on("modelShownFloorChange", this.onFiveModelShownFloorChange);
219
+ this.mesh = new l.Mesh(s, r), this.mesh.name = "GuideLineModeItem", this.mode === "panorama" && (this.parent.hooks.on("walkStart", this.onWalkAnimationStart), this.parent.hooks.on("walkEnded", this.onWalkAnimationEnd)), this.updateVisible(), this.onFiveModeChange(this.five.getCurrentState().mode), this.onFiveModelShownFloorChange((o = (a = this.five.model) == null ? void 0 : a.shownFloor) != null ? o : null), this.flowAnime.onUpdate(this.onFlowAnimeUpdate), this.flickerAnime.onUpdate(this.onFlickerAnimeUpdate), this.parent.hooks.on("show", this.updateVisible), this.parent.hooks.on("hide", this.updateVisible), this.plugin.hooks.on("show", this.updateVisible), this.plugin.hooks.on("hide", this.updateVisible), this.plugin.hooks.on("enable", this.updateVisible), this.plugin.hooks.on("disable", this.updateVisible), this.plugin.hooks.on("dispose", this.dispose), this.five.on("modeChange", this.onFiveModeChange), this.five.on("modelShownFloorChange", this.onFiveModelShownFloorChange);
220
220
  }
221
221
  get panoGroup() {
222
222
  return this._panoGroup;
@@ -265,26 +265,26 @@ class R {
265
265
  return this.logError("setPathByPanoGroup: work is not ready");
266
266
  const s = S(e);
267
267
  if (this._panoGroup = s, (t == null ? void 0 : t.skipPanoGroup) !== void 0) {
268
- const r = t.skipPanoGroup ? s.map((o) => this.five.work.observers[o]).map((o) => o.standingPosition.clone()) : null;
269
- this.skippedPositions = r;
268
+ const a = t.skipPanoGroup ? s.map((o) => this.five.work.observers[o]).map((o) => o.standingPosition.clone()) : null;
269
+ this.skippedPositions = a;
270
270
  }
271
- const a = this.getPathFromPanoGroup(s, this.five.work, t);
272
- this.path = a, this.setGeometryByPath(a, t);
271
+ const r = this.getPathFromPanoGroup(s, this.five.work, t);
272
+ this.path = r, this.setGeometryByPath(r, t);
273
273
  }
274
274
  /** 通过路径设置线条形状 */
275
275
  setGeometryByPath(e, t) {
276
- var f, g, c;
276
+ var h, g, f;
277
277
  if (this.disposed)
278
278
  return this.logError("disposed");
279
- const s = (f = t == null ? void 0 : t.scale) != null ? f : this.scale, a = (g = t == null ? void 0 : t.width) != null ? g : this.width, r = (c = t == null ? void 0 : t.unit_length) != null ? c : this.unitLength;
280
- this.path = e, this.scale = s, this.width = a, this.unitLength = r;
281
- const { geometry: o, maxU: u, curvePath: d, curvePoints: h } = U({
279
+ const s = (h = t == null ? void 0 : t.scale) != null ? h : this.scale, r = (g = t == null ? void 0 : t.width) != null ? g : this.width, a = (f = t == null ? void 0 : t.unit_length) != null ? f : this.unitLength;
280
+ this.path = e, this.scale = s, this.width = r, this.unitLength = a;
281
+ const { geometry: o, maxU: d, curvePath: m, curvePoints: u } = U({
282
282
  path: e,
283
- width: a * s,
284
- unitLength: r * s,
283
+ width: r * s,
284
+ unitLength: a * s,
285
285
  skipPositions: this.skippedPositions
286
286
  });
287
- this._curvePath = d, this._curvePoints = h, this.mesh.geometry = o, this.mesh.material.needsUpdate = !0, this.mesh.material.uniforms.maxU.value = u, this.five.needsRender = !0;
287
+ this._curvePath = m, this._curvePoints = u, this.mesh.geometry = o, this.mesh.material.needsUpdate = !0, this.mesh.material.uniforms.maxU.value = d, this.five.needsRender = !0;
288
288
  }
289
289
  /** 设置线条材质 */
290
290
  setMartial(e) {
@@ -371,32 +371,35 @@ class R {
371
371
  return this.disposed ? this.logError("disposed") : this.cacheLengths.length !== 0 ? this.cacheLengths[e] : (this.cacheLengths = this.getPanoGroupLengths(), this.cacheLengths[e]);
372
372
  }
373
373
  getPanoGroupLengths() {
374
- const e = this.panoGroup.map((h) => this.five.work.observers[h]), t = this.curvePoints.length, s = this.curvePath.getLength(), a = t - 1, r = s / a, o = this.curvePath.getLengths(a), u = [];
375
- let d = 0;
374
+ var u;
375
+ if (!this.curvePoints || !this.curvePath)
376
+ return [];
377
+ const e = this.panoGroup.map((h) => this.five.work.observers[h]), t = this.curvePoints.length, s = this.curvePath.getLength(), r = t - 1, a = s / r, o = (u = this.curvePath.getLengths(r)) != null ? u : [], d = [];
378
+ let m = 0;
376
379
  for (let h = 0; h < t; h++) {
377
- const f = this.curvePoints[h], g = e[d];
378
- if (!g)
380
+ const g = this.curvePoints[h], f = e[m];
381
+ if (!f)
379
382
  break;
380
- g.standingPosition.clone().setY(0).distanceTo(f.clone().setY(0)) < r && (u.push(o[h]), d += 1);
383
+ f.standingPosition.clone().setY(0).distanceTo(g.clone().setY(0)) < a && (d.push(o[h]), m += 1);
381
384
  }
382
- return u;
385
+ return d;
383
386
  }
384
387
  setTag(e, t) {
385
- const s = e === "start" ? this.startTagContainer : this.endTagContainer;
386
- t || s.plugin.clearTags();
387
- const r = A({}, {
388
+ const s = this.curvePath, r = e === "start" ? this.startTagContainer : this.endTagContainer;
389
+ t || r.plugin.clearTags();
390
+ const o = A({}, {
388
391
  contentType: "Custom",
389
392
  stickType: "2DPoint",
390
393
  config: { visibleConfig: { visibleFiveMode: ["Floorplan", "Mapview"], followModelVisibility: !1 } },
391
394
  style: { point: { enabled: !1 } },
392
395
  data: {}
393
396
  }, t);
394
- s.tag = r, b(r) && (s.tag.element = (o) => {
395
- var h;
396
- (h = s.app) == null || h.$destroy();
397
- const u = e === "start" ? p(m({}, r.data), { name: this.name, distance: Math.round(this.curvePath.getLength()), i18n: this.plugin.config.i18n }) : r.data, d = new O({ target: o, intro: !0, props: u });
398
- return s.app = d, () => d.$destroy();
399
- }), s.plugin.load({ tagList: [s.tag] });
397
+ r.tag = o, b(o) && (r.tag.element = (d) => {
398
+ var h, g;
399
+ (h = r.app) == null || h.$destroy();
400
+ const m = e === "start" ? c(p({}, o.data), { name: this.name, distance: Math.round((g = s.getLength()) != null ? g : 0), i18n: this.plugin.config.i18n }) : o.data, u = new O({ target: d, intro: !0, props: m });
401
+ return r.app = u, () => u.$destroy();
402
+ }), r.plugin.load({ tagList: [r.tag] });
400
403
  }
401
404
  doShow() {
402
405
  this.mode === "model" && this.flowAnime.play(), this.five.scene.add(this.mesh), this.startTagContainer.plugin.show(), this.endTagContainer.plugin.show(), this.five.needsRender = !0;
@@ -408,18 +411,18 @@ class R {
408
411
  getPathFromPanoGroup(e, t, s) {
409
412
  if (e.length < 2)
410
413
  return [];
411
- const r = e.map((o) => t.observers[o]).map((o) => o.standingPosition.toArray());
412
- return [m({ type: "CatmullRomCurve3", points: r }, s)];
414
+ const a = e.map((o) => t.observers[o]).map((o) => o.standingPosition.toArray());
415
+ return [p({ type: "CatmullRomCurve3", points: a }, s)];
413
416
  }
414
417
  }
415
418
  function b(n) {
416
419
  return n.contentType === "Custom";
417
420
  }
418
- const te = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
421
+ const ie = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
419
422
  __proto__: null,
420
423
  GuideLineModeItem: R
421
424
  }, Symbol.toStringTag, { value: "Module" }));
422
425
  export {
423
426
  R as GuideLineModeItem,
424
- te as GuideLineModeItem$1
427
+ ie as GuideLineModeItem$1
425
428
  };
@@ -17,11 +17,6 @@ interface LineGeometryOption {
17
17
  * @returns THREE BufferGeometry
18
18
  */
19
19
  export declare function createLineGeometry(options: LineGeometryOption): {
20
- geometry: THREE.BufferGeometry;
21
- maxU: number;
22
- curvePath?: undefined;
23
- curvePoints?: undefined;
24
- } | {
25
20
  geometry: THREE.BufferGeometry;
26
21
  maxU: number;
27
22
  curvePath: THREE.CurvePath<THREE.Vector3>;
@@ -11,31 +11,31 @@ const z = 2, M = 3, X = 3, k = 2;
11
11
  function Q(e) {
12
12
  const i = e.width, g = e.unitLength / i, c = i / 2, E = e.path;
13
13
  if (E.length === 0)
14
- return { geometry: new n.BufferGeometry(), maxU: 0 };
14
+ return { geometry: new n.BufferGeometry(), maxU: 0, curvePath: null, curvePoints: null };
15
15
  const u = new n.CurvePath();
16
16
  E.forEach((t) => {
17
- const m = I(t);
18
- m && u.add(m);
17
+ const l = I(t);
18
+ l && u.add(l);
19
19
  });
20
20
  const w = Math.ceil(u.getLength() * 100);
21
21
  u.arcLengthDivisions = w;
22
22
  const o = u.getPoints(w), y = o.length, L = G(o.map((t) => [t.x, t.z])), B = (y - 1) * z * M, d = 2 * y, C = d * X, U = d * k, r = new Uint32Array(B), s = new Float32Array(C), a = new Float32Array(U);
23
- let N = 0, R = 0;
23
+ let N = 0, P = 0;
24
24
  for (let t = 0; t < o.length; t++) {
25
- const [m, A] = L[t][0], T = o[t], { x: _, y: b, z: P } = T, f = new x(_ + m * c, b + 0.05, P + A * c);
26
- s[t * 6 + 0] = f.x, s[t * 6 + 1] = f.y, s[t * 6 + 2] = f.z;
27
- const h = new x(_ - m * c, b + 0.05, P - A * c);
28
- s[t * 6 + 3] = h.x, s[t * 6 + 4] = h.y, s[t * 6 + 5] = h.z, N += t > 0 ? o[t - 1].clone().sub(o[t]).length() : 0;
29
- const v = N / i / g;
30
- if (R = v, a[t * 4 + 0] = 0, a[t * 4 + 1] = v, a[t * 4 + 2] = 1, a[t * 4 + 3] = v, e.skipPositions) {
31
- const V = new n.Vector3().lerpVectors(f, h, 0.5);
25
+ const [l, R] = L[t][0], T = o[t], { x: A, y: _, z: b } = T, v = new x(A + l * c, _ + 0.05, b + R * c);
26
+ s[t * 6 + 0] = v.x, s[t * 6 + 1] = v.y, s[t * 6 + 2] = v.z;
27
+ const f = new x(A - l * c, _ + 0.05, b - R * c);
28
+ s[t * 6 + 3] = f.x, s[t * 6 + 4] = f.y, s[t * 6 + 5] = f.z, N += t > 0 ? o[t - 1].clone().sub(o[t]).length() : 0;
29
+ const h = N / i / g;
30
+ if (P = h, a[t * 4 + 0] = 0, a[t * 4 + 1] = h, a[t * 4 + 2] = 1, a[t * 4 + 3] = h, e.skipPositions) {
31
+ const V = new n.Vector3().lerpVectors(v, f, 0.5);
32
32
  if (e.skipPositions.some((F) => F.distanceTo(V) < 0.26))
33
33
  continue;
34
34
  }
35
35
  t !== o.length - 1 && (r[t * 6 + 0] = t * 2 + 0, r[t * 6 + 1] = t * 2 + 2, r[t * 6 + 2] = t * 2 + 1, r[t * 6 + 3] = t * 2 + 2, r[t * 6 + 4] = t * 2 + 3, r[t * 6 + 5] = t * 2 + 1);
36
36
  }
37
- const l = new n.BufferGeometry();
38
- return l.setAttribute("position", new n.BufferAttribute(s, 3)), l.setAttribute("uv", new n.BufferAttribute(a, 2)), l.setIndex(new n.BufferAttribute(r, 1)), { geometry: l, maxU: R, curvePath: u, curvePoints: o };
37
+ const m = new n.BufferGeometry();
38
+ return m.setAttribute("position", new n.BufferAttribute(s, 3)), m.setAttribute("uv", new n.BufferAttribute(a, 2)), m.setIndex(new n.BufferAttribute(r, 1)), { geometry: m, maxU: P, curvePath: u, curvePoints: o };
39
39
  }
40
40
  function I(e) {
41
41
  if (O(e)) {