@realsee/dnalogel 3.69.0 → 3.69.1-alpha.1

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 (469) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/MeasurePlugin/Controller.d.ts +5 -0
  3. package/dist/index.cjs.js +26 -26
  4. package/dist/index.js +514 -491
  5. package/dist/index.umd.js +26 -26
  6. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +2 -2
  7. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +2 -2
  8. package/docs/classes/CSS3DRender.html +2 -2
  9. package/docs/classes/GuideLineItem.GuideLineItem.html +2 -2
  10. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +2 -2
  11. package/docs/classes/ModelMakerPluginInstance.html +2 -2
  12. package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +2 -2
  13. package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +2 -2
  14. package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +2 -2
  15. package/docs/classes/ModelRoomLabelController.html +2 -2
  16. package/docs/classes/MoveController.html +2 -2
  17. package/docs/classes/Object3DHelperController.html +2 -2
  18. package/docs/classes/PaintBrush.html +2 -2
  19. package/docs/classes/PanoMeasurePluginLine.html +2 -2
  20. package/docs/classes/PanoMeasurePluginModel.html +2 -2
  21. package/docs/classes/PanoMeasurePluginPoint.html +2 -2
  22. package/docs/classes/PanoMeasurePluginPolyline.html +2 -2
  23. package/docs/classes/PanoTagPluginController.html +2 -2
  24. package/docs/classes/Sculpt.html +2 -2
  25. package/docs/classes/Util.BetterTween.html +2 -2
  26. package/docs/classes/Util.FiveDomEvents.html +2 -2
  27. package/docs/classes/Util.FivePuppet.html +2 -2
  28. package/docs/classes/Util.Interval.html +2 -2
  29. package/docs/classes/Util.LegacyPointHelper.html +2 -2
  30. package/docs/classes/Util.LightTag.html +2 -2
  31. package/docs/classes/Util.LineSegments.html +2 -2
  32. package/docs/classes/Util.Magnifier.html +2 -2
  33. package/docs/classes/Util.Object3D.html +2 -2
  34. package/docs/classes/Util.PointDomHelper.html +2 -2
  35. package/docs/classes/Util.PointHelper.html +2 -2
  36. package/docs/classes/Util.PointSelector.html +2 -2
  37. package/docs/classes/Util.PointSelectorHelper.html +2 -2
  38. package/docs/classes/Util.Rectangle.html +2 -2
  39. package/docs/classes/Util.sculpt.BaseEditor.html +2 -2
  40. package/docs/classes/Util.sculpt.BoxMesh.html +2 -2
  41. package/docs/classes/Util.sculpt.BoxMeshEditor.html +2 -2
  42. package/docs/classes/Util.sculpt.CircleMesh.html +2 -2
  43. package/docs/classes/Util.sculpt.CircleMeshEditor.html +2 -2
  44. package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +2 -2
  45. package/docs/classes/Util.sculpt.CylinderMesh.html +2 -2
  46. package/docs/classes/Util.sculpt.CylinderMeshEditor.html +2 -2
  47. package/docs/classes/Util.sculpt.LineMesh.html +2 -2
  48. package/docs/classes/Util.sculpt.PointMesh.html +2 -2
  49. package/docs/classes/Util.sculpt.PolygonMesh.html +2 -2
  50. package/docs/classes/Util.sculpt.PrismMesh.html +2 -2
  51. package/docs/classes/Util.sculpt.PrismMeshEditor.html +2 -2
  52. package/docs/classes/Util.sculpt.RectangleMesh.html +2 -2
  53. package/docs/classes/Util.sculpt.RectangleMeshEditor.html +2 -2
  54. package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +2 -2
  55. package/docs/classes/WalkController.html +2 -2
  56. package/docs/enums/CameraMovementEffect.html +2 -2
  57. package/docs/enums/ContentType.html +2 -2
  58. package/docs/enums/DIRECTION.html +2 -2
  59. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +2 -2
  60. package/docs/enums/DimensionType.html +2 -2
  61. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +2 -2
  62. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +2 -2
  63. package/docs/enums/PaintBrushTypeEnum.html +2 -2
  64. package/docs/enums/PointType.html +2 -2
  65. package/docs/enums/Rotation.html +2 -2
  66. package/docs/functions/AreaMakerPlugin.html +1 -1
  67. package/docs/functions/CSS3DRenderPlugin.html +1 -1
  68. package/docs/functions/CameraMovementPlugin.html +2 -2
  69. package/docs/functions/CruisePlugin.html +1 -1
  70. package/docs/functions/CurrentPanoImagePlugin.html +1 -1
  71. package/docs/functions/GuideLinePlugin.html +1 -1
  72. package/docs/functions/ItemLabelPlugin.html +1 -1
  73. package/docs/functions/MapviewFloorplanPlugin.html +1 -1
  74. package/docs/functions/MeasurePlugin.html +1 -1
  75. package/docs/functions/ModelChassisCompassPlugin.html +2 -2
  76. package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -2
  77. package/docs/functions/ModelFloorplanPlugin.html +1 -1
  78. package/docs/functions/ModelItemLabelPlugin.html +1 -1
  79. package/docs/functions/ModelMakerPlugin.html +1 -1
  80. package/docs/functions/ModelRoomLabelPlugin.html +1 -1
  81. package/docs/functions/ModelTVVideoPlugin.html +1 -1
  82. package/docs/functions/ModelViewPlugin.html +2 -2
  83. package/docs/functions/MovePlugin.html +1 -1
  84. package/docs/functions/Object3DHelperPlugin.html +1 -1
  85. package/docs/functions/PanoCompassPlugin.html +1 -1
  86. package/docs/functions/PanoCursorRaycasterPlugin.html +2 -2
  87. package/docs/functions/PanoDoorLabelPlugin.html +1 -1
  88. package/docs/functions/PanoFloorplanRadarPlugin.html +1 -1
  89. package/docs/functions/PanoMeasurePlugin.html +1 -1
  90. package/docs/functions/PanoRulerPlugin.html +2 -2
  91. package/docs/functions/PanoRulerProPlugin.html +2 -2
  92. package/docs/functions/PanoSpatialTagPlugin.html +2 -2
  93. package/docs/functions/PanoTagPlugin.html +1 -1
  94. package/docs/functions/PanoVideoPlugin.html +2 -2
  95. package/docs/functions/PipelinePlugin.html +1 -1
  96. package/docs/functions/SculptPlugin.html +2 -2
  97. package/docs/functions/SculptPluginForFive.html +2 -2
  98. package/docs/functions/TopviewFloorplanPlugin.html +1 -1
  99. package/docs/functions/Util.awaitNextFrame.html +1 -1
  100. package/docs/functions/Util.blink.html +2 -2
  101. package/docs/functions/Util.bounding.html +1 -1
  102. package/docs/functions/Util.boundingBox.html +1 -1
  103. package/docs/functions/Util.boundingSphere.html +1 -1
  104. package/docs/functions/Util.boxVertex.html +2 -2
  105. package/docs/functions/Util.boxVertexes.html +1 -1
  106. package/docs/functions/Util.checkFiveModelLoaded.html +2 -2
  107. package/docs/functions/Util.convexHull.html +2 -2
  108. package/docs/functions/Util.equal.html +2 -2
  109. package/docs/functions/Util.fiveModelIsLoaded.html +2 -2
  110. package/docs/functions/Util.getCoordsFromClient.html +1 -1
  111. package/docs/functions/Util.getCoordsFromElement.html +1 -1
  112. package/docs/functions/Util.getFrameTime.html +2 -2
  113. package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -1
  114. package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -1
  115. package/docs/functions/Util.initialCSS3DRender.html +1 -1
  116. package/docs/functions/Util.inside.html +1 -1
  117. package/docs/functions/Util.isModelLike.html +1 -1
  118. package/docs/functions/Util.isNil.html +2 -2
  119. package/docs/functions/Util.isPanoramaLike.html +1 -1
  120. package/docs/functions/Util.lookObject.html +2 -2
  121. package/docs/functions/Util.lookPoint.html +2 -2
  122. package/docs/functions/Util.nextFrame.html +1 -1
  123. package/docs/functions/Util.notNil.html +2 -2
  124. package/docs/functions/Util.reblink.html +2 -2
  125. package/docs/functions/Util.replaceStaticPrefix.html +2 -2
  126. package/docs/functions/Util.requestAnimationFrameInterval.html +2 -2
  127. package/docs/functions/Util.sculpt.createBox.html +1 -1
  128. package/docs/functions/Util.sculpt.createCircle.html +1 -1
  129. package/docs/functions/Util.sculpt.createCylinder.html +1 -1
  130. package/docs/functions/Util.sculpt.createLine.html +2 -2
  131. package/docs/functions/Util.sculpt.createPoint.html +1 -1
  132. package/docs/functions/Util.sculpt.createPolygon.html +1 -1
  133. package/docs/functions/Util.sculpt.createPrism.html +1 -1
  134. package/docs/functions/Util.sculpt.createRectangle.html +2 -2
  135. package/docs/functions/Util.tag.html +1 -1
  136. package/docs/functions/Util.tweenProgress.html +1 -1
  137. package/docs/functions/Util.uuid.html +2 -2
  138. package/docs/functions/Util.waitFiveModelLoaded.html +2 -2
  139. package/docs/functions/Util.worldBounding.html +1 -1
  140. package/docs/functions/Util.worldBoundingBox.html +1 -1
  141. package/docs/functions/Util.worldBoundingSphere.html +1 -1
  142. package/docs/functions/createPolyline.html +2 -2
  143. package/docs/functions/pluginFlag.html +1 -1
  144. package/docs/hierarchy.html +1 -1
  145. package/docs/index.html +2 -2
  146. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +2 -2
  147. package/docs/interfaces/AreaMakerPluginType.Config.html +2 -2
  148. package/docs/interfaces/AreaMakerPluginType.EventMap.html +2 -2
  149. package/docs/interfaces/AreaMakerPluginType.Params.html +2 -2
  150. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +2 -2
  151. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +2 -2
  152. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +2 -2
  153. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +2 -2
  154. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +2 -2
  155. package/docs/interfaces/AreaMakerPluginType.State.html +2 -2
  156. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  157. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  158. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  159. package/docs/interfaces/ContentTypeMapInterface.html +2 -2
  160. package/docs/interfaces/CruisePluginTypes.Config.html +2 -2
  161. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +2 -2
  162. package/docs/interfaces/CruisePluginTypes.EventMap.html +2 -2
  163. package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +2 -2
  164. package/docs/interfaces/CruisePluginTypes.MoveAction.html +2 -2
  165. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +2 -2
  166. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +2 -2
  167. package/docs/interfaces/CruisePluginTypes.PluginData.html +2 -2
  168. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -2
  169. package/docs/interfaces/CruisePluginTypes.PluginState.html +2 -2
  170. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +2 -2
  171. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +2 -2
  172. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +2 -2
  173. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +2 -2
  174. package/docs/interfaces/CurrentPanoImagePluginType.State.html +2 -2
  175. package/docs/interfaces/FloorplanBounding.html +2 -2
  176. package/docs/interfaces/FloorplanData.html +2 -2
  177. package/docs/interfaces/FloorplanEntrance.html +2 -2
  178. package/docs/interfaces/FloorplanExtraObject.html +2 -2
  179. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  180. package/docs/interfaces/FloorplanFloorData.html +2 -2
  181. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  182. package/docs/interfaces/FloorplanObserver.html +2 -2
  183. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  184. package/docs/interfaces/FloorplanPosition.html +2 -2
  185. package/docs/interfaces/FloorplanRoomItem.html +2 -2
  186. package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
  187. package/docs/interfaces/FloorplanServerBounding.html +2 -2
  188. package/docs/interfaces/FloorplanServerComputedData.html +2 -2
  189. package/docs/interfaces/FloorplanServerData.html +2 -2
  190. package/docs/interfaces/FloorplanServerDoorItem.html +2 -2
  191. package/docs/interfaces/FloorplanServerDoorPosition.html +2 -2
  192. package/docs/interfaces/FloorplanServerEntrance.html +2 -2
  193. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  194. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  195. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  196. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  197. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  198. package/docs/interfaces/FloorplanServerRoomItem.html +2 -2
  199. package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
  200. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +2 -2
  201. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +2 -2
  202. package/docs/interfaces/GuideLinePluginType.EventMap.html +2 -2
  203. package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +2 -2
  204. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +2 -2
  205. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -2
  206. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +2 -2
  207. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +2 -2
  208. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +2 -2
  209. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +2 -2
  210. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +2 -2
  211. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +2 -2
  212. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -1
  213. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -2
  214. package/docs/interfaces/GuideLinePluginType.PluginState.html +2 -2
  215. package/docs/interfaces/GuideLinePluginType.Route.html +2 -2
  216. package/docs/interfaces/HelperOffset.html +2 -2
  217. package/docs/interfaces/ImagePlaneGroup.html +2 -2
  218. package/docs/interfaces/ItemLabelPluginData.html +2 -2
  219. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +2 -2
  220. package/docs/interfaces/ItemLabelPluginParametersType.html +2 -2
  221. package/docs/interfaces/MinMax.html +2 -2
  222. package/docs/interfaces/ModelChassisCompassPluginData.html +2 -2
  223. package/docs/interfaces/ModelChassisCompassPluginExportType.html +2 -2
  224. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +2 -2
  225. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +2 -2
  226. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +2 -2
  227. package/docs/interfaces/ModelItemLabelPluginData.html +2 -2
  228. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +2 -2
  229. package/docs/interfaces/ModelItemLabelPluginParametersType.html +2 -2
  230. package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +2 -2
  231. package/docs/interfaces/ModelMakerPluginType.EventMap.html +2 -2
  232. package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +2 -2
  233. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +2 -2
  234. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +2 -2
  235. package/docs/interfaces/ModelMakerPluginType.ServerData.html +2 -2
  236. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +2 -2
  237. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +2 -2
  238. package/docs/interfaces/ModelMakerPluginType.State.html +2 -2
  239. package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +2 -2
  240. package/docs/interfaces/ModelRoomLabelPluginData.html +2 -2
  241. package/docs/interfaces/ModelTVVideoPluginData.html +2 -2
  242. package/docs/interfaces/ModelTVVideoPluginExportType.html +2 -2
  243. package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -2
  244. package/docs/interfaces/ModelViewPluginExportType.html +2 -2
  245. package/docs/interfaces/Object3DHelperState.html +2 -2
  246. package/docs/interfaces/ObjectHelperControllers.html +2 -2
  247. package/docs/interfaces/PaintBrushAction.html +2 -2
  248. package/docs/interfaces/PaintBrushConfigs.html +2 -2
  249. package/docs/interfaces/PaintBrushState.html +2 -2
  250. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +2 -2
  251. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  252. package/docs/interfaces/PanoMeasureParameterType.html +2 -2
  253. package/docs/interfaces/PanoMeasurePluginLineJson.html +2 -2
  254. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +2 -2
  255. package/docs/interfaces/PanoMeasurePluginPointJson.html +2 -2
  256. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +2 -2
  257. package/docs/interfaces/PanoRulerPluginExportType.html +2 -2
  258. package/docs/interfaces/PanoRulerPluginOptions.html +2 -2
  259. package/docs/interfaces/PanoRulerPluginParameterType.html +2 -2
  260. package/docs/interfaces/PanoRulerProPluginExportType.html +2 -2
  261. package/docs/interfaces/PanoRulerProPluginOptions.html +2 -2
  262. package/docs/interfaces/PanoRulerProPluginParameterType.html +2 -2
  263. package/docs/interfaces/PanoRulerProPluginState.html +2 -2
  264. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  265. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  266. package/docs/interfaces/PanoSpatialTagPluginData.html +2 -2
  267. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +2 -2
  268. package/docs/interfaces/PanoSpatialTagPluginExportType.html +2 -2
  269. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +2 -2
  270. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +2 -2
  271. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +2 -2
  272. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +2 -2
  273. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +2 -2
  274. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +2 -2
  275. package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -2
  276. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +2 -2
  277. package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -2
  278. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +2 -2
  279. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +2 -2
  280. package/docs/interfaces/PluginEventMap.html +2 -2
  281. package/docs/interfaces/Point.html +2 -2
  282. package/docs/interfaces/Room.html +2 -2
  283. package/docs/interfaces/RoomInfo.html +2 -2
  284. package/docs/interfaces/RoomLabel.html +2 -2
  285. package/docs/interfaces/RoomRules.html +1 -1
  286. package/docs/interfaces/Rooms.html +1 -1
  287. package/docs/interfaces/Scissor.html +2 -2
  288. package/docs/interfaces/SculptConfig.html +2 -2
  289. package/docs/interfaces/State.html +2 -2
  290. package/docs/interfaces/TagCacheInterface.html +2 -2
  291. package/docs/interfaces/TagConfig.html +2 -2
  292. package/docs/interfaces/TagGLTFObjectGroup.html +2 -2
  293. package/docs/interfaces/TagIconUrl.html +2 -2
  294. package/docs/interfaces/TagObjectGroup.html +2 -2
  295. package/docs/interfaces/TagState.html +2 -2
  296. package/docs/interfaces/TagStyle.html +2 -2
  297. package/docs/interfaces/Tags.html +2 -2
  298. package/docs/interfaces/TemporaryState.html +2 -2
  299. package/docs/interfaces/Util.AnimeInstance.html +2 -2
  300. package/docs/interfaces/Util.BlinkAnimeOptions.html +2 -2
  301. package/docs/interfaces/Util.EventHandlerConfig.html +2 -2
  302. package/docs/interfaces/Util.FiveDomEvent.html +2 -2
  303. package/docs/interfaces/Util.FiveDomEventMap.html +2 -2
  304. package/docs/interfaces/Util.LegacyMouseGroupParameter.html +2 -2
  305. package/docs/interfaces/Util.MagnifierParameter.html +2 -2
  306. package/docs/interfaces/Util.MouseGroupParameter.html +2 -2
  307. package/docs/interfaces/Util.PointIntersection.html +2 -2
  308. package/docs/interfaces/Util.PointSelectorHelperConfig.html +2 -2
  309. package/docs/interfaces/Util.ReBlinkAnimeOptions.html +2 -2
  310. package/docs/modules/AreaMakerPluginType.html +2 -2
  311. package/docs/modules/CruisePluginTypes.html +2 -2
  312. package/docs/modules/CurrentPanoImagePluginType.html +2 -2
  313. package/docs/modules/GuideLineItem.html +2 -2
  314. package/docs/modules/GuideLineModeItem.html +2 -2
  315. package/docs/modules/GuideLinePluginType.html +2 -2
  316. package/docs/modules/ModelMakerPluginType.html +2 -2
  317. package/docs/modules/PanoVideoPluginType.html +2 -2
  318. package/docs/modules/SculptData.html +2 -2
  319. package/docs/modules/SculptType.html +2 -2
  320. package/docs/modules/Util.html +2 -2
  321. package/docs/modules/Util.sculpt.html +2 -2
  322. package/docs/modules.html +2 -2
  323. package/docs/types/AddObject3DHelperConfig.html +2 -2
  324. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +2 -2
  325. package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -1
  326. package/docs/types/AreaMakerPluginType.PluginData.html +2 -2
  327. package/docs/types/AreaMakerPluginType.ServerData.html +2 -2
  328. package/docs/types/ArrayPosition.html +1 -1
  329. package/docs/types/AudioAppearance.html +1 -1
  330. package/docs/types/CSS3DRenderExportType.html +1 -1
  331. package/docs/types/CSS3DRenderPluginExportType.html +1 -1
  332. package/docs/types/CSS3DRenderPluginParameterType.html +1 -1
  333. package/docs/types/ClassFunctionParameters.html +1 -1
  334. package/docs/types/Color.html +1 -1
  335. package/docs/types/ContentTypeConfigKey.html +1 -1
  336. package/docs/types/ContentTypeConfigKeySplit.html +1 -1
  337. package/docs/types/ContentTypeMap.html +1 -1
  338. package/docs/types/Create3DDomContainerReturnType.html +1 -1
  339. package/docs/types/Create3DElementReturnType.html +1 -1
  340. package/docs/types/CruisePluginExportType.html +1 -1
  341. package/docs/types/CruisePluginTypes.CruiseData.html +2 -2
  342. package/docs/types/CruisePluginTypes.MoveEffect.html +1 -1
  343. package/docs/types/CurrentPanoImagePluginExportType.html +1 -1
  344. package/docs/types/DeprecatedMediaPlaneProperty.html +2 -2
  345. package/docs/types/DeprecatedTagProperty.html +2 -2
  346. package/docs/types/Direction-1.html +1 -1
  347. package/docs/types/Direction4.html +1 -1
  348. package/docs/types/ElementRenderer.html +2 -2
  349. package/docs/types/FloorplanRuleLabels.html +2 -2
  350. package/docs/types/FloorplanServerRuleLabels.html +1 -1
  351. package/docs/types/GuideLinePluginExportType.html +1 -1
  352. package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -2
  353. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -1
  354. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -1
  355. package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -2
  356. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -2
  357. package/docs/types/GuideLinePluginType.PathItem.html +2 -2
  358. package/docs/types/GuideLinePluginType.PluginData.html +2 -2
  359. package/docs/types/GuideLinePluginType.RouteConfig.html +2 -2
  360. package/docs/types/HelperEventMap.html +1 -1
  361. package/docs/types/InternalHelperEventMap.html +1 -1
  362. package/docs/types/MapviewFloorplanPluginParameterType.html +1 -1
  363. package/docs/types/MapviewFloorplanPluginReturnType.html +1 -1
  364. package/docs/types/MeasureEndReason.html +1 -1
  365. package/docs/types/MeasurePluginConfig.html +2 -2
  366. package/docs/types/MediaData.html +2 -2
  367. package/docs/types/MediaStore.html +1 -1
  368. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -1
  369. package/docs/types/ModelFloorplanPluginParameterType.html +1 -1
  370. package/docs/types/ModelFloorplanPluginReturnType.html +1 -1
  371. package/docs/types/ModelId.html +1 -1
  372. package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -1
  373. package/docs/types/ModelMakerPluginType.ItemType.html +2 -2
  374. package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -1
  375. package/docs/types/ModelMakerPluginType.ServerItem.html +2 -2
  376. package/docs/types/ModelRoomLabelPluginParameters.html +1 -1
  377. package/docs/types/ModelRoomLabelPluginReturnType.html +1 -1
  378. package/docs/types/MoveArgs.html +2 -2
  379. package/docs/types/MoveOpts.html +2 -2
  380. package/docs/types/Object3DHelperEventMap.html +1 -1
  381. package/docs/types/ObjectFit.html +1 -1
  382. package/docs/types/PaintBrushEventMap.html +1 -1
  383. package/docs/types/PanoCompassPluginData.html +1 -1
  384. package/docs/types/PanoCompassPluginExportType.html +1 -1
  385. package/docs/types/PanoCompassPluginParameterType.html +1 -1
  386. package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -1
  387. package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -1
  388. package/docs/types/PanoIndex.html +1 -1
  389. package/docs/types/PanoMeasurePluginEvent.html +1 -1
  390. package/docs/types/PanoMeasureReturnType.html +1 -1
  391. package/docs/types/PanoSpatialTagPluginId.html +1 -1
  392. package/docs/types/PanoTagPluginExportInterface.html +1 -1
  393. package/docs/types/PanoTagPluginParamsInterface.html +1 -1
  394. package/docs/types/PanoVideoPluginParameterType.html +1 -1
  395. package/docs/types/PanoVideoPluginReturnType.html +1 -1
  396. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -2
  397. package/docs/types/PipelinePluginParameterType.html +1 -1
  398. package/docs/types/PipelinePluginReturnType.html +1 -1
  399. package/docs/types/PlaneTag.html +2 -2
  400. package/docs/types/Point2DTag.html +2 -2
  401. package/docs/types/Point3DTag.html +2 -2
  402. package/docs/types/PointTagInstance.html +1 -1
  403. package/docs/types/Position.html +1 -1
  404. package/docs/types/PositionFrom.html +1 -1
  405. package/docs/types/RotateArgs.html +2 -2
  406. package/docs/types/RotateOpts.html +2 -2
  407. package/docs/types/RuleLabelsKey.html +1 -1
  408. package/docs/types/RuleLabelsValue.html +1 -1
  409. package/docs/types/ScaleCallback.html +1 -1
  410. package/docs/types/ScalePosition.html +2 -2
  411. package/docs/types/SculptData.BoxData.html +1 -1
  412. package/docs/types/SculptData.CircleData.html +1 -1
  413. package/docs/types/SculptData.CylinderData.html +1 -1
  414. package/docs/types/SculptData.PointData.html +1 -1
  415. package/docs/types/SculptData.PolygonData.html +1 -1
  416. package/docs/types/SculptData.PolylineData.html +1 -1
  417. package/docs/types/SculptData.PrismData.html +1 -1
  418. package/docs/types/SculptData.RectangleData.html +1 -1
  419. package/docs/types/SculptType.Theme.html +2 -2
  420. package/docs/types/StickType.html +1 -1
  421. package/docs/types/Tag.html +2 -2
  422. package/docs/types/Tag2D.html +2 -2
  423. package/docs/types/Tag3D.html +2 -2
  424. package/docs/types/TagClickParams.html +1 -1
  425. package/docs/types/TagConfigByKey.html +1 -1
  426. package/docs/types/TagContentType.html +1 -1
  427. package/docs/types/TagContentTypeMapping.html +1 -1
  428. package/docs/types/TagDimensionType.html +1 -1
  429. package/docs/types/TagElement.html +2 -2
  430. package/docs/types/TagEvents.html +1 -1
  431. package/docs/types/TagGLTFObject.html +1 -1
  432. package/docs/types/TagHooks.html +1 -1
  433. package/docs/types/TagId.html +1 -1
  434. package/docs/types/TagInstance.html +1 -1
  435. package/docs/types/TagPlacement.html +2 -2
  436. package/docs/types/TagPointType.html +2 -2
  437. package/docs/types/TagRendererMap.html +1 -1
  438. package/docs/types/TopviewFloorplanPluginParameterType.html +1 -1
  439. package/docs/types/TopviewFloorplanPluginReturnType.html +1 -1
  440. package/docs/types/Util.ActionIfNoIntersection.html +1 -1
  441. package/docs/types/Util.AdherePoint.html +2 -2
  442. package/docs/types/Util.PointSelectorConfig.html +1 -1
  443. package/docs/types/WorkCode.html +1 -1
  444. package/docs/variables/FLOOR_TYPE_MAP.html +2 -2
  445. package/docs/variables/PLUGIN.html +1 -1
  446. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -2
  447. package/docs/variables/ROOM_TYPE_MAP.html +2 -2
  448. package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +2 -2
  449. package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +2 -2
  450. package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +2 -2
  451. package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +2 -2
  452. package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +2 -2
  453. package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +2 -2
  454. package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +2 -2
  455. package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +2 -2
  456. package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +2 -2
  457. package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +2 -2
  458. package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +2 -2
  459. package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +2 -2
  460. package/docs/variables/Util.animeMap.html +1 -1
  461. package/docs/variables/defaultGlobalConfig.html +1 -1
  462. package/docs/variables/itemLabelPluginServerParams.html +1 -1
  463. package/docs/variables/modelItemLabelPluginServerParams.html +1 -1
  464. package/docs/variables/modelRoomLabelPluginServerParams.html +1 -1
  465. package/libs/MeasurePlugin/Controller.d.ts +5 -0
  466. package/libs/MeasurePlugin/Controller.js +194 -171
  467. package/libs/base/BasePlugin.js +1 -1
  468. package/libs/shared-utils/logger.js +1 -1
  469. package/package.json +1 -1
@@ -2,15 +2,15 @@ var w = Object.defineProperty, T = Object.defineProperties;
2
2
  var x = Object.getOwnPropertyDescriptors;
3
3
  var D = Object.getOwnPropertySymbols;
4
4
  var H = Object.prototype.hasOwnProperty, k = Object.prototype.propertyIsEnumerable;
5
- var L = (E, m, e) => m in E ? w(E, m, { enumerable: !0, configurable: !0, writable: !0, value: e }) : E[m] = e, y = (E, m) => {
6
- for (var e in m || (m = {}))
7
- H.call(m, e) && L(E, e, m[e]);
5
+ var L = (S, y, e) => y in S ? w(S, y, { enumerable: !0, configurable: !0, writable: !0, value: e }) : S[y] = e, m = (S, y) => {
6
+ for (var e in y || (y = {}))
7
+ H.call(y, e) && L(S, e, y[e]);
8
8
  if (D)
9
- for (var e of D(m))
10
- k.call(m, e) && L(E, e, m[e]);
11
- return E;
12
- }, P = (E, m) => T(E, x(m));
13
- var s = (E, m, e) => (L(E, typeof m != "symbol" ? m + "" : m, e), e);
9
+ for (var e of D(y))
10
+ k.call(y, e) && L(S, e, y[e]);
11
+ return S;
12
+ }, P = (S, y) => T(S, x(y));
13
+ var o = (S, y, e) => (L(S, typeof y != "symbol" ? y + "" : y, e), e);
14
14
  import * as g from "three";
15
15
  import "../shared-utils/tag.js";
16
16
  import "../vendor/hammerjs/hammer.js";
@@ -28,7 +28,7 @@ import "../shared-utils/five/FivePuppet.js";
28
28
  import { MeasureMesh as _ } from "./utils/MeasureMesh.js";
29
29
  import { PointMesh as C } from "../Sculpt/Meshes/Point.js";
30
30
  import { LineWithDotsMesh as B } from "../Sculpt/Meshes/LineWithDots.js";
31
- import { hotkeys as S } from "../vendor/hotkeys-js/dist/hotkeys.esm.js";
31
+ import { hotkeys as E } from "../vendor/hotkeys-js/dist/hotkeys.esm.js";
32
32
  import { PolygonMesh as U } from "../Sculpt/Meshes/Polygon.js";
33
33
  import { validatePolygon as V } from "./utils/validatePolygon.js";
34
34
  import { IObject3D as X } from "../shared-utils/three/IObject3D.js";
@@ -97,31 +97,31 @@ import "../Sculpt/utils/Modules/DeleteIconSVG.js";
97
97
  class yt extends I {
98
98
  constructor(e, t) {
99
99
  super();
100
- s(this, "name", "MeasurePlugin");
101
- s(this, "currentMeasureMesh");
102
- s(this, "five");
103
- s(this, "group");
100
+ o(this, "name", "MeasurePlugin");
101
+ o(this, "currentMeasureMesh");
102
+ o(this, "five");
103
+ o(this, "group");
104
104
  // 当前测量结束的原因
105
- s(this, "currentEndReason", "enter");
105
+ o(this, "currentEndReason", "enter");
106
106
  // Repositioning state
107
- s(this, "repositioningState", null);
107
+ o(this, "repositioningState", null);
108
108
  // Long press visual feedback
109
- s(this, "longPressIndicator", null);
109
+ o(this, "longPressIndicator", null);
110
110
  // Global cleanup function for mouse/touch listeners
111
- s(this, "cleanupGlobalListeners");
111
+ o(this, "cleanupGlobalListeners");
112
112
  // Global touch handler for endpoint long press
113
- s(this, "globalTouchHandler", null);
114
- s(this, "_pointSelector");
115
- s(this, "_fiveDomEvents");
116
- s(this, "_cursor");
117
- s(this, "_config");
118
- s(this, "lineStyle", {
113
+ o(this, "globalTouchHandler", null);
114
+ o(this, "_pointSelector");
115
+ o(this, "_fiveDomEvents");
116
+ o(this, "_cursor");
117
+ o(this, "_config");
118
+ o(this, "lineStyle", {
119
119
  lengthEnable: !0,
120
120
  occlusionVisibility: !0,
121
121
  lengthUnit: "m",
122
122
  precision: 2
123
123
  });
124
- s(this, "polygonStyle", {
124
+ o(this, "polygonStyle", {
125
125
  lengthEnable: !0,
126
126
  occlusionVisibility: !0,
127
127
  opacity: 0.2,
@@ -130,31 +130,31 @@ class yt extends I {
130
130
  /**
131
131
  * @description Initialize event listeners for all existing meshes
132
132
  */
133
- s(this, "initEventListeners", () => {
133
+ o(this, "initEventListeners", () => {
134
134
  this.group.children.forEach(this.addMeshEventListeners);
135
135
  });
136
136
  /**
137
137
  * @description 开始测量
138
138
  */
139
- s(this, "measure", () => {
140
- this.repositioningState && this.cancelRepositioning(), this.listener.addMeasureListener(), S.unbind("delete, backspace"), this.group.children.forEach((r) => r.unselect()), this.cursor.removeDeleteButton();
139
+ o(this, "measure", () => {
140
+ this.repositioningState && this.cancelRepositioning(), this.listener.addMeasureListener(), E.unbind("delete, backspace"), this.group.children.forEach((r) => r.unselect()), this.cursor.removeDeleteButton();
141
141
  const e = new _({
142
142
  lineStyle: this.lineStyle,
143
143
  polygonStyle: this.polygonStyle
144
144
  });
145
145
  this.currentMeasureMesh = e, e.line.setStyle({ cssStyle: "pointer-events: none;" }), this.pointSelector.actionIfNoIntersection = "disable", this.updateSelectAdsorbedHelper();
146
- const t = new C({ occlusionMode: "depthTest", occlusionVisibility: !0 }), o = new B(P(y({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), n = new U(this.polygonStyle), i = new R(P(y({}, this.lineStyle), {
146
+ const t = new C({ occlusionMode: "depthTest", occlusionVisibility: !0 }), i = new B(P(m({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), n = new U(this.polygonStyle), s = new R(P(m({}, this.lineStyle), {
147
147
  lineOpacity: 0.5,
148
148
  lineColor: 3407837,
149
149
  dashed: !0,
150
150
  cssStyle: "pointer-events: none; opacity: 0.5;"
151
- })), c = new R(P(y({}, this.lineStyle), {
151
+ })), c = new R(P(m({}, this.lineStyle), {
152
152
  lineOpacity: 0.5,
153
153
  lineColor: 3407837,
154
154
  dashed: !0,
155
155
  cssStyle: "pointer-events: none; opacity: 0.5;"
156
156
  })), a = new C({ occlusionMode: "depthTest", occlusionVisibility: !0, color: 3407837, opacity: 0.5 }), h = () => {
157
- t.removeFromParent(), o.removeFromParent(), n.removeFromParent(), i.removeFromParent(), c.removeFromParent(), a.removeFromParent();
157
+ t.removeFromParent(), i.removeFromParent(), n.removeFromParent(), s.removeFromParent(), c.removeFromParent(), a.removeFromParent();
158
158
  };
159
159
  this.group.add(e);
160
160
  const u = (r) => {
@@ -163,18 +163,18 @@ class yt extends I {
163
163
  return;
164
164
  }
165
165
  if (e.points.length === 0 && (this.pointSelector.actionIfNoIntersection = "disable", this.group.addIfNotExists(t), t.position.copy(r.point)), e.points.length >= 1)
166
- if (this.pointSelector.actionIfNoIntersection = "virtualPoint", t.removeFromParent(), this.group.addIfNotExists(o), o.setPoints([e.points.at(-1), r.point]), r.isAdsorbed)
167
- i.removeFromParent(), c.removeFromParent(), a.removeFromParent();
166
+ if (this.pointSelector.actionIfNoIntersection = "virtualPoint", t.removeFromParent(), this.group.addIfNotExists(i), i.setPoints([e.points.at(-1), r.point]), r.isAdsorbed)
167
+ s.removeFromParent(), c.removeFromParent(), a.removeFromParent();
168
168
  else {
169
169
  const p = e.points.at(-1);
170
170
  if (Math.abs(r.point.y - p.y) > 0.2) {
171
171
  const v = new g.Vector3(r.point.x, p.y, r.point.z);
172
- i.setPoints([p, v]), c.setPoints([v, r.point]), a.position.copy(v);
172
+ s.setPoints([p, v]), c.setPoints([v, r.point]), a.position.copy(v);
173
173
  } else {
174
174
  let v = new g.Vector3();
175
- Math.abs(r.point.x - p.x) < Math.abs(r.point.z - p.z) ? v = new g.Vector3(r.point.x, p.y, p.z) : v = new g.Vector3(p.x, p.y, r.point.z), i.setPoints([p, v]), c.setPoints([v, r.point]), a.position.copy(v);
175
+ Math.abs(r.point.x - p.x) < Math.abs(r.point.z - p.z) ? v = new g.Vector3(r.point.x, p.y, p.z) : v = new g.Vector3(p.x, p.y, r.point.z), s.setPoints([p, v]), c.setPoints([v, r.point]), a.position.copy(v);
176
176
  }
177
- this.group.addIfNotExists(i, c, a);
177
+ this.group.addIfNotExists(s, c, a);
178
178
  }
179
179
  if (e.points.length >= 2) {
180
180
  const p = [...e.points, r.point];
@@ -195,66 +195,89 @@ class yt extends I {
195
195
  /**
196
196
  * @description 结束测量
197
197
  */
198
- s(this, "endMeasure", () => {
198
+ o(this, "endMeasure", () => {
199
199
  this.currentEndReason = "external", this.pointSelector.disable();
200
200
  });
201
201
  /**
202
202
  * @description 通过Enter键结束测量
203
203
  */
204
- s(this, "endMeasureByEnter", () => {
204
+ o(this, "endMeasureByEnter", () => {
205
205
  this.currentEndReason = "enter", this.endMeasure();
206
206
  });
207
207
  /**
208
208
  * @description 通过模式改变结束测量
209
209
  */
210
- s(this, "endMeasureByModeChange", () => {
210
+ o(this, "endMeasureByModeChange", () => {
211
211
  this.currentEndReason = "mode_change", this.endMeasure();
212
212
  });
213
213
  /**
214
214
  * @description 通过全景移动结束测量
215
215
  */
216
- s(this, "endMeasureByPanoMove", () => {
216
+ o(this, "endMeasureByPanoMove", () => {
217
217
  this.currentEndReason = "pano_move", this.endMeasure();
218
218
  });
219
219
  /**
220
220
  * @description 通过楼层改变结束测量
221
221
  */
222
- s(this, "endMeasureByFloorChange", () => {
222
+ o(this, "endMeasureByFloorChange", () => {
223
223
  this.currentEndReason = "floor_change", this.endMeasure();
224
224
  });
225
225
  /**
226
226
  * Enable or disable the display of length measurements
227
227
  * @param enable - Whether to display length measurements
228
228
  */
229
- s(this, "setLengthEnable", (e) => {
229
+ o(this, "setLengthEnable", (e) => {
230
230
  this.lineStyle.lengthEnable = e, this.polygonStyle.lengthEnable = e, this.group.children.forEach((t) => {
231
231
  t.changeConfig({
232
- lineStyle: y({}, this.lineStyle),
233
- polygonStyle: y({}, this.polygonStyle)
232
+ lineStyle: m({}, this.lineStyle),
233
+ polygonStyle: m({}, this.polygonStyle)
234
234
  }), this.addMeshEventListeners(t);
235
235
  }), this.currentMeasureMesh && this.currentMeasureMesh.changeConfig({
236
- lineStyle: y({}, this.lineStyle),
237
- polygonStyle: y({}, this.polygonStyle)
236
+ lineStyle: m({}, this.lineStyle),
237
+ polygonStyle: m({}, this.polygonStyle)
238
238
  }), this.five.needsRender = !0;
239
239
  });
240
240
  /**
241
241
  * Switch the measurement unit without resetting the plugin
242
242
  * @param unit - The new unit to use ('m' for metric, 'ft' for imperial, or 'mm' for millimeters)
243
243
  */
244
- s(this, "setUnit", (e) => {
244
+ o(this, "setUnit", (e) => {
245
245
  if (this._config && (this._config.unit = e), this.lineStyle.lengthUnit = e, this.polygonStyle.lengthUnit = e, this.group.children.forEach((t) => {
246
246
  try {
247
247
  t.changeConfig({
248
- lineStyle: y({}, this.lineStyle),
249
- polygonStyle: y({}, this.polygonStyle)
248
+ lineStyle: m({}, this.lineStyle),
249
+ polygonStyle: m({}, this.polygonStyle)
250
250
  }), this.addMeshEventListeners(t);
251
- } catch (o) {
251
+ } catch (i) {
252
252
  }
253
253
  }), this.currentMeasureMesh)
254
254
  try {
255
255
  this.currentMeasureMesh.changeConfig({
256
- lineStyle: y({}, this.lineStyle),
257
- polygonStyle: y({}, this.polygonStyle)
256
+ lineStyle: m({}, this.lineStyle),
257
+ polygonStyle: m({}, this.polygonStyle)
258
+ });
259
+ } catch (t) {
260
+ }
261
+ this.five.needsRender = !0;
262
+ });
263
+ /**
264
+ * Set the precision (number of decimal places) for length measurements
265
+ * @param precision - The number of decimal places for length measurements (area measurements remain at fixed 2 decimal places)
266
+ */
267
+ o(this, "setPrecision", (e) => {
268
+ if (this._config && (this._config.precision = e), this.lineStyle.precision = e, this.group.children.forEach((t) => {
269
+ try {
270
+ t.changeConfig({
271
+ lineStyle: m({}, this.lineStyle),
272
+ polygonStyle: m({}, this.polygonStyle)
273
+ }), this.addMeshEventListeners(t);
274
+ } catch (i) {
275
+ }
276
+ }), this.currentMeasureMesh)
277
+ try {
278
+ this.currentMeasureMesh.changeConfig({
279
+ lineStyle: m({}, this.lineStyle),
280
+ polygonStyle: m({}, this.polygonStyle)
258
281
  });
259
282
  } catch (t) {
260
283
  }
@@ -263,56 +286,56 @@ class yt extends I {
263
286
  /**
264
287
  * @description 取消本次测量
265
288
  */
266
- s(this, "cancel", () => {
289
+ o(this, "cancel", () => {
267
290
  var e;
268
291
  this.currentEndReason = "escape", (e = this.currentMeasureMesh) == null || e.removeFromParent(), this.pointSelector.disable();
269
292
  });
270
293
  /**
271
294
  * @description 撤销上一步
272
295
  */
273
- s(this, "undo", () => {
296
+ o(this, "undo", () => {
274
297
  this.emit("undo");
275
298
  });
276
299
  /**
277
300
  * @description 清空正在测量的内容
278
301
  */
279
- s(this, "clearCurrentMeasure", () => {
302
+ o(this, "clearCurrentMeasure", () => {
280
303
  var e;
281
304
  (e = this.currentMeasureMesh) == null || e.removeFromParent(), this.currentMeasureMesh = null, this.pointSelector.disable();
282
305
  });
283
306
  /**
284
307
  * @description 清空所有测量内容
285
308
  */
286
- s(this, "clear", () => {
309
+ o(this, "clear", () => {
287
310
  this.currentMeasureMesh = null, this.pointSelector.disable(), this.group.children.forEach(this.removeMeshEventListeners), this.group.removeChildren(), this.cursor.removeDeleteButton();
288
311
  });
289
- s(this, "dispose", () => {
312
+ o(this, "dispose", () => {
290
313
  this.listener.removeMeasureListener(), this.listener.removeClickListener(), this.pointSelector.disable(), this.disposeGlobalTouchHandler(), this.clear();
291
314
  });
292
315
  // eslint-disable-next-line @typescript-eslint/member-ordering
293
- s(this, "listener", {
316
+ o(this, "listener", {
294
317
  // 点击事件
295
318
  addClickListener: () => {
296
- this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), S("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
319
+ this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), E("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
297
320
  },
298
321
  removeClickListener: () => {
299
322
  this.group.children.forEach((e) => {
300
- var t, o;
323
+ var t, i;
301
324
  (t = e.line.doms) == null || t.forEach((n) => {
302
325
  n != null && n.container && (n.container.onclick = null, n.container.onmouseenter = null, n.container.onmouseleave = null);
303
- }), (o = e.polygon.areaDom) != null && o.container && (e.polygon.areaDom.container.onclick = null, e.polygon.areaDom.container.onmouseenter = null, e.polygon.areaDom.container.onmouseleave = null);
304
- }), this.fiveDomEvents.clear(), this.five.off("panoArrived", this.onMoveToPano), this.five.off("modeChange", this.onModeChange), S.unbind("delete, backspace");
326
+ }), (i = e.polygon.areaDom) != null && i.container && (e.polygon.areaDom.container.onclick = null, e.polygon.areaDom.container.onmouseenter = null, e.polygon.areaDom.container.onmouseleave = null);
327
+ }), this.fiveDomEvents.clear(), this.five.off("panoArrived", this.onMoveToPano), this.five.off("modeChange", this.onModeChange), E.unbind("delete, backspace");
305
328
  },
306
329
  // 绘制快捷键
307
330
  addMeasureListener: () => {
308
- S("ctrl+z, command+z", this.undo), S("esc", this.cancel), S("enter", this.endMeasureByEnter), this.five.on("mode.change", this.endMeasureByModeChange), this.five.on("pano.moveTo", this.endMeasureByPanoMove), this.five.on("model.changeShownFloor", this.endMeasureByFloorChange);
331
+ E("ctrl+z, command+z", this.undo), E("esc", this.cancel), E("enter", this.endMeasureByEnter), this.five.on("mode.change", this.endMeasureByModeChange), this.five.on("pano.moveTo", this.endMeasureByPanoMove), this.five.on("model.changeShownFloor", this.endMeasureByFloorChange);
309
332
  },
310
333
  removeMeasureListener: () => {
311
- S.unbind("ctrl+z, command+z"), S.unbind("esc"), S.unbind("enter"), this.five.off("mode.change", this.endMeasureByModeChange), this.five.off("pano.moveTo", this.endMeasureByPanoMove), this.five.off("model.changeShownFloor", this.endMeasureByFloorChange);
334
+ E.unbind("ctrl+z, command+z"), E.unbind("esc"), E.unbind("enter"), this.five.off("mode.change", this.endMeasureByModeChange), this.five.off("pano.moveTo", this.endMeasureByPanoMove), this.five.off("model.changeShownFloor", this.endMeasureByFloorChange);
312
335
  }
313
336
  });
314
- s(this, "onMoveToPano", (e) => {
315
- const t = this.group.children.filter((n) => n !== this.currentMeasureMesh), o = new z();
337
+ o(this, "onMoveToPano", (e) => {
338
+ const t = this.group.children.filter((n) => n !== this.currentMeasureMesh), i = new z();
316
339
  t.forEach((n) => {
317
340
  var c;
318
341
  if (n.unselect(), n.__five_pano_index === e) {
@@ -322,8 +345,8 @@ class yt extends I {
322
345
  ((c = n.line.points) == null ? void 0 : c.some((a) => {
323
346
  var p, M;
324
347
  const h = a.clone().sub(this.five.camera.position).normalize();
325
- o.set(this.five.camera.position, h);
326
- const u = (M = (p = this.five.model.intersectRaycaster(o, void 0, !0)) == null ? void 0 : p[0]) == null ? void 0 : M.point;
348
+ i.set(this.five.camera.position, h);
349
+ const u = (M = (p = this.five.model.intersectRaycaster(i, void 0, !0)) == null ? void 0 : p[0]) == null ? void 0 : M.point;
327
350
  if (!u)
328
351
  return !0;
329
352
  const l = 0.01, f = a.distanceTo(this.five.camera.position);
@@ -331,64 +354,64 @@ class yt extends I {
331
354
  })) ? n.visible = !0 : n.visible = !1, this.five.needsRender = !0;
332
355
  });
333
356
  });
334
- s(this, "onModeChange", (e) => {
357
+ o(this, "onModeChange", (e) => {
335
358
  e === "Mapview" && this.group.children.forEach((t) => {
336
359
  t.visible = !0;
337
360
  });
338
361
  });
339
- s(this, "onClick", ({ origDomEvent: e, target: t }) => {
362
+ o(this, "onClick", ({ origDomEvent: e, target: t }) => {
340
363
  var h;
341
- const o = t;
342
- if (!o)
364
+ const i = t;
365
+ if (!i)
343
366
  return;
344
- if (o.selected) {
345
- o.unselect(), this.cursor.removeDeleteButton();
367
+ if (i.selected) {
368
+ i.unselect(), this.cursor.removeDeleteButton();
346
369
  return;
347
370
  }
348
- let n, i;
349
- if (e && ("touches" in e && e.touches && e.touches[0] ? (n = e.touches[0].clientX, i = e.touches[0].clientY) : "clientX" in e && "clientY" in e && (n = e.clientX, i = e.clientY)), n === void 0 || i === void 0)
371
+ let n, s;
372
+ if (e && ("touches" in e && e.touches && e.touches[0] ? (n = e.touches[0].clientX, s = e.touches[0].clientY) : "clientX" in e && "clientY" in e && (n = e.clientX, s = e.clientY)), n === void 0 || s === void 0)
350
373
  return;
351
- this.group.children.forEach((u) => u.unselect()), o.select();
374
+ this.group.children.forEach((u) => u.unselect()), i.select();
352
375
  const c = () => {
353
- this.removeMeshEventListeners(o), o.removeFromParent(), this.cursor.removeDeleteButton(), this.five.needsRender = !0;
376
+ this.removeMeshEventListeners(i), i.removeFromParent(), this.cursor.removeDeleteButton(), this.five.needsRender = !0;
354
377
  }, a = ((h = this.five.getElement()) == null ? void 0 : h.parentElement) || document.body;
355
378
  this.cursor.showDeleteButton({
356
379
  clientX: n,
357
- clientY: i,
380
+ clientY: s,
358
381
  container: a,
359
382
  onClick: c
360
383
  }), this.five.once("cameraUpdate", () => {
361
- o.unselect(), this.cursor.removeDeleteButton();
384
+ i.unselect(), this.cursor.removeDeleteButton();
362
385
  });
363
386
  });
364
- s(this, "onHover", ({ target: e }) => {
387
+ o(this, "onHover", ({ target: e }) => {
365
388
  if (this.currentMeasureMesh)
366
389
  return;
367
390
  const t = e;
368
391
  t && t.hover();
369
392
  });
370
- s(this, "onUnHover", ({ target: e }) => {
393
+ o(this, "onUnHover", ({ target: e }) => {
371
394
  if (this.currentMeasureMesh)
372
395
  return;
373
396
  const t = e;
374
397
  t && t.unhover();
375
398
  });
376
- s(this, "deleteSelectedMesh", () => {
399
+ o(this, "deleteSelectedMesh", () => {
377
400
  this.group.children.filter((t) => t.selected).forEach((t) => {
378
401
  this.removeMeshEventListeners(t), t.removeFromParent();
379
402
  }), this.cursor.removeDeleteButton(), this.five.needsRender = !0;
380
403
  });
381
404
  // Helper method to remove all event listeners from a mesh
382
- s(this, "removeMeshEventListeners", (e) => {
383
- var t, o, n;
384
- (t = e.line.pointMeshes) == null || t.forEach((i) => {
385
- const c = i.__longPressCleanup;
386
- c && (c(), delete i.__longPressCleanup);
387
- }), (o = e.line.doms) == null || o.forEach((i) => {
388
- i != null && i.container && (i.container.onclick = null, i.container.onmouseenter = null, i.container.onmouseleave = null);
405
+ o(this, "removeMeshEventListeners", (e) => {
406
+ var t, i, n;
407
+ (t = e.line.pointMeshes) == null || t.forEach((s) => {
408
+ const c = s.__longPressCleanup;
409
+ c && (c(), delete s.__longPressCleanup);
410
+ }), (i = e.line.doms) == null || i.forEach((s) => {
411
+ s != null && s.container && (s.container.onclick = null, s.container.onmouseenter = null, s.container.onmouseleave = null);
389
412
  }), (n = e.polygon.areaDom) != null && n.container && (e.polygon.areaDom.container.onclick = null, e.polygon.areaDom.container.onmouseenter = null, e.polygon.areaDom.container.onmouseleave = null), this.fiveDomEvents.removeEventListener(e, "click"), this.fiveDomEvents.removeEventListener(e, "hover"), this.fiveDomEvents.removeEventListener(e, "unHover");
390
413
  });
391
- s(this, "updateSelectAdsorbedHelper", () => {
414
+ o(this, "updateSelectAdsorbedHelper", () => {
392
415
  if (!this.currentMeasureMesh || this.currentMeasureMesh.points.length === 0) {
393
416
  this.pointSelector.setAdherePoints(null), this.pointSelector.adhereLine = [], this.pointSelector.adherePlane = [];
394
417
  return;
@@ -412,20 +435,20 @@ class yt extends I {
412
435
  } else
413
436
  this.pointSelector.adherePlane = [];
414
437
  });
415
- s(this, "addMeshEventListeners", (e) => {
416
- var t, o;
438
+ o(this, "addMeshEventListeners", (e) => {
439
+ var t, i;
417
440
  this.removeMeshEventListeners(e), this.addEndpointLongPressListeners(e), (t = e.line.doms) == null || t.forEach((n) => {
418
- n != null && n.container && (n.container.onclick = (i) => this.onClick({ origDomEvent: i, target: e }), n.container.onmouseenter = () => this.onHover({ target: e }), n.container.onmouseleave = () => this.onUnHover({ target: e }));
419
- }), (o = e.polygon.areaDom) != null && o.container && (e.polygon.areaDom.container.onclick = (n) => this.onClick({ origDomEvent: n, target: e }), e.polygon.areaDom.container.onmouseenter = () => this.onHover({ target: e }), e.polygon.areaDom.container.onmouseleave = () => this.onUnHover({ target: e })), this.fiveDomEvents.addEventListener(e, "click", this.onClick), this.fiveDomEvents.addEventListener(e, "hover", this.onHover), this.fiveDomEvents.addEventListener(e, "unHover", this.onUnHover);
441
+ n != null && n.container && (n.container.onclick = (s) => this.onClick({ origDomEvent: s, target: e }), n.container.onmouseenter = () => this.onHover({ target: e }), n.container.onmouseleave = () => this.onUnHover({ target: e }));
442
+ }), (i = e.polygon.areaDom) != null && i.container && (e.polygon.areaDom.container.onclick = (n) => this.onClick({ origDomEvent: n, target: e }), e.polygon.areaDom.container.onmouseenter = () => this.onHover({ target: e }), e.polygon.areaDom.container.onmouseleave = () => this.onUnHover({ target: e })), this.fiveDomEvents.addEventListener(e, "click", this.onClick), this.fiveDomEvents.addEventListener(e, "hover", this.onHover), this.fiveDomEvents.addEventListener(e, "unHover", this.onUnHover);
420
443
  });
421
- s(this, "addEndpointLongPressListeners", (e) => {
422
- this.setupGlobalTouchHandler(), e.line.pointMeshes.forEach((t, o) => {
423
- let n, i = !1, c = o;
424
- e.isPolygon && e.points.length > 3 && (o === e.line.pointMeshes.length - 1 && (c = 0), o >= e.points.length && (c = 0));
444
+ o(this, "addEndpointLongPressListeners", (e) => {
445
+ this.setupGlobalTouchHandler(), e.line.pointMeshes.forEach((t, i) => {
446
+ let n, s = !1, c = i;
447
+ e.isPolygon && e.points.length > 3 && (i === e.line.pointMeshes.length - 1 && (c = 0), i >= e.points.length && (c = 0));
425
448
  const a = (l) => {
426
449
  if (this.currentMeasureMesh)
427
450
  return;
428
- i = !1;
451
+ s = !1;
429
452
  let f = null;
430
453
  l.origDomEvent && ("clientX" in l.origDomEvent && "clientY" in l.origDomEvent ? f = {
431
454
  x: l.origDomEvent.clientX,
@@ -454,14 +477,14 @@ class yt extends I {
454
477
  document.removeEventListener("mousemove", d), document.removeEventListener("touchmove", d);
455
478
  }, document.addEventListener("mousemove", d), document.addEventListener("touchmove", d, { passive: !1 }), n = setTimeout(() => {
456
479
  var r;
457
- i = !0, (r = this.cleanupGlobalListeners) == null || r.call(this), this.hideLongPressIndicator(), this.startRepositioning(e, c, !0, f);
480
+ s = !0, (r = this.cleanupGlobalListeners) == null || r.call(this), this.hideLongPressIndicator(), this.startRepositioning(e, c, !0, f);
458
481
  }, 500);
459
482
  }, h = () => {
460
483
  var l;
461
- n && (clearTimeout(n), n = void 0), (l = this.cleanupGlobalListeners) == null || l.call(this), this.hideLongPressIndicator(), i && this.repositioningState && (this.repositioningState.isDragMode && this.repositioningState.hasMoved || this.repositioningState.isDragMode, i = !1);
484
+ n && (clearTimeout(n), n = void 0), (l = this.cleanupGlobalListeners) == null || l.call(this), this.hideLongPressIndicator(), s && this.repositioningState && (this.repositioningState.isDragMode && this.repositioningState.hasMoved || this.repositioningState.isDragMode, s = !1);
462
485
  }, u = (l) => {
463
- if (i)
464
- return l.stopPropagation(), i = !1, !1;
486
+ if (s)
487
+ return l.stopPropagation(), s = !1, !1;
465
488
  };
466
489
  this.fiveDomEvents.addEventListener(t, "mousedown", a), this.fiveDomEvents.addEventListener(t, "mouseup", h), this.fiveDomEvents.addEventListener(t, "click", u), t.__longPressHandlers = {
467
490
  onPointerDown: a,
@@ -480,59 +503,59 @@ class yt extends I {
480
503
  * @description Load measurement data from external source
481
504
  * @param data Array of point data for measurements
482
505
  */
483
- s(this, "load", (e) => {
506
+ o(this, "load", (e) => {
484
507
  this.clear(), e.forEach((t) => {
485
- const o = new _({
508
+ const i = new _({
486
509
  lineStyle: this.lineStyle,
487
510
  polygonStyle: this.polygonStyle
488
511
  });
489
- o.setPoints(t.points), this.group.add(o), this.addMeshEventListeners(o), o.__five_pano_index = this.five.panoIndex;
512
+ i.setPoints(t.points), this.group.add(i), this.addMeshEventListeners(i), i.__five_pano_index = this.five.panoIndex;
490
513
  }), this.five.needsRender = !0;
491
514
  });
492
515
  /**
493
516
  * Start repositioning an endpoint
494
517
  */
495
- s(this, "startRepositioning", (e, t, o = !1, n) => {
518
+ o(this, "startRepositioning", (e, t, i = !1, n) => {
496
519
  this.currentMeasureMesh || this.repositioningState || (this.repositioningState = {
497
520
  measureMesh: e,
498
521
  pointIndex: t,
499
522
  originalOpacity: e.line.lineOpacity,
500
- originalMeshState: e.points.map((i) => i.clone()),
501
- isDragMode: o,
523
+ originalMeshState: e.points.map((s) => s.clone()),
524
+ isDragMode: i,
502
525
  mouseDownPosition: n || void 0,
503
526
  hasMoved: !1
504
- }, this.applyRepositioningStyle(e, !0), this.five.on("wantsGesture", this.preventFiveGestures), o ? this.enableGlobalMouseTracking() : (this.pointSelector.actionIfNoIntersection = "virtualPoint", this.pointSelector.enable(), this.pointSelector.on("intersectionUpdate", this.onRepositioningMove), this.pointSelector.on("select", this.onRepositioningConfirm), this.pointSelector.on("disable", this.cancelRepositioning)), S("esc", this.cancelRepositioning));
527
+ }, this.applyRepositioningStyle(e, !0), this.five.on("wantsGesture", this.preventFiveGestures), i ? this.enableGlobalMouseTracking() : (this.pointSelector.actionIfNoIntersection = "virtualPoint", this.pointSelector.enable(), this.pointSelector.on("intersectionUpdate", this.onRepositioningMove), this.pointSelector.on("select", this.onRepositioningConfirm), this.pointSelector.on("disable", this.cancelRepositioning)), E("esc", this.cancelRepositioning));
505
528
  });
506
529
  /**
507
530
  * Helper method to safely update polygon points while maintaining closure
508
531
  */
509
- s(this, "updatePolygonPoints", (e, t, o, n = !1) => {
510
- if (e.isPolygon && t.length > 3 && o !== void 0) {
511
- const i = t.length - 1;
512
- o === 0 ? t[i] = t[0].clone() : o === i && (t[0] = t[i].clone());
532
+ o(this, "updatePolygonPoints", (e, t, i, n = !1) => {
533
+ if (e.isPolygon && t.length > 3 && i !== void 0) {
534
+ const s = t.length - 1;
535
+ i === 0 ? t[s] = t[0].clone() : i === s && (t[0] = t[s].clone());
513
536
  }
514
537
  if (e.points = t, n && this.repositioningState) {
515
- const i = e.line;
516
- if (i.points = t, t.length >= 2) {
538
+ const s = e.line;
539
+ if (s.points = t, t.length >= 2) {
517
540
  const c = t.flatMap((a) => [a.x, a.y, a.z]);
518
- i.line1.geometry.setPositions(c), i.line1.computeLineDistances();
541
+ s.line1.geometry.setPositions(c), s.line1.computeLineDistances();
519
542
  }
520
- if (o !== void 0 && e.line.pointMeshes) {
521
- const c = t[o];
543
+ if (i !== void 0 && e.line.pointMeshes) {
544
+ const c = t[i];
522
545
  if (e.isPolygon && t.length > 3) {
523
546
  const a = t.length - 1;
524
- if (o === 0) {
547
+ if (i === 0) {
525
548
  const h = e.line.pointMeshes[0], u = e.line.pointMeshes[a];
526
549
  h && h.position.copy(c), u && u.position.copy(c);
527
- } else if (o === a) {
550
+ } else if (i === a) {
528
551
  const h = e.line.pointMeshes[0], u = e.line.pointMeshes[a];
529
552
  h && h.position.copy(c), u && u.position.copy(c);
530
553
  } else {
531
- const h = e.line.pointMeshes[o];
554
+ const h = e.line.pointMeshes[i];
532
555
  h && h.position.copy(c);
533
556
  }
534
557
  } else {
535
- const a = e.line.pointMeshes[o];
558
+ const a = e.line.pointMeshes[i];
536
559
  a && a.position.copy(c);
537
560
  }
538
561
  }
@@ -543,36 +566,36 @@ class yt extends I {
543
566
  /**
544
567
  * Handle mouse movement during repositioning
545
568
  */
546
- s(this, "onRepositioningMove", (e) => {
569
+ o(this, "onRepositioningMove", (e) => {
547
570
  if (!this.repositioningState || !e)
548
571
  return;
549
- const { measureMesh: t, pointIndex: o } = this.repositioningState;
572
+ const { measureMesh: t, pointIndex: i } = this.repositioningState;
550
573
  this.repositioningState.hasMoved = !0;
551
574
  const n = [...t.points];
552
- n[o] = e.point.clone(), this.updatePolygonPoints(t, n, o, !0), this.five.needsRender = !0;
575
+ n[i] = e.point.clone(), this.updatePolygonPoints(t, n, i, !0), this.five.needsRender = !0;
553
576
  });
554
577
  /**
555
578
  * Confirm repositioning with click
556
579
  */
557
- s(this, "onRepositioningConfirm", (e) => {
580
+ o(this, "onRepositioningConfirm", (e) => {
558
581
  if (!this.repositioningState || !e)
559
582
  return;
560
- const { measureMesh: t, pointIndex: o } = this.repositioningState, n = [...t.points];
561
- n[o] = e.point.clone(), this.updatePolygonPoints(t, n, o, !1), this.applyRepositioningStyle(t, !1), this.addEndpointLongPressListeners(t), this.cleanupRepositioning();
583
+ const { measureMesh: t, pointIndex: i } = this.repositioningState, n = [...t.points];
584
+ n[i] = e.point.clone(), this.updatePolygonPoints(t, n, i, !1), this.applyRepositioningStyle(t, !1), this.addEndpointLongPressListeners(t), this.cleanupRepositioning();
562
585
  });
563
586
  /**
564
587
  * Confirm repositioning when drag ends (mouse up after long press drag)
565
588
  */
566
- s(this, "confirmRepositioningOnDragEnd", () => {
589
+ o(this, "confirmRepositioningOnDragEnd", () => {
567
590
  if (!this.repositioningState)
568
591
  return;
569
- const { measureMesh: e, pointIndex: t } = this.repositioningState, o = [...e.points];
570
- this.updatePolygonPoints(e, o, t, !1), this.applyRepositioningStyle(e, !1), this.addEndpointLongPressListeners(e), this.cleanupRepositioning();
592
+ const { measureMesh: e, pointIndex: t } = this.repositioningState, i = [...e.points];
593
+ this.updatePolygonPoints(e, i, t, !1), this.applyRepositioningStyle(e, !1), this.addEndpointLongPressListeners(e), this.cleanupRepositioning();
571
594
  });
572
595
  /**
573
596
  * Cancel repositioning (restore original position)
574
597
  */
575
- s(this, "cancelRepositioning", () => {
598
+ o(this, "cancelRepositioning", () => {
576
599
  if (!this.repositioningState)
577
600
  return;
578
601
  const { measureMesh: e, originalMeshState: t } = this.repositioningState;
@@ -581,30 +604,30 @@ class yt extends I {
581
604
  /**
582
605
  * Apply or remove repositioning preview styling
583
606
  */
584
- s(this, "applyRepositioningStyle", (e, t) => {
585
- const o = t ? 0.4 : 1, n = t;
607
+ o(this, "applyRepositioningStyle", (e, t) => {
608
+ const i = t ? 0.4 : 1, n = t;
586
609
  e.line.setStyle({
587
- lineOpacity: o,
610
+ lineOpacity: i,
588
611
  dashed: n,
589
612
  cssStyle: t ? "pointer-events: none;" : "pointer-events: auto;"
590
613
  }), e.isPolygon && e.polygon.setStyle({
591
- opacity: o * 0.3
614
+ opacity: i * 0.3
592
615
  // Even more transparent for area
593
- }), e.line.pointMeshes.forEach((i) => {
594
- i.setStyle({
595
- opacity: o
616
+ }), e.line.pointMeshes.forEach((s) => {
617
+ s.setStyle({
618
+ opacity: i
596
619
  });
597
620
  });
598
621
  });
599
622
  /**
600
623
  * Enable global mouse tracking for drag mode (when PointSelector can't track due to mouse being held down)
601
624
  */
602
- s(this, "enableGlobalMouseTracking", () => {
625
+ o(this, "enableGlobalMouseTracking", () => {
603
626
  const e = this.five.getElement();
604
627
  if (!e)
605
628
  return;
606
629
  let t = null;
607
- const o = (h) => {
630
+ const i = (h) => {
608
631
  if (!this.repositioningState)
609
632
  return;
610
633
  const u = e.getBoundingClientRect(), l = (h.clientX - u.left) / u.width * 2 - 1, f = -((h.clientY - u.top) / u.height) * 2 + 1, d = new g.Raycaster();
@@ -638,30 +661,30 @@ class yt extends I {
638
661
  raycaster: r,
639
662
  isVirtual: !0
640
663
  }, this.onRepositioningMove(t));
641
- }, i = (h) => {
664
+ }, s = (h) => {
642
665
  this.repositioningState && (t ? this.onRepositioningConfirm(t) : this.confirmRepositioningOnDragEnd());
643
666
  }, c = (h) => {
644
667
  this.repositioningState && (t ? this.onRepositioningConfirm(t) : this.confirmRepositioningOnDragEnd());
645
668
  }, a = (h) => {
646
669
  this.repositioningState && t && this.onRepositioningConfirm(t);
647
670
  };
648
- document.addEventListener("mousemove", o), document.addEventListener("mouseup", i), document.addEventListener("click", a), document.addEventListener("touchmove", n, { passive: !1 }), document.addEventListener("touchend", c, { passive: !1 }), this.repositioningState.__globalMouseCleanup = () => {
649
- document.removeEventListener("mousemove", o), document.removeEventListener("mouseup", i), document.removeEventListener("click", a), document.removeEventListener("touchmove", n), document.removeEventListener("touchend", c);
671
+ document.addEventListener("mousemove", i), document.addEventListener("mouseup", s), document.addEventListener("click", a), document.addEventListener("touchmove", n, { passive: !1 }), document.addEventListener("touchend", c, { passive: !1 }), this.repositioningState.__globalMouseCleanup = () => {
672
+ document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", s), document.removeEventListener("click", a), document.removeEventListener("touchmove", n), document.removeEventListener("touchend", c);
650
673
  };
651
674
  });
652
675
  /**
653
676
  * Show long press visual feedback circle
654
677
  */
655
- s(this, "showLongPressIndicator", (e, t) => {
678
+ o(this, "showLongPressIndicator", (e, t) => {
656
679
  this.hideLongPressIndicator();
657
- const o = this.five.getElement();
658
- if (!o)
680
+ const i = this.five.getElement();
681
+ if (!i)
659
682
  return;
660
683
  this.five.on("wantsGesture", this.preventFiveGestures);
661
684
  const n = document.createElement("div");
662
685
  if (n.style.position = "absolute", n.style.width = "80px", n.style.height = "80px", n.style.border = "6px solid #f0f0f0", n.style.borderRadius = "50%", n.style.pointerEvents = "none", n.style.zIndex = "10000", n.style.boxSizing = "border-box", n.style.animation = "longPressShrink 500ms linear forwards", !document.querySelector("#longpress-keyframes")) {
663
- const i = document.createElement("style");
664
- i.id = "longpress-keyframes", i.textContent = `
686
+ const s = document.createElement("style");
687
+ s.id = "longpress-keyframes", s.textContent = `
665
688
  @keyframes longPressShrink {
666
689
  from {
667
690
  transform: translate(-50%, -50%) scale(1);
@@ -672,12 +695,12 @@ class yt extends I {
672
695
  opacity: 1;
673
696
  }
674
697
  }
675
- `, document.head.appendChild(i);
698
+ `, document.head.appendChild(s);
676
699
  }
677
700
  if (t)
678
701
  n.style.left = `${t.x}px`, n.style.top = `${t.y}px`, n.style.transform = "translate(-50%, -50%)";
679
702
  else {
680
- const c = e.getWorldPosition(new g.Vector3()).clone().project(this.five.camera), a = o.getBoundingClientRect(), h = (c.x + 1) * a.width / 2 + a.left, u = (-c.y + 1) * a.height / 2 + a.top;
703
+ const c = e.getWorldPosition(new g.Vector3()).clone().project(this.five.camera), a = i.getBoundingClientRect(), h = (c.x + 1) * a.width / 2 + a.left, u = (-c.y + 1) * a.height / 2 + a.top;
681
704
  n.style.left = `${h}px`, n.style.top = `${u}px`, n.style.transform = "translate(-50%, -50%)";
682
705
  }
683
706
  document.body.appendChild(n), this.longPressIndicator = n;
@@ -685,34 +708,34 @@ class yt extends I {
685
708
  /**
686
709
  * Hide long press visual feedback circle
687
710
  */
688
- s(this, "hideLongPressIndicator", () => {
711
+ o(this, "hideLongPressIndicator", () => {
689
712
  this.longPressIndicator && (this.longPressIndicator.remove(), this.longPressIndicator = null, this.five.off("wantsGesture", this.preventFiveGestures));
690
713
  });
691
714
  /**
692
715
  * Prevent Five canvas gestures during repositioning
693
716
  */
694
- s(this, "preventFiveGestures", () => !1);
717
+ o(this, "preventFiveGestures", () => !1);
695
718
  /**
696
719
  * Clean up repositioning state and event listeners
697
720
  */
698
- s(this, "cleanupRepositioning", () => {
721
+ o(this, "cleanupRepositioning", () => {
699
722
  if (this.repositioningState) {
700
723
  const e = this.repositioningState.__globalMouseCleanup;
701
724
  e && e(), this.repositioningState.isDragMode || (this.pointSelector.off("intersectionUpdate", this.onRepositioningMove), this.pointSelector.off("select", this.onRepositioningConfirm), this.pointSelector.off("disable", this.cancelRepositioning), this.pointSelector.disable());
702
725
  }
703
- this.five.off("wantsGesture", this.preventFiveGestures), S.unbind("esc", this.cancelRepositioning), this.repositioningState = null, this.five.needsRender = !0;
726
+ this.five.off("wantsGesture", this.preventFiveGestures), E.unbind("esc", this.cancelRepositioning), this.repositioningState = null, this.five.needsRender = !0;
704
727
  });
705
- s(this, "setupGlobalTouchHandler", () => {
728
+ o(this, "setupGlobalTouchHandler", () => {
706
729
  var n;
707
730
  if ((n = this.globalTouchHandler) != null && n.isSetup)
708
731
  return;
709
732
  const e = this.five.getElement();
710
733
  if (!e)
711
734
  return;
712
- const t = (i) => {
735
+ const t = (s) => {
713
736
  if (this.currentMeasureMesh)
714
737
  return;
715
- const c = i.touches[0];
738
+ const c = s.touches[0];
716
739
  if (!c)
717
740
  return;
718
741
  const a = e.getBoundingClientRect(), h = (c.clientX - a.left) / a.width * 2 - 1, u = -((c.clientY - a.top) / a.height) * 2 + 1, l = new g.Raycaster();
@@ -748,17 +771,17 @@ class yt extends I {
748
771
  const r = {
749
772
  type: "mousedown",
750
773
  target: d.pointMesh,
751
- origDomEvent: i,
774
+ origDomEvent: s,
752
775
  raycaster: l,
753
776
  intersects: [{ distance: 0 }],
754
777
  // Use dummy distance since we're using screen distance
755
778
  stopPropagation: () => {
756
- i.stopPropagation();
779
+ s.stopPropagation();
757
780
  }
758
781
  };
759
782
  d.handlers && typeof d.handlers.onPointerDown == "function" && d.handlers.onPointerDown(r);
760
783
  }
761
- }, o = (i) => {
784
+ }, i = (s) => {
762
785
  for (const c of this.group.children)
763
786
  if (!(!c || !c.line || !c.line.pointMeshes))
764
787
  for (const a of c.line.pointMeshes) {
@@ -768,14 +791,14 @@ class yt extends I {
768
791
  h && typeof h.onPointerUp == "function" && h.onPointerUp();
769
792
  }
770
793
  };
771
- e.addEventListener("touchstart", t, { passive: !1 }), e.addEventListener("touchend", o, { passive: !1 }), this.globalTouchHandler = {
794
+ e.addEventListener("touchstart", t, { passive: !1 }), e.addEventListener("touchend", i, { passive: !1 }), this.globalTouchHandler = {
772
795
  isSetup: !0,
773
796
  onTouchStart: t,
774
- onTouchEnd: o
797
+ onTouchEnd: i
775
798
  };
776
799
  });
777
800
  // Remove the stub methods since they're not needed
778
- s(this, "disposeGlobalTouchHandler", () => {
801
+ o(this, "disposeGlobalTouchHandler", () => {
779
802
  var e;
780
803
  if ((e = this.globalTouchHandler) != null && e.isSetup) {
781
804
  const t = this.five.getElement();
@@ -785,13 +808,13 @@ class yt extends I {
785
808
  /**
786
809
  * Calculate screen distance between touch/mouse point and point mesh
787
810
  */
788
- s(this, "calculateScreenDistance", (e, t, o) => {
789
- const n = e.clientX, i = e.clientY, a = t.getWorldPosition(new g.Vector3()).clone().project(this.five.camera), h = o.getBoundingClientRect(), u = (a.x + 1) * h.width / 2 + h.left, l = (-a.y + 1) * h.height / 2 + h.top, f = n - u, d = i - l;
811
+ o(this, "calculateScreenDistance", (e, t, i) => {
812
+ const n = e.clientX, s = e.clientY, a = t.getWorldPosition(new g.Vector3()).clone().project(this.five.camera), h = i.getBoundingClientRect(), u = (a.x + 1) * h.width / 2 + h.left, l = (-a.y + 1) * h.height / 2 + h.top, f = n - u, d = s - l;
790
813
  return Math.sqrt(f * f + d * d);
791
814
  });
792
815
  this.five = e;
793
- const o = { unit: "m", lengthEnable: !0, precision: 2 };
794
- this.config = t ? y(y({}, o), t) : o, this.group = new X(), this.group.name = "MeasureGroup", this.five.scene.add(this.group), this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), S("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
816
+ const i = { unit: "m", lengthEnable: !0, precision: 2 };
817
+ this.config = t ? m(m({}, i), t) : i, this.group = new X(), this.group.name = "MeasureGroup", this.five.scene.add(this.group), this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), E("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
795
818
  }
796
819
  get pointSelector() {
797
820
  return this._pointSelector ? this._pointSelector : (this._pointSelector = new F(this.five, { mode: "cursor", helper: { pointHelper: "highlight" }, skipPanorama: !0 }), this._pointSelector);
@@ -806,8 +829,8 @@ class yt extends I {
806
829
  return this._config;
807
830
  }
808
831
  set config(e) {
809
- var t, o;
810
- this._config = e, this.lineStyle.lengthUnit = e.unit, this.polygonStyle.lengthUnit = e.unit, e.lengthEnable !== void 0 && (this.lineStyle.lengthEnable = e.lengthEnable, this.polygonStyle.lengthEnable = e.lengthEnable), e.precision !== void 0 && (this.lineStyle.precision = e.precision), (o = (t = this.group) == null ? void 0 : t.children) == null || o.forEach((n) => n.changeConfig({ lineStyle: this.lineStyle, polygonStyle: this.polygonStyle }));
832
+ var t, i;
833
+ this._config = e, this.lineStyle.lengthUnit = e.unit, this.polygonStyle.lengthUnit = e.unit, e.lengthEnable !== void 0 && (this.lineStyle.lengthEnable = e.lengthEnable, this.polygonStyle.lengthEnable = e.lengthEnable), e.precision !== void 0 && (this.lineStyle.precision = e.precision), (i = (t = this.group) == null ? void 0 : t.children) == null || i.forEach((n) => n.changeConfig({ lineStyle: this.lineStyle, polygonStyle: this.polygonStyle }));
811
834
  }
812
835
  }
813
836
  export {