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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (620) hide show
  1. package/dist/CSS3DRenderPlugin/index..js +88 -0
  2. package/dist/CSS3DRenderPlugin/index.cjs.js +1 -0
  3. package/dist/CameraMovementPlugin/index..js +11 -0
  4. package/dist/CameraMovementPlugin/index.cjs.js +1 -0
  5. package/dist/CruisePlugin/index..js +527 -0
  6. package/dist/CruisePlugin/index.cjs.js +1 -0
  7. package/dist/GuideLinePlugin/index..js +214 -0
  8. package/dist/GuideLinePlugin/index.cjs.js +1 -0
  9. package/dist/ItemLabelPlugin/index..js +508 -0
  10. package/dist/ItemLabelPlugin/index.cjs.js +10 -0
  11. package/dist/ModelChassisCompassPlugin/index..js +9 -0
  12. package/dist/ModelChassisCompassPlugin/index.cjs.js +1 -0
  13. package/dist/ModelEntryDoorGuidePlugin/index..js +9 -0
  14. package/dist/ModelEntryDoorGuidePlugin/index.cjs.js +1 -0
  15. package/dist/ModelItemLabelPlugin/index..js +334 -0
  16. package/dist/ModelItemLabelPlugin/index.cjs.js +10 -0
  17. package/dist/ModelRoomLabelPlugin/index..js +274 -0
  18. package/dist/ModelRoomLabelPlugin/index.cjs.js +1 -0
  19. package/dist/ModelTVVideoPlugin/index..js +12 -0
  20. package/dist/ModelTVVideoPlugin/index.cjs.js +1 -0
  21. package/dist/ModelViewPlugin/index..js +8 -0
  22. package/dist/ModelViewPlugin/index.cjs.js +1 -0
  23. package/dist/Object3DHelperPlugin/index..js +1414 -0
  24. package/dist/Object3DHelperPlugin/index.cjs.js +1 -0
  25. package/dist/PanoCompassPlugin/index..js +258 -0
  26. package/dist/PanoCompassPlugin/index.cjs.js +1 -0
  27. package/dist/PanoCursorRaycasterPlugin/index..js +63 -0
  28. package/dist/PanoCursorRaycasterPlugin/index.cjs.js +1 -0
  29. package/dist/PanoDoorLabelPlugin/index..js +340 -0
  30. package/dist/PanoDoorLabelPlugin/index.cjs.js +1 -0
  31. package/dist/PanoMeasurePlugin/index..js +15 -0
  32. package/dist/PanoMeasurePlugin/index.cjs.js +1 -0
  33. package/dist/PanoRulerPlugin/index..js +9 -0
  34. package/dist/PanoRulerPlugin/index.cjs.js +1 -0
  35. package/dist/PanoRulerProPlugin/index..js +395 -0
  36. package/dist/PanoRulerProPlugin/index.cjs.js +1 -0
  37. package/dist/PanoSpatialTagPlugin/index..js +15 -0
  38. package/dist/PanoSpatialTagPlugin/index.cjs.js +1 -0
  39. package/dist/PanoTagPlugin/index..js +4522 -0
  40. package/dist/PanoTagPlugin/index.cjs.js +17 -0
  41. package/dist/chunks/cjs/BasePlugin.57e5204f.cjs.js +1 -0
  42. package/dist/chunks/cjs/BasePluginWithData.0a28882d.cjs.js +1 -0
  43. package/dist/chunks/cjs/CSS3DRender.15349564.cjs.js +1 -0
  44. package/dist/chunks/cjs/CameraMovementPlugin.2b342576.cjs.js +1 -0
  45. package/dist/chunks/cjs/Plugin.5f616fb3.cjs.js +1 -0
  46. package/dist/chunks/cjs/Plugin.609da4aa.cjs.js +94 -0
  47. package/dist/chunks/cjs/Plugin.67936d0e.cjs.js +16 -0
  48. package/dist/chunks/cjs/Plugin.8a110c53.cjs.js +1 -0
  49. package/dist/chunks/cjs/Plugin.9971108a.cjs.js +1 -0
  50. package/dist/chunks/cjs/Plugin.fd42bf8a.cjs.js +1 -0
  51. package/dist/chunks/cjs/Subscribe.5398d5c6.cjs.js +1 -0
  52. package/dist/chunks/cjs/changeModelCanvasOpacity.8d84f111.cjs.js +1 -0
  53. package/dist/chunks/cjs/correctFiveState.4c8472bd.cjs.js +1 -0
  54. package/dist/chunks/cjs/debounce.93dfb637.cjs.js +1 -0
  55. package/dist/chunks/cjs/equal.e9fcbd4e.cjs.js +1 -0
  56. package/dist/chunks/cjs/filter.cf9ebbb3.cjs.js +1 -0
  57. package/dist/chunks/cjs/formatData.81e95011.cjs.js +10 -0
  58. package/dist/chunks/cjs/index.30b7baeb.cjs.js +101 -0
  59. package/dist/chunks/cjs/index.686e84d1.cjs.js +290 -0
  60. package/dist/chunks/cjs/index.7d2010ce.cjs.js +1 -0
  61. package/dist/chunks/cjs/isNil.b3a58990.cjs.js +1 -0
  62. package/dist/chunks/cjs/planimetry.7fce816a.cjs.js +1 -0
  63. package/dist/chunks/cjs/throttle.86c209eb.cjs.js +1 -0
  64. package/dist/chunks/cjs/transfromToMeshBasicMaterial.9db6d46a.cjs.js +1 -0
  65. package/dist/chunks/cjs/uuid.29ed9c88.cjs.js +1 -0
  66. package/dist/chunks/es/BasePlugin.813e25f7.es.js +18 -0
  67. package/dist/chunks/es/BasePluginWithData.4bf4e649.es.js +6 -0
  68. package/dist/chunks/es/CSS3DRender.5652510e.es.js +393 -0
  69. package/dist/chunks/es/CameraMovementPlugin.4a7c3e46.es.js +120 -0
  70. package/dist/chunks/es/Plugin.26c2df05.es.js +106 -0
  71. package/dist/chunks/es/Plugin.435485ed.es.js +584 -0
  72. package/dist/chunks/es/Plugin.a98418f0.es.js +82 -0
  73. package/dist/chunks/es/Plugin.ae4ee6f8.es.js +82 -0
  74. package/dist/chunks/es/Plugin.dd11e0ad.es.js +180 -0
  75. package/dist/chunks/es/Plugin.f4cf895f.es.js +355 -0
  76. package/dist/chunks/es/Subscribe.c73e0f91.es.js +50 -0
  77. package/dist/chunks/es/changeModelCanvasOpacity.45ef9fd6.es.js +1551 -0
  78. package/dist/chunks/es/correctFiveState.e7feab9f.es.js +66 -0
  79. package/dist/chunks/es/debounce.ef83f417.es.js +11 -0
  80. package/dist/chunks/es/equal.7db4a6f7.es.js +56 -0
  81. package/dist/chunks/es/filter.97ec06c4.es.js +12 -0
  82. package/dist/chunks/es/formatData.a2b39ef9.es.js +483 -0
  83. package/dist/chunks/es/index.a273f06e.es.js +532 -0
  84. package/dist/chunks/es/index.b8fdb59b.es.js +50 -0
  85. package/dist/chunks/es/index.f74f4851.es.js +1787 -0
  86. package/dist/chunks/es/isNil.212842d9.es.js +10 -0
  87. package/dist/chunks/es/planimetry.b0b4a28d.es.js +43 -0
  88. package/dist/chunks/es/throttle.db66bac3.es.js +11 -0
  89. package/dist/chunks/es/transfromToMeshBasicMaterial.849ee069.es.js +24 -0
  90. package/dist/chunks/es/uuid.676cb2c8.es.js +9 -0
  91. package/dist/components/PaintBrush/index..js +6 -0
  92. package/dist/components/PaintBrush/index.cjs.js +1 -0
  93. package/dist/components/index..js +7 -0
  94. package/dist/components/index.cjs.js +1 -0
  95. package/dist/floorplan/MapviewFloorplanPlugin/index..js +324 -0
  96. package/dist/floorplan/MapviewFloorplanPlugin/index.cjs.js +1 -0
  97. package/dist/floorplan/ModelFloorplanPlugin/index..js +320 -0
  98. package/dist/floorplan/ModelFloorplanPlugin/index.cjs.js +1 -0
  99. package/dist/floorplan/PanoFloorplanRadarPlugin/index..js +613 -0
  100. package/dist/floorplan/PanoFloorplanRadarPlugin/index.cjs.js +1 -0
  101. package/dist/floorplan/TopviewFloorplanPlugin/index..js +277 -0
  102. package/dist/floorplan/TopviewFloorplanPlugin/index.cjs.js +1 -0
  103. package/dist/index..js +530 -0
  104. package/dist/index.cjs.js +3 -543
  105. package/docs/classes/CruisePluginController.html +24 -24
  106. package/docs/classes/Magnifier.html +16 -16
  107. package/docs/classes/ModelRoomLabelController.html +11 -11
  108. package/docs/classes/Object3DHelperController.html +24 -24
  109. package/docs/classes/PaintBrush.html +15 -15
  110. package/docs/classes/PanoTagPluginController.html +39 -39
  111. package/docs/classes/Util.BetterTween.html +8 -8
  112. package/docs/classes/Util.FivePointSelector.html +12 -12
  113. package/docs/classes/Util.Interval.html +12 -12
  114. package/docs/classes/Util.Magnifier.html +17 -17
  115. package/docs/classes/Util.PointDomHelper.html +11 -11
  116. package/docs/classes/Util.PointHelper.html +11 -11
  117. package/docs/classes/Util.Rectangle.html +13 -13
  118. package/docs/enums/CameraMovementEffect.html +7 -7
  119. package/docs/enums/ContentType.html +12 -12
  120. package/docs/enums/DIRECTION.html +9 -9
  121. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +9 -9
  122. package/docs/enums/DimensionType.html +7 -7
  123. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +8 -8
  124. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +9 -9
  125. package/docs/enums/LinkType.html +7 -7
  126. package/docs/enums/PaintBrushTypeEnum.html +8 -8
  127. package/docs/enums/PointType.html +7 -7
  128. package/docs/enums/Rotation.html +8 -8
  129. package/docs/functions/CSS3DRenderPlugin.html +4 -4
  130. package/docs/functions/CameraMovementPlugin.html +4 -4
  131. package/docs/functions/CruisePlugin.html +4 -4
  132. package/docs/functions/GuideLinePlugin.html +5 -5
  133. package/docs/functions/ItemLabelPlugin.html +4 -4
  134. package/docs/functions/MapviewFloorplanPlugin.html +4 -4
  135. package/docs/functions/ModelChassisCompassPlugin.html +4 -4
  136. package/docs/functions/ModelEntryDoorGuidePlugin.html +4 -4
  137. package/docs/functions/ModelFloorplanPlugin.html +4 -4
  138. package/docs/functions/ModelItemLabelPlugin.html +4 -4
  139. package/docs/functions/ModelRoomLabelPlugin.html +4 -4
  140. package/docs/functions/ModelTVVideoPlugin.html +4 -4
  141. package/docs/functions/ModelViewPlugin.html +4 -4
  142. package/docs/functions/Object3DHelperPlugin.html +4 -4
  143. package/docs/functions/PanoCompassPlugin.html +4 -4
  144. package/docs/functions/PanoCursorRaycasterPlugin.html +4 -4
  145. package/docs/functions/PanoDoorLabelPlugin.html +4 -4
  146. package/docs/functions/PanoFloorplanRadarPlugin.html +4 -4
  147. package/docs/functions/PanoMeasurePlugin.html +4 -4
  148. package/docs/functions/PanoRulerPlugin.html +4 -4
  149. package/docs/functions/PanoRulerProPlugin.html +4 -4
  150. package/docs/functions/PanoSpatialTagPlugin.html +4 -4
  151. package/docs/functions/PanoTagPlugin.html +4 -4
  152. package/docs/functions/TopviewFloorplanPlugin.html +4 -4
  153. package/docs/functions/Util.getCoordsFromClient.html +5 -5
  154. package/docs/functions/Util.getCoordsFromElement.html +5 -5
  155. package/docs/functions/Util.getFrameTime.html +5 -5
  156. package/docs/functions/Util.getIntersectFromRelativePosition.html +5 -5
  157. package/docs/functions/Util.getRaycasterFromFivePointer.html +5 -5
  158. package/docs/functions/Util.isNil.html +5 -5
  159. package/docs/functions/Util.nextFrame.html +5 -5
  160. package/docs/functions/Util.notNil.html +5 -5
  161. package/docs/functions/Util.requestAnimationFrameInterval.html +5 -5
  162. package/docs/functions/Util.tweenProgress.html +5 -5
  163. package/docs/functions/pluginFlag.html +5 -5
  164. package/docs/index.html +4 -4
  165. package/docs/interfaces/CSS3DRenderPluginEventMap.html +11 -11
  166. package/docs/interfaces/CSS3DRenderPluginState.html +8 -8
  167. package/docs/interfaces/CameraMovementPluginExportType.html +7 -7
  168. package/docs/interfaces/ContentTypeMap.html +12 -12
  169. package/docs/interfaces/FloorplanBounding.html +8 -8
  170. package/docs/interfaces/FloorplanData.html +10 -10
  171. package/docs/interfaces/FloorplanEntrance.html +11 -11
  172. package/docs/interfaces/FloorplanExtraObject.html +10 -10
  173. package/docs/interfaces/FloorplanExtraObject3D.html +8 -8
  174. package/docs/interfaces/FloorplanFloorData.html +9 -9
  175. package/docs/interfaces/FloorplanImagePosition.html +7 -7
  176. package/docs/interfaces/FloorplanObserver.html +9 -9
  177. package/docs/interfaces/FloorplanOutlineItem.html +9 -9
  178. package/docs/interfaces/FloorplanPosition.html +7 -7
  179. package/docs/interfaces/FloorplanRoomItem.html +13 -13
  180. package/docs/interfaces/FloorplanRoomLabelItem.html +7 -7
  181. package/docs/interfaces/FloorplanServerBounding.html +8 -8
  182. package/docs/interfaces/FloorplanServerComputedData.html +10 -10
  183. package/docs/interfaces/FloorplanServerData.html +7 -7
  184. package/docs/interfaces/FloorplanServerDoorItem.html +10 -10
  185. package/docs/interfaces/FloorplanServerDoorPosition.html +8 -8
  186. package/docs/interfaces/FloorplanServerEntrance.html +11 -11
  187. package/docs/interfaces/FloorplanServerFloorData.html +9 -9
  188. package/docs/interfaces/FloorplanServerImagePosition.html +7 -7
  189. package/docs/interfaces/FloorplanServerObserver.html +9 -9
  190. package/docs/interfaces/FloorplanServerOutlineItem.html +9 -9
  191. package/docs/interfaces/FloorplanServerPosition.html +7 -7
  192. package/docs/interfaces/FloorplanServerRoomItem.html +14 -14
  193. package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -7
  194. package/docs/interfaces/ItemLabelPluginData.html +6 -6
  195. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +11 -11
  196. package/docs/interfaces/ItemLabelPluginParametersType.html +9 -9
  197. package/docs/interfaces/LineJson.html +7 -7
  198. package/docs/interfaces/ModelChassisCompassPluginData.html +7 -7
  199. package/docs/interfaces/ModelChassisCompassPluginExportType.html +8 -8
  200. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +7 -7
  201. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +8 -8
  202. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +8 -8
  203. package/docs/interfaces/ModelItemLabelPluginData.html +6 -6
  204. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +11 -11
  205. package/docs/interfaces/ModelItemLabelPluginParametersType.html +7 -7
  206. package/docs/interfaces/ModelRoomLabelPluginData.html +6 -6
  207. package/docs/interfaces/ModelTVVideoPluginData.html +9 -9
  208. package/docs/interfaces/ModelTVVideoPluginExportType.html +8 -8
  209. package/docs/interfaces/ModelTVVideoPluginParameterType.html +6 -6
  210. package/docs/interfaces/ModelViewPluginExportType.html +8 -8
  211. package/docs/interfaces/Object3DHelperState.html +8 -8
  212. package/docs/interfaces/OpenParameter.html +7 -7
  213. package/docs/interfaces/PaintBrushAction.html +12 -12
  214. package/docs/interfaces/PaintBrushConfigs.html +12 -12
  215. package/docs/interfaces/PaintBrushState.html +10 -10
  216. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +10 -10
  217. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +5 -5
  218. package/docs/interfaces/PanoMeasureParameterType.html +11 -11
  219. package/docs/interfaces/PanoRulerPluginExportType.html +10 -10
  220. package/docs/interfaces/PanoRulerPluginOptions.html +7 -7
  221. package/docs/interfaces/PanoRulerPluginParameterType.html +8 -8
  222. package/docs/interfaces/PanoRulerProPluginExportType.html +9 -9
  223. package/docs/interfaces/PanoRulerProPluginOptions.html +7 -7
  224. package/docs/interfaces/PanoRulerProPluginParameterType.html +7 -7
  225. package/docs/interfaces/PanoRulerProPluginState.html +8 -8
  226. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +5 -5
  227. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +5 -5
  228. package/docs/interfaces/PanoSpatialTagPluginData.html +11 -11
  229. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +10 -10
  230. package/docs/interfaces/PanoSpatialTagPluginExportType.html +13 -13
  231. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +10 -10
  232. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +13 -13
  233. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +11 -11
  234. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +10 -10
  235. package/docs/interfaces/Point.html +8 -8
  236. package/docs/interfaces/PointJson.html +8 -8
  237. package/docs/interfaces/Room.html +9 -9
  238. package/docs/interfaces/RoomInfo.html +7 -7
  239. package/docs/interfaces/RoomLabel.html +14 -14
  240. package/docs/interfaces/RoomRules.html +5 -5
  241. package/docs/interfaces/Rooms.html +5 -5
  242. package/docs/interfaces/Scissor.html +9 -9
  243. package/docs/interfaces/TagConfig.html +10 -10
  244. package/docs/interfaces/Tags.html +9 -9
  245. package/docs/interfaces/Util.MagnifierParameter.html +11 -11
  246. package/docs/interfaces/Util.MouseGroupParameter.html +8 -8
  247. package/docs/modules/Util.html +5 -5
  248. package/docs/modules.html +4 -4
  249. package/docs/types/ArrayPosition.html +5 -5
  250. package/docs/types/CSS3DRenderExportType.html +5 -5
  251. package/docs/types/CSS3DRenderPluginExportType.html +5 -5
  252. package/docs/types/CSS3DRenderPluginParameterType.html +5 -5
  253. package/docs/types/Color.html +5 -5
  254. package/docs/types/ContentTypeConfigKey.html +5 -5
  255. package/docs/types/ContentTypeConfigKeyArray.html +5 -5
  256. package/docs/types/Create3DDomContainerReturnType.html +5 -5
  257. package/docs/types/Create3DElementReturnType.html +5 -5
  258. package/docs/types/CruisePluginExportType.html +5 -5
  259. package/docs/types/Direction-1.html +5 -5
  260. package/docs/types/Direction4.html +5 -5
  261. package/docs/types/FloorplanRuleLabels.html +5 -5
  262. package/docs/types/FloorplanServerRuleLabels.html +5 -5
  263. package/docs/types/GuideLinePluginExportType.html +5 -5
  264. package/docs/types/HelperEventMap.html +5 -5
  265. package/docs/types/MapviewFloorplanPluginParameterType.html +5 -5
  266. package/docs/types/MapviewFloorplanPluginReturnType.html +5 -5
  267. package/docs/types/MediaData.html +5 -5
  268. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +5 -5
  269. package/docs/types/ModelFloorplanPluginParameterType.html +5 -5
  270. package/docs/types/ModelFloorplanPluginReturnType.html +5 -5
  271. package/docs/types/ModelRoomLabelPluginParameters.html +5 -5
  272. package/docs/types/ModelRoomLabelPluginReturnType.html +5 -5
  273. package/docs/types/MoveArgs.html +5 -5
  274. package/docs/types/MoveOpts.html +5 -5
  275. package/docs/types/Object3DHelperEventMap.html +5 -5
  276. package/docs/types/ObjectFit.html +5 -5
  277. package/docs/types/PaintBrushEventMap.html +5 -5
  278. package/docs/types/PanoCompassPluginData.html +5 -5
  279. package/docs/types/PanoCompassPluginExportType.html +5 -5
  280. package/docs/types/PanoCompassPluginParameterType.html +5 -5
  281. package/docs/types/PanoFloorplanRadarPluginParameterType.html +5 -5
  282. package/docs/types/PanoFloorplanRadarPluginReturnType.html +5 -5
  283. package/docs/types/PanoMeasurePluginEvent.html +5 -5
  284. package/docs/types/PanoMeasureReturnType.html +5 -5
  285. package/docs/types/PanoSpatialTagPluginId.html +5 -5
  286. package/docs/types/PanoTagPluginExportInterface.html +5 -5
  287. package/docs/types/PanoTagPluginParamsInterface.html +5 -5
  288. package/docs/types/PlaneTag.html +5 -5
  289. package/docs/types/PointTag.html +5 -5
  290. package/docs/types/Position.html +5 -5
  291. package/docs/types/RotateArgs.html +5 -5
  292. package/docs/types/RotateOpts.html +5 -5
  293. package/docs/types/RuleLabelsKey.html +5 -5
  294. package/docs/types/RuleLabelsValue.html +5 -5
  295. package/docs/types/Tag.html +5 -5
  296. package/docs/types/Tag2D.html +5 -5
  297. package/docs/types/Tag3D.html +5 -5
  298. package/docs/types/TagId.html +5 -5
  299. package/docs/types/TopviewFloorplanPluginParameterType.html +5 -5
  300. package/docs/types/TopviewFloorplanPluginReturnType.html +5 -5
  301. package/docs/variables/FLOOR_TYPE_MAP.html +5 -5
  302. package/docs/variables/PLUGIN.html +5 -5
  303. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +5 -5
  304. package/docs/variables/ROOM_TYPE_MAP.html +5 -5
  305. package/docs/variables/VERSION.html +5 -5
  306. package/docs/variables/itemLabelPluginServerParams.html +5 -5
  307. package/docs/variables/modelItemLabelPluginServerParams.html +5 -5
  308. package/docs/variables/modelRoomLabelPluginServerParams.html +5 -5
  309. package/libs/CSS3DRenderPlugin/CSS3DRender.js +327 -1
  310. package/libs/CSS3DRenderPlugin/Controller.js +83 -1
  311. package/libs/CSS3DRenderPlugin/index.js +5 -1
  312. package/libs/CSS3DRenderPlugin/typing.js +1 -1
  313. package/libs/CSS3DRenderPlugin/utils/CSS3DObjectPlus.js +65 -1
  314. package/libs/CSS3DRenderPlugin/utils/centerPoint.js +10 -1
  315. package/libs/CSS3DRenderPlugin/utils/evenNumber.js +7 -1
  316. package/libs/CSS3DRenderPlugin/utils/index.js +1 -1
  317. package/libs/CSS3DRenderPlugin/utils/positionToVector3.js +6 -1
  318. package/libs/CSS3DRenderPlugin/utils/random.js +1 -1
  319. package/libs/CameraMovementPlugin/CameraMovementPlugin.js +87 -1
  320. package/libs/CameraMovementPlugin/index.js +3 -1
  321. package/libs/CameraMovementPlugin/typing.js +5 -1
  322. package/libs/CruisePlugin/Controller.js +484 -1
  323. package/libs/CruisePlugin/index.js +5 -1
  324. package/libs/CruisePlugin/utils/coordinatesAngle.js +8 -1
  325. package/libs/CruisePlugin/utils/coordinatesToVector.js +12 -1
  326. package/libs/CruisePlugin/utils/formatRad.js +7 -1
  327. package/libs/CruisePlugin/utils/linerValue.js +7 -1
  328. package/libs/CruisePlugin/utils/safeCall.js +28 -1
  329. package/libs/CruisePlugin/utils/sleep.js +10 -1
  330. package/libs/CruisePlugin/utils/vectorToCoordinates.js +10 -1
  331. package/libs/GuideLinePlugin/Controller.js +143 -1
  332. package/libs/GuideLinePlugin/index.js +5 -1
  333. package/libs/GuideLinePlugin/utils/getArrowMaterial.js +13 -1
  334. package/libs/GuideLinePlugin/utils/getLineGeometries.js +64 -1
  335. package/libs/ItemLabelPlugin/ItemLabelComponent.js +273 -1
  336. package/libs/ItemLabelPlugin/ItemLabelItem.js +133 -2
  337. package/libs/ItemLabelPlugin/Plugin.js +75 -2
  338. package/libs/ItemLabelPlugin/index.js +12 -1
  339. package/libs/ItemLabelPlugin/typings.js +4 -1
  340. package/libs/ItemLabelPlugin/utils/getLabelTransform.js +4 -1
  341. package/libs/ItemLabelPlugin/utils/getStrokeLength.js +16 -1
  342. package/libs/ItemLabelPlugin/utils/isImpacted.js +10 -1
  343. package/libs/ItemLabelPlugin/utils/parseData.js +21 -1
  344. package/libs/ItemLabelPlugin/utils/transform2RenderData.js +21 -1
  345. package/libs/ModelChassisCompassPlugin/Plugin.js +70 -1
  346. package/libs/ModelChassisCompassPlugin/index.js +2 -1
  347. package/libs/ModelEntryDoorGuidePlugin/Plugin.js +77 -1
  348. package/libs/ModelEntryDoorGuidePlugin/index.js +2 -1
  349. package/libs/ModelItemLabelPlugin/ItemLabelComponent.js +213 -1
  350. package/libs/ModelItemLabelPlugin/ItemLabelItem.js +42 -2
  351. package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +73 -2
  352. package/libs/ModelItemLabelPlugin/events.type.js +1 -1
  353. package/libs/ModelItemLabelPlugin/index.js +12 -1
  354. package/libs/ModelItemLabelPlugin/typings.js +4 -1
  355. package/libs/ModelItemLabelPlugin/utils/parseData.js +19 -1
  356. package/libs/ModelRoomLabelPlugin/Assets/roomLabelBg.js +4 -1
  357. package/libs/ModelRoomLabelPlugin/Controller.js +60 -1
  358. package/libs/ModelRoomLabelPlugin/RoomLabelItem.js +45 -1
  359. package/libs/ModelRoomLabelPlugin/RoomLabelItems.js +163 -1
  360. package/libs/ModelRoomLabelPlugin/index.js +9 -1
  361. package/libs/ModelRoomLabelPlugin/utils/parseData.js +16 -1
  362. package/libs/ModelTVVideoPlugin/Plugin.js +163 -1
  363. package/libs/ModelTVVideoPlugin/index.js +2 -1
  364. package/libs/ModelTVVideoPlugin/typings.js +4 -1
  365. package/libs/ModelTVVideoPlugin/utils/parseData.js +20 -1
  366. package/libs/ModelViewPlugin/Plugin.js +106 -1
  367. package/libs/ModelViewPlugin/index.js +2 -1
  368. package/libs/Object3DHelperPlugin/Controller.js +145 -1
  369. package/libs/Object3DHelperPlugin/FiveControllerWrapper.js +31 -1
  370. package/libs/Object3DHelperPlugin/index.js +5 -1
  371. package/libs/PanoCompassPlugin/Assets/roomInfoIcon.js +4 -1
  372. package/libs/PanoCompassPlugin/Controller.js +224 -1
  373. package/libs/PanoCompassPlugin/getRoomInfoInstance.js +24 -1
  374. package/libs/PanoCompassPlugin/index.js +5 -1
  375. package/libs/PanoCursorRaycasterPlugin/index.js +58 -1
  376. package/libs/PanoDoorLabelPlugin/BaseController.js +59 -1
  377. package/libs/PanoDoorLabelPlugin/Controller.js +219 -1
  378. package/libs/PanoDoorLabelPlugin/DoorLabelItem.js +65 -1
  379. package/libs/PanoDoorLabelPlugin/index.js +5 -1
  380. package/libs/PanoDoorLabelPlugin/utils.js +23 -1
  381. package/libs/PanoMeasurePlugin/Controller/BaseController.js +53 -1
  382. package/libs/PanoMeasurePlugin/Controller/EditController.js +102 -1
  383. package/libs/PanoMeasurePlugin/Controller/MixedController.js +125 -1
  384. package/libs/PanoMeasurePlugin/Controller/ShortcutKeyController.js +33 -1
  385. package/libs/PanoMeasurePlugin/Controller/ViewController.js +90 -1
  386. package/libs/PanoMeasurePlugin/Controller/WatchController.js +154 -1
  387. package/libs/PanoMeasurePlugin/Controller/index.js +140 -1
  388. package/libs/PanoMeasurePlugin/Model/index.js +92 -1
  389. package/libs/PanoMeasurePlugin/Model/line.js +56 -1
  390. package/libs/PanoMeasurePlugin/Model/point.js +30 -1
  391. package/libs/PanoMeasurePlugin/Model/polyline.js +47 -1
  392. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.js +5 -2
  393. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.js +4 -1
  394. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.js +4 -1
  395. package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.js +67 -3
  396. package/libs/PanoMeasurePlugin/Modules/FiveHelper.js +28 -1
  397. package/libs/PanoMeasurePlugin/Modules/GuideController.js +41 -1
  398. package/libs/PanoMeasurePlugin/Modules/Magnifier.js +103 -1
  399. package/libs/PanoMeasurePlugin/Modules/UIController/HTML.js +12 -8
  400. package/libs/PanoMeasurePlugin/Modules/UIController/MainBtnController.js +50 -1
  401. package/libs/PanoMeasurePlugin/Modules/UIController/Revoke/index.js +36 -1
  402. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +48 -1
  403. package/libs/PanoMeasurePlugin/Modules/UIController/mobileHTML.js +8 -3
  404. package/libs/PanoMeasurePlugin/Modules/UIController/mobileMainBtnController.js +39 -1
  405. package/libs/PanoMeasurePlugin/Modules/UIController/style.js +62 -1
  406. package/libs/PanoMeasurePlugin/Modules/rangePiece/html.js +6 -2
  407. package/libs/PanoMeasurePlugin/Modules/rangePiece/index.js +130 -1
  408. package/libs/PanoMeasurePlugin/index.js +10 -1
  409. package/libs/PanoMeasurePlugin/utils/calculateThreeMouse.js +12 -1
  410. package/libs/PanoMeasurePlugin/utils/constants.js +36 -1
  411. package/libs/PanoMeasurePlugin/utils/distanceDom.js +62 -1
  412. package/libs/PanoMeasurePlugin/utils/findAssociatedLines.js +13 -1
  413. package/libs/PanoMeasurePlugin/utils/findClosestPoint.js +15 -1
  414. package/libs/PanoMeasurePlugin/utils/getIntersectionFromEvent.js +9 -1
  415. package/libs/PanoMeasurePlugin/utils/getPointFromHammerEvent.js +8 -1
  416. package/libs/PanoMeasurePlugin/utils/ironbox.js +4 -1
  417. package/libs/PanoMeasurePlugin/utils/isNDCPointInScreen.js +7 -1
  418. package/libs/PanoMeasurePlugin/utils/line.js +17 -1
  419. package/libs/PanoMeasurePlugin/utils/math.js +12 -1
  420. package/libs/PanoMeasurePlugin/utils/mouseGroup.js +33 -3
  421. package/libs/PanoMeasurePlugin/utils/ndc2Screen.js +8 -1
  422. package/libs/PanoRulerPlugin/Plugin.js +262 -2
  423. package/libs/PanoRulerPlugin/index.js +2 -1
  424. package/libs/PanoRulerPlugin/style.js +5 -2
  425. package/libs/PanoRulerProPlugin/Controller.js +93 -1
  426. package/libs/PanoRulerProPlugin/RulerItem.js +128 -1
  427. package/libs/PanoRulerProPlugin/RulerItems.js +183 -1
  428. package/libs/PanoRulerProPlugin/index.js +5 -1
  429. package/libs/PanoSpatialTagPlugin/Components/origins.js +82 -1
  430. package/libs/PanoSpatialTagPlugin/Components/tag.js +125 -1
  431. package/libs/PanoSpatialTagPlugin/Plugin.js +246 -1
  432. package/libs/PanoSpatialTagPlugin/index.js +6 -1
  433. package/libs/PanoSpatialTagPlugin/store.js +5 -1
  434. package/libs/PanoSpatialTagPlugin/style.js +11 -1
  435. package/libs/PanoSpatialTagPlugin/typings.js +1 -1
  436. package/libs/PanoTagPlugin/Assets/Icon.js +6 -1
  437. package/libs/PanoTagPlugin/Components/Common/Arrow.js +103 -1
  438. package/libs/PanoTagPlugin/Components/Common/Audio.js +166 -1
  439. package/libs/PanoTagPlugin/Components/Common/Line/Polyline.js +93 -1
  440. package/libs/PanoTagPlugin/Components/Common/Line/Straight.js +90 -1
  441. package/libs/PanoTagPlugin/Components/Common/Media.js +400 -1
  442. package/libs/PanoTagPlugin/Components/Common/MediaItem.js +139 -1
  443. package/libs/PanoTagPlugin/Components/Common/MultiLineText.js +180 -1
  444. package/libs/PanoTagPlugin/Components/Common/Point/CustomPoint.js +52 -1
  445. package/libs/PanoTagPlugin/Components/Common/Point/DefaultPoint.js +52 -1
  446. package/libs/PanoTagPlugin/Components/Common/Point/PointSwitch.js +169 -1
  447. package/libs/PanoTagPlugin/Components/Common/Shadow.js +124 -15
  448. package/libs/PanoTagPlugin/Components/Common/Text.js +131 -1
  449. package/libs/PanoTagPlugin/Components/Common/TextItem.js +106 -0
  450. package/libs/PanoTagPlugin/Components/Tag/AudioTag.js +140 -1
  451. package/libs/PanoTagPlugin/Components/Tag/CustomTag.js +73 -1
  452. package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.js +214 -1
  453. package/libs/PanoTagPlugin/Components/Tag/LinkTag.js +127 -1
  454. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +259 -1
  455. package/libs/PanoTagPlugin/Components/Tag/MediaPlane.js +106 -1
  456. package/libs/PanoTagPlugin/Components/Tag/TextTag.js +134 -1
  457. package/libs/PanoTagPlugin/Components/Tag/index.js +318 -2
  458. package/libs/PanoTagPlugin/Components/TagContainer.js +200 -1
  459. package/libs/PanoTagPlugin/Components/TagWrapper.js +191 -1
  460. package/libs/PanoTagPlugin/controller/TagCacheController.js +31 -1
  461. package/libs/PanoTagPlugin/controller/TagComputer.js +264 -1
  462. package/libs/PanoTagPlugin/controller/index.js +376 -1
  463. package/libs/PanoTagPlugin/index.js +5 -1
  464. package/libs/PanoTagPlugin/tag.config.js +43 -1
  465. package/libs/PanoTagPlugin/typings/controller.js +1 -1
  466. package/libs/PanoTagPlugin/typings/index.js +1 -1
  467. package/libs/PanoTagPlugin/typings/tag.js +7 -1
  468. package/libs/PanoTagPlugin/utils/actionAfterFiveModelLoad.js +6 -1
  469. package/libs/PanoTagPlugin/utils/addDebugPoints.js +27 -1
  470. package/libs/PanoTagPlugin/utils/checkRange.js +10 -1
  471. package/libs/PanoTagPlugin/utils/constants.js +7 -1
  472. package/libs/PanoTagPlugin/utils/debounce.js +12 -1
  473. package/libs/PanoTagPlugin/utils/doUtil.js +12 -1
  474. package/libs/PanoTagPlugin/utils/index.js +1 -1
  475. package/libs/PanoTagPlugin/utils/noTypecheck.js +4 -1
  476. package/libs/PanoTagPlugin/utils/normalPositionToPositions.js +13 -1
  477. package/libs/PanoTagPlugin/utils/planeNormal.js +11 -1
  478. package/libs/PanoTagPlugin/utils/resizeObserver.js +17 -1
  479. package/libs/PanoTagPlugin/utils/search.js +15 -1
  480. package/libs/PanoTagPlugin/utils/tagPosition.js +13 -1
  481. package/libs/PanoTagPlugin/utils/throttle.js +11 -1
  482. package/libs/base/BasePlugin.js +18 -1
  483. package/libs/base/BasePluginWithData.js +6 -1
  484. package/libs/components/PaintBrush/Controller.js +308 -1
  485. package/libs/components/PaintBrush/Subscribe.js +47 -1
  486. package/libs/components/PaintBrush/index.js +45 -1
  487. package/libs/components/PaintBrush/style.js +5 -2
  488. package/libs/components/PaintBrush/tween.js +11 -1
  489. package/libs/components/PaintBrush/typings.js +4 -1
  490. package/libs/components/PaintBrush/utils.js +45 -1
  491. package/libs/components/index.js +2 -1
  492. package/libs/floorplan/Assets/camera.js +4 -1
  493. package/libs/floorplan/Assets/compass.js +4 -1
  494. package/libs/floorplan/Assets/floorplanExtraObject.js +4 -1
  495. package/libs/floorplan/Components/BaseImage.js +103 -1
  496. package/libs/floorplan/Components/Camera.js +62 -1
  497. package/libs/floorplan/Components/Compass.js +60 -1
  498. package/libs/floorplan/Components/CurrentFloor.js +256 -1
  499. package/libs/floorplan/Components/Main.js +283 -1
  500. package/libs/floorplan/Components/Normalmage.js +37 -1
  501. package/libs/floorplan/Components/RoomHighlight/Room.js +61 -1
  502. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.js +122 -1
  503. package/libs/floorplan/Components/RoomLabels/RoomLabel.js +153 -1
  504. package/libs/floorplan/Components/RoomLabels/RoomLabels.js +175 -1
  505. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.js +196 -1
  506. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.js +37 -1
  507. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.js +39 -1
  508. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.js +37 -1
  509. package/libs/floorplan/Components/RuleLabels/RuleItem.js +134 -1
  510. package/libs/floorplan/Components/RuleLabels/RuleLabels.js +139 -1
  511. package/libs/floorplan/Components/SvgImage.js +39 -2
  512. package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +321 -1
  513. package/libs/floorplan/MapviewFloorplanPlugin/index.js +5 -1
  514. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +316 -1
  515. package/libs/floorplan/ModelFloorplanPlugin/index.js +5 -1
  516. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.js +85 -1
  517. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.js +133 -1
  518. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.js +72 -1
  519. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.js +192 -1
  520. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +164 -1
  521. package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +5 -1
  522. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +273 -1
  523. package/libs/floorplan/TopviewFloorplanPlugin/index.js +5 -1
  524. package/libs/floorplan/constant.js +4 -1
  525. package/libs/floorplan/index.js +6 -1
  526. package/libs/floorplan/typings/floorplanData.js +1 -1
  527. package/libs/floorplan/typings/floorplanServerData.js +101 -1
  528. package/libs/floorplan/utils/constant.js +7 -1
  529. package/libs/floorplan/utils/correctFiveState.js +54 -1
  530. package/libs/floorplan/utils/formatData.js +104 -1
  531. package/libs/floorplan/utils/formatPosition.js +35 -1
  532. package/libs/index.js +346 -1
  533. package/libs/shared-utils/Object3DHelper/Base/BaseController.js +151 -1
  534. package/libs/shared-utils/Object3DHelper/Base/BaseHelper.js +51 -1
  535. package/libs/shared-utils/Object3DHelper/Constants/color.js +20 -1
  536. package/libs/shared-utils/Object3DHelper/Controller/CSS3DScaleController.js +18 -1
  537. package/libs/shared-utils/Object3DHelper/Controller/MoveController.js +66 -1
  538. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +109 -1
  539. package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +134 -1
  540. package/libs/shared-utils/Object3DHelper/Helper/HTML/rectangleScaleDom.js +79 -1
  541. package/libs/shared-utils/Object3DHelper/Helper/HTML/tipsDom.js +41 -1
  542. package/libs/shared-utils/Object3DHelper/Helper/HTML/utils/createElement.js +13 -1
  543. package/libs/shared-utils/Object3DHelper/Helper/MoveHelper.js +30 -1
  544. package/libs/shared-utils/Object3DHelper/Helper/Objects/ArrowGroup.js +35 -1
  545. package/libs/shared-utils/Object3DHelper/Helper/OutlineHelper.js +2 -1
  546. package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js +137 -1
  547. package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.js +136 -1
  548. package/libs/shared-utils/Object3DHelper/Helper/index.js +3 -1
  549. package/libs/shared-utils/Object3DHelper/index.js +169 -1
  550. package/libs/shared-utils/Object3DHelper/typings/Direction.js +1 -1
  551. package/libs/shared-utils/Object3DHelper/typings/Hooks.js +1 -1
  552. package/libs/shared-utils/Object3DHelper/typings/Scissor.js +1 -1
  553. package/libs/shared-utils/Object3DHelper/typings/index.js +1 -1
  554. package/libs/shared-utils/Object3DHelper/utils/calculateThreeMouse.js +11 -1
  555. package/libs/shared-utils/Object3DHelper/utils/direction.js +22 -1
  556. package/libs/shared-utils/Object3DHelper/utils/filterNotColinearPoints.js +1 -1
  557. package/libs/shared-utils/Object3DHelper/utils/getMouseRaycaster.js +14 -1
  558. package/libs/shared-utils/Object3DHelper/utils/getPoint.js +1 -1
  559. package/libs/shared-utils/Object3DHelper/utils/index.js +1 -1
  560. package/libs/shared-utils/Object3DHelper/utils/normalPositionToPositions.js +1 -1
  561. package/libs/shared-utils/Object3DHelper/utils/object3DBoundingPosition.js +1 -1
  562. package/libs/shared-utils/Object3DHelper/utils/threex/domevents/index.js +191 -1
  563. package/libs/shared-utils/Object3DHelper/utils/vectorIsEqual.js +6 -1
  564. package/libs/shared-utils/Subscribe.js +50 -1
  565. package/libs/shared-utils/animationFrame/BetterTween.js +26 -1
  566. package/libs/shared-utils/animationFrame/calculateProgress.js +6 -1
  567. package/libs/shared-utils/animationFrame/formatRad.js +11 -1
  568. package/libs/shared-utils/animationFrame/index.js +28 -1
  569. package/libs/shared-utils/animationFrame/tween.js +28 -1
  570. package/libs/shared-utils/changeModelCanvasOpacity.js +12 -1
  571. package/libs/shared-utils/createCanvasTextTexture.js +11 -1
  572. package/libs/shared-utils/createLine/index.js +9 -1
  573. package/libs/shared-utils/debounce.js +11 -1
  574. package/libs/shared-utils/equal.js +54 -1
  575. package/libs/shared-utils/filter.js +10 -1
  576. package/libs/shared-utils/five/changeMode.js +39 -1
  577. package/libs/shared-utils/getPxmm.js +20 -1
  578. package/libs/shared-utils/index.js +35 -1
  579. package/libs/shared-utils/isNil.js +10 -1
  580. package/libs/shared-utils/isTruelyObject.js +6 -1
  581. package/libs/shared-utils/math/Interval.js +23 -1
  582. package/libs/shared-utils/math/Rectangle.js +23 -1
  583. package/libs/shared-utils/math/index.js +1 -1
  584. package/libs/shared-utils/math/planimetry.js +43 -1
  585. package/libs/shared-utils/math/rad2Deg.js +6 -1
  586. package/libs/shared-utils/nearlyEqual.js +6 -1
  587. package/libs/shared-utils/nextFrame.js +6 -1
  588. package/libs/shared-utils/noop.js +5 -1
  589. package/libs/shared-utils/object3d2LocalMatrix.js +18 -1
  590. package/libs/shared-utils/removeArrayItem.js +8 -1
  591. package/libs/shared-utils/tap.js +6 -1
  592. package/libs/shared-utils/three/Assets/index.js +4 -1
  593. package/libs/shared-utils/three/FivePointSelector.js +49 -1
  594. package/libs/shared-utils/three/Magnifier.js +104 -1
  595. package/libs/shared-utils/three/PointDomHelper.js +60 -1
  596. package/libs/shared-utils/three/PointHelper.js +60 -3
  597. package/libs/shared-utils/three/getCoords.js +13 -1
  598. package/libs/shared-utils/three/getIntersect.js +8 -1
  599. package/libs/shared-utils/three/getRaycaster.js +12 -1
  600. package/libs/shared-utils/three/index.js +6 -1
  601. package/libs/shared-utils/three/loadTexture.js +28 -1
  602. package/libs/shared-utils/three/transformPositionToVector3.js +5 -1
  603. package/libs/shared-utils/three/transfromToMeshBasicMaterial.js +24 -1
  604. package/libs/shared-utils/throttle.js +11 -1
  605. package/libs/shared-utils/tinyEJSrender.js +138 -14
  606. package/libs/shared-utils/to.js +28 -1
  607. package/libs/shared-utils/uuid.js +9 -1
  608. package/libs/vendor/swiper/components-shared/get-changed-params.js +29 -1
  609. package/libs/vendor/swiper/components-shared/get-params.js +23 -1
  610. package/libs/vendor/swiper/components-shared/mount-swiper.js +14 -1
  611. package/libs/vendor/swiper/components-shared/params-list.js +120 -1
  612. package/libs/vendor/swiper/components-shared/update-swiper.js +36 -1
  613. package/libs/vendor/swiper/components-shared/utils.js +32 -1
  614. package/libs/vendor/swiper/svelte/swiper-slide.js +182 -1
  615. package/libs/vendor/swiper/svelte/swiper-svelte.js +3 -1
  616. package/libs/vendor/swiper/svelte/swiper.js +254 -1
  617. package/package.json +13 -181
  618. package/dist/index.es.js +0 -16650
  619. package/dist/index.js +0 -16650
  620. package/dist/index.umd.js +0 -556
@@ -1 +1,125 @@
1
- "use strict";var M=Object.defineProperty;var D=(h,o,e)=>o in h?M(h,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):h[o]=e;var t=(h,o,e)=>(D(h,typeof o!="symbol"?o+"":o,e),e);const S=require("../Model/index.js"),b=require("../Model/line.js"),k=require("./BaseController.js"),T=require("../Modules/DeleteDom/index.js"),N=require("../utils/findAssociatedLines.js"),u=require("three"),C=require("../utils/isNDCPointInScreen.js"),_=require("../utils/math.js");class E extends k.BaseController{constructor(e){super(e);t(this,"state","watching");t(this,"model",new S.Model(this.config));t(this,"hasAppendDashed",!1);t(this,"fiveElement");t(this,"mobileStartPoint",null);t(this,"mobileNowPoint",null);t(this,"highlightedLines",[]);t(this,"deleteDom");t(this,"onLineChanged",()=>{this.hook.emit("editedLineChange",this.model.lines.map(e=>e.toCompletelyJson()))});t(this,"onWantsTapGesture",e=>{if(this.state==="editing")return!1;const[i]=this.five.model.intersectRaycaster(e);if(!i)return;const s=this.five.camera,g=i.point.clone().project(s),d=this.container.clientWidth,r=this.container.clientHeight,m=new u.Vector2(g.x*d,g.y*r),f=this.model.lines.map(n=>{const[a,L]=n.points,l=a.position.clone().project(s),c=L.position.clone().project(s);if(!C.isNDCPointInScreen(l)&&!C.isNDCPointInScreen(c))return null;const v=new u.Vector2(l.x*d,l.y*r),w=new u.Vector2(c.x*d,c.y*r);return{id:n.id,points:[v,w]}}).filter(n=>!!n);if(f.length===0)return;const p=f.map(n=>{const a=_.closestPointOnLine(m,n.points);return{id:n.id,distance:a.distanceTo(m)}}).sort((n,a)=>n.distance-a.distance)[0];if(p.distance>20)return;const P=this.model.lines.find(({id:n})=>n===p.id);if(!!P)return this.chooseLine(P),!1});t(this,"onWantsToMoveToPano",()=>this.state==="watching");t(this,"onCameraUpdate",()=>{this.updateDistanceUI(),this.dashed.distanceItem.update(this.five)});t(this,"updateMobileDashed",()=>{!this.mobileStartPoint||!this.mobileNowPoint||(this.dashed.points[0].position.copy(this.mobileStartPoint.position),this.dashed.points[1].position.copy(this.mobileNowPoint.position),this.dashed.mesh.setPoints(this.mobileStartPoint.position,this.mobileNowPoint.position),this.dashed.distanceItem.update(this.five))});t(this,"updateMagnifier",e=>{this.magnifier.visible===!1&&this.magnifier.appendTo(this.container),requestAnimationFrame(()=>this.magnifier.renderWithPoint(e.position)),this.five.needsRender=!0});t(this,"onGetStartPoint",e=>{this.mobileStartPoint=e});t(this,"onGetEndPoint",e=>{const i=this.mobileNowPoint;if(this.removeLine(this.dashed),this.hasAppendDashed=!1,this.mobileStartPoint&&i){const s=new b.Line(this.mobileStartPoint,i,this.model);s.distanceItem.appendTo(this.container),s.distanceItem.update(this.five),s.hook.on("selected",this.chooseLine),this.group.add(s.mesh),this.model.addLine(s)}this.mobileStartPoint=null,this.mobileNowPoint=null,this.five.needsRender=!0});t(this,"onNowPointChange",e=>{if(this.state==="watching"){this.mobileNowPoint=e,this.updateMagnifier(e);return}this.hasAppendDashed||(this.dashed.distanceItem.appendTo(this.container),this.group.add(this.dashed.mesh),this.hasAppendDashed=!0),this.five.needsRender=!0,this.mobileNowPoint=e,this.updateMobileDashed(),this.updateMagnifier(e),this.five.needsRender=!0});t(this,"onWillChangeState",(e,i)=>{this.state=i,this.state==="watching"?this.five.helperVisible=!0:this.five.helperVisible=!1});t(this,"chooseLine",e=>{const i=N.findAssociatedLines(e);this.highlightLines(i),this.five.needsRender=!0,this.hook.emit("selectedChange",i.map(s=>s.toCompletelyJson()))});t(this,"deleteDomClickCallback",()=>{this.highlightedLines.forEach(e=>{this.removeLine(e),this.model.removeLine(e)}),this.highlightedLines=[],this.deleteDom.setLines([]).hide()});t(this,"cancelDeleteClickCallback",()=>{this.clearHighlightLines()});this.deleteDom=new T.DeleteDom(this.five,{onClick:this.deleteDomClickCallback,cancelDelete:this.cancelDeleteClickCallback}).appendTo(this.container),this.five.on("cameraUpdate",this.onCameraUpdate),this.five.on("wantsTapGesture",this.onWantsTapGesture),this.five.on("wantsToMoveToPano",this.onWantsToMoveToPano),this.model.hook.on("lineAdded",this.onLineChanged),this.model.hook.on("lineRemoved",this.onLineChanged),this.hook.on("getStartPoint",this.onGetStartPoint),this.hook.on("getEndPoint",this.onGetEndPoint),this.hook.on("nowPointChange",this.onNowPointChange),this.hook.on("willChangeState",this.onWillChangeState),this.five.refresh()}dispose(){super.dispose(),this.group.remove(this.mouseGroup,this.dashed.mesh),this.five.off("cameraUpdate",this.onCameraUpdate),this.five.off("wantsTapGesture",this.onWantsTapGesture),this.five.off("wantsToMoveToPano",this.onWantsToMoveToPano),this.model.hook.off("lineAdded",this.onLineChanged),this.model.hook.off("lineRemoved",this.onLineChanged),this.hook.off("getStartPoint",this.onGetStartPoint),this.hook.off("getEndPoint",this.onGetEndPoint),this.hook.off("nowPointChange",this.onNowPointChange),this.hook.off("willChangeState",this.onWillChangeState),this.hook.emit("selectedChange",[]),this.dashed.distanceItem.remove(),this.five.needsRender=!0}highlightLine(e){e.selected||(e.selected=!0,this.group.add(e.lightMesh),e.distanceItem.highlight(),this.five.needsRender=!0)}clearHighlightLines(){this.group.children.length!==0&&(this.deleteDom.setLines([]).hide(),this.model.lines.forEach(e=>{e.selected=!1,e.distanceItem.unHighlight(),this.group.remove(e.lightMesh)}),this.highlightedLines=[],this.five.needsRender=!0)}getEditingLines(){return this.model.lines}highlightLines(e){this.clearHighlightLines(),this.highlightedLines=e,this.deleteDom.setLines(e).updatePosition().show(),e.forEach(i=>this.highlightLine(i))}}exports.MixedController=E;
1
+ var b = Object.defineProperty;
2
+ var k = (h, n, e) => n in h ? b(h, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : h[n] = e;
3
+ var t = (h, n, e) => (k(h, typeof n != "symbol" ? n + "" : n, e), e);
4
+ import { Model as S } from "../Model/index.js";
5
+ import { Line as T } from "../Model/line.js";
6
+ import { BaseController as D } from "./BaseController.js";
7
+ import { DeleteDom as M } from "../Modules/DeleteDom/index.js";
8
+ import { findAssociatedLines as G } from "../utils/findAssociatedLines.js";
9
+ import { Vector2 as m } from "three";
10
+ import { isNDCPointInScreen as v } from "../utils/isNDCPointInScreen.js";
11
+ import { closestPointOnLine as N } from "../utils/math.js";
12
+ class V extends D {
13
+ constructor(e) {
14
+ super(e);
15
+ t(this, "state", "watching");
16
+ t(this, "model", new S(this.config));
17
+ t(this, "hasAppendDashed", !1);
18
+ t(this, "fiveElement");
19
+ t(this, "mobileStartPoint", null);
20
+ t(this, "mobileNowPoint", null);
21
+ t(this, "highlightedLines", []);
22
+ t(this, "deleteDom");
23
+ t(this, "onLineChanged", () => {
24
+ this.hook.emit(
25
+ "editedLineChange",
26
+ this.model.lines.map((e) => e.toCompletelyJson())
27
+ );
28
+ });
29
+ t(this, "onWantsTapGesture", (e) => {
30
+ if (this.state === "editing")
31
+ return !1;
32
+ const [i] = this.five.model.intersectRaycaster(e);
33
+ if (!i)
34
+ return;
35
+ const o = this.five.camera, f = i.point.clone().project(o), d = this.container.clientWidth, r = this.container.clientHeight, p = new m(f.x * d, f.y * r), g = this.model.lines.map((s) => {
36
+ const [a, L] = s.points, l = a.position.clone().project(o), c = L.position.clone().project(o);
37
+ if (!v(l) && !v(c))
38
+ return null;
39
+ const C = new m(l.x * d, l.y * r), w = new m(c.x * d, c.y * r);
40
+ return { id: s.id, points: [C, w] };
41
+ }).filter((s) => !!s);
42
+ if (g.length === 0)
43
+ return;
44
+ const u = g.map((s) => {
45
+ const a = N(p, s.points);
46
+ return { id: s.id, distance: a.distanceTo(p) };
47
+ }).sort((s, a) => s.distance - a.distance)[0];
48
+ if (u.distance > 20)
49
+ return;
50
+ const P = this.model.lines.find(({ id: s }) => s === u.id);
51
+ if (!!P)
52
+ return this.chooseLine(P), !1;
53
+ });
54
+ t(this, "onWantsToMoveToPano", () => this.state === "watching");
55
+ t(this, "onCameraUpdate", () => {
56
+ this.updateDistanceUI(), this.dashed.distanceItem.update(this.five);
57
+ });
58
+ t(this, "updateMobileDashed", () => {
59
+ !this.mobileStartPoint || !this.mobileNowPoint || (this.dashed.points[0].position.copy(this.mobileStartPoint.position), this.dashed.points[1].position.copy(this.mobileNowPoint.position), this.dashed.mesh.setPoints(this.mobileStartPoint.position, this.mobileNowPoint.position), this.dashed.distanceItem.update(this.five));
60
+ });
61
+ t(this, "updateMagnifier", (e) => {
62
+ this.magnifier.visible === !1 && this.magnifier.appendTo(this.container), requestAnimationFrame(() => this.magnifier.renderWithPoint(e.position)), this.five.needsRender = !0;
63
+ });
64
+ t(this, "onGetStartPoint", (e) => {
65
+ this.mobileStartPoint = e;
66
+ });
67
+ t(this, "onGetEndPoint", (e) => {
68
+ const i = this.mobileNowPoint;
69
+ if (this.removeLine(this.dashed), this.hasAppendDashed = !1, this.mobileStartPoint && i) {
70
+ const o = new T(this.mobileStartPoint, i, this.model);
71
+ o.distanceItem.appendTo(this.container), o.distanceItem.update(this.five), o.hook.on("selected", this.chooseLine), this.group.add(o.mesh), this.model.addLine(o);
72
+ }
73
+ this.mobileStartPoint = null, this.mobileNowPoint = null, this.five.needsRender = !0;
74
+ });
75
+ t(this, "onNowPointChange", (e) => {
76
+ if (this.state === "watching") {
77
+ this.mobileNowPoint = e, this.updateMagnifier(e);
78
+ return;
79
+ }
80
+ this.hasAppendDashed || (this.dashed.distanceItem.appendTo(this.container), this.group.add(this.dashed.mesh), this.hasAppendDashed = !0), this.five.needsRender = !0, this.mobileNowPoint = e, this.updateMobileDashed(), this.updateMagnifier(e), this.five.needsRender = !0;
81
+ });
82
+ t(this, "onWillChangeState", (e, i) => {
83
+ this.state = i, this.state === "watching" ? this.five.helperVisible = !0 : this.five.helperVisible = !1;
84
+ });
85
+ t(this, "chooseLine", (e) => {
86
+ const i = G(e);
87
+ this.highlightLines(i), this.five.needsRender = !0, this.hook.emit(
88
+ "selectedChange",
89
+ i.map((o) => o.toCompletelyJson())
90
+ );
91
+ });
92
+ t(this, "deleteDomClickCallback", () => {
93
+ this.highlightedLines.forEach((e) => {
94
+ this.removeLine(e), this.model.removeLine(e);
95
+ }), this.highlightedLines = [], this.deleteDom.setLines([]).hide();
96
+ });
97
+ t(this, "cancelDeleteClickCallback", () => {
98
+ this.clearHighlightLines();
99
+ });
100
+ this.deleteDom = new M(this.five, {
101
+ onClick: this.deleteDomClickCallback,
102
+ cancelDelete: this.cancelDeleteClickCallback
103
+ }).appendTo(this.container), this.five.on("cameraUpdate", this.onCameraUpdate), this.five.on("wantsTapGesture", this.onWantsTapGesture), this.five.on("wantsToMoveToPano", this.onWantsToMoveToPano), this.model.hook.on("lineAdded", this.onLineChanged), this.model.hook.on("lineRemoved", this.onLineChanged), this.hook.on("getStartPoint", this.onGetStartPoint), this.hook.on("getEndPoint", this.onGetEndPoint), this.hook.on("nowPointChange", this.onNowPointChange), this.hook.on("willChangeState", this.onWillChangeState), this.five.refresh();
104
+ }
105
+ dispose() {
106
+ super.dispose(), this.group.remove(this.mouseGroup, this.dashed.mesh), this.five.off("cameraUpdate", this.onCameraUpdate), this.five.off("wantsTapGesture", this.onWantsTapGesture), this.five.off("wantsToMoveToPano", this.onWantsToMoveToPano), this.model.hook.off("lineAdded", this.onLineChanged), this.model.hook.off("lineRemoved", this.onLineChanged), this.hook.off("getStartPoint", this.onGetStartPoint), this.hook.off("getEndPoint", this.onGetEndPoint), this.hook.off("nowPointChange", this.onNowPointChange), this.hook.off("willChangeState", this.onWillChangeState), this.hook.emit("selectedChange", []), this.dashed.distanceItem.remove(), this.five.needsRender = !0;
107
+ }
108
+ highlightLine(e) {
109
+ e.selected || (e.selected = !0, this.group.add(e.lightMesh), e.distanceItem.highlight(), this.five.needsRender = !0);
110
+ }
111
+ clearHighlightLines() {
112
+ this.group.children.length !== 0 && (this.deleteDom.setLines([]).hide(), this.model.lines.forEach((e) => {
113
+ e.selected = !1, e.distanceItem.unHighlight(), this.group.remove(e.lightMesh);
114
+ }), this.highlightedLines = [], this.five.needsRender = !0);
115
+ }
116
+ getEditingLines() {
117
+ return this.model.lines;
118
+ }
119
+ highlightLines(e) {
120
+ this.clearHighlightLines(), this.highlightedLines = e, this.deleteDom.setLines(e).updatePosition().show(), e.forEach((i) => this.highlightLine(i));
121
+ }
122
+ }
123
+ export {
124
+ V as MixedController
125
+ };
@@ -1 +1,33 @@
1
- "use strict";var s=Object.defineProperty;var i=(o,e,t)=>e in o?s(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var n=(o,e,t)=>(i(o,typeof e!="symbol"?e+"":e,t),t);class u{constructor(e,t){n(this,"five");n(this,"measureController");n(this,"onKeyDown",e=>{if(e.metaKey&&e.code==="KeyS"){this.measureController.save().changeMode("Watch"),e.preventDefault();return}if(e.code==="Escape")return this.escape()});n(this,"onMouseDown",e=>{e.button===2&&(e.preventDefault(),this.escape())});this.five=t,this.measureController=e;const r=this.five.getElement();!r||(document.body.addEventListener("keydown",this.onKeyDown),r.addEventListener("mousedown",this.onMouseDown))}dispose(){const e=this.five.getElement();!e||(document.body.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("mousedown",this.onMouseDown))}escape(){return this.measureController.getCurrentMode()==="Watch"?this.measureController.disable():this.measureController.changeMode("Watch")}}exports.ShortcutKeyController=u;
1
+ var s = Object.defineProperty;
2
+ var i = (o, e, t) => e in o ? s(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
3
+ var n = (o, e, t) => (i(o, typeof e != "symbol" ? e + "" : e, t), t);
4
+ class a {
5
+ constructor(e, t) {
6
+ n(this, "five");
7
+ n(this, "measureController");
8
+ n(this, "onKeyDown", (e) => {
9
+ if (e.metaKey && e.code === "KeyS") {
10
+ this.measureController.save().changeMode("Watch"), e.preventDefault();
11
+ return;
12
+ }
13
+ if (e.code === "Escape")
14
+ return this.escape();
15
+ });
16
+ n(this, "onMouseDown", (e) => {
17
+ e.button === 2 && (e.preventDefault(), this.escape());
18
+ });
19
+ this.five = t, this.measureController = e;
20
+ const r = this.five.getElement();
21
+ !r || (document.body.addEventListener("keydown", this.onKeyDown), r.addEventListener("mousedown", this.onMouseDown));
22
+ }
23
+ dispose() {
24
+ const e = this.five.getElement();
25
+ !e || (document.body.removeEventListener("keydown", this.onKeyDown), e.removeEventListener("mousedown", this.onMouseDown));
26
+ }
27
+ escape() {
28
+ return this.measureController.getCurrentMode() === "Watch" ? this.measureController.disable() : this.measureController.changeMode("Watch");
29
+ }
30
+ }
31
+ export {
32
+ a as ShortcutKeyController
33
+ };
@@ -1 +1,90 @@
1
- "use strict";var R=Object.defineProperty;var _=(i,o,e)=>o in i?R(i,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[o]=e;var r=(i,o,e)=>(_(i,typeof o!="symbol"?o+"":o,e),e);const y=require("hammerjs"),m=require("three"),j=require("../utils/math.js"),v=require("../utils/isNDCPointInScreen.js"),H=require("../utils/findAssociatedLines.js"),I=require("./BaseController.js"),S=i=>i&&typeof i=="object"&&"default"in i?i:{default:i},T=S(y);class E extends I.BaseController{constructor(e){super(e);r(this,"type","view");r(this,"highlightedLines",[]);r(this,"hammer");r(this,"wantsTapGesture",e=>{if(this.model.lines.length===0)return;const[t]=this.five.model.intersectRaycaster(e);if(!t)return;const s=this.five.camera,g=t.point.clone().project(s),c=this.container.clientWidth,a=this.container.clientHeight,f=new m.Vector2(g.x*c,g.y*a),p=this.model.lines.map(n=>{const[h,P]=n.points,d=h.position.clone().project(s),u=P.position.clone().project(s);if(!v.isNDCPointInScreen(d)&&!v.isNDCPointInScreen(u))return null;const C=new m.Vector2(d.x*c,d.y*a),w=new m.Vector2(u.x*c,u.y*a);return{id:n.id,points:[C,w]}}).filter(n=>!!n);if(p.length===0)return;const L=p.map(n=>{const h=j.closestPointOnLine(f,n.points);return{id:n.id,distance:h.distanceTo(f)}}).sort((n,h)=>n.distance-h.distance)[0],l=L.distance>20?void 0:this.model.lines.find(({id:n})=>n===L.id);if(this.highlightedLines.length>0&&!l)return this.clearHighlightLines(),!1;if(l)return this.chooseLine(l),!1});r(this,"chooseLine",e=>{const t=H.findAssociatedLines(e);this.highlightLines(t),this.five.needsRender=!0,this.hook.emit("selectedChange",t.map(s=>s.toCompletelyJson()))});r(this,"lineRemoved",e=>{this.removeLine(e),this.hook.emit("selectedChange",this.model.lines.filter(t=>t.selected).map(t=>t.toCompletelyJson()))});r(this,"onCameraUpdate",()=>{this.updateDistanceUI()});this.model.lines.forEach(s=>{s.distanceItem.appendTo(this.container),s.distanceItem.update(this.five),s.hook.on("selected",this.chooseLine),this.group.add(s.mesh)});const t=this.five.getElement();if(t){const s=new T.default(t);this.hammer=s}this.model.hook.on("lineRemoved",this.lineRemoved),this.five.on("cameraUpdate",this.onCameraUpdate),this.five.on("wantsTapGesture",this.wantsTapGesture),this.five.needsRender=!0}dispose(){var e;super.dispose(),this.model.hook.off("lineRemoved",this.lineRemoved),this.five.off("cameraUpdate",this.onCameraUpdate),this.five.off("wantsTapGesture",this.wantsTapGesture),this.five.needsRender=!0,this.hook.emit("selectedChange",[]),(e=this.hammer)==null||e.destroy()}highlightLine(e){e.selected||(e.selected=!0,this.group.add(e.lightMesh),e.distanceItem.highlight(),this.five.needsRender=!0)}clearHighlightLines(){this.group.children.length!==0&&(this.model.lines.forEach(e=>{e.selected=!1,e.distanceItem.unHighlight(),this.group.remove(e.lightMesh)}),this.highlightedLines=[],this.five.needsRender=!0)}highlightLines(e){this.clearHighlightLines(),this.highlightedLines=e,e.forEach(t=>this.highlightLine(t))}}exports.ViewController=E;
1
+ var P = Object.defineProperty;
2
+ var y = (h, n, e) => n in h ? P(h, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : h[n] = e;
3
+ var o = (h, n, e) => (y(h, typeof n != "symbol" ? n + "" : n, e), e);
4
+ import T from "hammerjs";
5
+ import { Vector2 as g } from "three";
6
+ import { closestPointOnLine as H } from "../utils/math.js";
7
+ import { isNDCPointInScreen as L } from "../utils/isNDCPointInScreen.js";
8
+ import { findAssociatedLines as k } from "../utils/findAssociatedLines.js";
9
+ import { BaseController as E } from "./BaseController.js";
10
+ class M extends E {
11
+ constructor(e) {
12
+ super(e);
13
+ o(this, "type", "view");
14
+ o(this, "highlightedLines", []);
15
+ o(this, "hammer");
16
+ o(this, "wantsTapGesture", (e) => {
17
+ if (this.model.lines.length === 0)
18
+ return;
19
+ const [t] = this.five.model.intersectRaycaster(e);
20
+ if (!t)
21
+ return;
22
+ const i = this.five.camera, f = t.point.clone().project(i), c = this.container.clientWidth, a = this.container.clientHeight, p = new g(f.x * c, f.y * a), u = this.model.lines.map((s) => {
23
+ const [r, w] = s.points, l = r.position.clone().project(i), m = w.position.clone().project(i);
24
+ if (!L(l) && !L(m))
25
+ return null;
26
+ const C = new g(
27
+ l.x * c,
28
+ l.y * a
29
+ ), R = new g(
30
+ m.x * c,
31
+ m.y * a
32
+ );
33
+ return { id: s.id, points: [C, R] };
34
+ }).filter((s) => !!s);
35
+ if (u.length === 0)
36
+ return;
37
+ const v = u.map((s) => {
38
+ const r = H(p, s.points);
39
+ return { id: s.id, distance: r.distanceTo(p) };
40
+ }).sort((s, r) => s.distance - r.distance)[0], d = v.distance > 20 ? void 0 : this.model.lines.find(({ id: s }) => s === v.id);
41
+ if (this.highlightedLines.length > 0 && !d)
42
+ return this.clearHighlightLines(), !1;
43
+ if (d)
44
+ return this.chooseLine(d), !1;
45
+ });
46
+ o(this, "chooseLine", (e) => {
47
+ const t = k(e);
48
+ this.highlightLines(t), this.five.needsRender = !0, this.hook.emit(
49
+ "selectedChange",
50
+ t.map((i) => i.toCompletelyJson())
51
+ );
52
+ });
53
+ o(this, "lineRemoved", (e) => {
54
+ this.removeLine(e), this.hook.emit(
55
+ "selectedChange",
56
+ this.model.lines.filter((t) => t.selected).map((t) => t.toCompletelyJson())
57
+ );
58
+ });
59
+ o(this, "onCameraUpdate", () => {
60
+ this.updateDistanceUI();
61
+ });
62
+ this.model.lines.forEach((i) => {
63
+ i.distanceItem.appendTo(this.container), i.distanceItem.update(this.five), i.hook.on("selected", this.chooseLine), this.group.add(i.mesh);
64
+ });
65
+ const t = this.five.getElement();
66
+ if (t) {
67
+ const i = new T(t);
68
+ this.hammer = i;
69
+ }
70
+ this.model.hook.on("lineRemoved", this.lineRemoved), this.five.on("cameraUpdate", this.onCameraUpdate), this.five.on("wantsTapGesture", this.wantsTapGesture), this.five.needsRender = !0;
71
+ }
72
+ dispose() {
73
+ var e;
74
+ super.dispose(), this.model.hook.off("lineRemoved", this.lineRemoved), this.five.off("cameraUpdate", this.onCameraUpdate), this.five.off("wantsTapGesture", this.wantsTapGesture), this.five.needsRender = !0, this.hook.emit("selectedChange", []), (e = this.hammer) == null || e.destroy();
75
+ }
76
+ highlightLine(e) {
77
+ e.selected || (e.selected = !0, this.group.add(e.lightMesh), e.distanceItem.highlight(), this.five.needsRender = !0);
78
+ }
79
+ clearHighlightLines() {
80
+ this.group.children.length !== 0 && (this.model.lines.forEach((e) => {
81
+ e.selected = !1, e.distanceItem.unHighlight(), this.group.remove(e.lightMesh);
82
+ }), this.highlightedLines = [], this.five.needsRender = !0);
83
+ }
84
+ highlightLines(e) {
85
+ this.clearHighlightLines(), this.highlightedLines = e, e.forEach((t) => this.highlightLine(t));
86
+ }
87
+ }
88
+ export {
89
+ M as ViewController
90
+ };
@@ -1 +1,154 @@
1
- "use strict";var k=Object.defineProperty;var w=(n,h,e)=>h in n?k(n,h,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[h]=e;var s=(n,h,e)=>(w(n,typeof h!="symbol"?h+"":h,e),e);const y=require("hammerjs"),_=require("../Modules/DeleteDom/index.js"),L=require("../utils/isNDCPointInScreen.js"),G=require("./BaseController.js"),m=require("three"),R=require("../utils/math.js"),H=require("../utils/findClosestPoint.js"),v=require("../utils/findAssociatedLines.js"),C=require("../utils/getPointFromHammerEvent.js"),M=n=>n&&typeof n=="object"&&"default"in n?n:{default:n},j=M(y);class I extends G.BaseController{constructor(e){super(e);s(this,"type","watch");s(this,"deleteDom");s(this,"highlightedLines",[]);s(this,"fiveElement");s(this,"editPointState");s(this,"hammer");s(this,"onPanStart",e=>{var r;if(this.model.points.length===0||!this.fiveElement)return;const i=C.getPointFromHammerEvent(e).point,t=(r=H.findClosestPoint(this.five,this.model.points,i,20))==null?void 0:r.point;if(!t){this.editPointState=void 0;return}const o={point:t,associatedLines:v.findAssociatedLines(t.lines[0])};this.hook.emit("wantsDragLine",{point:t.id,lines:o.associatedLines.map(({id:d})=>d)})||(this.editPointState=o,this.magnifier.appendTo(this.container),this.group.add(this.mouseGroup))});s(this,"onPanEnd",()=>{!this.editPointState||(this.editPointState.point.lines.forEach(e=>e.mesh.setMaterial({dashed:!1})),this.highlightLines(this.editPointState.associatedLines),this.editPointState=void 0,this.magnifier.remove(),this.group.remove(this.mouseGroup))});s(this,"onPan",e=>{if(!this.editPointState||!this.fiveElement)return;const i=C.getPointFromHammerEvent(e).ndcPoint,t=new m.Raycaster;t.setFromCamera(i,this.five.camera);const[o]=this.five.model.intersectRaycaster(t);!o||this.onIntersectionUpdate(o)});s(this,"onIntersectionUpdate",(e,i)=>{if(!!this.editPointState){if(this.clearHighlightLines(),this.editPointState.point.position.copy(e.point),this.editPointState.point.lines.forEach(t=>{t.mesh.setPoints(t.points[0].position.clone(),t.points[1].position.clone()),t.lightMesh.setPoints(t.points[0].position.clone(),t.points[1].position.clone()),t.mesh.setMaterial({dashed:!0})}),this.updateDistanceUI(),this.magnifier.renderWithPoint(e.point),this.mouseGroup.position.copy(e.point),i)this.mouseGroup.quaternion.copy(i.quaternion);else if(e.face){const o=e.face.normal.clone().multiplyScalar(.05),r=e.point.clone().add(o).clone().add(o);this.mouseGroup.lookAt(r)}this.five.needsRender=!0,this.hook.emit("selectedChange",this.editPointState.associatedLines.map(t=>t.toCompletelyJson()))}});s(this,"wantsPanGesture",()=>{if(this.editPointState)return!1});s(this,"wantsTapGesture",e=>{const[i]=this.five.model.intersectRaycaster(e);if(!i)return;const t=this.five.camera,o=i.point.clone().project(t),c=this.container.clientWidth,r=this.container.clientHeight,d=new m.Vector2(o.x*c,o.y*r),f=this.model.lines.map(a=>{const[l,D]=a.points,u=l.position.clone().project(t),p=D.position.clone().project(t);if(!L.isNDCPointInScreen(u)&&!L.isNDCPointInScreen(p))return null;const S=new m.Vector2(u.x*c,u.y*r),E=new m.Vector2(p.x*c,p.y*r);return{id:a.id,points:[S,E]}}).filter(a=>!!a);if(f.length===0)return;const g=f.map(a=>{const l=R.closestPointOnLine(d,a.points);return{id:a.id,distance:l.distanceTo(d)}}).sort((a,l)=>a.distance-l.distance)[0];if(g.distance>20)return;const P=this.model.lines.find(({id:a})=>a===g.id);if(!!P)return this.chooseLine(P),!1});s(this,"chooseLine",e=>{const i=v.findAssociatedLines(e);this.highlightLines(i),this.five.needsRender=!0,this.hook.emit("selectedChange",i.map(t=>t.toCompletelyJson()))});s(this,"lineRemoved",e=>{this.removeLine(e),this.hook.emit("selectedChange",this.model.lines.filter(i=>i.selected).map(i=>i.toCompletelyJson()))});s(this,"onCameraUpdate",()=>{this.updateDistanceUI(),this.highlightedLines.length>0&&this.deleteDom.updatePosition()});s(this,"deleteDomClickCallback",()=>{this.highlightedLines[0].getPolyline().lines.slice().reverse().forEach(i=>this.model.removeLine(i)),this.highlightedLines=[],this.deleteDom.setLines([]).hide()});s(this,"cancelDeleteClickCallback",()=>{this.clearHighlightLines()});this.deleteDom=new _.DeleteDom(this.five,{onClick:this.deleteDomClickCallback,cancelDelete:this.cancelDeleteClickCallback}).appendTo(this.container),this.model.lines.forEach(t=>{t.distanceItem.appendTo(this.container),t.distanceItem.update(this.five),t.hook.on("selected",this.chooseLine),this.group.add(t.mesh)});const i=this.five.getElement();if(i){this.fiveElement=i;const t=new j.default(i);this.hammer=t,t.on("pan",this.onPan),t.on("panstart",this.onPanStart),t.on("panend",this.onPanEnd)}this.model.hook.on("lineRemoved",this.lineRemoved),this.five.on("cameraUpdate",this.onCameraUpdate),this.five.on("wantsTapGesture",this.wantsTapGesture),this.five.on("wantsPanGesture",this.wantsPanGesture),this.five.needsRender=!0}dispose(){var e;super.dispose(),this.deleteDom.dispose(),this.model.hook.off("lineRemoved",this.lineRemoved),this.model.lines.forEach(i=>i.hook.off("selected",this.chooseLine)),this.five.off("cameraUpdate",this.onCameraUpdate),this.five.off("wantsPanGesture",this.wantsPanGesture),this.five.off("wantsTapGesture",this.wantsTapGesture),this.five.needsRender=!0,this.hook.emit("selectedChange",[]),(e=this.hammer)==null||e.destroy()}highlightLine(e){e.selected||(e.selected=!0,this.group.add(e.lightMesh),e.distanceItem.highlight(),this.five.needsRender=!0)}clearHighlightLines(){this.group.children.length!==0&&(this.deleteDom.setLines([]).hide(),this.model.lines.forEach(e=>{e.selected=!1,e.distanceItem.unHighlight(),this.group.remove(e.lightMesh)}),this.highlightedLines=[],this.five.needsRender=!0)}highlightLines(e){this.clearHighlightLines(),this.highlightedLines=e,this.deleteDom.setLines(e).updatePosition().show(),e.forEach(i=>this.highlightLine(i))}}exports.WatchController=I;
1
+ var w = Object.defineProperty;
2
+ var y = (r, h, e) => h in r ? w(r, h, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[h] = e;
3
+ var s = (r, h, e) => (y(r, typeof h != "symbol" ? h + "" : h, e), e);
4
+ import E from "hammerjs";
5
+ import { DeleteDom as G } from "../Modules/DeleteDom/index.js";
6
+ import { isNDCPointInScreen as L } from "../utils/isNDCPointInScreen.js";
7
+ import { BaseController as R } from "./BaseController.js";
8
+ import { Raycaster as T, Vector2 as f } from "three";
9
+ import { closestPointOnLine as H } from "../utils/math.js";
10
+ import { findClosestPoint as I } from "../utils/findClosestPoint.js";
11
+ import { findAssociatedLines as v } from "../utils/findAssociatedLines.js";
12
+ import { getPointFromHammerEvent as C } from "../utils/getPointFromHammerEvent.js";
13
+ class B extends R {
14
+ constructor(e) {
15
+ super(e);
16
+ s(this, "type", "watch");
17
+ s(this, "deleteDom");
18
+ s(this, "highlightedLines", []);
19
+ s(this, "fiveElement");
20
+ s(this, "editPointState");
21
+ s(this, "hammer");
22
+ s(this, "onPanStart", (e) => {
23
+ var a;
24
+ if (this.model.points.length === 0 || !this.fiveElement)
25
+ return;
26
+ const i = C(e).point, t = (a = I(this.five, this.model.points, i, 20)) == null ? void 0 : a.point;
27
+ if (!t) {
28
+ this.editPointState = void 0;
29
+ return;
30
+ }
31
+ const n = {
32
+ point: t,
33
+ associatedLines: v(t.lines[0])
34
+ };
35
+ this.hook.emit("wantsDragLine", {
36
+ point: t.id,
37
+ lines: n.associatedLines.map(({ id: l }) => l)
38
+ }) || (this.editPointState = n, this.magnifier.appendTo(this.container), this.group.add(this.mouseGroup));
39
+ });
40
+ s(this, "onPanEnd", () => {
41
+ !this.editPointState || (this.editPointState.point.lines.forEach((e) => e.mesh.setMaterial({ dashed: !1 })), this.highlightLines(this.editPointState.associatedLines), this.editPointState = void 0, this.magnifier.remove(), this.group.remove(this.mouseGroup));
42
+ });
43
+ s(this, "onPan", (e) => {
44
+ if (!this.editPointState || !this.fiveElement)
45
+ return;
46
+ const i = C(e).ndcPoint, t = new T();
47
+ t.setFromCamera(i, this.five.camera);
48
+ const [n] = this.five.model.intersectRaycaster(t);
49
+ !n || this.onIntersectionUpdate(n);
50
+ });
51
+ s(this, "onIntersectionUpdate", (e, i) => {
52
+ if (!!this.editPointState) {
53
+ if (this.clearHighlightLines(), this.editPointState.point.position.copy(e.point), this.editPointState.point.lines.forEach((t) => {
54
+ t.mesh.setPoints(t.points[0].position.clone(), t.points[1].position.clone()), t.lightMesh.setPoints(t.points[0].position.clone(), t.points[1].position.clone()), t.mesh.setMaterial({ dashed: !0 });
55
+ }), this.updateDistanceUI(), this.magnifier.renderWithPoint(e.point), this.mouseGroup.position.copy(e.point), i)
56
+ this.mouseGroup.quaternion.copy(i.quaternion);
57
+ else if (e.face) {
58
+ const n = e.face.normal.clone().multiplyScalar(0.05), a = e.point.clone().add(n).clone().add(n);
59
+ this.mouseGroup.lookAt(a);
60
+ }
61
+ this.five.needsRender = !0, this.hook.emit(
62
+ "selectedChange",
63
+ this.editPointState.associatedLines.map((t) => t.toCompletelyJson())
64
+ );
65
+ }
66
+ });
67
+ s(this, "wantsPanGesture", () => {
68
+ if (this.editPointState)
69
+ return !1;
70
+ });
71
+ s(this, "wantsTapGesture", (e) => {
72
+ const [i] = this.five.model.intersectRaycaster(e);
73
+ if (!i)
74
+ return;
75
+ const t = this.five.camera, n = i.point.clone().project(t), c = this.container.clientWidth, a = this.container.clientHeight, l = new f(n.x * c, n.y * a), g = this.model.lines.map((o) => {
76
+ const [d, S] = o.points, m = d.position.clone().project(t), p = S.position.clone().project(t);
77
+ if (!L(m) && !L(p))
78
+ return null;
79
+ const k = new f(
80
+ m.x * c,
81
+ m.y * a
82
+ ), D = new f(
83
+ p.x * c,
84
+ p.y * a
85
+ );
86
+ return { id: o.id, points: [k, D] };
87
+ }).filter((o) => !!o);
88
+ if (g.length === 0)
89
+ return;
90
+ const u = g.map((o) => {
91
+ const d = H(l, o.points);
92
+ return { id: o.id, distance: d.distanceTo(l) };
93
+ }).sort((o, d) => o.distance - d.distance)[0];
94
+ if (u.distance > 20)
95
+ return;
96
+ const P = this.model.lines.find(({ id: o }) => o === u.id);
97
+ if (!!P)
98
+ return this.chooseLine(P), !1;
99
+ });
100
+ s(this, "chooseLine", (e) => {
101
+ const i = v(e);
102
+ this.highlightLines(i), this.five.needsRender = !0, this.hook.emit(
103
+ "selectedChange",
104
+ i.map((t) => t.toCompletelyJson())
105
+ );
106
+ });
107
+ s(this, "lineRemoved", (e) => {
108
+ this.removeLine(e), this.hook.emit(
109
+ "selectedChange",
110
+ this.model.lines.filter((i) => i.selected).map((i) => i.toCompletelyJson())
111
+ );
112
+ });
113
+ s(this, "onCameraUpdate", () => {
114
+ this.updateDistanceUI(), this.highlightedLines.length > 0 && this.deleteDom.updatePosition();
115
+ });
116
+ s(this, "deleteDomClickCallback", () => {
117
+ this.highlightedLines[0].getPolyline().lines.slice().reverse().forEach((i) => this.model.removeLine(i)), this.highlightedLines = [], this.deleteDom.setLines([]).hide();
118
+ });
119
+ s(this, "cancelDeleteClickCallback", () => {
120
+ this.clearHighlightLines();
121
+ });
122
+ this.deleteDom = new G(this.five, {
123
+ onClick: this.deleteDomClickCallback,
124
+ cancelDelete: this.cancelDeleteClickCallback
125
+ }).appendTo(this.container), this.model.lines.forEach((t) => {
126
+ t.distanceItem.appendTo(this.container), t.distanceItem.update(this.five), t.hook.on("selected", this.chooseLine), this.group.add(t.mesh);
127
+ });
128
+ const i = this.five.getElement();
129
+ if (i) {
130
+ this.fiveElement = i;
131
+ const t = new E(i);
132
+ this.hammer = t, t.on("pan", this.onPan), t.on("panstart", this.onPanStart), t.on("panend", this.onPanEnd);
133
+ }
134
+ this.model.hook.on("lineRemoved", this.lineRemoved), this.five.on("cameraUpdate", this.onCameraUpdate), this.five.on("wantsTapGesture", this.wantsTapGesture), this.five.on("wantsPanGesture", this.wantsPanGesture), this.five.needsRender = !0;
135
+ }
136
+ dispose() {
137
+ var e;
138
+ super.dispose(), this.deleteDom.dispose(), this.model.hook.off("lineRemoved", this.lineRemoved), this.model.lines.forEach((i) => i.hook.off("selected", this.chooseLine)), this.five.off("cameraUpdate", this.onCameraUpdate), this.five.off("wantsPanGesture", this.wantsPanGesture), this.five.off("wantsTapGesture", this.wantsTapGesture), this.five.needsRender = !0, this.hook.emit("selectedChange", []), (e = this.hammer) == null || e.destroy();
139
+ }
140
+ highlightLine(e) {
141
+ e.selected || (e.selected = !0, this.group.add(e.lightMesh), e.distanceItem.highlight(), this.five.needsRender = !0);
142
+ }
143
+ clearHighlightLines() {
144
+ this.group.children.length !== 0 && (this.deleteDom.setLines([]).hide(), this.model.lines.forEach((e) => {
145
+ e.selected = !1, e.distanceItem.unHighlight(), this.group.remove(e.lightMesh);
146
+ }), this.highlightedLines = [], this.five.needsRender = !0);
147
+ }
148
+ highlightLines(e) {
149
+ this.clearHighlightLines(), this.highlightedLines = e, this.deleteDom.setLines(e).updatePosition().show(), e.forEach((i) => this.highlightLine(i));
150
+ }
151
+ }
152
+ export {
153
+ B as WatchController
154
+ };
@@ -1 +1,140 @@
1
- "use strict";var m=Object.defineProperty;var d=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable;var h=(i,e,r)=>e in i?m(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r,l=(i,e)=>{for(var r in e||(e={}))p.call(e,r)&&h(i,r,e[r]);if(d)for(var r of d(e))P.call(e,r)&&h(i,r,e[r]);return i};var t=(i,e,r)=>(h(i,typeof e!="symbol"?e+"":e,r),r);const M=require("../Modules/Magnifier.js"),v=require("../Modules/FiveHelper.js"),a=require("./EditController.js"),_=require("./ViewController.js"),u=require("./WatchController.js"),g=require("./MixedController.js"),w=require("../../shared-utils/filter.js"),y=require("three"),x=require("../Model/index.js"),I=require("@realsee/five"),b=require("../utils/mouseGroup.js"),f=require("../Modules/UIController/index.js"),D=require("../Modules/GuideController.js"),E=require("./ShortcutKeyController.js"),q=require("../Modules/rangePiece/index.js");class U{constructor(e,r){t(this,"hasOpen",!1);t(this,"hook",new I.Subscribe);t(this,"magnifier");t(this,"five");t(this,"model");t(this,"group");t(this,"config");t(this,"fiveHelper");t(this,"useUIController");t(this,"params");t(this,"useGuideController");t(this,"rangePieceController");t(this,"container",document.createElement("div"));t(this,"shortcutKeyController");t(this,"controller",null);t(this,"controllerParams");t(this,"getCurrentMode",()=>this.controller instanceof a.EditController?"Edit":this.controller instanceof u.WatchController?"Watch":this.controller instanceof g.MixedController?"Mixed":null);t(this,"changeMode",e=>{var o;if(!this.hasOpen||this.getCurrentMode()===e)return;if(this.getCurrentMode()==="Mixed"||e==="Mixed")return new Error("\u4E0D\u652F\u6301\u5207\u6362\u7684Mode");(o=this.controller)==null||o.dispose();const r={View:_.ViewController,Watch:u.WatchController,Edit:a.EditController};if(!r[e])throw new Error("\u4E0D\u5B58\u5728\u7684 Mode");this.controller=new r[e](this.controllerParams),this.hook.emit("modeChange",e)});var n,c;this.five=e,this.params=r;const o={userDistanceItemCreator:void 0,getDistanceText(C){return C.toFixed(2)+"m"}};this.config=l(l({},o),w.omit(r,["openParams","magnifierParams"])),this.model=new x.Model(this.config),this.fiveHelper=new v.FiveHelper(e),this.magnifier=new M.Magnifier(e,(n=r.magnifierParams)!=null?n:{width:190,height:190,scale:2}),this.group=new y.Group,this.group.name="plugin-measure-group",this.container.classList.add("five-plugin-measure-container"),this.container.style.position="absolute",this.container.style.left="0",this.container.style.top="0",this.container.style.pointerEvents="none",this.container.style.width="100%",this.container.style.height="100%",this.container.style.opacity="0",this.container.style.background="rgba(0, 0, 0, 0.15)";const s=(c=this.params.openParams)!=null?c:{};this.controllerParams={five:this.five,hook:this.hook,group:this.group,model:this.model,config:this.config,magnifier:this.magnifier,container:this.container,fiveHelper:this.fiveHelper,openParams:s,mouseGroup:b.getMouseGroup(l({},s.crossHairParameter)),userDistanceItemCreator:this.params.userDistanceItemCreator},this.params.useUIController!==!1&&(this.useUIController=new f.UIController(this,this.controllerParams)),this.params.useGuideController!==!1&&(this.useGuideController=new D.GuideController(this,this.controllerParams))}appendTo(e){e.append(this.container)}dispose(){var e,r;this.disable(),(e=this.useUIController)==null||e.dispose(),(r=this.magnifier)==null||r.dispose(),this.five.needsRender=!0}load(e){this.model.parse(e),this.save()}enable(){var e,r,o;this.hasOpen||(this.hasOpen=!0,this.five.scene.add(this.group),this.container.style.opacity="1",(e=this.params.openParams)!=null&&e.isMobile?(this.controller=new g.MixedController(this.controllerParams),this.rangePieceController=new q.RangePieceController(this.controllerParams)):(this.five.helperVisible=!1,this.controller=new u.WatchController(this.controllerParams)),(r=this.useUIController)==null||r.show(),(o=this.useGuideController)==null||o.show(),this.shortcutKeyController=new E.ShortcutKeyController(this,this.five),this.hook.emit("enable",!0))}disable(){var e,r,o,s,n;this.hasOpen=!1,this.container.style.opacity="0",(e=this.controller)==null||e.dispose(),(r=this.rangePieceController)==null||r.dispose(),(o=this.useUIController)==null||o.hide(),(s=this.useGuideController)==null||s.hide(),(n=this.shortcutKeyController)==null||n.dispose(),this.controller=null,this.five.helperVisible=!0,this.five.scene.remove(this.group),this.five.needsRender=!0,this.hook.emit("disable",!0)}revoke(){this.controller instanceof a.EditController&&this.controller.revoke()}removeLineByID(e){this.model.removeLineByID(e)}highlightLine(e){if(this.getCurrentMode()!=="Watch")return!1;const r=this.model.getLineByID(e);return r?(this.controller.highlightLine(r),!0):!1}clearHighlightLines(){return this.getCurrentMode()!=="Watch"?!1:(this.controller.clearHighlightLines(),!0)}save(){return this.controller instanceof a.EditController?(this.model.mergeModel(this.controller.model),this):this}toJson(){return this.model.toJson()}changeIsMobile(e){var r,o;((r=this.controllerParams.openParams)==null?void 0:r.isMobile)===void 0&&(this.controllerParams.openParams.isMobile=e),this.controllerParams.openParams.isMobile!==e&&(this.controllerParams.openParams.isMobile=e,this.params.useUIController!==!1&&((o=this.useUIController)==null||o.dispose()),this.useUIController=new f.UIController(this,this.controllerParams))}changeConfigs(e){var r;if(e.getDistanceText&&e.getDistanceText!==this.config.getDistanceText){const o=e.getDistanceText;this.config.getDistanceText=o,(r=this.controller)==null||r.updateDistanceUI()}}}exports.MeasureController=U;
1
+ var g = Object.defineProperty;
2
+ var m = Object.getOwnPropertySymbols;
3
+ var C = Object.prototype.hasOwnProperty, P = Object.prototype.propertyIsEnumerable;
4
+ var h = (o, e, t) => e in o ? g(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t, l = (o, e) => {
5
+ for (var t in e || (e = {}))
6
+ C.call(e, t) && h(o, t, e[t]);
7
+ if (m)
8
+ for (var t of m(e))
9
+ P.call(e, t) && h(o, t, e[t]);
10
+ return o;
11
+ };
12
+ var r = (o, e, t) => (h(o, typeof e != "symbol" ? e + "" : e, t), t);
13
+ import { Magnifier as v } from "../Modules/Magnifier.js";
14
+ import { FiveHelper as w } from "../Modules/FiveHelper.js";
15
+ import { EditController as a } from "./EditController.js";
16
+ import { ViewController as M } from "./ViewController.js";
17
+ import { WatchController as c } from "./WatchController.js";
18
+ import { MixedController as f } from "./MixedController.js";
19
+ import { omit as y } from "../../shared-utils/filter.js";
20
+ import { Group as I } from "three";
21
+ import { Model as b } from "../Model/index.js";
22
+ import { Subscribe as D } from "@realsee/five";
23
+ import { getMouseGroup as x } from "../utils/mouseGroup.js";
24
+ import { UIController as p } from "../Modules/UIController/index.js";
25
+ import { GuideController as U } from "../Modules/GuideController.js";
26
+ import { ShortcutKeyController as k } from "./ShortcutKeyController.js";
27
+ import { RangePieceController as E } from "../Modules/rangePiece/index.js";
28
+ class A {
29
+ constructor(e, t) {
30
+ r(this, "hasOpen", !1);
31
+ r(this, "hook", new D());
32
+ r(this, "magnifier");
33
+ r(this, "five");
34
+ r(this, "model");
35
+ r(this, "group");
36
+ r(this, "config");
37
+ r(this, "fiveHelper");
38
+ r(this, "useUIController");
39
+ r(this, "params");
40
+ r(this, "useGuideController");
41
+ r(this, "rangePieceController");
42
+ r(this, "container", document.createElement("div"));
43
+ r(this, "shortcutKeyController");
44
+ r(this, "controller", null);
45
+ r(this, "controllerParams");
46
+ r(this, "getCurrentMode", () => this.controller instanceof a ? "Edit" : this.controller instanceof c ? "Watch" : this.controller instanceof f ? "Mixed" : null);
47
+ r(this, "changeMode", (e) => {
48
+ var i;
49
+ if (!this.hasOpen || this.getCurrentMode() === e)
50
+ return;
51
+ if (this.getCurrentMode() === "Mixed" || e === "Mixed")
52
+ return new Error("\u4E0D\u652F\u6301\u5207\u6362\u7684Mode");
53
+ (i = this.controller) == null || i.dispose();
54
+ const t = {
55
+ View: M,
56
+ Watch: c,
57
+ Edit: a
58
+ };
59
+ if (!t[e])
60
+ throw new Error("\u4E0D\u5B58\u5728\u7684 Mode");
61
+ this.controller = new t[e](this.controllerParams), this.hook.emit("modeChange", e);
62
+ });
63
+ var n, u;
64
+ this.five = e, this.params = t;
65
+ const i = {
66
+ userDistanceItemCreator: void 0,
67
+ getDistanceText(d) {
68
+ return d.toFixed(2) + "m";
69
+ }
70
+ };
71
+ this.config = l(l({}, i), y(t, ["openParams", "magnifierParams"])), this.model = new b(this.config), this.fiveHelper = new w(e), this.magnifier = new v(e, (n = t.magnifierParams) != null ? n : { width: 190, height: 190, scale: 2 }), this.group = new I(), this.group.name = "plugin-measure-group", this.container.classList.add("five-plugin-measure-container"), this.container.style.position = "absolute", this.container.style.left = "0", this.container.style.top = "0", this.container.style.pointerEvents = "none", this.container.style.width = "100%", this.container.style.height = "100%", this.container.style.opacity = "0", this.container.style.background = "rgba(0, 0, 0, 0.15)";
72
+ const s = (u = this.params.openParams) != null ? u : {};
73
+ this.controllerParams = {
74
+ five: this.five,
75
+ hook: this.hook,
76
+ group: this.group,
77
+ model: this.model,
78
+ config: this.config,
79
+ magnifier: this.magnifier,
80
+ container: this.container,
81
+ fiveHelper: this.fiveHelper,
82
+ openParams: s,
83
+ mouseGroup: x(l({}, s.crossHairParameter)),
84
+ userDistanceItemCreator: this.params.userDistanceItemCreator
85
+ }, this.params.useUIController !== !1 && (this.useUIController = new p(this, this.controllerParams)), this.params.useGuideController !== !1 && (this.useGuideController = new U(this, this.controllerParams));
86
+ }
87
+ appendTo(e) {
88
+ e.append(this.container);
89
+ }
90
+ dispose() {
91
+ var e, t;
92
+ this.disable(), (e = this.useUIController) == null || e.dispose(), (t = this.magnifier) == null || t.dispose(), this.five.needsRender = !0;
93
+ }
94
+ load(e) {
95
+ this.model.parse(e), this.save();
96
+ }
97
+ enable() {
98
+ var e, t, i;
99
+ this.hasOpen || (this.hasOpen = !0, this.five.scene.add(this.group), this.container.style.opacity = "1", (e = this.params.openParams) != null && e.isMobile ? (this.controller = new f(this.controllerParams), this.rangePieceController = new E(this.controllerParams)) : (this.five.helperVisible = !1, this.controller = new c(this.controllerParams)), (t = this.useUIController) == null || t.show(), (i = this.useGuideController) == null || i.show(), this.shortcutKeyController = new k(this, this.five), this.hook.emit("enable", !0));
100
+ }
101
+ disable() {
102
+ var e, t, i, s, n;
103
+ this.hasOpen = !1, this.container.style.opacity = "0", (e = this.controller) == null || e.dispose(), (t = this.rangePieceController) == null || t.dispose(), (i = this.useUIController) == null || i.hide(), (s = this.useGuideController) == null || s.hide(), (n = this.shortcutKeyController) == null || n.dispose(), this.controller = null, this.five.helperVisible = !0, this.five.scene.remove(this.group), this.five.needsRender = !0, this.hook.emit("disable", !0);
104
+ }
105
+ revoke() {
106
+ this.controller instanceof a && this.controller.revoke();
107
+ }
108
+ removeLineByID(e) {
109
+ this.model.removeLineByID(e);
110
+ }
111
+ highlightLine(e) {
112
+ if (this.getCurrentMode() !== "Watch")
113
+ return !1;
114
+ const t = this.model.getLineByID(e);
115
+ return t ? (this.controller.highlightLine(t), !0) : !1;
116
+ }
117
+ clearHighlightLines() {
118
+ return this.getCurrentMode() !== "Watch" ? !1 : (this.controller.clearHighlightLines(), !0);
119
+ }
120
+ save() {
121
+ return this.controller instanceof a ? (this.model.mergeModel(this.controller.model), this) : this;
122
+ }
123
+ toJson() {
124
+ return this.model.toJson();
125
+ }
126
+ changeIsMobile(e) {
127
+ var t, i;
128
+ ((t = this.controllerParams.openParams) == null ? void 0 : t.isMobile) === void 0 && (this.controllerParams.openParams.isMobile = e), this.controllerParams.openParams.isMobile !== e && (this.controllerParams.openParams.isMobile = e, this.params.useUIController !== !1 && ((i = this.useUIController) == null || i.dispose()), this.useUIController = new p(this, this.controllerParams));
129
+ }
130
+ changeConfigs(e) {
131
+ var t;
132
+ if (e.getDistanceText && e.getDistanceText !== this.config.getDistanceText) {
133
+ const i = e.getDistanceText;
134
+ this.config.getDistanceText = i, (t = this.controller) == null || t.updateDistanceUI();
135
+ }
136
+ }
137
+ }
138
+ export {
139
+ A as MeasureController
140
+ };