@realsee/dnalogel 3.81.21 → 3.81.23

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 (700) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/MeasurePlugin/Controller.d.ts +8 -0
  3. package/dist/MeasurePlugin/utils/MeasureMesh.d.ts +5 -0
  4. package/dist/MeasurePluginV2/Controller.d.ts +58 -0
  5. package/dist/MeasurePluginV2/Magnifier.d.ts +74 -0
  6. package/dist/MeasurePluginV2/PointHelper.d.ts +22 -0
  7. package/dist/MeasurePluginV2/PointOverlay.d.ts +93 -0
  8. package/dist/MeasurePluginV2/PointSelector.d.ts +55 -0
  9. package/dist/MeasurePluginV2/closeupView.d.ts +69 -0
  10. package/dist/MeasurePluginV2/edgeSnap.d.ts +53 -0
  11. package/dist/MeasurePluginV2/index.d.ts +28 -0
  12. package/dist/MeasurePluginV2/normalMeasure.d.ts +116 -0
  13. package/dist/PanoMeasurePlugin/Controller/EditController.d.ts +5 -2
  14. package/dist/PanoMeasurePlugin/Controller/MixedController.d.ts +3 -1
  15. package/dist/PanoMeasurePlugin/Controller/WatchController.d.ts +4 -0
  16. package/dist/PanoMeasurePlugin/Controller/index.d.ts +8 -2
  17. package/dist/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +5 -5
  18. package/dist/PanoMeasurePluginV2/Controller.d.ts +34 -0
  19. package/dist/PanoMeasurePluginV2/PointSelector.d.ts +32 -0
  20. package/dist/PanoMeasurePluginV2/controllers.d.ts +42 -0
  21. package/dist/PanoMeasurePluginV2/index.d.ts +8 -0
  22. package/dist/index.cjs.js +114 -107
  23. package/dist/index.d.ts +2 -0
  24. package/dist/index.js +10365 -9054
  25. package/dist/index.umd.js +107 -100
  26. package/dist/shared-utils/three/Magnifier.d.ts +73 -0
  27. package/dist/shared-utils/three/PointSelector/index.d.ts +16 -7
  28. package/docs/assets/navigation.js +1 -1
  29. package/docs/assets/search.js +1 -1
  30. package/docs/classes/AnimationScriptAdapterSafetyError.html +2 -2
  31. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +2 -2
  32. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +2 -2
  33. package/docs/classes/CSS3DRender.html +2 -2
  34. package/docs/classes/DigitalHuman.html +2 -2
  35. package/docs/classes/DigitalPerformanceV2.DigitalPerformanceNameplate.html +2 -2
  36. package/docs/classes/DigitalPerformanceV2.DigitalPerformanceV2PluginController.html +2 -2
  37. package/docs/classes/DigitalPlayground.html +2 -2
  38. package/docs/classes/DigitalStateMachine.html +2 -2
  39. package/docs/classes/FireControl.html +2 -2
  40. package/docs/classes/FireScenePlayer.html +2 -2
  41. package/docs/classes/GuideLineItem.GuideLineItem.html +2 -2
  42. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +2 -2
  43. package/docs/classes/MeasureV2.EdgeSnapCache.html +8 -0
  44. package/docs/classes/MeasureV2.MeasureControllerV2.html +77 -0
  45. package/docs/classes/MeasureV2.MeasureMagnifier.html +50 -0
  46. package/docs/classes/ModelMakerPluginInstance.html +2 -2
  47. package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +15 -15
  48. package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +15 -15
  49. package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +15 -15
  50. package/docs/classes/ModelRoomLabelController.html +2 -2
  51. package/docs/classes/MoveController.html +2 -2
  52. package/docs/classes/Object3DHelperController.html +2 -2
  53. package/docs/classes/PaintBrush.html +2 -2
  54. package/docs/classes/PanoMeasureControllerV2.html +94 -0
  55. package/docs/classes/PanoMeasurePluginLine.html +2 -2
  56. package/docs/classes/PanoMeasurePluginModel.html +2 -2
  57. package/docs/classes/PanoMeasurePluginPoint.html +2 -2
  58. package/docs/classes/PanoMeasurePluginPolyline.html +2 -2
  59. package/docs/classes/PanoTagPluginController.html +2 -2
  60. package/docs/classes/Sculpt.html +15 -15
  61. package/docs/classes/Util.BetterTween.html +2 -2
  62. package/docs/classes/Util.FiveDomEvents.html +2 -2
  63. package/docs/classes/Util.FivePuppet.html +2 -2
  64. package/docs/classes/Util.Interval.html +2 -2
  65. package/docs/classes/Util.LegacyPointHelper.html +2 -2
  66. package/docs/classes/Util.LightTag.html +2 -2
  67. package/docs/classes/Util.LineSegments.html +2 -2
  68. package/docs/classes/Util.Magnifier.html +20 -8
  69. package/docs/classes/Util.Object3D.html +2 -2
  70. package/docs/classes/Util.PointDomHelper.html +2 -2
  71. package/docs/classes/Util.PointHelper.html +2 -2
  72. package/docs/classes/Util.PointSelector.html +15 -15
  73. package/docs/classes/Util.PointSelectorHelper.html +2 -2
  74. package/docs/classes/Util.Rectangle.html +2 -2
  75. package/docs/classes/Util.sculpt.BaseEditor.html +2 -2
  76. package/docs/classes/Util.sculpt.BoxMesh.html +2 -2
  77. package/docs/classes/Util.sculpt.BoxMeshEditor.html +2 -2
  78. package/docs/classes/Util.sculpt.CircleMesh.html +2 -2
  79. package/docs/classes/Util.sculpt.CircleMeshEditor.html +2 -2
  80. package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +2 -2
  81. package/docs/classes/Util.sculpt.CylinderMesh.html +2 -2
  82. package/docs/classes/Util.sculpt.CylinderMeshEditor.html +2 -2
  83. package/docs/classes/Util.sculpt.LineMesh.html +2 -2
  84. package/docs/classes/Util.sculpt.PointMesh.html +2 -2
  85. package/docs/classes/Util.sculpt.PolygonMesh.html +2 -2
  86. package/docs/classes/Util.sculpt.PrismMesh.html +2 -2
  87. package/docs/classes/Util.sculpt.PrismMeshEditor.html +2 -2
  88. package/docs/classes/Util.sculpt.RectangleMesh.html +2 -2
  89. package/docs/classes/Util.sculpt.RectangleMeshEditor.html +2 -2
  90. package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +2 -2
  91. package/docs/classes/WalkController.html +2 -2
  92. package/docs/enums/CameraMovementEffect.html +2 -2
  93. package/docs/enums/ContentType.html +2 -2
  94. package/docs/enums/DIRECTION.html +2 -2
  95. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +2 -2
  96. package/docs/enums/DimensionType.html +2 -2
  97. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +2 -2
  98. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +2 -2
  99. package/docs/enums/PaintBrushTypeEnum.html +2 -2
  100. package/docs/enums/PointType.html +2 -2
  101. package/docs/enums/Rotation.html +2 -2
  102. package/docs/functions/AreaMakerPlugin.html +1 -1
  103. package/docs/functions/CSS3DRenderPlugin.html +1 -1
  104. package/docs/functions/CameraMovementPlugin.html +2 -2
  105. package/docs/functions/CruisePlugin.html +1 -1
  106. package/docs/functions/CurrentPanoImagePlugin.html +1 -1
  107. package/docs/functions/DigitalPerformancePlugin.html +1 -1
  108. package/docs/functions/DigitalPerformanceV2.DigitalPerformanceV2Plugin.html +1 -1
  109. package/docs/functions/DigitalPerformanceV2.normalizeDigitalPerformanceName.html +2 -2
  110. package/docs/functions/FloorplanGuidePlugin.html +1 -1
  111. package/docs/functions/GuideLinePlugin.html +1 -1
  112. package/docs/functions/ItemLabelPlugin.html +1 -1
  113. package/docs/functions/MapviewFloorplanPlugin.html +1 -1
  114. package/docs/functions/MeasurePlugin.html +1 -1
  115. package/docs/functions/MeasureV2.MeasurePluginV2.html +1 -0
  116. package/docs/functions/MeasureV2.collectNearbyEdges.html +5 -0
  117. package/docs/functions/MeasureV2.drawMeasureOverlay.html +3 -0
  118. package/docs/functions/MeasureV2.getWorldNormal.html +6 -0
  119. package/docs/functions/MeasureV2.validatePolygon.html +1 -0
  120. package/docs/functions/ModelChassisCompassPlugin.html +2 -2
  121. package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -2
  122. package/docs/functions/ModelFloorplanPlugin.html +1 -1
  123. package/docs/functions/ModelItemLabelPlugin.html +1 -1
  124. package/docs/functions/ModelMakerPlugin.html +1 -1
  125. package/docs/functions/ModelRoomLabelPlugin.html +1 -1
  126. package/docs/functions/ModelTVVideoPlugin.html +1 -1
  127. package/docs/functions/ModelViewPlugin.html +2 -2
  128. package/docs/functions/MovePlugin.html +1 -1
  129. package/docs/functions/Object3DHelperPlugin.html +1 -1
  130. package/docs/functions/PanoCompassPlugin.html +1 -1
  131. package/docs/functions/PanoCursorRaycasterPlugin.html +2 -2
  132. package/docs/functions/PanoDoorLabelPlugin.html +1 -1
  133. package/docs/functions/PanoFloorplanRadarPlugin.html +1 -1
  134. package/docs/functions/PanoMeasurePlugin.html +1 -1
  135. package/docs/functions/PanoMeasurePluginV2.html +1 -0
  136. package/docs/functions/PanoRulerPlugin.html +2 -2
  137. package/docs/functions/PanoRulerProPlugin.html +2 -2
  138. package/docs/functions/PanoSpatialTagPlugin.html +2 -2
  139. package/docs/functions/PanoTagPlugin.html +1 -1
  140. package/docs/functions/PanoVideoPlugin.html +2 -2
  141. package/docs/functions/PipelinePlugin.html +1 -1
  142. package/docs/functions/SculptPlugin.html +2 -2
  143. package/docs/functions/SculptPluginForFive.html +2 -2
  144. package/docs/functions/TopviewFloorplanPlugin.html +1 -1
  145. package/docs/functions/Util.awaitNextFrame.html +1 -1
  146. package/docs/functions/Util.blink.html +2 -2
  147. package/docs/functions/Util.blinkWithPreset.html +2 -2
  148. package/docs/functions/Util.bounding.html +1 -1
  149. package/docs/functions/Util.boundingBox.html +1 -1
  150. package/docs/functions/Util.boundingSphere.html +1 -1
  151. package/docs/functions/Util.boxVertex.html +2 -2
  152. package/docs/functions/Util.boxVertexes.html +1 -1
  153. package/docs/functions/Util.checkFiveModelLoaded.html +2 -2
  154. package/docs/functions/Util.cleanup.html +2 -2
  155. package/docs/functions/Util.convexHull.html +2 -2
  156. package/docs/functions/Util.equal.html +2 -2
  157. package/docs/functions/Util.fiveModelIsLoaded.html +2 -2
  158. package/docs/functions/Util.generatePolygonGeometry.html +2 -2
  159. package/docs/functions/Util.getCoordsFromClient.html +1 -1
  160. package/docs/functions/Util.getCoordsFromElement.html +1 -1
  161. package/docs/functions/Util.getFrameTime.html +2 -2
  162. package/docs/functions/Util.getGeometryArea.html +1 -1
  163. package/docs/functions/Util.getGeometryInfo.html +1 -1
  164. package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -1
  165. package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -1
  166. package/docs/functions/Util.initialCSS3DRender.html +1 -1
  167. package/docs/functions/Util.inside.html +1 -1
  168. package/docs/functions/Util.isModelLike.html +1 -1
  169. package/docs/functions/Util.isNil.html +2 -2
  170. package/docs/functions/Util.isPanoramaLike.html +1 -1
  171. package/docs/functions/Util.lookObject.html +2 -2
  172. package/docs/functions/Util.lookPoint.html +2 -2
  173. package/docs/functions/Util.nextFrame.html +1 -1
  174. package/docs/functions/Util.notNil.html +2 -2
  175. package/docs/functions/Util.reblink.html +2 -2
  176. package/docs/functions/Util.replaceStaticPrefix.html +2 -2
  177. package/docs/functions/Util.requestAnimationFrameInterval.html +2 -2
  178. package/docs/functions/Util.sculpt.createBox.html +1 -1
  179. package/docs/functions/Util.sculpt.createCircle.html +1 -1
  180. package/docs/functions/Util.sculpt.createCylinder.html +1 -1
  181. package/docs/functions/Util.sculpt.createLine.html +2 -2
  182. package/docs/functions/Util.sculpt.createPoint.html +1 -1
  183. package/docs/functions/Util.sculpt.createPolygon.html +1 -1
  184. package/docs/functions/Util.sculpt.createPrism.html +1 -1
  185. package/docs/functions/Util.sculpt.createRectangle.html +2 -2
  186. package/docs/functions/Util.sculpt.transformUnit.html +2 -2
  187. package/docs/functions/Util.sculpt.transformUnitSquare.html +1 -1
  188. package/docs/functions/Util.tag.html +1 -1
  189. package/docs/functions/Util.triangleArea.html +2 -2
  190. package/docs/functions/Util.triangleCenter.html +2 -2
  191. package/docs/functions/Util.tweenProgress.html +1 -1
  192. package/docs/functions/Util.uuid.html +2 -2
  193. package/docs/functions/Util.waitFiveModelLoaded.html +2 -2
  194. package/docs/functions/Util.worldBounding.html +1 -1
  195. package/docs/functions/Util.worldBoundingBox.html +1 -1
  196. package/docs/functions/Util.worldBoundingSphere.html +1 -1
  197. package/docs/functions/classifyMovementTrack.html +1 -1
  198. package/docs/functions/createPolyline.html +2 -2
  199. package/docs/functions/getAreaBox3.html +2 -2
  200. package/docs/functions/getAreaVertices.html +2 -2
  201. package/docs/functions/getEffectivePointActionDuration.html +1 -1
  202. package/docs/functions/getEntryArea.html +2 -2
  203. package/docs/functions/getMovementActionDuration.html +1 -1
  204. package/docs/functions/hasMovementV2Signal.html +1 -1
  205. package/docs/functions/isConverterSafeMovementMatrix.html +1 -1
  206. package/docs/functions/pluginFlag.html +1 -1
  207. package/docs/functions/transformAnimationDetailToDigitalScript.html +2 -2
  208. package/docs/functions/transformScriptData.html +2 -2
  209. package/docs/hierarchy.html +1 -1
  210. package/docs/index.html +2 -2
  211. package/docs/interfaces/AnimationScriptAdapterOptions.html +2 -2
  212. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +2 -2
  213. package/docs/interfaces/AreaMakerPluginType.Config.html +2 -2
  214. package/docs/interfaces/AreaMakerPluginType.EventMap.html +2 -2
  215. package/docs/interfaces/AreaMakerPluginType.Params.html +2 -2
  216. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +2 -2
  217. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +2 -2
  218. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +2 -2
  219. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +2 -2
  220. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +2 -2
  221. package/docs/interfaces/AreaMakerPluginType.State.html +2 -2
  222. package/docs/interfaces/BoxAnimationConfig.html +2 -2
  223. package/docs/interfaces/BoxPosition.html +2 -2
  224. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  225. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  226. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  227. package/docs/interfaces/ChapterLocation.html +2 -2
  228. package/docs/interfaces/ChapterTimeInfo.html +2 -2
  229. package/docs/interfaces/ContentTypeMapInterface.html +2 -2
  230. package/docs/interfaces/CruisePluginTypes.Config.html +2 -2
  231. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +2 -2
  232. package/docs/interfaces/CruisePluginTypes.EventMap.html +2 -2
  233. package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +2 -2
  234. package/docs/interfaces/CruisePluginTypes.MoveAction.html +2 -2
  235. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +2 -2
  236. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +2 -2
  237. package/docs/interfaces/CruisePluginTypes.PluginData.html +2 -2
  238. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -2
  239. package/docs/interfaces/CruisePluginTypes.PluginState.html +2 -2
  240. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +2 -2
  241. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +2 -2
  242. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +2 -2
  243. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +2 -2
  244. package/docs/interfaces/CurrentPanoImagePluginType.State.html +2 -2
  245. package/docs/interfaces/DigitalCameraKeyframe.html +2 -2
  246. package/docs/interfaces/DigitalCameraPlayer.html +2 -2
  247. package/docs/interfaces/DigitalCameraState.html +2 -2
  248. package/docs/interfaces/DigitalChapter.html +2 -2
  249. package/docs/interfaces/DigitalDataPlayer.html +2 -2
  250. package/docs/interfaces/DigitalDataState.html +2 -2
  251. package/docs/interfaces/DigitalEffectKeyframe.html +2 -2
  252. package/docs/interfaces/DigitalEffectState.html +2 -2
  253. package/docs/interfaces/DigitalItemKeyframe.html +2 -2
  254. package/docs/interfaces/DigitalItemState.html +2 -2
  255. package/docs/interfaces/DigitalModelKeyframe.html +2 -2
  256. package/docs/interfaces/DigitalModelPlayer.html +2 -2
  257. package/docs/interfaces/DigitalModelPlayerEffect.html +2 -2
  258. package/docs/interfaces/DigitalModelPlayerItem.html +2 -2
  259. package/docs/interfaces/DigitalModelState.html +2 -2
  260. package/docs/interfaces/DigitalPerformancePluginConfig.html +2 -2
  261. package/docs/interfaces/DigitalPerformanceV2.CameraState.html +2 -2
  262. package/docs/interfaces/DigitalPerformanceV2.DigitalCameraKeyframe.html +2 -2
  263. package/docs/interfaces/DigitalPerformanceV2.DigitalCameraPlayer.html +2 -2
  264. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceNameplateBinding.html +2 -2
  265. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceNameplateOptions.html +2 -2
  266. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceNameplateRenderContext.html +2 -2
  267. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceV2PluginConfig.html +2 -2
  268. package/docs/interfaces/DigitalPerformanceV2.GroupChapterTimeInfo.html +2 -2
  269. package/docs/interfaces/DigitalPerformanceV2.GroupProgress.html +2 -2
  270. package/docs/interfaces/DigitalPerformanceV2.V2Progress.html +2 -2
  271. package/docs/interfaces/DigitalScript.html +2 -2
  272. package/docs/interfaces/DigitalSubTitleKeyframe.html +2 -2
  273. package/docs/interfaces/DigitalSubTitlePlayer.html +2 -2
  274. package/docs/interfaces/DigitalSubTitleState.html +2 -2
  275. package/docs/interfaces/ExtendedAnimationConfig.html +2 -2
  276. package/docs/interfaces/FireArea.html +2 -2
  277. package/docs/interfaces/FireModel.html +2 -2
  278. package/docs/interfaces/FireSceneConfig.html +2 -2
  279. package/docs/interfaces/FireSequencePlayerOptions.html +2 -2
  280. package/docs/interfaces/FireSequenceStep.html +2 -2
  281. package/docs/interfaces/FireVector3.html +2 -2
  282. package/docs/interfaces/FloorplanBounding.html +2 -2
  283. package/docs/interfaces/FloorplanData.html +2 -2
  284. package/docs/interfaces/FloorplanEntrance.html +2 -2
  285. package/docs/interfaces/FloorplanExtraObject.html +2 -2
  286. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  287. package/docs/interfaces/FloorplanFloorData.html +2 -2
  288. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  289. package/docs/interfaces/FloorplanObserver.html +2 -2
  290. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  291. package/docs/interfaces/FloorplanPosition.html +2 -2
  292. package/docs/interfaces/FloorplanRoomItem.html +2 -2
  293. package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
  294. package/docs/interfaces/FloorplanServerBounding.html +2 -2
  295. package/docs/interfaces/FloorplanServerComputedData.html +2 -2
  296. package/docs/interfaces/FloorplanServerData.html +2 -2
  297. package/docs/interfaces/FloorplanServerDoorItem.html +2 -2
  298. package/docs/interfaces/FloorplanServerDoorPosition.html +2 -2
  299. package/docs/interfaces/FloorplanServerEntrance.html +2 -2
  300. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  301. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  302. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  303. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  304. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  305. package/docs/interfaces/FloorplanServerRoomItem.html +2 -2
  306. package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
  307. package/docs/interfaces/FloorplanServerStyledFloorplan.html +2 -2
  308. package/docs/interfaces/FloorplanServerStyledImage.html +2 -2
  309. package/docs/interfaces/GlobalProgress.html +2 -2
  310. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +2 -2
  311. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +2 -2
  312. package/docs/interfaces/GuideLinePluginType.EventMap.html +2 -2
  313. package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +2 -2
  314. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +2 -2
  315. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -2
  316. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +2 -2
  317. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +2 -2
  318. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +2 -2
  319. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +2 -2
  320. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +2 -2
  321. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +2 -2
  322. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -1
  323. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -2
  324. package/docs/interfaces/GuideLinePluginType.PluginState.html +2 -2
  325. package/docs/interfaces/GuideLinePluginType.Route.html +2 -2
  326. package/docs/interfaces/HelperOffset.html +2 -2
  327. package/docs/interfaces/ImagePlaneGroup.html +2 -2
  328. package/docs/interfaces/ItemLabelPluginData.html +2 -2
  329. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +2 -2
  330. package/docs/interfaces/ItemLabelPluginParametersType.html +2 -2
  331. package/docs/interfaces/LegacyScriptTransformer.html +2 -2
  332. package/docs/interfaces/MeasureV2.EdgeSnapOptions.html +19 -0
  333. package/docs/interfaces/MeasureV2.MagnifierViewport.html +20 -0
  334. package/docs/interfaces/MeasureV2.MeasureMagnifierOptions.html +28 -0
  335. package/docs/interfaces/MeasureV2.ResolvedEdgeSnapOptions.html +11 -0
  336. package/docs/interfaces/MinMax.html +2 -2
  337. package/docs/interfaces/ModelChassisCompassPluginData.html +2 -2
  338. package/docs/interfaces/ModelChassisCompassPluginExportType.html +2 -2
  339. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +2 -2
  340. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +2 -2
  341. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +2 -2
  342. package/docs/interfaces/ModelItemLabelPluginData.html +2 -2
  343. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +2 -2
  344. package/docs/interfaces/ModelItemLabelPluginParametersType.html +2 -2
  345. package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +2 -2
  346. package/docs/interfaces/ModelMakerPluginType.EventMap.html +2 -2
  347. package/docs/interfaces/ModelMakerPluginType.ModelMakerPluginConfig.html +2 -2
  348. package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +2 -2
  349. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +2 -2
  350. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +2 -2
  351. package/docs/interfaces/ModelMakerPluginType.ServerData.html +2 -2
  352. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +2 -2
  353. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +2 -2
  354. package/docs/interfaces/ModelMakerPluginType.State.html +2 -2
  355. package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +2 -2
  356. package/docs/interfaces/ModelRoomLabelPluginData.html +2 -2
  357. package/docs/interfaces/ModelTVVideoPluginData.html +2 -2
  358. package/docs/interfaces/ModelTVVideoPluginExportType.html +2 -2
  359. package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -2
  360. package/docs/interfaces/ModelViewPluginExportType.html +2 -2
  361. package/docs/interfaces/Object3DHelperState.html +2 -2
  362. package/docs/interfaces/ObjectHelperControllers.html +2 -2
  363. package/docs/interfaces/PaintBrushAction.html +2 -2
  364. package/docs/interfaces/PaintBrushConfigs.html +2 -2
  365. package/docs/interfaces/PaintBrushState.html +2 -2
  366. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +2 -2
  367. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  368. package/docs/interfaces/PanoMeasureParameterType.html +2 -2
  369. package/docs/interfaces/PanoMeasurePluginLineJson.html +2 -2
  370. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +2 -2
  371. package/docs/interfaces/PanoMeasurePluginPointJson.html +2 -2
  372. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +2 -2
  373. package/docs/interfaces/PanoMeasurePluginV2Data.html +2 -0
  374. package/docs/interfaces/PanoMeasurePluginV2ServerData.html +2 -0
  375. package/docs/interfaces/PanoRulerPluginExportType.html +2 -2
  376. package/docs/interfaces/PanoRulerPluginOptions.html +2 -2
  377. package/docs/interfaces/PanoRulerPluginParameterType.html +2 -2
  378. package/docs/interfaces/PanoRulerProPluginExportType.html +2 -2
  379. package/docs/interfaces/PanoRulerProPluginOptions.html +2 -2
  380. package/docs/interfaces/PanoRulerProPluginParameterType.html +2 -2
  381. package/docs/interfaces/PanoRulerProPluginState.html +2 -2
  382. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  383. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  384. package/docs/interfaces/PanoSpatialTagPluginData.html +2 -2
  385. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +2 -2
  386. package/docs/interfaces/PanoSpatialTagPluginExportType.html +2 -2
  387. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +2 -2
  388. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +2 -2
  389. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +2 -2
  390. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +2 -2
  391. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +2 -2
  392. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +2 -2
  393. package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -2
  394. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +2 -2
  395. package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -2
  396. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +2 -2
  397. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +2 -2
  398. package/docs/interfaces/PlaybackController.html +2 -2
  399. package/docs/interfaces/PlaybackManager.html +2 -2
  400. package/docs/interfaces/PlaybackSession.html +2 -2
  401. package/docs/interfaces/PluginEventMap.html +2 -2
  402. package/docs/interfaces/Point.html +2 -2
  403. package/docs/interfaces/ProgressBarEvents.html +2 -2
  404. package/docs/interfaces/Room.html +2 -2
  405. package/docs/interfaces/RoomInfo.html +2 -2
  406. package/docs/interfaces/RoomLabel.html +2 -2
  407. package/docs/interfaces/RoomRules.html +1 -1
  408. package/docs/interfaces/Rooms.html +1 -1
  409. package/docs/interfaces/Scissor.html +2 -2
  410. package/docs/interfaces/SculptConfig.html +2 -2
  411. package/docs/interfaces/State.html +2 -2
  412. package/docs/interfaces/StyledFloorplan.html +2 -2
  413. package/docs/interfaces/StyledFloorplanImage.html +2 -2
  414. package/docs/interfaces/StyledFloorplanRoomLabel.html +2 -2
  415. package/docs/interfaces/TagCacheInterface.html +2 -2
  416. package/docs/interfaces/TagConfig.html +2 -2
  417. package/docs/interfaces/TagGLTFObjectGroup.html +2 -2
  418. package/docs/interfaces/TagIconAnimationConfig.html +2 -2
  419. package/docs/interfaces/TagIconUrl.html +2 -2
  420. package/docs/interfaces/TagObjectGroup.html +2 -2
  421. package/docs/interfaces/TagState.html +2 -2
  422. package/docs/interfaces/TagStyle.html +2 -2
  423. package/docs/interfaces/Tags.html +2 -2
  424. package/docs/interfaces/TemporaryState.html +2 -2
  425. package/docs/interfaces/TraceManager.html +2 -2
  426. package/docs/interfaces/TracePoint.html +2 -2
  427. package/docs/interfaces/Util.AdaptiveReadWindowOptions.html +10 -0
  428. package/docs/interfaces/Util.AnimeInstance.html +2 -2
  429. package/docs/interfaces/Util.BlinkAnimeOptions.html +2 -2
  430. package/docs/interfaces/Util.EventHandlerConfig.html +2 -2
  431. package/docs/interfaces/Util.FiveDomEvent.html +2 -2
  432. package/docs/interfaces/Util.FiveDomEventMap.html +2 -2
  433. package/docs/interfaces/Util.LegacyMouseGroupParameter.html +2 -2
  434. package/docs/interfaces/Util.MagnifierParameter.html +15 -6
  435. package/docs/interfaces/Util.MouseGroupParameter.html +2 -2
  436. package/docs/interfaces/Util.ObjectInitialState.html +2 -2
  437. package/docs/interfaces/Util.PointIntersection.html +2 -2
  438. package/docs/interfaces/Util.PointSelectorHelperConfig.html +2 -2
  439. package/docs/interfaces/Util.ReBlinkAnimeOptions.html +2 -2
  440. package/docs/modules/AreaMakerPluginType.html +2 -2
  441. package/docs/modules/CruisePluginTypes.html +2 -2
  442. package/docs/modules/CurrentPanoImagePluginType.html +2 -2
  443. package/docs/modules/DigitalPerformanceV2.html +2 -2
  444. package/docs/modules/GuideLineItem.html +2 -2
  445. package/docs/modules/GuideLineModeItem.html +2 -2
  446. package/docs/modules/GuideLinePluginType.html +2 -2
  447. package/docs/modules/MeasureV2.html +22 -0
  448. package/docs/modules/ModelMakerPluginType.html +2 -2
  449. package/docs/modules/PanoVideoPluginType.html +2 -2
  450. package/docs/modules/SculptData.html +2 -2
  451. package/docs/modules/SculptType.html +2 -2
  452. package/docs/modules/Util.html +4 -3
  453. package/docs/modules/Util.sculpt.html +2 -2
  454. package/docs/modules.html +13 -6
  455. package/docs/types/AddObject3DHelperConfig.html +2 -2
  456. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +2 -2
  457. package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -1
  458. package/docs/types/AreaMakerPluginType.PluginData.html +2 -2
  459. package/docs/types/AreaMakerPluginType.ServerData.html +2 -2
  460. package/docs/types/ArrayPosition.html +1 -1
  461. package/docs/types/AudioAppearance.html +1 -1
  462. package/docs/types/BoxTag.html +2 -2
  463. package/docs/types/CSS3DRenderExportType.html +1 -1
  464. package/docs/types/CSS3DRenderPluginExportType.html +1 -1
  465. package/docs/types/CSS3DRenderPluginParameterType.html +1 -1
  466. package/docs/types/CanonicalMovementTrackPlan.html +1 -1
  467. package/docs/types/ClassFunctionParameters.html +1 -1
  468. package/docs/types/Color.html +1 -1
  469. package/docs/types/ContentTypeConfigKey.html +1 -1
  470. package/docs/types/ContentTypeConfigKeySplit.html +1 -1
  471. package/docs/types/ContentTypeMap.html +1 -1
  472. package/docs/types/Create3DDomContainerReturnType.html +1 -1
  473. package/docs/types/Create3DElementReturnType.html +1 -1
  474. package/docs/types/CruisePluginExportType.html +1 -1
  475. package/docs/types/CruisePluginTypes.CruiseData.html +2 -2
  476. package/docs/types/CruisePluginTypes.MoveEffect.html +1 -1
  477. package/docs/types/CurrentPanoImagePluginExportType.html +1 -1
  478. package/docs/types/DeprecatedMediaPlaneProperty.html +2 -2
  479. package/docs/types/DeprecatedTagProperty.html +2 -2
  480. package/docs/types/DigitalPerformancePluginExportInterface.html +1 -1
  481. package/docs/types/DigitalPerformancePluginParamsInterface.html +1 -1
  482. package/docs/types/DigitalPerformanceV2.CameraCoordinateSpace.html +2 -2
  483. package/docs/types/DigitalPerformanceV2.CameraTransition.html +2 -2
  484. package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginExportInterface.html +1 -1
  485. package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginParamsInterface.html +1 -1
  486. package/docs/types/DigitalPerformanceV2.V2ProgressListener.html +1 -1
  487. package/docs/types/Direction-1.html +1 -1
  488. package/docs/types/Direction4.html +1 -1
  489. package/docs/types/ElementRenderer.html +2 -2
  490. package/docs/types/FireModelType.html +2 -2
  491. package/docs/types/FireSequenceKind.html +2 -2
  492. package/docs/types/FireSpreadBounds.html +2 -2
  493. package/docs/types/FloorplanAffineTransform.html +1 -1
  494. package/docs/types/FloorplanGuidePluginParameterType.html +1 -1
  495. package/docs/types/FloorplanGuidePluginReturnType.html +1 -1
  496. package/docs/types/FloorplanRuleLabels.html +2 -2
  497. package/docs/types/FloorplanServerAffineTransform.html +1 -1
  498. package/docs/types/FloorplanServerRuleLabels.html +1 -1
  499. package/docs/types/GuideLinePluginExportType.html +1 -1
  500. package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -2
  501. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -1
  502. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -1
  503. package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -2
  504. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -2
  505. package/docs/types/GuideLinePluginType.PathItem.html +2 -2
  506. package/docs/types/GuideLinePluginType.PluginData.html +2 -2
  507. package/docs/types/GuideLinePluginType.RouteConfig.html +2 -2
  508. package/docs/types/HelperEventMap.html +1 -1
  509. package/docs/types/InternalHelperEventMap.html +1 -1
  510. package/docs/types/KeyframeType.html +1 -1
  511. package/docs/types/MapviewFloorplanPluginParameterType.html +1 -1
  512. package/docs/types/MapviewFloorplanPluginReturnType.html +1 -1
  513. package/docs/types/MaskPosition.html +2 -2
  514. package/docs/types/MaskTag.html +2 -2
  515. package/docs/types/MeasureInteractionState.html +2 -2
  516. package/docs/types/MeasureV2.MeasureControllerV2Interface.html +1 -0
  517. package/docs/types/MeasureV2.MeasureEndReason.html +1 -0
  518. package/docs/types/{MeasurePluginConfig.html → MeasureV2.MeasurePluginConfig.html} +2 -2
  519. package/docs/types/MeasureV2.MeasurePluginEventMap.html +1 -0
  520. package/docs/types/MeasureV2.MeasurePluginV2Config.html +6 -0
  521. package/docs/types/MeasureV2.MeasurePluginV2ParamsInterface.html +1 -0
  522. package/docs/types/MediaData.html +2 -2
  523. package/docs/types/MediaOperations.html +1 -1
  524. package/docs/types/MediaStore.html +1 -1
  525. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -1
  526. package/docs/types/ModelFloorplanPluginParameterType.html +1 -1
  527. package/docs/types/ModelFloorplanPluginReturnType.html +1 -1
  528. package/docs/types/ModelId.html +1 -1
  529. package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -1
  530. package/docs/types/ModelMakerPluginType.ItemType.html +2 -2
  531. package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -1
  532. package/docs/types/ModelMakerPluginType.ServerItem.html +2 -2
  533. package/docs/types/ModelMakerPluginType.TagOcclusionScope.html +2 -2
  534. package/docs/types/ModelMakerPluginType.TagOcclusionScopeConfig.html +2 -2
  535. package/docs/types/ModelRoomLabelPluginParameters.html +1 -1
  536. package/docs/types/ModelRoomLabelPluginReturnType.html +1 -1
  537. package/docs/types/MoveArgs.html +2 -2
  538. package/docs/types/MoveOpts.html +2 -2
  539. package/docs/types/MovementConfig.html +1 -1
  540. package/docs/types/MovementPosition.html +1 -1
  541. package/docs/types/MovementTrackClassification.html +1 -1
  542. package/docs/types/MovementTrackConflictReason.html +1 -1
  543. package/docs/types/MovementTrackProjection.html +1 -1
  544. package/docs/types/Object3DHelperEventMap.html +1 -1
  545. package/docs/types/ObjectFit.html +1 -1
  546. package/docs/types/PaintBrushEventMap.html +1 -1
  547. package/docs/types/PanoCompassPluginData.html +1 -1
  548. package/docs/types/PanoCompassPluginExportType.html +1 -1
  549. package/docs/types/PanoCompassPluginParameterType.html +1 -1
  550. package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -1
  551. package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -1
  552. package/docs/types/PanoIndex.html +1 -1
  553. package/docs/types/PanoMeasurePluginEvent.html +1 -1
  554. package/docs/types/PanoMeasurePluginV2Config.html +1 -0
  555. package/docs/types/PanoMeasurePluginV2Instance.html +1 -0
  556. package/docs/types/PanoMeasureReturnType.html +1 -1
  557. package/docs/types/PanoSpatialTagPluginId.html +1 -1
  558. package/docs/types/PanoTagPluginExportInterface.html +1 -1
  559. package/docs/types/PanoTagPluginParamsInterface.html +1 -1
  560. package/docs/types/PanoVideoPluginParameterType.html +1 -1
  561. package/docs/types/PanoVideoPluginReturnType.html +1 -1
  562. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -2
  563. package/docs/types/PipelinePluginParameterType.html +1 -1
  564. package/docs/types/PipelinePluginReturnType.html +1 -1
  565. package/docs/types/PlaneTag.html +2 -2
  566. package/docs/types/Point2DTag.html +2 -2
  567. package/docs/types/Point3DTag.html +2 -2
  568. package/docs/types/PointAction.html +1 -1
  569. package/docs/types/PointTagInstance.html +1 -1
  570. package/docs/types/PolygonPosition.html +2 -2
  571. package/docs/types/PolygonTag.html +2 -2
  572. package/docs/types/Position.html +1 -1
  573. package/docs/types/PositionFrom.html +1 -1
  574. package/docs/types/ProgressListener.html +1 -1
  575. package/docs/types/RotateArgs.html +2 -2
  576. package/docs/types/RotateOpts.html +2 -2
  577. package/docs/types/RuleLabelsKey.html +1 -1
  578. package/docs/types/RuleLabelsValue.html +1 -1
  579. package/docs/types/ScaleCallback.html +1 -1
  580. package/docs/types/ScalePosition.html +2 -2
  581. package/docs/types/SculptData.BoxData.html +1 -1
  582. package/docs/types/SculptData.CircleData.html +1 -1
  583. package/docs/types/SculptData.CylinderData.html +1 -1
  584. package/docs/types/SculptData.PointData.html +1 -1
  585. package/docs/types/SculptData.PolygonData.html +1 -1
  586. package/docs/types/SculptData.PolylineData.html +1 -1
  587. package/docs/types/SculptData.PrismData.html +1 -1
  588. package/docs/types/SculptData.RectangleData.html +1 -1
  589. package/docs/types/SculptType.Theme.html +2 -2
  590. package/docs/types/StateType.html +1 -1
  591. package/docs/types/StickType.html +1 -1
  592. package/docs/types/Tag.html +2 -2
  593. package/docs/types/Tag2D.html +2 -2
  594. package/docs/types/Tag3D.html +2 -2
  595. package/docs/types/TagClickParams.html +1 -1
  596. package/docs/types/TagConfigByKey.html +1 -1
  597. package/docs/types/TagContentType.html +1 -1
  598. package/docs/types/TagContentTypeMapping.html +1 -1
  599. package/docs/types/TagDimensionType.html +1 -1
  600. package/docs/types/TagElement.html +2 -2
  601. package/docs/types/TagEvents.html +1 -1
  602. package/docs/types/TagGLTFObject.html +1 -1
  603. package/docs/types/TagHooks.html +1 -1
  604. package/docs/types/TagId.html +1 -1
  605. package/docs/types/TagInstance.html +1 -1
  606. package/docs/types/TagPlacement.html +2 -2
  607. package/docs/types/TagPointType.html +2 -2
  608. package/docs/types/TagRendererMap.html +1 -1
  609. package/docs/types/TopviewFloorplanPluginParameterType.html +1 -1
  610. package/docs/types/TopviewFloorplanPluginReturnType.html +1 -1
  611. package/docs/types/TrackPoint.html +1 -1
  612. package/docs/types/Util.ActionIfNoIntersection.html +1 -1
  613. package/docs/types/Util.AdherePoint.html +2 -2
  614. package/docs/types/Util.PointSelectorConfig.html +1 -1
  615. package/docs/types/Util.SupportedTarget.html +2 -2
  616. package/docs/types/Util.Target.html +2 -2
  617. package/docs/types/Util.ThreeObject.html +2 -2
  618. package/docs/types/WorkCode.html +1 -1
  619. package/docs/variables/DigitalPerformanceV2.DEFAULT_DIGITAL_PERFORMANCE_NAME_MAX_LENGTH.html +1 -1
  620. package/docs/variables/FIRE_ACTION_DURATION_MS.html +2 -2
  621. package/docs/variables/FIRE_SPREAD_SPEED.html +2 -2
  622. package/docs/variables/FLOOR_TYPE_MAP.html +2 -2
  623. package/docs/variables/MODEL_SCALE_RANGE.html +2 -2
  624. package/docs/variables/MOVEMENT_OCCURRENCE_EPSILON.html +1 -1
  625. package/docs/variables/MOVEMENT_POSITION_EPSILON.html +1 -1
  626. package/docs/variables/MOVEMENT_SCHEMA_VERSION.html +1 -1
  627. package/docs/variables/MeasureV2.DEFAULT_EDGE_SNAP_OPTIONS.html +1 -0
  628. package/docs/variables/MeasureV2.OVERLAY_STYLE.html +14 -0
  629. package/docs/variables/PLUGIN.html +1 -1
  630. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -2
  631. package/docs/variables/ROOM_TYPE_MAP.html +2 -2
  632. package/docs/variables/Util.ANIME_PRESETS.html +2 -2
  633. package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +2 -2
  634. package/docs/variables/Util.DEFAULT_ANIME_CONFIG.html +2 -2
  635. package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +2 -2
  636. package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +2 -2
  637. package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +2 -2
  638. package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +2 -2
  639. package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +2 -2
  640. package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +2 -2
  641. package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +2 -2
  642. package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +2 -2
  643. package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +2 -2
  644. package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +2 -2
  645. package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +2 -2
  646. package/docs/variables/defaultGlobalConfig.html +1 -1
  647. package/docs/variables/itemLabelPluginServerParams.html +1 -1
  648. package/docs/variables/modelItemLabelPluginServerParams.html +1 -1
  649. package/docs/variables/modelRoomLabelPluginServerParams.html +1 -1
  650. package/libs/MeasurePlugin/Controller.d.ts +8 -0
  651. package/libs/MeasurePlugin/Controller.js +130 -110
  652. package/libs/MeasurePlugin/utils/MeasureMesh.d.ts +5 -0
  653. package/libs/MeasurePlugin/utils/MeasureMesh.js +17 -13
  654. package/libs/MeasurePluginV2/Controller.d.ts +58 -0
  655. package/libs/MeasurePluginV2/Controller.js +125 -0
  656. package/libs/MeasurePluginV2/Magnifier.d.ts +74 -0
  657. package/libs/MeasurePluginV2/Magnifier.js +175 -0
  658. package/libs/MeasurePluginV2/PointHelper.d.ts +22 -0
  659. package/libs/MeasurePluginV2/PointHelper.js +63 -0
  660. package/libs/MeasurePluginV2/PointOverlay.d.ts +93 -0
  661. package/libs/MeasurePluginV2/PointOverlay.js +160 -0
  662. package/libs/MeasurePluginV2/PointSelector.d.ts +55 -0
  663. package/libs/MeasurePluginV2/PointSelector.js +239 -0
  664. package/libs/MeasurePluginV2/closeupView.d.ts +69 -0
  665. package/libs/MeasurePluginV2/closeupView.js +52 -0
  666. package/libs/MeasurePluginV2/edgeSnap.d.ts +53 -0
  667. package/libs/MeasurePluginV2/edgeSnap.js +67 -0
  668. package/libs/MeasurePluginV2/index.d.ts +28 -0
  669. package/libs/MeasurePluginV2/index.js +38 -0
  670. package/libs/MeasurePluginV2/normalMeasure.d.ts +116 -0
  671. package/libs/MeasurePluginV2/normalMeasure.js +110 -0
  672. package/libs/PanoMeasurePlugin/Controller/EditController.d.ts +5 -2
  673. package/libs/PanoMeasurePlugin/Controller/EditController.js +31 -25
  674. package/libs/PanoMeasurePlugin/Controller/MixedController.d.ts +3 -1
  675. package/libs/PanoMeasurePlugin/Controller/MixedController.js +14 -11
  676. package/libs/PanoMeasurePlugin/Controller/WatchController.d.ts +4 -0
  677. package/libs/PanoMeasurePlugin/Controller/WatchController.js +23 -18
  678. package/libs/PanoMeasurePlugin/Controller/index.d.ts +8 -2
  679. package/libs/PanoMeasurePlugin/Controller/index.js +15 -5
  680. package/libs/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +5 -5
  681. package/libs/PanoMeasurePlugin/Modules/rangePiece/index.js +32 -32
  682. package/libs/PanoMeasurePluginV2/Controller.d.ts +34 -0
  683. package/libs/PanoMeasurePluginV2/Controller.js +120 -0
  684. package/libs/PanoMeasurePluginV2/PointSelector.d.ts +32 -0
  685. package/libs/PanoMeasurePluginV2/PointSelector.js +88 -0
  686. package/libs/PanoMeasurePluginV2/controllers.d.ts +42 -0
  687. package/libs/PanoMeasurePluginV2/controllers.js +107 -0
  688. package/libs/PanoMeasurePluginV2/index.d.ts +8 -0
  689. package/libs/PanoMeasurePluginV2/index.js +5 -0
  690. package/libs/base/BasePlugin.js +1 -1
  691. package/libs/index.d.ts +2 -0
  692. package/libs/index.js +206 -190
  693. package/libs/shared-utils/logger.js +1 -1
  694. package/libs/shared-utils/three/Magnifier.d.ts +73 -0
  695. package/libs/shared-utils/three/Magnifier.js +215 -94
  696. package/libs/shared-utils/three/PointSelector/index.d.ts +16 -7
  697. package/package.json +1 -1
  698. package/docs/functions/validatePolygon.html +0 -1
  699. package/docs/types/MeasureEndReason.html +0 -1
  700. package/docs/types/MeasurePluginEventMap.html +0 -1
@@ -1,41 +1,41 @@
1
- var B = Object.defineProperty, H = Object.defineProperties;
2
- var V = Object.getOwnPropertyDescriptors;
3
- var _ = Object.getOwnPropertySymbols;
4
- var U = Object.prototype.hasOwnProperty, T = Object.prototype.propertyIsEnumerable;
5
- var I = (y, f, e) => f in y ? B(y, f, { enumerable: !0, configurable: !0, writable: !0, value: e }) : y[f] = e, p = (y, f) => {
1
+ var V = Object.defineProperty, U = Object.defineProperties;
2
+ var A = Object.getOwnPropertyDescriptors;
3
+ var F = Object.getOwnPropertySymbols;
4
+ var T = Object.prototype.hasOwnProperty, z = Object.prototype.propertyIsEnumerable;
5
+ var D = (m, f, e) => f in m ? V(m, f, { enumerable: !0, configurable: !0, writable: !0, value: e }) : m[f] = e, p = (m, f) => {
6
6
  for (var e in f || (f = {}))
7
- U.call(f, e) && I(y, e, f[e]);
8
- if (_)
9
- for (var e of _(f))
10
- T.call(f, e) && I(y, e, f[e]);
11
- return y;
12
- }, E = (y, f) => H(y, V(f));
13
- var o = (y, f, e) => (I(y, typeof f != "symbol" ? f + "" : f, e), e);
7
+ T.call(f, e) && D(m, e, f[e]);
8
+ if (F)
9
+ for (var e of F(f))
10
+ z.call(f, e) && D(m, e, f[e]);
11
+ return m;
12
+ }, E = (m, f) => U(m, A(f));
13
+ var o = (m, f, e) => (D(m, typeof f != "symbol" ? f + "" : f, e), e);
14
14
  import * as u from "three";
15
15
  import "../shared-utils/tag.js";
16
16
  import "../vendor/hammerjs/hammer.js";
17
- import { Subscribe as z } from "../shared-utils/Subscribe.js";
18
- import { PointSelector as O } from "../shared-utils/three/PointSelector/index.js";
19
- import { getObjectVisible as A } from "../shared-utils/three/getObjectVisible.js";
17
+ import { Subscribe as O } from "../shared-utils/Subscribe.js";
18
+ import { PointSelector as N } from "../shared-utils/three/PointSelector/index.js";
19
+ import { getObjectVisible as G } from "../shared-utils/three/getObjectVisible.js";
20
20
  import "../shared-utils/three/CSS3DRenderer/index.js";
21
21
  import "../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
22
- import { LineMesh as D } from "../Sculpt/Meshes/Line.js";
22
+ import { LineMesh as k } from "../Sculpt/Meshes/Line.js";
23
23
  import "../shared-utils/three/core/Sphere.js";
24
24
  import "../shared-utils/three/blink.js";
25
25
  import "../vendor/@tweenjs/tween/dist/tween.esm.js.js";
26
26
  import "../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
27
27
  import "../vendor/earcut/src/earcut.js";
28
- import { FiveDomEvents as G } from "../shared-utils/five/FiveDomEvents.js";
28
+ import { FiveDomEvents as W } from "../shared-utils/five/FiveDomEvents.js";
29
29
  import "../shared-utils/five/FivePuppet.js";
30
- import { MeasureMesh as k } from "./utils/MeasureMesh.js";
31
- import { PointMesh as x } from "../Sculpt/Meshes/Point.js";
32
- import { LineWithDotsMesh as N } from "../Sculpt/Meshes/LineWithDots.js";
33
- import { hotkeys as m } from "../vendor/hotkeys-js/dist/hotkeys.esm.js";
34
- import { PolygonMesh as W } from "../Sculpt/Meshes/Polygon.js";
35
- import { validatePolygon as X } from "./utils/validatePolygon.js";
36
- import { IObject3D as Y } from "../shared-utils/three/IObject3D.js";
37
- import { Cursor as j } from "../Sculpt/utils/Modules/Cursor.js";
38
- import { THREERaycaster as $ } from "../shared-utils/three/core/Raycaster.js";
30
+ import { isMeasureMesh as w, MeasureMesh as x } from "./utils/MeasureMesh.js";
31
+ import { PointMesh as H } from "../Sculpt/Meshes/Point.js";
32
+ import { LineWithDotsMesh as X } from "../Sculpt/Meshes/LineWithDots.js";
33
+ import { hotkeys as y } from "../vendor/hotkeys-js/dist/hotkeys.esm.js";
34
+ import { PolygonMesh as Y } from "../Sculpt/Meshes/Polygon.js";
35
+ import { validatePolygon as j } from "./utils/validatePolygon.js";
36
+ import { IObject3D as $ } from "../shared-utils/three/IObject3D.js";
37
+ import { Cursor as K } from "../Sculpt/utils/Modules/Cursor.js";
38
+ import { THREERaycaster as q } from "../shared-utils/three/core/Raycaster.js";
39
39
  import "../shared-utils/positionToVector3.js";
40
40
  import "../shared-utils/five/vector3ToScreen.js";
41
41
  import "../shared-utils/five/getFiveModel.js";
@@ -97,11 +97,13 @@ import "../shared-utils/three/geometryUtil.js";
97
97
  import "../shared-utils/three/vectorIsEqual.js";
98
98
  import "../Sculpt/utils/Modules/DeleteButtonBgBorder.js";
99
99
  import "../Sculpt/utils/Modules/DeleteIconSVG.js";
100
- class Ct extends z {
100
+ class _t extends O {
101
101
  constructor(e, t) {
102
102
  super();
103
103
  o(this, "name", "MeasurePlugin");
104
104
  o(this, "currentMeasureMesh");
105
+ /** 双击快速测量结束后,用命中点继续下一段测量(由当前测量会话提供) */
106
+ o(this, "continueMeasureFrom");
105
107
  o(this, "five");
106
108
  o(this, "group");
107
109
  // 当前测量结束的原因
@@ -141,96 +143,111 @@ class Ct extends z {
141
143
  o(this, "initEventListeners", () => {
142
144
  this.group.children.forEach(this.addMeshEventListeners);
143
145
  });
146
+ /**
147
+ * 取消所有测量结果的选中态。
148
+ * 组内还并存着预览用的临时对象(点 / 线 / 多边形),它们没有选中态,需要跳过。
149
+ */
150
+ o(this, "unselectAllMeasureMeshes", () => {
151
+ this.group.children.forEach((e) => {
152
+ w(e) && e.unselect();
153
+ });
154
+ });
144
155
  /**
145
156
  * @description 开始测量
146
157
  */
147
158
  o(this, "measure", () => {
148
- var C;
159
+ var I;
149
160
  if (this.currentMeasureMesh)
150
161
  return;
151
- (C = this.cleanupPendingPress) == null || C.call(this), this.repositioningState && this.cancelRepositioning(), this.listener.addMeasureListener(), m.unbind("delete, backspace", this.deleteSelectedMesh), this.group.children.forEach((c) => c.unselect()), this.cursor.removeDeleteButton();
152
- const e = new k({
162
+ (I = this.cleanupPendingPress) == null || I.call(this), this.repositioningState && this.cancelRepositioning(), this.listener.addMeasureListener(), y.unbind("delete, backspace", this.deleteSelectedMesh), this.unselectAllMeasureMeshes(), this.cursor.removeDeleteButton();
163
+ let e = new x({
153
164
  lineStyle: this.lineStyle,
154
165
  polygonStyle: this.polygonStyle
155
166
  });
156
167
  this.currentMeasureMesh = e, e.line.setStyle({ cssStyle: "pointer-events: none;" }), this.pointSelector.actionIfNoIntersection = "disable", this.updateSelectAdsorbedHelper();
157
- const t = new x({ occlusionMode: "depthTest", occlusionVisibility: !0 }), n = new N(E(p({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), i = new W(this.polygonStyle), r = new D(E(p({}, this.lineStyle), {
168
+ const t = new H({ occlusionMode: "depthTest", occlusionVisibility: !0 }), n = new X(E(p({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), i = new Y(this.polygonStyle), r = new k(E(p({}, this.lineStyle), {
158
169
  lineOpacity: 0.5,
159
170
  lineColor: 3407837,
160
171
  dashed: !0,
161
172
  cssStyle: "pointer-events: none; opacity: 0.5;"
162
- })), a = new D(E(p({}, this.lineStyle), {
173
+ })), c = new k(E(p({}, this.lineStyle), {
163
174
  lineOpacity: 0.5,
164
175
  lineColor: 3407837,
165
176
  dashed: !0,
166
177
  cssStyle: "pointer-events: none; opacity: 0.5;"
167
- })), l = new x({ occlusionMode: "depthTest", occlusionVisibility: !0, color: 3407837, opacity: 0.5 });
178
+ })), l = new H({ occlusionMode: "depthTest", occlusionVisibility: !0, color: 3407837, opacity: 0.5 });
168
179
  let s = null, d = !1, v = !1;
169
- const g = (c) => {
170
- c.key === "Shift" && (v = !0);
171
- }, M = (c) => {
172
- c.key === "Shift" && (v = !1);
180
+ const g = (h) => {
181
+ h.key === "Shift" && (v = !0);
182
+ }, M = (h) => {
183
+ h.key === "Shift" && (v = !1);
173
184
  }, P = () => {
174
- t.removeFromParent(), n.removeFromParent(), i.removeFromParent(), r.removeFromParent(), a.removeFromParent(), l.removeFromParent();
185
+ t.removeFromParent(), n.removeFromParent(), i.removeFromParent(), r.removeFromParent(), c.removeFromParent(), l.removeFromParent();
175
186
  };
176
187
  this.group.add(e), document.addEventListener("keydown", g), document.addEventListener("keyup", M);
177
- const L = (c) => {
178
- if (!c) {
188
+ const L = (h) => {
189
+ if (!h) {
179
190
  P(), s = null, d = !1;
180
191
  return;
181
192
  }
182
- if (e.points.length === 0 && (this.pointSelector.actionIfNoIntersection = "disable", this.group.addIfNotExists(t), t.position.copy(c.point), s = null, d = !1), e.points.length >= 1)
183
- if (this.pointSelector.actionIfNoIntersection = "virtualPoint", t.removeFromParent(), this.group.addIfNotExists(n), n.setStyle(E(p({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), n.setPoints([e.points.at(-1), c.point]), c.isAdsorbed)
184
- r.removeFromParent(), a.removeFromParent(), l.removeFromParent(), s = null, d = !1;
193
+ if (e.points.length === 0 && (this.pointSelector.actionIfNoIntersection = "disable", this.group.addIfNotExists(t), t.position.copy(h.point), s = null, d = !1), e.points.length >= 1)
194
+ if (this.pointSelector.actionIfNoIntersection = "virtualPoint", t.removeFromParent(), this.group.addIfNotExists(n), n.setStyle(E(p({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), n.setPoints([e.points.at(-1), h.point]), h.isAdsorbed)
195
+ r.removeFromParent(), c.removeFromParent(), l.removeFromParent(), s = null, d = !1;
185
196
  else {
186
- const h = e.points.at(-1);
187
- if (Math.abs(c.point.y - h.y) > 0.2) {
188
- const S = new u.Vector3(c.point.x, h.y, c.point.z);
197
+ const a = e.points.at(-1);
198
+ if (Math.abs(h.point.y - a.y) > 0.2) {
199
+ const S = new u.Vector3(h.point.x, a.y, h.point.z);
189
200
  r.setStyle(E(p({}, this.lineStyle), {
190
201
  lineOpacity: 0.5,
191
202
  lineColor: 3407837,
192
203
  dashed: !0,
193
204
  cssStyle: "pointer-events: none; opacity: 0.5;"
194
- })), a.setStyle(E(p({}, this.lineStyle), {
205
+ })), c.setStyle(E(p({}, this.lineStyle), {
195
206
  lineOpacity: 0.5,
196
207
  lineColor: 3407837,
197
208
  dashed: !0,
198
209
  cssStyle: "pointer-events: none; opacity: 0.5;"
199
- })), r.setPoints([h, S]), a.setPoints([S, c.point]), l.position.copy(S), s = S.clone(), d = !0;
210
+ })), r.setPoints([a, S]), c.setPoints([S, h.point]), l.position.copy(S), s = S.clone(), d = !0;
200
211
  } else {
201
212
  let S = new u.Vector3();
202
- Math.abs(c.point.x - h.x) < Math.abs(c.point.z - h.z) ? S = new u.Vector3(c.point.x, h.y, h.z) : S = new u.Vector3(h.x, h.y, c.point.z), r.setStyle(E(p({}, this.lineStyle), {
213
+ Math.abs(h.point.x - a.x) < Math.abs(h.point.z - a.z) ? S = new u.Vector3(h.point.x, a.y, a.z) : S = new u.Vector3(a.x, a.y, h.point.z), r.setStyle(E(p({}, this.lineStyle), {
203
214
  lineOpacity: 0.5,
204
215
  lineColor: 3407837,
205
216
  dashed: !0,
206
217
  cssStyle: "pointer-events: none; opacity: 0.5;"
207
- })), a.setStyle(E(p({}, this.lineStyle), {
218
+ })), c.setStyle(E(p({}, this.lineStyle), {
208
219
  lineOpacity: 0.5,
209
220
  lineColor: 3407837,
210
221
  dashed: !0,
211
222
  cssStyle: "pointer-events: none; opacity: 0.5;"
212
- })), r.setPoints([h, S]), a.setPoints([S, c.point]), l.position.copy(S), s = S.clone(), d = !0;
223
+ })), r.setPoints([a, S]), c.setPoints([S, h.point]), l.position.copy(S), s = S.clone(), d = !0;
213
224
  }
214
- this.group.addIfNotExists(r, a, l);
225
+ this.group.addIfNotExists(r, c, l);
215
226
  }
216
227
  if (e.points.length >= 2) {
217
- const h = [...e.points, c.point];
218
- X(h) ? (i.setStyle(p({}, this.polygonStyle)), i.setPoints(h), this.group.addIfNotExists(i)) : i.removeFromParent();
228
+ const a = [...e.points, h.point];
229
+ j(a) ? (i.setStyle(p({}, this.polygonStyle)), i.setPoints(a), this.group.addIfNotExists(i)) : i.removeFromParent();
219
230
  }
220
- }, b = (c) => {
221
- if (!c)
231
+ }, b = (h) => {
232
+ if (!h)
222
233
  return;
223
- let h = c.point;
224
- v && d && s && e.points.length >= 1 && (h = s.clone()), P(), e.setPoints([...e.points, h]), this.updateSelectAdsorbedHelper(), this.publishInteraction("drawing"), e.isPolygon && (this.currentEndReason = "polygon", this.pointSelector.disable());
234
+ let a = h.point;
235
+ v && d && s && e.points.length >= 1 && (a = s.clone()), P(), e.setPoints([...e.points, a]), this.updateSelectAdsorbedHelper(), this.publishInteraction("drawing"), e.isPolygon && (this.currentEndReason = "polygon", this.pointSelector.disable());
225
236
  }, R = () => {
226
- var c, h;
227
- e == null || e.setPoints(e.points.slice(0, -1)), P(), (h = (c = this.pointSelector.pointSelectorHelper) == null ? void 0 : c.magnifier) == null || h.render(), this.updateSelectAdsorbedHelper(), this.publishInteraction("drawing"), this.five.needsRender = !0;
228
- }, w = () => {
229
- this.pointSelector.off("intersectionUpdate", L), this.pointSelector.off("select", b), this.pointSelector.off("disable", w), this.off("undo", R), document.removeEventListener("keydown", g), document.removeEventListener("keyup", M), e.line.setStyle({ cssStyle: "pointer-events: auto;" }), P();
230
- let c = this.currentEndReason, h = !0;
231
- c === "escape" ? (e.removeFromParent(), h = !1) : e.points.length < 2 ? (e.removeFromParent(), c = "points_insufficient", h = !1) : this.addMeshEventListeners(e), e.__five_pano_index = this.five.panoIndex, this.currentMeasureMesh = null, this.listener.removeMeasureListener(), m("delete, backspace", this.deleteSelectedMesh), this.publishInteraction("idle"), this.emit("measureEnd", c, h ? e.points : []), this.currentEndReason = "enter";
237
+ var h, a;
238
+ e == null || e.setPoints(e.points.slice(0, -1)), P(), (a = (h = this.pointSelector.pointSelectorHelper) == null ? void 0 : h.magnifier) == null || a.render(), this.updateSelectAdsorbedHelper(), this.publishInteraction("drawing"), this.five.needsRender = !0;
239
+ }, C = (h) => {
240
+ if (this.currentMeasureMesh !== e)
241
+ return;
242
+ e.line.setStyle({ cssStyle: "pointer-events: auto;" }), e.__five_pano_index = this.five.panoIndex, this.addMeshEventListeners(e), P();
243
+ const a = new x({ lineStyle: this.lineStyle, polygonStyle: this.polygonStyle });
244
+ a.line.setStyle({ cssStyle: "pointer-events: none;" }), a.setPoints([h.clone()]), this.group.add(a), e = a, this.currentMeasureMesh = a, this.pointSelector.actionIfNoIntersection = "virtualPoint", this.updateSelectAdsorbedHelper(), this.five.needsRender = !0;
245
+ }, _ = () => {
246
+ this.continueMeasureFrom = void 0, this.pointSelector.off("intersectionUpdate", L), this.pointSelector.off("select", b), this.pointSelector.off("disable", _), this.off("undo", R), document.removeEventListener("keydown", g), document.removeEventListener("keyup", M), e.line.setStyle({ cssStyle: "pointer-events: auto;" }), P();
247
+ let h = this.currentEndReason, a = !0;
248
+ h === "escape" ? (e.removeFromParent(), a = !1) : e.points.length < 2 ? (e.removeFromParent(), h = "points_insufficient", a = !1) : this.addMeshEventListeners(e), e.__five_pano_index = this.five.panoIndex, this.currentMeasureMesh = null, this.listener.removeMeasureListener(), y("delete, backspace", this.deleteSelectedMesh), this.publishInteraction("idle"), this.emit("measureEnd", h, a ? e.points : []), this.currentEndReason = "enter";
232
249
  };
233
- this.on("undo", R), this.pointSelector.on("intersectionUpdate", L), this.pointSelector.on("select", b), this.pointSelector.on("disable", w), this.pointSelector.enable(), this.publishInteraction("drawing");
250
+ this.continueMeasureFrom = C, this.on("undo", R), this.pointSelector.on("intersectionUpdate", L), this.pointSelector.on("select", b), this.pointSelector.on("disable", _), this.pointSelector.enable(), this.publishInteraction("drawing");
234
251
  });
235
252
  /**
236
253
  * @description 结束测量
@@ -268,10 +285,10 @@ class Ct extends z {
268
285
  */
269
286
  o(this, "setLengthEnable", (e) => {
270
287
  this.lineStyle.lengthEnable = e, this.polygonStyle.lengthEnable = e, this.group.children.forEach((t) => {
271
- t.changeConfig({
288
+ w(t) && (t.changeConfig({
272
289
  lineStyle: p({}, this.lineStyle),
273
290
  polygonStyle: p({}, this.polygonStyle)
274
- }), this.addMeshEventListeners(t);
291
+ }), this.addMeshEventListeners(t));
275
292
  }), this.currentMeasureMesh && this.currentMeasureMesh.changeConfig({
276
293
  lineStyle: p({}, this.lineStyle),
277
294
  polygonStyle: p({}, this.polygonStyle)
@@ -348,7 +365,7 @@ class Ct extends z {
348
365
  */
349
366
  o(this, "clear", () => {
350
367
  var e;
351
- (e = this.cleanupPendingPress) == null || e.call(this), this.cancelRepositioning(), this.currentMeasureMesh = null, this.pointSelector.disable(), this.group.children.forEach(this.removeMeshEventListeners), this.group.removeChildren(), this.cursor.removeDeleteButton(), this.publishInteraction("idle");
368
+ (e = this.cleanupPendingPress) == null || e.call(this), this.cancelRepositioning(), this.currentMeasureMesh = null, this.pointSelector.disable(), this.group.children.filter(w).forEach(this.removeMeshEventListeners), this.group.removeChildren(), this.cursor.removeDeleteButton(), this.publishInteraction("idle");
352
369
  });
353
370
  o(this, "dispose", () => {
354
371
  var e, t;
@@ -357,28 +374,28 @@ class Ct extends z {
357
374
  o(this, "listener", {
358
375
  // 点击事件
359
376
  addClickListener: () => {
360
- this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), m("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
377
+ this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), y("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
361
378
  },
362
379
  removeClickListener: () => {
363
380
  this.group.children.forEach((e) => {
364
381
  var t, n;
365
- (t = e.line.doms) == null || t.forEach((i) => {
382
+ w(e) && ((t = e.line.doms) == null || t.forEach((i) => {
366
383
  i != null && i.container && (i.container.onclick = null, i.container.onmouseenter = null, i.container.onmouseleave = null);
367
- }), (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);
368
- }), this.fiveDomEvents.clear(), this.five.off("panoArrived", this.onMoveToPano), this.five.off("modeChange", this.onModeChange), m.unbind("delete, backspace", this.deleteSelectedMesh);
384
+ }), (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));
385
+ }), this.fiveDomEvents.clear(), this.five.off("panoArrived", this.onMoveToPano), this.five.off("modeChange", this.onModeChange), y.unbind("delete, backspace", this.deleteSelectedMesh);
369
386
  },
370
387
  // 绘制快捷键
371
388
  addMeasureListener: () => {
372
- m("ctrl+z, command+z", this.undo), m("esc", this.cancel), m("enter", this.endMeasureByEnter), this.five.on("mode.change", this.endMeasureByModeChange), this.five.on("pano.moveTo", this.endMeasureByPanoMove), this.five.on("model.changeShownFloor", this.endMeasureByFloorChange);
389
+ y("ctrl+z, command+z", this.undo), y("esc", this.cancel), y("enter", this.endMeasureByEnter), this.five.on("mode.change", this.endMeasureByModeChange), this.five.on("pano.moveTo", this.endMeasureByPanoMove), this.five.on("model.changeShownFloor", this.endMeasureByFloorChange);
373
390
  },
374
391
  removeMeasureListener: () => {
375
- m.unbind("ctrl+z, command+z", this.undo), m.unbind("esc", this.cancel), m.unbind("enter", this.endMeasureByEnter), this.five.off("mode.change", this.endMeasureByModeChange), this.five.off("pano.moveTo", this.endMeasureByPanoMove), this.five.off("model.changeShownFloor", this.endMeasureByFloorChange);
392
+ y.unbind("ctrl+z, command+z", this.undo), y.unbind("esc", this.cancel), y.unbind("enter", this.endMeasureByEnter), this.five.off("mode.change", this.endMeasureByModeChange), this.five.off("pano.moveTo", this.endMeasureByPanoMove), this.five.off("model.changeShownFloor", this.endMeasureByFloorChange);
376
393
  }
377
394
  });
378
395
  o(this, "onMoveToPano", (e) => {
379
396
  var i;
380
397
  (i = this.cleanupPendingPress) == null || i.call(this), this.cancelRepositioning();
381
- const t = this.group.children.filter((r) => r !== this.currentMeasureMesh), n = new $();
398
+ const t = this.group.children.filter((r) => r !== this.currentMeasureMesh && w(r)), n = new q();
382
399
  t.forEach((r) => {
383
400
  var l;
384
401
  if (r.unselect(), r.__five_pano_index === e) {
@@ -406,7 +423,7 @@ class Ct extends z {
406
423
  o(this, "onClick", ({ origDomEvent: e, target: t }) => {
407
424
  var s;
408
425
  const n = t;
409
- if (!n)
426
+ if (!w(n))
410
427
  return;
411
428
  if (n.selected) {
412
429
  n.unselect(), this.cursor.removeDeleteButton();
@@ -415,15 +432,15 @@ class Ct extends z {
415
432
  let i, r;
416
433
  if (e && ("touches" in e && e.touches && e.touches[0] ? (i = e.touches[0].clientX, r = e.touches[0].clientY) : "clientX" in e && "clientY" in e && (i = e.clientX, r = e.clientY)), i === void 0 || r === void 0)
417
434
  return;
418
- this.group.children.forEach((d) => d.unselect()), n.select();
419
- const a = () => {
435
+ this.unselectAllMeasureMeshes(), n.select();
436
+ const c = () => {
420
437
  this.removeMeshEventListeners(n), n.removeFromParent(), this.publishInteraction("idle"), this.cursor.removeDeleteButton(), this.five.needsRender = !0;
421
438
  }, l = ((s = this.five.getElement()) == null ? void 0 : s.parentElement) || document.body;
422
439
  this.cursor.showDeleteButton({
423
440
  clientX: i,
424
441
  clientY: r,
425
442
  container: l,
426
- onClick: a
443
+ onClick: c
427
444
  }), this.five.once("cameraUpdate", () => {
428
445
  n.unselect(), this.cursor.removeDeleteButton();
429
446
  });
@@ -496,9 +513,9 @@ class Ct extends z {
496
513
  return;
497
514
  const t = this.five.getElement().getBoundingClientRect();
498
515
  let n, i = e.pointerType === "touch" ? 30 : 12;
499
- for (const a of this.group.children)
500
- for (const l of a.line.pointMeshes) {
501
- if (!A(l))
516
+ for (const c of this.group.children)
517
+ for (const l of c.line.pointMeshes) {
518
+ if (!G(l))
502
519
  continue;
503
520
  const s = l.getWorldPosition(new u.Vector3()).project(this.five.camera);
504
521
  if (s.z < -1 || s.z > 1)
@@ -512,11 +529,11 @@ class Ct extends z {
512
529
  var n;
513
530
  const t = this.five.getElement();
514
531
  t !== this.endpointPointerElement && ((n = this.endpointPointerElement) == null || n.removeEventListener("pointerdown", this.onEndpointPointerDown, !0), this.endpointPointerElement = t, t == null || t.addEventListener("pointerdown", this.onEndpointPointerDown, !0)), e.line.pointMeshes.forEach((i, r) => {
515
- const a = e.isPolygon && r >= e.points.length - 1 ? 0 : r;
532
+ const c = e.isPolygon && r >= e.points.length - 1 ? 0 : r;
516
533
  let l = !1, s;
517
534
  const d = (g) => {
518
- var c;
519
- (c = this.cleanupPendingPress) == null || c.call(this), l = !1;
535
+ var I;
536
+ (I = this.cleanupPendingPress) == null || I.call(this), l = !1;
520
537
  const M = { x: g.clientX, y: g.clientY };
521
538
  this.showLongPressIndicator(i, M);
522
539
  const P = (h) => {
@@ -527,12 +544,12 @@ class Ct extends z {
527
544
  h.pointerId !== g.pointerId && (s == null || s());
528
545
  }, R = (h) => {
529
546
  h.key === "Escape" && (s == null || s());
530
- }, w = () => s == null ? void 0 : s(), C = setTimeout(() => {
531
- s == null || s(!1), l = !0, this.startRepositioning(e, a, !0, M, g);
547
+ }, C = () => s == null ? void 0 : s(), _ = setTimeout(() => {
548
+ s == null || s(!1), l = !0, this.startRepositioning(e, c, !0, M, g);
532
549
  }, 500);
533
550
  s = (h = !0) => {
534
- clearTimeout(C), document.removeEventListener("pointermove", P, !0), document.removeEventListener("pointerup", L, !0), document.removeEventListener("pointercancel", L, !0), document.removeEventListener("pointerdown", b, !0), document.removeEventListener("keydown", R), window.removeEventListener("blur", w), this.hideLongPressIndicator(), this.cleanupPendingPress === s && (this.cleanupPendingPress = void 0, h && this.publishInteraction("idle"));
535
- }, this.cleanupPendingPress = s, document.addEventListener("pointermove", P, !0), document.addEventListener("pointerup", L, !0), document.addEventListener("pointercancel", L, !0), document.addEventListener("pointerdown", b, !0), document.addEventListener("keydown", R), window.addEventListener("blur", w), this.publishInteraction("holding");
551
+ clearTimeout(_), document.removeEventListener("pointermove", P, !0), document.removeEventListener("pointerup", L, !0), document.removeEventListener("pointercancel", L, !0), document.removeEventListener("pointerdown", b, !0), document.removeEventListener("keydown", R), window.removeEventListener("blur", C), this.hideLongPressIndicator(), this.cleanupPendingPress === s && (this.cleanupPendingPress = void 0, h && this.publishInteraction("idle"));
552
+ }, this.cleanupPendingPress = s, document.addEventListener("pointermove", P, !0), document.addEventListener("pointerup", L, !0), document.addEventListener("pointercancel", L, !0), document.addEventListener("pointerdown", b, !0), document.addEventListener("keydown", R), window.addEventListener("blur", C), this.publishInteraction("holding");
536
553
  }, v = (g) => {
537
554
  if (l)
538
555
  return g.stopPropagation(), l = !1, !1;
@@ -548,7 +565,7 @@ class Ct extends z {
548
565
  */
549
566
  o(this, "load", (e) => {
550
567
  this.clear(), e.forEach((t) => {
551
- const n = new k({
568
+ const n = new x({
552
569
  lineStyle: this.lineStyle,
553
570
  polygonStyle: this.polygonStyle
554
571
  });
@@ -563,11 +580,11 @@ class Ct extends z {
563
580
  measureMesh: e,
564
581
  pointIndex: t,
565
582
  originalOpacity: e.line.lineOpacity,
566
- originalMeshState: e.points.map((a) => a.clone()),
583
+ originalMeshState: e.points.map((c) => c.clone()),
567
584
  isDragMode: n,
568
585
  mouseDownPosition: i || void 0,
569
586
  hasMoved: !1
570
- }, this.applyRepositioningStyle(e, !0), this.five.on("wantsGesture", this.preventFiveGestures), n ? this.enableGlobalPointerTracking(r) : (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)), this.repositioningState && (m("esc", this.cancelRepositioning), this.publishInteraction("editing")));
587
+ }, this.applyRepositioningStyle(e, !0), this.five.on("wantsGesture", this.preventFiveGestures), n ? this.enableGlobalPointerTracking(r) : (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)), this.repositioningState && (y("esc", this.cancelRepositioning), this.publishInteraction("editing")));
571
588
  });
572
589
  /**
573
590
  * Helper method to safely update polygon points while maintaining closure
@@ -578,23 +595,23 @@ class Ct extends z {
578
595
  n === 0 ? t[r] = t[0].clone() : n === r && (t[0] = t[r].clone());
579
596
  }
580
597
  if (e.points = t, i && this.repositioningState) {
581
- if (D.prototype.setPoints.call(e.line, t), n !== void 0 && e.line.pointMeshes) {
598
+ if (k.prototype.setPoints.call(e.line, t), n !== void 0 && e.line.pointMeshes) {
582
599
  const r = t[n];
583
600
  if (e.isPolygon && t.length > 3) {
584
- const a = t.length - 1;
601
+ const c = t.length - 1;
585
602
  if (n === 0) {
586
- const l = e.line.pointMeshes[0], s = e.line.pointMeshes[a];
603
+ const l = e.line.pointMeshes[0], s = e.line.pointMeshes[c];
587
604
  l && l.position.copy(r), s && s.position.copy(r);
588
- } else if (n === a) {
589
- const l = e.line.pointMeshes[0], s = e.line.pointMeshes[a];
605
+ } else if (n === c) {
606
+ const l = e.line.pointMeshes[0], s = e.line.pointMeshes[c];
590
607
  l && l.position.copy(r), s && s.position.copy(r);
591
608
  } else {
592
609
  const l = e.line.pointMeshes[n];
593
610
  l && l.position.copy(r);
594
611
  }
595
612
  } else {
596
- const a = e.line.pointMeshes[n];
597
- a && a.position.copy(r);
613
+ const c = e.line.pointMeshes[n];
614
+ c && c.position.copy(r);
598
615
  }
599
616
  }
600
617
  e.isPolygon && e.polygon.setPoints(t);
@@ -686,11 +703,11 @@ class Ct extends z {
686
703
  });
687
704
  }, r = (l) => {
688
705
  l.pointerId === e.pointerId && (l.type === "pointerup" ? this.confirmRepositioningOnDragEnd() : this.cancelRepositioning());
689
- }, a = (l) => {
706
+ }, c = (l) => {
690
707
  l.pointerId !== e.pointerId && this.cancelRepositioning();
691
708
  };
692
- document.addEventListener("pointermove", i, { capture: !0, passive: !1 }), document.addEventListener("pointerup", r, !0), document.addEventListener("pointercancel", r, !0), document.addEventListener("pointerdown", a, !0), n == null || n.addEventListener("lostpointercapture", this.cancelRepositioning), window.addEventListener("blur", this.cancelRepositioning), this.cleanupRepositioningListeners = () => {
693
- document.removeEventListener("pointermove", i, !0), document.removeEventListener("pointerup", r, !0), document.removeEventListener("pointercancel", r, !0), document.removeEventListener("pointerdown", a, !0), n == null || n.removeEventListener("lostpointercapture", this.cancelRepositioning), window.removeEventListener("blur", this.cancelRepositioning), n != null && n.hasPointerCapture(e.pointerId) && n.releasePointerCapture(e.pointerId);
709
+ document.addEventListener("pointermove", i, { capture: !0, passive: !1 }), document.addEventListener("pointerup", r, !0), document.addEventListener("pointercancel", r, !0), document.addEventListener("pointerdown", c, !0), n == null || n.addEventListener("lostpointercapture", this.cancelRepositioning), window.addEventListener("blur", this.cancelRepositioning), this.cleanupRepositioningListeners = () => {
710
+ document.removeEventListener("pointermove", i, !0), document.removeEventListener("pointerup", r, !0), document.removeEventListener("pointercancel", r, !0), document.removeEventListener("pointerdown", c, !0), n == null || n.removeEventListener("lostpointercapture", this.cancelRepositioning), window.removeEventListener("blur", this.cancelRepositioning), n != null && n.hasPointerCapture(e.pointerId) && n.releasePointerCapture(e.pointerId);
694
711
  }, n == null || n.setPointerCapture(e.pointerId);
695
712
  });
696
713
  /**
@@ -720,7 +737,7 @@ class Ct extends z {
720
737
  if (t)
721
738
  i.style.left = `${t.x}px`, i.style.top = `${t.y}px`, i.style.transform = "translate(-50%, -50%)";
722
739
  else {
723
- const a = e.getWorldPosition(new u.Vector3()).clone().project(this.five.camera), l = n.getBoundingClientRect(), s = (a.x + 1) * l.width / 2 + l.left, d = (-a.y + 1) * l.height / 2 + l.top;
740
+ const c = e.getWorldPosition(new u.Vector3()).clone().project(this.five.camera), l = n.getBoundingClientRect(), s = (c.x + 1) * l.width / 2 + l.left, d = (-c.y + 1) * l.height / 2 + l.top;
724
741
  i.style.left = `${s}px`, i.style.top = `${d}px`, i.style.transform = "translate(-50%, -50%)";
725
742
  }
726
743
  document.body.appendChild(i), this.longPressIndicator = i;
@@ -740,11 +757,11 @@ class Ct extends z {
740
757
  */
741
758
  o(this, "cleanupRepositioning", () => {
742
759
  var e;
743
- (e = this.cleanupRepositioningListeners) == null || e.call(this), this.cleanupRepositioningListeners = void 0, this.repositioningState && (this.repositioningState.isDragMode || (this.pointSelector.off("intersectionUpdate", this.onRepositioningMove), this.pointSelector.off("select", this.onRepositioningConfirm), this.pointSelector.off("disable", this.cancelRepositioning), this.pointSelector.disable())), this.five.off("wantsGesture", this.preventFiveGestures), m.unbind("esc", this.cancelRepositioning), this.repositioningState = null, this.five.needsRender = !0;
760
+ (e = this.cleanupRepositioningListeners) == null || e.call(this), this.cleanupRepositioningListeners = void 0, this.repositioningState && (this.repositioningState.isDragMode || (this.pointSelector.off("intersectionUpdate", this.onRepositioningMove), this.pointSelector.off("select", this.onRepositioningConfirm), this.pointSelector.off("disable", this.cancelRepositioning), this.pointSelector.disable())), this.five.off("wantsGesture", this.preventFiveGestures), y.unbind("esc", this.cancelRepositioning), this.repositioningState = null, this.five.needsRender = !0;
744
761
  });
745
762
  this.five = e;
746
763
  const n = { unit: "m", lengthEnable: !0, precision: 2 };
747
- this.config = t ? p(p({}, n), t) : n, this.group = new Y(), this.group.name = "MeasureGroup", this.group.__five__ = this.five, this.five.scene.add(this.group), this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), m("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
764
+ this.config = t ? p(p({}, n), t) : n, this.group = new $(), this.group.name = "MeasureGroup", this.group.__five__ = this.five, this.five.scene.add(this.group), this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), y("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
748
765
  }
749
766
  get interactionState() {
750
767
  var e, t;
@@ -756,22 +773,25 @@ class Ct extends z {
756
773
  };
757
774
  }
758
775
  get pointSelector() {
759
- return this._pointSelector ? this._pointSelector : (this._pointSelector = new O(this.five, { mode: "cursor", helper: { pointHelper: "highlight" }, skipPanorama: !0 }), this._pointSelector);
776
+ return this._pointSelector ? this._pointSelector : (this._pointSelector = this.createPointSelector(), this._pointSelector);
777
+ }
778
+ createPointSelector() {
779
+ return new N(this.five, { mode: "cursor", helper: { pointHelper: "highlight" }, skipPanorama: !0 });
760
780
  }
761
781
  get fiveDomEvents() {
762
- return this._fiveDomEvents ? this._fiveDomEvents : (this._fiveDomEvents = new G(this.five, { fiveModels: null }), this._fiveDomEvents);
782
+ return this._fiveDomEvents ? this._fiveDomEvents : (this._fiveDomEvents = new W(this.five, { fiveModels: null }), this._fiveDomEvents);
763
783
  }
764
784
  get cursor() {
765
- return this._cursor ? this._cursor : (this._cursor = new j(), this._cursor);
785
+ return this._cursor ? this._cursor : (this._cursor = new K(), this._cursor);
766
786
  }
767
787
  get config() {
768
788
  return this._config;
769
789
  }
770
790
  set config(e) {
771
791
  var t, n;
772
- 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), (n = (t = this.group) == null ? void 0 : t.children) == null || n.forEach((i) => i.changeConfig({ lineStyle: this.lineStyle, polygonStyle: this.polygonStyle }));
792
+ 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), (n = (t = this.group) == null ? void 0 : t.children) == null || n.filter(w).forEach((i) => i.changeConfig({ lineStyle: this.lineStyle, polygonStyle: this.polygonStyle }));
773
793
  }
774
794
  }
775
795
  export {
776
- Ct as MeasureController
796
+ _t as MeasureController
777
797
  };
@@ -3,6 +3,11 @@ import { IObject3D } from '../../shared-utils/three/IObject3D';
3
3
  import { LineWithDotsMesh } from '../../Sculpt/Meshes/LineWithDots';
4
4
  import { PolygonMesh, type PolygonStyle } from '../../Sculpt/Meshes/Polygon';
5
5
  import type { LineMeshStyle } from '../../Sculpt/typings';
6
+ /**
7
+ * 判断对象是否为测量结果。
8
+ * MeasureGroup 内除测量结果外还并存着预览用的临时对象(点 / 线 / 多边形),它们没有选中态等测量接口。
9
+ */
10
+ export declare function isMeasureMesh(item: unknown): item is MeasureMesh;
6
11
  export declare class MeasureMesh extends IObject3D {
7
12
  readonly name = "MeasureMesh";
8
13
  readonly isMeasureMesh = true;
@@ -1,6 +1,6 @@
1
1
  var m = Object.defineProperty;
2
- var s = (p, i, t) => i in p ? m(p, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : p[i] = t;
3
- var o = (p, i, t) => (s(p, typeof i != "symbol" ? i + "" : i, t), t);
2
+ var s = (i, o, t) => o in i ? m(i, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[o] = t;
3
+ var r = (i, o, t) => (s(i, typeof o != "symbol" ? o + "" : o, t), t);
4
4
  import { IObject3D as e } from "../../shared-utils/three/IObject3D.js";
5
5
  import { LineWithDotsMesh as h } from "../../Sculpt/Meshes/LineWithDots.js";
6
6
  import { PolygonMesh as l } from "../../Sculpt/Meshes/Polygon.js";
@@ -80,16 +80,19 @@ import "../../PanoMeasurePlugin/utils/isIntersecting.js";
80
80
  import "../../Sculpt/utils/three/ColoredMesh.js";
81
81
  import "../../shared-utils/three/geometryUtil.js";
82
82
  import "../../shared-utils/three/vectorIsEqual.js";
83
- class Ft extends e {
83
+ function Ft(i) {
84
+ return !!i && i.isMeasureMesh === !0;
85
+ }
86
+ class Gt extends e {
84
87
  constructor(t) {
85
88
  super();
86
- o(this, "name", "MeasureMesh");
87
- o(this, "isMeasureMesh", !0);
88
- o(this, "points", []);
89
- o(this, "isPolygon", !1);
90
- o(this, "selected", !1);
91
- o(this, "line");
92
- o(this, "polygon");
89
+ r(this, "name", "MeasureMesh");
90
+ r(this, "isMeasureMesh", !0);
91
+ r(this, "points", []);
92
+ r(this, "isPolygon", !1);
93
+ r(this, "selected", !1);
94
+ r(this, "line");
95
+ r(this, "polygon");
93
96
  this.line = new h(t == null ? void 0 : t.lineStyle), this.polygon = new l(t == null ? void 0 : t.polygonStyle), this.add(this.line);
94
97
  }
95
98
  changeConfig(t) {
@@ -97,8 +100,8 @@ class Ft extends e {
97
100
  }
98
101
  setPoints(t) {
99
102
  this.points = t, this.line.setPoints(this.points);
100
- const r = n(this.points);
101
- this.isPolygon = r, r && (this.addIfNotExists(this.polygon), this.polygon.setPoints(this.points));
103
+ const p = n(this.points);
104
+ this.isPolygon = p, p && (this.addIfNotExists(this.polygon), this.polygon.setPoints(this.points));
102
105
  }
103
106
  select() {
104
107
  this.highlight(3373055), this.selected = !0;
@@ -120,5 +123,6 @@ class Ft extends e {
120
123
  }
121
124
  }
122
125
  export {
123
- Ft as MeasureMesh
126
+ Gt as MeasureMesh,
127
+ Ft as isMeasureMesh
124
128
  };
@@ -0,0 +1,58 @@
1
+ import type { Five } from '@realsee/five';
2
+ import { MeasurePointSelector } from './PointSelector';
3
+ import { MeasureController } from '../MeasurePlugin/Controller';
4
+ import type { MeasurePluginConfig } from '../MeasurePlugin';
5
+ import { MeasureMagnifier } from './Magnifier';
6
+ import { type EdgeSnapOptions } from './edgeSnap';
7
+ /**
8
+ * 量尺插件 V2:把放大镜和场景里的小光标换成带「红 / 绿 / 蓝坐标轴 + 红色截面框」的版本。
9
+ *
10
+ * 复用 MeasureController 的测量流程,通过工厂创建独立的 V2 选点器,并替换两个渲染组件:
11
+ * - pointSelectorHelper.magnifier → MeasureMagnifier(多画一层叠加层)
12
+ * - pointSelectorHelper.pointHelper → MeasurePointHelperV2(同样的红 / 绿 / 蓝 + 截面框)
13
+ *
14
+ * 两个替换件都沿用原实例的全部参数(宽高、缩放、autoFixPCPosition、dragEnabled、挂载容器),
15
+ * 所以放大镜出现的位置、跟随方式、是否吃鼠标事件都和原插件一致,不会挡住在原本能选中的点位。
16
+ */
17
+ /** V2 配置:在原 MeasurePlugin 配置上增加模型边缘吸附 */
18
+ export type MeasurePluginV2Config = MeasurePluginConfig & {
19
+ /**
20
+ * @description 模型边缘吸附(试验能力):落点靠近模型边线时自动吸到边上。
21
+ * 传 `false` 可关闭;不传默认开启。
22
+ */
23
+ edgeSnap?: boolean | EdgeSnapOptions;
24
+ /**
25
+ * @description 双击快速测量(仅鼠标):双击起点时沿所在平面的法线测到对面,例如墙到对面墙。
26
+ * 传 `false` 可关闭;不传默认开启。
27
+ */
28
+ quickMeasure?: boolean;
29
+ };
30
+ export declare class MeasureControllerV2 extends MeasureController {
31
+ /** 最近一次查询到的候选边数量,示例页 / 调试用 */
32
+ lastEdgeSnapEdgeCount: number;
33
+ private v2Five;
34
+ private v2Magnifier?;
35
+ private v2Attached;
36
+ private readonly edgeSnapOptions;
37
+ private readonly edgeSnapCache;
38
+ private readonly quickMeasureEnabled;
39
+ private quickMeasure?;
40
+ constructor(five: Five, config?: MeasurePluginV2Config);
41
+ get edgeSnapEnabled(): boolean;
42
+ /** 运行时开关模型边缘吸附(不需要重开测量) */
43
+ setEdgeSnapEnabled(enabled: boolean): void;
44
+ /** V2 的放大镜实例;需要临时关掉叠加层做对比时,可以 magnifier.setOverlayEnabled(false) */
45
+ get magnifier(): MeasureMagnifier;
46
+ protected createPointSelector(): MeasurePointSelector;
47
+ get pointSelector(): MeasurePointSelector;
48
+ private attachOverlayRenderers;
49
+ private attachMagnifier;
50
+ private attachPointHelper;
51
+ /** 双击快速测量:只在测量过程中生效,选点链路仍由原 MeasureController 负责 */
52
+ private attachQuickMeasure;
53
+ /**
54
+ * 模型边缘吸附:每次选点器计算吸附前,按当前落点取附近的模型边界线。
55
+ * 真正的吸附判断(3D 距离 / 屏幕距离)仍在 PointSelector 里,这里只负责供线。
56
+ */
57
+ private attachEdgeSnap;
58
+ }