@realsee/dnalogel 3.81.22 → 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 (655) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/MeasurePlugin/Controller.d.ts +7 -0
  3. package/dist/MeasurePlugin/utils/MeasureMesh.d.ts +5 -0
  4. package/dist/MeasurePluginV2/Controller.d.ts +9 -0
  5. package/dist/MeasurePluginV2/Magnifier.d.ts +40 -2
  6. package/dist/MeasurePluginV2/PointOverlay.d.ts +5 -0
  7. package/dist/MeasurePluginV2/closeupView.d.ts +69 -0
  8. package/dist/MeasurePluginV2/normalMeasure.d.ts +116 -0
  9. package/dist/index.cjs.js +98 -98
  10. package/dist/index.js +7329 -6905
  11. package/dist/index.umd.js +91 -91
  12. package/dist/shared-utils/three/Magnifier.d.ts +73 -0
  13. package/docs/assets/highlight.css +21 -35
  14. package/docs/assets/navigation.js +1 -1
  15. package/docs/assets/search.js +1 -1
  16. package/docs/classes/AnimationScriptAdapterSafetyError.html +2 -2
  17. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +3 -3
  18. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +3 -3
  19. package/docs/classes/CSS3DRender.html +3 -3
  20. package/docs/classes/DigitalHuman.html +2 -2
  21. package/docs/classes/DigitalPerformanceV2.DigitalPerformanceNameplate.html +2 -2
  22. package/docs/classes/DigitalPerformanceV2.DigitalPerformanceV2PluginController.html +2 -2
  23. package/docs/classes/DigitalPlayground.html +2 -2
  24. package/docs/classes/DigitalStateMachine.html +2 -2
  25. package/docs/classes/FireControl.html +2 -2
  26. package/docs/classes/FireScenePlayer.html +2 -2
  27. package/docs/classes/GuideLineItem.GuideLineItem.html +2 -2
  28. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +2 -2
  29. package/docs/classes/MeasureV2.EdgeSnapCache.html +2 -2
  30. package/docs/classes/MeasureV2.MeasureControllerV2.html +16 -16
  31. package/docs/classes/MeasureV2.MeasureMagnifier.html +29 -12
  32. package/docs/classes/ModelMakerPluginInstance.html +7 -7
  33. package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +2 -2
  34. package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +2 -2
  35. package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +2 -2
  36. package/docs/classes/ModelRoomLabelController.html +2 -2
  37. package/docs/classes/MoveController.html +2 -2
  38. package/docs/classes/Object3DHelperController.html +2 -2
  39. package/docs/classes/PaintBrush.html +2 -2
  40. package/docs/classes/PanoMeasureControllerV2.html +2 -2
  41. package/docs/classes/PanoMeasurePluginLine.html +2 -2
  42. package/docs/classes/PanoMeasurePluginModel.html +2 -2
  43. package/docs/classes/PanoMeasurePluginPoint.html +2 -2
  44. package/docs/classes/PanoMeasurePluginPolyline.html +2 -2
  45. package/docs/classes/PanoTagPluginController.html +3 -3
  46. package/docs/classes/Sculpt.html +2 -2
  47. package/docs/classes/Util.BetterTween.html +2 -2
  48. package/docs/classes/Util.FiveDomEvents.html +2 -2
  49. package/docs/classes/Util.FivePuppet.html +5 -5
  50. package/docs/classes/Util.Interval.html +2 -2
  51. package/docs/classes/Util.LegacyPointHelper.html +2 -2
  52. package/docs/classes/Util.LightTag.html +6 -6
  53. package/docs/classes/Util.LineSegments.html +2 -2
  54. package/docs/classes/Util.Magnifier.html +20 -8
  55. package/docs/classes/Util.Object3D.html +2 -2
  56. package/docs/classes/Util.PointDomHelper.html +2 -2
  57. package/docs/classes/Util.PointHelper.html +2 -2
  58. package/docs/classes/Util.PointSelector.html +3 -3
  59. package/docs/classes/Util.PointSelectorHelper.html +2 -2
  60. package/docs/classes/Util.Rectangle.html +2 -2
  61. package/docs/classes/Util.sculpt.BaseEditor.html +2 -2
  62. package/docs/classes/Util.sculpt.BoxMesh.html +2 -2
  63. package/docs/classes/Util.sculpt.BoxMeshEditor.html +2 -2
  64. package/docs/classes/Util.sculpt.CircleMesh.html +2 -2
  65. package/docs/classes/Util.sculpt.CircleMeshEditor.html +2 -2
  66. package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +2 -2
  67. package/docs/classes/Util.sculpt.CylinderMesh.html +2 -2
  68. package/docs/classes/Util.sculpt.CylinderMeshEditor.html +2 -2
  69. package/docs/classes/Util.sculpt.LineMesh.html +2 -2
  70. package/docs/classes/Util.sculpt.PointMesh.html +2 -2
  71. package/docs/classes/Util.sculpt.PolygonMesh.html +2 -2
  72. package/docs/classes/Util.sculpt.PrismMesh.html +2 -2
  73. package/docs/classes/Util.sculpt.PrismMeshEditor.html +2 -2
  74. package/docs/classes/Util.sculpt.RectangleMesh.html +2 -2
  75. package/docs/classes/Util.sculpt.RectangleMeshEditor.html +2 -2
  76. package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +2 -2
  77. package/docs/classes/WalkController.html +2 -2
  78. package/docs/enums/CameraMovementEffect.html +2 -2
  79. package/docs/enums/ContentType.html +2 -2
  80. package/docs/enums/DIRECTION.html +2 -2
  81. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +2 -2
  82. package/docs/enums/DimensionType.html +2 -2
  83. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +2 -2
  84. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +2 -2
  85. package/docs/enums/PaintBrushTypeEnum.html +2 -2
  86. package/docs/enums/PointType.html +2 -2
  87. package/docs/enums/Rotation.html +2 -2
  88. package/docs/functions/AreaMakerPlugin.html +1 -1
  89. package/docs/functions/CSS3DRenderPlugin.html +1 -1
  90. package/docs/functions/CameraMovementPlugin.html +2 -2
  91. package/docs/functions/CruisePlugin.html +1 -1
  92. package/docs/functions/CurrentPanoImagePlugin.html +1 -1
  93. package/docs/functions/DigitalPerformancePlugin.html +1 -1
  94. package/docs/functions/DigitalPerformanceV2.DigitalPerformanceV2Plugin.html +1 -1
  95. package/docs/functions/DigitalPerformanceV2.normalizeDigitalPerformanceName.html +2 -2
  96. package/docs/functions/FloorplanGuidePlugin.html +1 -1
  97. package/docs/functions/GuideLinePlugin.html +1 -1
  98. package/docs/functions/ItemLabelPlugin.html +1 -1
  99. package/docs/functions/MapviewFloorplanPlugin.html +1 -1
  100. package/docs/functions/MeasurePlugin.html +1 -1
  101. package/docs/functions/MeasureV2.MeasurePluginV2.html +1 -1
  102. package/docs/functions/MeasureV2.collectNearbyEdges.html +2 -2
  103. package/docs/functions/MeasureV2.drawMeasureOverlay.html +2 -2
  104. package/docs/functions/MeasureV2.getWorldNormal.html +2 -2
  105. package/docs/functions/MeasureV2.validatePolygon.html +1 -1
  106. package/docs/functions/ModelChassisCompassPlugin.html +2 -2
  107. package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -2
  108. package/docs/functions/ModelFloorplanPlugin.html +1 -1
  109. package/docs/functions/ModelItemLabelPlugin.html +1 -1
  110. package/docs/functions/ModelMakerPlugin.html +1 -1
  111. package/docs/functions/ModelRoomLabelPlugin.html +1 -1
  112. package/docs/functions/ModelTVVideoPlugin.html +1 -1
  113. package/docs/functions/ModelViewPlugin.html +2 -2
  114. package/docs/functions/MovePlugin.html +1 -1
  115. package/docs/functions/Object3DHelperPlugin.html +1 -1
  116. package/docs/functions/PanoCompassPlugin.html +1 -1
  117. package/docs/functions/PanoCursorRaycasterPlugin.html +2 -2
  118. package/docs/functions/PanoDoorLabelPlugin.html +1 -1
  119. package/docs/functions/PanoFloorplanRadarPlugin.html +1 -1
  120. package/docs/functions/PanoMeasurePlugin.html +1 -1
  121. package/docs/functions/PanoMeasurePluginV2.html +1 -1
  122. package/docs/functions/PanoRulerPlugin.html +2 -2
  123. package/docs/functions/PanoRulerProPlugin.html +2 -2
  124. package/docs/functions/PanoSpatialTagPlugin.html +2 -2
  125. package/docs/functions/PanoTagPlugin.html +1 -1
  126. package/docs/functions/PanoVideoPlugin.html +2 -2
  127. package/docs/functions/PipelinePlugin.html +1 -1
  128. package/docs/functions/SculptPlugin.html +2 -2
  129. package/docs/functions/SculptPluginForFive.html +2 -2
  130. package/docs/functions/TopviewFloorplanPlugin.html +1 -1
  131. package/docs/functions/Util.awaitNextFrame.html +1 -1
  132. package/docs/functions/Util.blink.html +4 -4
  133. package/docs/functions/Util.blinkWithPreset.html +2 -2
  134. package/docs/functions/Util.bounding.html +1 -1
  135. package/docs/functions/Util.boundingBox.html +1 -1
  136. package/docs/functions/Util.boundingSphere.html +1 -1
  137. package/docs/functions/Util.boxVertex.html +2 -2
  138. package/docs/functions/Util.boxVertexes.html +1 -1
  139. package/docs/functions/Util.checkFiveModelLoaded.html +2 -2
  140. package/docs/functions/Util.cleanup.html +2 -2
  141. package/docs/functions/Util.convexHull.html +2 -2
  142. package/docs/functions/Util.equal.html +2 -2
  143. package/docs/functions/Util.fiveModelIsLoaded.html +2 -2
  144. package/docs/functions/Util.generatePolygonGeometry.html +2 -2
  145. package/docs/functions/Util.getCoordsFromClient.html +1 -1
  146. package/docs/functions/Util.getCoordsFromElement.html +1 -1
  147. package/docs/functions/Util.getFrameTime.html +2 -2
  148. package/docs/functions/Util.getGeometryArea.html +1 -1
  149. package/docs/functions/Util.getGeometryInfo.html +1 -1
  150. package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -1
  151. package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -1
  152. package/docs/functions/Util.initialCSS3DRender.html +1 -1
  153. package/docs/functions/Util.inside.html +1 -1
  154. package/docs/functions/Util.isModelLike.html +1 -1
  155. package/docs/functions/Util.isNil.html +2 -2
  156. package/docs/functions/Util.isPanoramaLike.html +1 -1
  157. package/docs/functions/Util.lookObject.html +2 -2
  158. package/docs/functions/Util.lookPoint.html +2 -2
  159. package/docs/functions/Util.nextFrame.html +1 -1
  160. package/docs/functions/Util.notNil.html +2 -2
  161. package/docs/functions/Util.reblink.html +4 -4
  162. package/docs/functions/Util.replaceStaticPrefix.html +2 -2
  163. package/docs/functions/Util.requestAnimationFrameInterval.html +2 -2
  164. package/docs/functions/Util.sculpt.createBox.html +1 -1
  165. package/docs/functions/Util.sculpt.createCircle.html +1 -1
  166. package/docs/functions/Util.sculpt.createCylinder.html +1 -1
  167. package/docs/functions/Util.sculpt.createLine.html +2 -2
  168. package/docs/functions/Util.sculpt.createPoint.html +1 -1
  169. package/docs/functions/Util.sculpt.createPolygon.html +1 -1
  170. package/docs/functions/Util.sculpt.createPrism.html +1 -1
  171. package/docs/functions/Util.sculpt.createRectangle.html +2 -2
  172. package/docs/functions/Util.sculpt.transformUnit.html +2 -2
  173. package/docs/functions/Util.sculpt.transformUnitSquare.html +1 -1
  174. package/docs/functions/Util.tag.html +1 -1
  175. package/docs/functions/Util.triangleArea.html +2 -2
  176. package/docs/functions/Util.triangleCenter.html +2 -2
  177. package/docs/functions/Util.tweenProgress.html +1 -1
  178. package/docs/functions/Util.uuid.html +2 -2
  179. package/docs/functions/Util.waitFiveModelLoaded.html +2 -2
  180. package/docs/functions/Util.worldBounding.html +1 -1
  181. package/docs/functions/Util.worldBoundingBox.html +1 -1
  182. package/docs/functions/Util.worldBoundingSphere.html +1 -1
  183. package/docs/functions/classifyMovementTrack.html +1 -1
  184. package/docs/functions/createPolyline.html +2 -2
  185. package/docs/functions/getAreaBox3.html +2 -2
  186. package/docs/functions/getAreaVertices.html +2 -2
  187. package/docs/functions/getEffectivePointActionDuration.html +1 -1
  188. package/docs/functions/getEntryArea.html +2 -2
  189. package/docs/functions/getMovementActionDuration.html +1 -1
  190. package/docs/functions/hasMovementV2Signal.html +1 -1
  191. package/docs/functions/isConverterSafeMovementMatrix.html +1 -1
  192. package/docs/functions/pluginFlag.html +1 -1
  193. package/docs/functions/transformAnimationDetailToDigitalScript.html +2 -2
  194. package/docs/functions/transformScriptData.html +2 -2
  195. package/docs/hierarchy.html +1 -1
  196. package/docs/index.html +6 -6
  197. package/docs/interfaces/AnimationScriptAdapterOptions.html +2 -2
  198. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +2 -2
  199. package/docs/interfaces/AreaMakerPluginType.Config.html +3 -3
  200. package/docs/interfaces/AreaMakerPluginType.EventMap.html +2 -2
  201. package/docs/interfaces/AreaMakerPluginType.Params.html +2 -2
  202. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +4 -4
  203. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +3 -3
  204. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +2 -2
  205. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +2 -2
  206. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +2 -2
  207. package/docs/interfaces/AreaMakerPluginType.State.html +2 -2
  208. package/docs/interfaces/BoxAnimationConfig.html +2 -2
  209. package/docs/interfaces/BoxPosition.html +2 -2
  210. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  211. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  212. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  213. package/docs/interfaces/ChapterLocation.html +2 -2
  214. package/docs/interfaces/ChapterTimeInfo.html +2 -2
  215. package/docs/interfaces/ContentTypeMapInterface.html +6 -6
  216. package/docs/interfaces/CruisePluginTypes.Config.html +2 -2
  217. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +2 -2
  218. package/docs/interfaces/CruisePluginTypes.EventMap.html +2 -2
  219. package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +2 -2
  220. package/docs/interfaces/CruisePluginTypes.MoveAction.html +2 -2
  221. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +2 -2
  222. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +2 -2
  223. package/docs/interfaces/CruisePluginTypes.PluginData.html +2 -2
  224. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -2
  225. package/docs/interfaces/CruisePluginTypes.PluginState.html +2 -2
  226. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +2 -2
  227. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +2 -2
  228. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +2 -2
  229. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +2 -2
  230. package/docs/interfaces/CurrentPanoImagePluginType.State.html +2 -2
  231. package/docs/interfaces/DigitalCameraKeyframe.html +2 -2
  232. package/docs/interfaces/DigitalCameraPlayer.html +2 -2
  233. package/docs/interfaces/DigitalCameraState.html +2 -2
  234. package/docs/interfaces/DigitalChapter.html +2 -2
  235. package/docs/interfaces/DigitalDataPlayer.html +2 -2
  236. package/docs/interfaces/DigitalDataState.html +2 -2
  237. package/docs/interfaces/DigitalEffectKeyframe.html +2 -2
  238. package/docs/interfaces/DigitalEffectState.html +2 -2
  239. package/docs/interfaces/DigitalItemKeyframe.html +2 -2
  240. package/docs/interfaces/DigitalItemState.html +2 -2
  241. package/docs/interfaces/DigitalModelKeyframe.html +2 -2
  242. package/docs/interfaces/DigitalModelPlayer.html +2 -2
  243. package/docs/interfaces/DigitalModelPlayerEffect.html +2 -2
  244. package/docs/interfaces/DigitalModelPlayerItem.html +2 -2
  245. package/docs/interfaces/DigitalModelState.html +2 -2
  246. package/docs/interfaces/DigitalPerformancePluginConfig.html +2 -2
  247. package/docs/interfaces/DigitalPerformanceV2.CameraState.html +2 -2
  248. package/docs/interfaces/DigitalPerformanceV2.DigitalCameraKeyframe.html +2 -2
  249. package/docs/interfaces/DigitalPerformanceV2.DigitalCameraPlayer.html +2 -2
  250. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceNameplateBinding.html +2 -2
  251. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceNameplateOptions.html +2 -2
  252. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceNameplateRenderContext.html +2 -2
  253. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceV2PluginConfig.html +2 -2
  254. package/docs/interfaces/DigitalPerformanceV2.GroupChapterTimeInfo.html +2 -2
  255. package/docs/interfaces/DigitalPerformanceV2.GroupProgress.html +2 -2
  256. package/docs/interfaces/DigitalPerformanceV2.V2Progress.html +2 -2
  257. package/docs/interfaces/DigitalScript.html +2 -2
  258. package/docs/interfaces/DigitalSubTitleKeyframe.html +2 -2
  259. package/docs/interfaces/DigitalSubTitlePlayer.html +2 -2
  260. package/docs/interfaces/DigitalSubTitleState.html +2 -2
  261. package/docs/interfaces/ExtendedAnimationConfig.html +2 -2
  262. package/docs/interfaces/FireArea.html +2 -2
  263. package/docs/interfaces/FireModel.html +2 -2
  264. package/docs/interfaces/FireSceneConfig.html +2 -2
  265. package/docs/interfaces/FireSequencePlayerOptions.html +2 -2
  266. package/docs/interfaces/FireSequenceStep.html +2 -2
  267. package/docs/interfaces/FireVector3.html +2 -2
  268. package/docs/interfaces/FloorplanBounding.html +2 -2
  269. package/docs/interfaces/FloorplanData.html +2 -2
  270. package/docs/interfaces/FloorplanEntrance.html +2 -2
  271. package/docs/interfaces/FloorplanExtraObject.html +2 -2
  272. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  273. package/docs/interfaces/FloorplanFloorData.html +2 -2
  274. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  275. package/docs/interfaces/FloorplanObserver.html +2 -2
  276. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  277. package/docs/interfaces/FloorplanPosition.html +2 -2
  278. package/docs/interfaces/FloorplanRoomItem.html +2 -2
  279. package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
  280. package/docs/interfaces/FloorplanServerBounding.html +2 -2
  281. package/docs/interfaces/FloorplanServerComputedData.html +2 -2
  282. package/docs/interfaces/FloorplanServerData.html +2 -2
  283. package/docs/interfaces/FloorplanServerDoorItem.html +2 -2
  284. package/docs/interfaces/FloorplanServerDoorPosition.html +2 -2
  285. package/docs/interfaces/FloorplanServerEntrance.html +2 -2
  286. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  287. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  288. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  289. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  290. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  291. package/docs/interfaces/FloorplanServerRoomItem.html +2 -2
  292. package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
  293. package/docs/interfaces/FloorplanServerStyledFloorplan.html +2 -2
  294. package/docs/interfaces/FloorplanServerStyledImage.html +2 -2
  295. package/docs/interfaces/GlobalProgress.html +2 -2
  296. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +2 -2
  297. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +2 -2
  298. package/docs/interfaces/GuideLinePluginType.EventMap.html +2 -2
  299. package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +2 -2
  300. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +2 -2
  301. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -2
  302. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +3 -3
  303. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +2 -2
  304. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +2 -2
  305. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +3 -3
  306. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +2 -2
  307. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +6 -6
  308. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -1
  309. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -2
  310. package/docs/interfaces/GuideLinePluginType.PluginState.html +2 -2
  311. package/docs/interfaces/GuideLinePluginType.Route.html +2 -2
  312. package/docs/interfaces/HelperOffset.html +2 -2
  313. package/docs/interfaces/ImagePlaneGroup.html +2 -2
  314. package/docs/interfaces/ItemLabelPluginData.html +2 -2
  315. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +2 -2
  316. package/docs/interfaces/ItemLabelPluginParametersType.html +2 -2
  317. package/docs/interfaces/LegacyScriptTransformer.html +2 -2
  318. package/docs/interfaces/MeasureV2.EdgeSnapOptions.html +2 -2
  319. package/docs/interfaces/MeasureV2.MagnifierViewport.html +7 -4
  320. package/docs/interfaces/MeasureV2.MeasureMagnifierOptions.html +20 -7
  321. package/docs/interfaces/MeasureV2.ResolvedEdgeSnapOptions.html +2 -2
  322. package/docs/interfaces/MinMax.html +2 -2
  323. package/docs/interfaces/ModelChassisCompassPluginData.html +2 -2
  324. package/docs/interfaces/ModelChassisCompassPluginExportType.html +2 -2
  325. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +2 -2
  326. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +2 -2
  327. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +2 -2
  328. package/docs/interfaces/ModelItemLabelPluginData.html +2 -2
  329. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +2 -2
  330. package/docs/interfaces/ModelItemLabelPluginParametersType.html +2 -2
  331. package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +2 -2
  332. package/docs/interfaces/ModelMakerPluginType.EventMap.html +2 -2
  333. package/docs/interfaces/ModelMakerPluginType.ModelMakerPluginConfig.html +4 -4
  334. package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +2 -2
  335. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +2 -2
  336. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +2 -2
  337. package/docs/interfaces/ModelMakerPluginType.ServerData.html +2 -2
  338. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +2 -2
  339. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +2 -2
  340. package/docs/interfaces/ModelMakerPluginType.State.html +2 -2
  341. package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +2 -2
  342. package/docs/interfaces/ModelRoomLabelPluginData.html +2 -2
  343. package/docs/interfaces/ModelTVVideoPluginData.html +2 -2
  344. package/docs/interfaces/ModelTVVideoPluginExportType.html +2 -2
  345. package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -2
  346. package/docs/interfaces/ModelViewPluginExportType.html +2 -2
  347. package/docs/interfaces/Object3DHelperState.html +2 -2
  348. package/docs/interfaces/ObjectHelperControllers.html +2 -2
  349. package/docs/interfaces/PaintBrushAction.html +2 -2
  350. package/docs/interfaces/PaintBrushConfigs.html +2 -2
  351. package/docs/interfaces/PaintBrushState.html +2 -2
  352. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +2 -2
  353. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  354. package/docs/interfaces/PanoMeasureParameterType.html +2 -2
  355. package/docs/interfaces/PanoMeasurePluginLineJson.html +2 -2
  356. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +2 -2
  357. package/docs/interfaces/PanoMeasurePluginPointJson.html +2 -2
  358. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +2 -2
  359. package/docs/interfaces/PanoMeasurePluginV2Data.html +2 -2
  360. package/docs/interfaces/PanoMeasurePluginV2ServerData.html +2 -2
  361. package/docs/interfaces/PanoRulerPluginExportType.html +2 -2
  362. package/docs/interfaces/PanoRulerPluginOptions.html +2 -2
  363. package/docs/interfaces/PanoRulerPluginParameterType.html +2 -2
  364. package/docs/interfaces/PanoRulerProPluginExportType.html +2 -2
  365. package/docs/interfaces/PanoRulerProPluginOptions.html +2 -2
  366. package/docs/interfaces/PanoRulerProPluginParameterType.html +2 -2
  367. package/docs/interfaces/PanoRulerProPluginState.html +2 -2
  368. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  369. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  370. package/docs/interfaces/PanoSpatialTagPluginData.html +2 -2
  371. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +2 -2
  372. package/docs/interfaces/PanoSpatialTagPluginExportType.html +2 -2
  373. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +2 -2
  374. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +2 -2
  375. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +2 -2
  376. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +2 -2
  377. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +2 -2
  378. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +2 -2
  379. package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -2
  380. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +2 -2
  381. package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -2
  382. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +2 -2
  383. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +2 -2
  384. package/docs/interfaces/PlaybackController.html +2 -2
  385. package/docs/interfaces/PlaybackManager.html +2 -2
  386. package/docs/interfaces/PlaybackSession.html +2 -2
  387. package/docs/interfaces/PluginEventMap.html +2 -2
  388. package/docs/interfaces/Point.html +2 -2
  389. package/docs/interfaces/ProgressBarEvents.html +2 -2
  390. package/docs/interfaces/Room.html +2 -2
  391. package/docs/interfaces/RoomInfo.html +2 -2
  392. package/docs/interfaces/RoomLabel.html +2 -2
  393. package/docs/interfaces/RoomRules.html +1 -1
  394. package/docs/interfaces/Rooms.html +1 -1
  395. package/docs/interfaces/Scissor.html +2 -2
  396. package/docs/interfaces/SculptConfig.html +5 -5
  397. package/docs/interfaces/State.html +2 -2
  398. package/docs/interfaces/StyledFloorplan.html +2 -2
  399. package/docs/interfaces/StyledFloorplanImage.html +2 -2
  400. package/docs/interfaces/StyledFloorplanRoomLabel.html +2 -2
  401. package/docs/interfaces/TagCacheInterface.html +2 -2
  402. package/docs/interfaces/TagConfig.html +33 -33
  403. package/docs/interfaces/TagGLTFObjectGroup.html +2 -2
  404. package/docs/interfaces/TagIconAnimationConfig.html +2 -2
  405. package/docs/interfaces/TagIconUrl.html +2 -2
  406. package/docs/interfaces/TagObjectGroup.html +2 -2
  407. package/docs/interfaces/TagState.html +2 -2
  408. package/docs/interfaces/TagStyle.html +2 -2
  409. package/docs/interfaces/Tags.html +2 -2
  410. package/docs/interfaces/TemporaryState.html +2 -2
  411. package/docs/interfaces/TraceManager.html +2 -2
  412. package/docs/interfaces/TracePoint.html +2 -2
  413. package/docs/interfaces/Util.AdaptiveReadWindowOptions.html +10 -0
  414. package/docs/interfaces/Util.AnimeInstance.html +2 -2
  415. package/docs/interfaces/Util.BlinkAnimeOptions.html +3 -3
  416. package/docs/interfaces/Util.EventHandlerConfig.html +5 -5
  417. package/docs/interfaces/Util.FiveDomEvent.html +2 -2
  418. package/docs/interfaces/Util.FiveDomEventMap.html +2 -2
  419. package/docs/interfaces/Util.LegacyMouseGroupParameter.html +2 -2
  420. package/docs/interfaces/Util.MagnifierParameter.html +15 -6
  421. package/docs/interfaces/Util.MouseGroupParameter.html +2 -2
  422. package/docs/interfaces/Util.ObjectInitialState.html +2 -2
  423. package/docs/interfaces/Util.PointIntersection.html +2 -2
  424. package/docs/interfaces/Util.PointSelectorHelperConfig.html +2 -2
  425. package/docs/interfaces/Util.ReBlinkAnimeOptions.html +4 -4
  426. package/docs/modules/AreaMakerPluginType.html +2 -2
  427. package/docs/modules/CruisePluginTypes.html +2 -2
  428. package/docs/modules/CurrentPanoImagePluginType.html +2 -2
  429. package/docs/modules/DigitalPerformanceV2.html +2 -2
  430. package/docs/modules/GuideLineItem.html +2 -2
  431. package/docs/modules/GuideLineModeItem.html +2 -2
  432. package/docs/modules/GuideLinePluginType.html +2 -2
  433. package/docs/modules/MeasureV2.html +2 -2
  434. package/docs/modules/ModelMakerPluginType.html +2 -2
  435. package/docs/modules/PanoVideoPluginType.html +2 -2
  436. package/docs/modules/SculptData.html +2 -2
  437. package/docs/modules/SculptType.html +2 -2
  438. package/docs/modules/Util.html +4 -3
  439. package/docs/modules/Util.sculpt.html +2 -2
  440. package/docs/modules.html +2 -2
  441. package/docs/types/AddObject3DHelperConfig.html +3 -3
  442. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +2 -2
  443. package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -1
  444. package/docs/types/AreaMakerPluginType.PluginData.html +2 -2
  445. package/docs/types/AreaMakerPluginType.ServerData.html +2 -2
  446. package/docs/types/ArrayPosition.html +1 -1
  447. package/docs/types/AudioAppearance.html +1 -1
  448. package/docs/types/BoxTag.html +2 -2
  449. package/docs/types/CSS3DRenderExportType.html +1 -1
  450. package/docs/types/CSS3DRenderPluginExportType.html +1 -1
  451. package/docs/types/CSS3DRenderPluginParameterType.html +1 -1
  452. package/docs/types/CanonicalMovementTrackPlan.html +1 -1
  453. package/docs/types/ClassFunctionParameters.html +1 -1
  454. package/docs/types/Color.html +1 -1
  455. package/docs/types/ContentTypeConfigKey.html +1 -1
  456. package/docs/types/ContentTypeConfigKeySplit.html +1 -1
  457. package/docs/types/ContentTypeMap.html +1 -1
  458. package/docs/types/Create3DDomContainerReturnType.html +1 -1
  459. package/docs/types/Create3DElementReturnType.html +1 -1
  460. package/docs/types/CruisePluginExportType.html +1 -1
  461. package/docs/types/CruisePluginTypes.CruiseData.html +2 -2
  462. package/docs/types/CruisePluginTypes.MoveEffect.html +1 -1
  463. package/docs/types/CurrentPanoImagePluginExportType.html +1 -1
  464. package/docs/types/DeprecatedMediaPlaneProperty.html +2 -2
  465. package/docs/types/DeprecatedTagProperty.html +2 -2
  466. package/docs/types/DigitalPerformancePluginExportInterface.html +1 -1
  467. package/docs/types/DigitalPerformancePluginParamsInterface.html +1 -1
  468. package/docs/types/DigitalPerformanceV2.CameraCoordinateSpace.html +2 -2
  469. package/docs/types/DigitalPerformanceV2.CameraTransition.html +2 -2
  470. package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginExportInterface.html +1 -1
  471. package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginParamsInterface.html +1 -1
  472. package/docs/types/DigitalPerformanceV2.V2ProgressListener.html +1 -1
  473. package/docs/types/Direction-1.html +1 -1
  474. package/docs/types/Direction4.html +1 -1
  475. package/docs/types/ElementRenderer.html +2 -2
  476. package/docs/types/FireModelType.html +2 -2
  477. package/docs/types/FireSequenceKind.html +2 -2
  478. package/docs/types/FireSpreadBounds.html +2 -2
  479. package/docs/types/FloorplanAffineTransform.html +1 -1
  480. package/docs/types/FloorplanGuidePluginParameterType.html +1 -1
  481. package/docs/types/FloorplanGuidePluginReturnType.html +1 -1
  482. package/docs/types/FloorplanRuleLabels.html +2 -2
  483. package/docs/types/FloorplanServerAffineTransform.html +1 -1
  484. package/docs/types/FloorplanServerRuleLabels.html +1 -1
  485. package/docs/types/GuideLinePluginExportType.html +1 -1
  486. package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -2
  487. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -1
  488. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -1
  489. package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -2
  490. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -2
  491. package/docs/types/GuideLinePluginType.PathItem.html +2 -2
  492. package/docs/types/GuideLinePluginType.PluginData.html +2 -2
  493. package/docs/types/GuideLinePluginType.RouteConfig.html +2 -2
  494. package/docs/types/HelperEventMap.html +1 -1
  495. package/docs/types/InternalHelperEventMap.html +1 -1
  496. package/docs/types/KeyframeType.html +1 -1
  497. package/docs/types/MapviewFloorplanPluginParameterType.html +1 -1
  498. package/docs/types/MapviewFloorplanPluginReturnType.html +1 -1
  499. package/docs/types/MaskPosition.html +2 -2
  500. package/docs/types/MaskTag.html +2 -2
  501. package/docs/types/MeasureInteractionState.html +2 -2
  502. package/docs/types/MeasureV2.MeasureControllerV2Interface.html +1 -1
  503. package/docs/types/MeasureV2.MeasureEndReason.html +1 -1
  504. package/docs/types/MeasureV2.MeasurePluginConfig.html +3 -3
  505. package/docs/types/MeasureV2.MeasurePluginEventMap.html +1 -1
  506. package/docs/types/MeasureV2.MeasurePluginV2Config.html +4 -2
  507. package/docs/types/MeasureV2.MeasurePluginV2ParamsInterface.html +1 -1
  508. package/docs/types/MediaData.html +2 -2
  509. package/docs/types/MediaOperations.html +1 -1
  510. package/docs/types/MediaStore.html +1 -1
  511. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -1
  512. package/docs/types/ModelFloorplanPluginParameterType.html +1 -1
  513. package/docs/types/ModelFloorplanPluginReturnType.html +1 -1
  514. package/docs/types/ModelId.html +1 -1
  515. package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -1
  516. package/docs/types/ModelMakerPluginType.ItemType.html +2 -2
  517. package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -1
  518. package/docs/types/ModelMakerPluginType.ServerItem.html +2 -2
  519. package/docs/types/ModelMakerPluginType.TagOcclusionScope.html +2 -2
  520. package/docs/types/ModelMakerPluginType.TagOcclusionScopeConfig.html +2 -2
  521. package/docs/types/ModelRoomLabelPluginParameters.html +1 -1
  522. package/docs/types/ModelRoomLabelPluginReturnType.html +1 -1
  523. package/docs/types/MoveArgs.html +2 -2
  524. package/docs/types/MoveOpts.html +2 -2
  525. package/docs/types/MovementConfig.html +1 -1
  526. package/docs/types/MovementPosition.html +1 -1
  527. package/docs/types/MovementTrackClassification.html +1 -1
  528. package/docs/types/MovementTrackConflictReason.html +1 -1
  529. package/docs/types/MovementTrackProjection.html +1 -1
  530. package/docs/types/Object3DHelperEventMap.html +1 -1
  531. package/docs/types/ObjectFit.html +1 -1
  532. package/docs/types/PaintBrushEventMap.html +1 -1
  533. package/docs/types/PanoCompassPluginData.html +1 -1
  534. package/docs/types/PanoCompassPluginExportType.html +1 -1
  535. package/docs/types/PanoCompassPluginParameterType.html +1 -1
  536. package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -1
  537. package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -1
  538. package/docs/types/PanoIndex.html +1 -1
  539. package/docs/types/PanoMeasurePluginEvent.html +1 -1
  540. package/docs/types/PanoMeasurePluginV2Config.html +1 -1
  541. package/docs/types/PanoMeasurePluginV2Instance.html +1 -1
  542. package/docs/types/PanoMeasureReturnType.html +1 -1
  543. package/docs/types/PanoSpatialTagPluginId.html +1 -1
  544. package/docs/types/PanoTagPluginExportInterface.html +1 -1
  545. package/docs/types/PanoTagPluginParamsInterface.html +1 -1
  546. package/docs/types/PanoVideoPluginParameterType.html +1 -1
  547. package/docs/types/PanoVideoPluginReturnType.html +1 -1
  548. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -2
  549. package/docs/types/PipelinePluginParameterType.html +1 -1
  550. package/docs/types/PipelinePluginReturnType.html +1 -1
  551. package/docs/types/PlaneTag.html +2 -2
  552. package/docs/types/Point2DTag.html +2 -2
  553. package/docs/types/Point3DTag.html +2 -2
  554. package/docs/types/PointAction.html +1 -1
  555. package/docs/types/PointTagInstance.html +1 -1
  556. package/docs/types/PolygonPosition.html +2 -2
  557. package/docs/types/PolygonTag.html +2 -2
  558. package/docs/types/Position.html +1 -1
  559. package/docs/types/PositionFrom.html +1 -1
  560. package/docs/types/ProgressListener.html +1 -1
  561. package/docs/types/RotateArgs.html +2 -2
  562. package/docs/types/RotateOpts.html +2 -2
  563. package/docs/types/RuleLabelsKey.html +1 -1
  564. package/docs/types/RuleLabelsValue.html +1 -1
  565. package/docs/types/ScaleCallback.html +1 -1
  566. package/docs/types/ScalePosition.html +2 -2
  567. package/docs/types/SculptData.BoxData.html +1 -1
  568. package/docs/types/SculptData.CircleData.html +1 -1
  569. package/docs/types/SculptData.CylinderData.html +1 -1
  570. package/docs/types/SculptData.PointData.html +1 -1
  571. package/docs/types/SculptData.PolygonData.html +1 -1
  572. package/docs/types/SculptData.PolylineData.html +1 -1
  573. package/docs/types/SculptData.PrismData.html +1 -1
  574. package/docs/types/SculptData.RectangleData.html +1 -1
  575. package/docs/types/SculptType.Theme.html +2 -2
  576. package/docs/types/StateType.html +1 -1
  577. package/docs/types/StickType.html +1 -1
  578. package/docs/types/Tag.html +3 -3
  579. package/docs/types/Tag2D.html +2 -2
  580. package/docs/types/Tag3D.html +2 -2
  581. package/docs/types/TagClickParams.html +1 -1
  582. package/docs/types/TagConfigByKey.html +1 -1
  583. package/docs/types/TagContentType.html +1 -1
  584. package/docs/types/TagContentTypeMapping.html +1 -1
  585. package/docs/types/TagDimensionType.html +1 -1
  586. package/docs/types/TagElement.html +2 -2
  587. package/docs/types/TagEvents.html +1 -1
  588. package/docs/types/TagGLTFObject.html +1 -1
  589. package/docs/types/TagHooks.html +1 -1
  590. package/docs/types/TagId.html +1 -1
  591. package/docs/types/TagInstance.html +1 -1
  592. package/docs/types/TagPlacement.html +3 -3
  593. package/docs/types/TagPointType.html +2 -2
  594. package/docs/types/TagRendererMap.html +1 -1
  595. package/docs/types/TopviewFloorplanPluginParameterType.html +1 -1
  596. package/docs/types/TopviewFloorplanPluginReturnType.html +1 -1
  597. package/docs/types/TrackPoint.html +1 -1
  598. package/docs/types/Util.ActionIfNoIntersection.html +1 -1
  599. package/docs/types/Util.AdherePoint.html +2 -2
  600. package/docs/types/Util.PointSelectorConfig.html +1 -1
  601. package/docs/types/Util.SupportedTarget.html +2 -2
  602. package/docs/types/Util.Target.html +2 -2
  603. package/docs/types/Util.ThreeObject.html +2 -2
  604. package/docs/types/WorkCode.html +1 -1
  605. package/docs/variables/DigitalPerformanceV2.DEFAULT_DIGITAL_PERFORMANCE_NAME_MAX_LENGTH.html +1 -1
  606. package/docs/variables/FIRE_ACTION_DURATION_MS.html +2 -2
  607. package/docs/variables/FIRE_SPREAD_SPEED.html +2 -2
  608. package/docs/variables/FLOOR_TYPE_MAP.html +2 -2
  609. package/docs/variables/MODEL_SCALE_RANGE.html +2 -2
  610. package/docs/variables/MOVEMENT_OCCURRENCE_EPSILON.html +1 -1
  611. package/docs/variables/MOVEMENT_POSITION_EPSILON.html +1 -1
  612. package/docs/variables/MOVEMENT_SCHEMA_VERSION.html +1 -1
  613. package/docs/variables/MeasureV2.DEFAULT_EDGE_SNAP_OPTIONS.html +1 -1
  614. package/docs/variables/MeasureV2.OVERLAY_STYLE.html +2 -2
  615. package/docs/variables/PLUGIN.html +1 -1
  616. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -2
  617. package/docs/variables/ROOM_TYPE_MAP.html +2 -2
  618. package/docs/variables/Util.ANIME_PRESETS.html +2 -2
  619. package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +2 -2
  620. package/docs/variables/Util.DEFAULT_ANIME_CONFIG.html +2 -2
  621. package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +2 -2
  622. package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +2 -2
  623. package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +2 -2
  624. package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +2 -2
  625. package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +2 -2
  626. package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +2 -2
  627. package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +2 -2
  628. package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +2 -2
  629. package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +2 -2
  630. package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +2 -2
  631. package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +2 -2
  632. package/docs/variables/defaultGlobalConfig.html +1 -1
  633. package/docs/variables/itemLabelPluginServerParams.html +1 -1
  634. package/docs/variables/modelItemLabelPluginServerParams.html +1 -1
  635. package/docs/variables/modelRoomLabelPluginServerParams.html +1 -1
  636. package/libs/MeasurePlugin/Controller.d.ts +7 -0
  637. package/libs/MeasurePlugin/Controller.js +127 -110
  638. package/libs/MeasurePlugin/utils/MeasureMesh.d.ts +5 -0
  639. package/libs/MeasurePlugin/utils/MeasureMesh.js +17 -13
  640. package/libs/MeasurePluginV2/Controller.d.ts +9 -0
  641. package/libs/MeasurePluginV2/Controller.js +88 -54
  642. package/libs/MeasurePluginV2/Magnifier.d.ts +40 -2
  643. package/libs/MeasurePluginV2/Magnifier.js +119 -40
  644. package/libs/MeasurePluginV2/PointOverlay.d.ts +5 -0
  645. package/libs/MeasurePluginV2/PointOverlay.js +107 -85
  646. package/libs/MeasurePluginV2/closeupView.d.ts +69 -0
  647. package/libs/MeasurePluginV2/closeupView.js +52 -0
  648. package/libs/MeasurePluginV2/normalMeasure.d.ts +116 -0
  649. package/libs/MeasurePluginV2/normalMeasure.js +110 -0
  650. package/libs/base/BasePlugin.js +1 -1
  651. package/libs/index.js +198 -196
  652. package/libs/shared-utils/logger.js +1 -1
  653. package/libs/shared-utils/three/Magnifier.d.ts +73 -0
  654. package/libs/shared-utils/three/Magnifier.js +215 -94
  655. package/package.json +1 -1
@@ -1,91 +1,125 @@
1
- var l = Object.defineProperty, g = Object.defineProperties;
2
- var c = Object.getOwnPropertyDescriptors;
3
- var h = Object.getOwnPropertySymbols;
4
- var u = Object.prototype.hasOwnProperty, m = Object.prototype.propertyIsEnumerable;
5
- var s = (r, a, e) => a in r ? l(r, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[a] = e, o = (r, a) => {
6
- for (var e in a || (a = {}))
7
- u.call(a, e) && s(r, e, a[e]);
8
- if (h)
9
- for (var e of h(a))
10
- m.call(a, e) && s(r, e, a[e]);
1
+ var l = Object.defineProperty, c = Object.defineProperties;
2
+ var g = Object.getOwnPropertyDescriptors;
3
+ var d = Object.getOwnPropertySymbols;
4
+ var m = Object.prototype.hasOwnProperty, M = Object.prototype.propertyIsEnumerable;
5
+ var o = (r, a, t) => a in r ? l(r, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[a] = t, u = (r, a) => {
6
+ for (var t in a || (a = {}))
7
+ m.call(a, t) && o(r, t, a[t]);
8
+ if (d)
9
+ for (var t of d(a))
10
+ M.call(a, t) && o(r, t, a[t]);
11
11
  return r;
12
- }, d = (r, a) => g(r, c(a));
13
- var n = (r, a, e) => (s(r, typeof a != "symbol" ? a + "" : a, e), e);
14
- import { MeasurePointSelector as S } from "./PointSelector.js";
15
- import { MeasureController as v } from "../MeasurePlugin/Controller.js";
16
- import { isTouchDevice as f } from "../shared-utils/isTouchDevice.js";
12
+ }, p = (r, a) => c(r, g(a));
13
+ var s = (r, a, t) => (o(r, typeof a != "symbol" ? a + "" : a, t), t);
14
+ import { MeasurePointSelector as v } from "./PointSelector.js";
15
+ import { MeasureController as f } from "../MeasurePlugin/Controller.js";
16
+ import { isTouchDevice as S } from "../shared-utils/isTouchDevice.js";
17
17
  import { MeasureMagnifier as E } from "./Magnifier.js";
18
- import { MeasurePointHelperV2 as C } from "./PointHelper.js";
19
- import { EdgeSnapCache as M, resolveEdgeSnapOptions as P } from "./edgeSnap.js";
20
- class A extends v {
21
- constructor(e, t) {
22
- super(e, t);
18
+ import { MeasurePointHelperV2 as P } from "./PointHelper.js";
19
+ import { EdgeSnapCache as k, resolveEdgeSnapOptions as w } from "./edgeSnap.js";
20
+ import { QuickNormalMeasure as C } from "./normalMeasure.js";
21
+ function F() {
22
+ return typeof window == "undefined" ? 1 : Math.min(2, Math.max(1, Math.ceil(window.devicePixelRatio || 1)));
23
+ }
24
+ class D extends f {
25
+ constructor(t, e) {
26
+ super(t, e);
23
27
  /** 最近一次查询到的候选边数量,示例页 / 调试用 */
24
- n(this, "lastEdgeSnapEdgeCount", 0);
25
- n(this, "v2Five");
26
- n(this, "v2Magnifier");
27
- n(this, "v2Attached", !1);
28
- n(this, "edgeSnapOptions");
29
- n(this, "edgeSnapCache", new M());
30
- this.v2Five = e, this.edgeSnapOptions = P(t == null ? void 0 : t.edgeSnap);
28
+ s(this, "lastEdgeSnapEdgeCount", 0);
29
+ s(this, "v2Five");
30
+ s(this, "v2Magnifier");
31
+ s(this, "v2Attached", !1);
32
+ s(this, "edgeSnapOptions");
33
+ s(this, "edgeSnapCache", new k());
34
+ s(this, "quickMeasureEnabled");
35
+ s(this, "quickMeasure");
36
+ this.v2Five = t, this.edgeSnapOptions = w(e == null ? void 0 : e.edgeSnap), this.quickMeasureEnabled = (e == null ? void 0 : e.quickMeasure) !== !1;
31
37
  const i = this.measure;
32
38
  this.measure = () => {
33
- this.edgeSnapCache.clear(), this.lastEdgeSnapEdgeCount = 0, this.pointSelector.clearDynamicAdhereLine(), i();
39
+ var h;
40
+ this.edgeSnapCache.clear(), this.lastEdgeSnapEdgeCount = 0, this.pointSelector.clearDynamicAdhereLine(), (h = this.quickMeasure) == null || h.reset(), i();
41
+ };
42
+ const n = this.dispose;
43
+ this.dispose = () => {
44
+ var h;
45
+ this.v2Attached && ((h = this.quickMeasure) == null || h.detach(this.pointSelector)), this.quickMeasure = void 0, n();
34
46
  };
35
47
  }
36
48
  get edgeSnapEnabled() {
37
49
  return this.edgeSnapOptions.enabled;
38
50
  }
39
51
  /** 运行时开关模型边缘吸附(不需要重开测量) */
40
- setEdgeSnapEnabled(e) {
41
- this.edgeSnapOptions.enabled = e, this.edgeSnapCache.clear(), this.lastEdgeSnapEdgeCount = 0, this.pointSelector.clearDynamicAdhereLine(), this.pointSelector.refresh(), this.v2Five.needsRender = !0;
52
+ setEdgeSnapEnabled(t) {
53
+ this.edgeSnapOptions.enabled = t, this.edgeSnapCache.clear(), this.lastEdgeSnapEdgeCount = 0, this.pointSelector.clearDynamicAdhereLine(), this.pointSelector.refresh(), this.v2Five.needsRender = !0;
42
54
  }
43
55
  /** V2 的放大镜实例;需要临时关掉叠加层做对比时,可以 magnifier.setOverlayEnabled(false) */
44
56
  get magnifier() {
45
57
  return this.v2Magnifier;
46
58
  }
47
59
  createPointSelector() {
48
- return new S(this.v2Five, { mode: "cursor", helper: o({ pointHelper: "highlight" }, f ? { magnifierParams: { width: 150, height: 150, dragEnabled: !1, autoFixPCPosition: !1, initialPosition: { left: "12px", top: "12px" } } } : {}), skipPanorama: !0 });
60
+ return new v(this.v2Five, { mode: "cursor", helper: u({ pointHelper: "highlight" }, S ? { magnifierParams: { width: 150, height: 150, dragEnabled: !1, autoFixPCPosition: !1, initialPosition: { left: "12px", top: "12px" } } } : {}), skipPanorama: !1 });
49
61
  }
50
62
  get pointSelector() {
51
- const e = super.pointSelector;
52
- return this.v2Attached || (this.v2Attached = !0, this.attachOverlayRenderers(e)), e;
63
+ const t = super.pointSelector;
64
+ return this.v2Attached || (this.v2Attached = !0, this.attachOverlayRenderers(t)), t;
53
65
  }
54
- attachOverlayRenderers(e) {
55
- const t = e.pointSelectorHelper;
56
- this.attachMagnifier(t), this.attachPointHelper(t), this.attachEdgeSnap(e), e.on("intersectionUpdate", (i) => {
57
- var p;
58
- (p = this.v2Magnifier) == null || p.setIntersection(i != null ? i : null);
66
+ attachOverlayRenderers(t) {
67
+ const e = t.pointSelectorHelper;
68
+ this.attachMagnifier(e), this.attachPointHelper(e), this.attachEdgeSnap(t), this.attachQuickMeasure(t), t.on("intersectionUpdate", (i) => {
69
+ var n;
70
+ (n = this.v2Magnifier) == null || n.setIntersection(i != null ? i : null);
59
71
  });
60
72
  }
61
- attachMagnifier(e) {
62
- const t = e.magnifier;
63
- if (!t)
73
+ attachMagnifier(t) {
74
+ const e = t.magnifier;
75
+ if (!e)
64
76
  return;
65
- const i = new E(this.v2Five, d(o({}, t.config), {
66
- width: t.width,
67
- height: t.height,
68
- scale: t.scale
77
+ const i = new E(this.v2Five, p(u({}, e.config), {
78
+ width: e.width,
79
+ height: e.height,
80
+ scale: e.scale,
81
+ // 这两项是 V2 的新默认:按设备像素读回 + 只旋转的近景视角
82
+ readPixelsPixelRatio: F(),
83
+ closeupMode: "rotate",
84
+ // 远点自动提高光学倍率,放大镜里看到的物体大小基本恒定
85
+ adaptiveReadWindow: !0
69
86
  }));
70
- t.containerDom && i.appendTo(t.containerDom), t.state.enabled && i.enable(), e.magnifier = i, t.dispose(), this.v2Magnifier = i;
87
+ e.containerDom && i.appendTo(e.containerDom), e.state.enabled && i.enable(), t.magnifier = i, e.dispose(), this.v2Magnifier = i;
88
+ }
89
+ attachPointHelper(t) {
90
+ const e = t.pointHelper, i = new P(this.v2Five);
91
+ t.pointHelper = i, e == null || e.dispose(), e != null && e.parent && e.parent.remove(e);
71
92
  }
72
- attachPointHelper(e) {
73
- const t = e.pointHelper, i = new C(this.v2Five);
74
- e.pointHelper = i, t == null || t.dispose(), t != null && t.parent && t.parent.remove(t);
93
+ /** 双击快速测量:只在测量过程中生效,选点链路仍由原 MeasureController 负责 */
94
+ attachQuickMeasure(t) {
95
+ this.quickMeasureEnabled && (this.quickMeasure = new C({
96
+ getCamera: () => this.v2Five.camera,
97
+ getElement: () => this.v2Five.getElement(),
98
+ raycast: (e) => this.v2Five.model.intersectRaycaster(e),
99
+ getMeasuringPoints: () => {
100
+ var e, i;
101
+ return (i = (e = this.currentMeasureMesh) == null ? void 0 : e.points) != null ? i : null;
102
+ },
103
+ finish: (e, i) => {
104
+ const n = this.currentMeasureMesh;
105
+ return n ? (n.setPoints([e, i]), this.continueMeasureFrom ? (this.continueMeasureFrom(i), !0) : (this.endMeasure(), !1)) : !1;
106
+ },
107
+ cancelStart: () => this.undo()
108
+ }), this.quickMeasure.attach(t));
75
109
  }
76
110
  /**
77
111
  * 模型边缘吸附:每次选点器计算吸附前,按当前落点取附近的模型边界线。
78
112
  * 真正的吸附判断(3D 距离 / 屏幕距离)仍在 PointSelector 里,这里只负责供线。
79
113
  */
80
- attachEdgeSnap(e) {
81
- e.adhereLineProvider = ({ intersection: t }) => {
82
- if (!(t != null && t.point))
114
+ attachEdgeSnap(t) {
115
+ t.adhereLineProvider = ({ intersection: e }) => {
116
+ if (!(e != null && e.point))
83
117
  return [];
84
- const i = this.edgeSnapCache.query(this.v2Five.model, t.point, this.edgeSnapOptions);
118
+ const i = this.edgeSnapCache.query(this.v2Five.model, e.point, this.edgeSnapOptions);
85
119
  return this.lastEdgeSnapEdgeCount = i.length, i;
86
120
  };
87
121
  }
88
122
  }
89
123
  export {
90
- A as MeasureControllerV2
124
+ D as MeasureControllerV2
91
125
  };
@@ -1,8 +1,22 @@
1
1
  import type { Five } from '@realsee/five';
2
+ import * as THREE from 'three';
2
3
  import { Magnifier, type MagnifierParameter, type PointIntersection } from '../shared-utils';
4
+ export { CLOSEUP_DISTANCE } from './closeupView';
5
+ /** 近景取景方式 */
6
+ export type MeasureCloseupMode =
7
+ /** 只旋转、不平移:与主视图共用机位,无新增视差;默认 */
8
+ 'rotate'
9
+ /** 旧行为:把相机推到落点附近 0.6m,再朝法线偏转;放大倍率高,但会产生视差 */
10
+ | 'push'
11
+ /** 完全沿用主相机,只放大局部像素 */
12
+ | 'off';
3
13
  export interface MeasureMagnifierOptions extends MagnifierParameter {
4
14
  /** 是否绘制坐标轴 / 平面框叠加层,默认 true(关掉后行为与现状 Magnifier 完全一致) */
5
15
  overlayEnabled?: boolean;
16
+ /** 兼容旧参数:false 等价于 closeupMode='off' */
17
+ closeupEnabled?: boolean;
18
+ /** 近景取景方式,默认 'rotate' */
19
+ closeupMode?: MeasureCloseupMode;
6
20
  }
7
21
  /**
8
22
  * 量尺 V2 用的放大镜。
@@ -18,19 +32,43 @@ export declare class MeasureMagnifier extends Magnifier {
18
32
  /** 由 PointSelector 的 intersectionUpdate 事件注入 */
19
33
  private overlayIntersection;
20
34
  private overlayEnabled;
35
+ private closeupMode;
36
+ /** 本次渲染实际使用的相机(推近后的副本),叠加层投影必须和它一致 */
37
+ private overlayCamera;
38
+ /** 本次放大镜渲染的落点;相机取向以它为准,避免和交点数据错帧 */
39
+ private renderPoint;
40
+ /** 近景视角的平滑状态 */
41
+ private closeupState;
21
42
  constructor(five: Five, options?: MeasureMagnifierOptions);
43
+ renderWithPoint(point: THREE.Vector3): void;
22
44
  /** 每次交点更新时调用;传 null 表示当前没有命中任何模型 */
23
45
  setIntersection(intersection: PointIntersection | null): void;
24
46
  /** 开关叠加层,用于灰度 / 排查问题 */
25
47
  setOverlayEnabled(enabled: boolean): void;
48
+ /** 开关近景 3D 视角,用于灰度 / 对比;开启时使用默认的 rotate 模式 */
49
+ setCloseupEnabled(enabled: boolean): void;
50
+ /** 切换近景取景方式,用于三种模式的对比 */
51
+ setCloseupMode(mode: MeasureCloseupMode): void;
52
+ getCloseupMode(): MeasureCloseupMode;
26
53
  render(): void;
27
54
  private renderOverlay;
55
+ /**
56
+ * 近景 3D 视角:读像素前调整相机取向,让视线朝落点所在表面的法线偏一点
57
+ * (斜向 / 侧向的表面在放大镜里以更接近正面的角度呈现),读完立即还原。
58
+ *
59
+ * 两种模式:
60
+ * - rotate(默认):只旋转、不平移。与主视图共用同一机位,不产生视差,全景 / 模型都按同一视点采样;
61
+ * - push(旧行为):把相机推到落点附近 0.6m,放大倍率更高,但会产生视差和近距透视形变。
62
+ *
63
+ * 姿态由主相机绕落点做最小旋转得到:偏转角有上限、画面不翻滚。
64
+ */
65
+ private moveCameraCloseup;
66
+ /** 只记录投影要用的矩阵;Five 的相机 clone() 开销大,也不保证可用 */
67
+ private snapshotOverlayCamera;
28
68
  private getOverlayContext;
29
69
  /**
30
70
  * 还原 Magnifier.render() 内部的取值,用来把世界坐标映射到放大镜 canvas 坐标。
31
71
  * 这些换算必须和父类保持一致,父类改动时需要同步。
32
72
  */
33
73
  private getOverlayViewport;
34
- /** 父类的 scale 是 private,只能这样读;它是真值来源,避免自己再维护一份副本 */
35
- private getMagnifierScale;
36
74
  }
@@ -1,9 +1,9 @@
1
1
  var m = Object.defineProperty;
2
- var u = (a, t, e) => t in a ? m(a, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[t] = e;
3
- var n = (a, t, e) => (u(a, typeof t != "symbol" ? t + "" : t, e), e);
4
- import * as f from "three";
2
+ var v = (s, i, e) => i in s ? m(s, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[i] = e;
3
+ var a = (s, i, e) => (v(s, typeof i != "symbol" ? i + "" : i, e), e);
4
+ import * as d from "three";
5
5
  import "../shared-utils/tag.js";
6
- import { Magnifier as g } from "../shared-utils/three/Magnifier.js";
6
+ import { Magnifier as y } from "../shared-utils/three/Magnifier.js";
7
7
  import "../shared-utils/three/PointSelector/index.js";
8
8
  import "../shared-utils/three/CSS3DRenderer/index.js";
9
9
  import "../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
@@ -15,18 +15,30 @@ import "../vendor/@tweenjs/tween/dist/tween.esm.js.js";
15
15
  import "../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
16
16
  import "../vendor/earcut/src/earcut.js";
17
17
  import "../shared-utils/five/FivePuppet.js";
18
- import { drawMeasureOverlay as p } from "./PointOverlay.js";
19
- class T extends g {
20
- constructor(e, r) {
21
- super(e, r != null ? r : {});
18
+ import { CLOSEUP_MAX_DEVIATION as f, resolveCloseupView as x } from "./closeupView.js";
19
+ import { drawMeasureOverlay as M, getWorldNormal as g } from "./PointOverlay.js";
20
+ class U extends y {
21
+ constructor(e, t) {
22
+ var r;
23
+ super(e, t != null ? t : {});
22
24
  /** 父类把 five 存成了 private,这里自己留一份,叠加层投影时要用 */
23
- n(this, "overlayFive");
25
+ a(this, "overlayFive");
24
26
  /** 父类把 context 存成了 private;getContext('2d') 拿到的是同一个实例 */
25
- n(this, "overlayContext", null);
27
+ a(this, "overlayContext", null);
26
28
  /** 由 PointSelector 的 intersectionUpdate 事件注入 */
27
- n(this, "overlayIntersection", null);
28
- n(this, "overlayEnabled");
29
- this.overlayFive = e, this.overlayEnabled = (r == null ? void 0 : r.overlayEnabled) !== !1;
29
+ a(this, "overlayIntersection", null);
30
+ a(this, "overlayEnabled");
31
+ a(this, "closeupMode");
32
+ /** 本次渲染实际使用的相机(推近后的副本),叠加层投影必须和它一致 */
33
+ a(this, "overlayCamera", null);
34
+ /** 本次放大镜渲染的落点;相机取向以它为准,避免和交点数据错帧 */
35
+ a(this, "renderPoint", null);
36
+ /** 近景视角的平滑状态 */
37
+ a(this, "closeupState", null);
38
+ this.overlayFive = e, this.overlayEnabled = (t == null ? void 0 : t.overlayEnabled) !== !1, this.closeupMode = (r = t == null ? void 0 : t.closeupMode) != null ? r : (t == null ? void 0 : t.closeupEnabled) === !1 ? "off" : "rotate";
39
+ }
40
+ renderWithPoint(e) {
41
+ this.renderPoint = e.clone(), super.renderWithPoint(e);
30
42
  }
31
43
  /** 每次交点更新时调用;传 null 表示当前没有命中任何模型 */
32
44
  setIntersection(e) {
@@ -36,12 +48,28 @@ class T extends g {
36
48
  setOverlayEnabled(e) {
37
49
  this.overlayEnabled = e;
38
50
  }
51
+ /** 开关近景 3D 视角,用于灰度 / 对比;开启时使用默认的 rotate 模式 */
52
+ setCloseupEnabled(e) {
53
+ this.setCloseupMode(e ? "rotate" : "off");
54
+ }
55
+ /** 切换近景取景方式,用于三种模式的对比 */
56
+ setCloseupMode(e) {
57
+ this.closeupMode = e, e === "off" && (this.closeupState = null);
58
+ }
59
+ getCloseupMode() {
60
+ return this.closeupMode;
61
+ }
39
62
  render() {
40
- super.render();
63
+ const e = this.moveCameraCloseup();
64
+ try {
65
+ super.render(), this.snapshotOverlayCamera();
66
+ } finally {
67
+ e == null || e();
68
+ }
41
69
  try {
42
70
  this.renderOverlay();
43
- } catch (e) {
44
- console.warn("MeasureMagnifier: 叠加层绘制失败", e);
71
+ } catch (t) {
72
+ console.warn("MeasureMagnifier: 叠加层绘制失败", t);
45
73
  }
46
74
  }
47
75
  renderOverlay() {
@@ -50,11 +78,63 @@ class T extends g {
50
78
  const e = this.overlayIntersection;
51
79
  if (!e || e.isVirtual || !e.point)
52
80
  return;
53
- const r = this.getOverlayViewport();
54
- if (!r)
81
+ const t = this.getOverlayViewport();
82
+ if (!t)
55
83
  return;
56
- const i = this.getOverlayContext();
57
- i && p(i, r, e);
84
+ const r = this.getOverlayContext();
85
+ r && M(r, t, e);
86
+ }
87
+ /**
88
+ * 近景 3D 视角:读像素前调整相机取向,让视线朝落点所在表面的法线偏一点
89
+ * (斜向 / 侧向的表面在放大镜里以更接近正面的角度呈现),读完立即还原。
90
+ *
91
+ * 两种模式:
92
+ * - rotate(默认):只旋转、不平移。与主视图共用同一机位,不产生视差,全景 / 模型都按同一视点采样;
93
+ * - push(旧行为):把相机推到落点附近 0.6m,放大倍率更高,但会产生视差和近距透视形变。
94
+ *
95
+ * 姿态由主相机绕落点做最小旋转得到:偏转角有上限、画面不翻滚。
96
+ */
97
+ moveCameraCloseup() {
98
+ var p;
99
+ if (this.closeupMode === "off" || !this.state.enabled) {
100
+ this.closeupState = null;
101
+ return;
102
+ }
103
+ const e = this.overlayIntersection, t = (p = this.renderPoint) != null ? p : e == null ? void 0 : e.point;
104
+ if (!e || e.isVirtual || !t) {
105
+ this.closeupState = null;
106
+ return;
107
+ }
108
+ const r = this.overlayFive.camera;
109
+ if (!r || r.isOrthographicCamera)
110
+ return;
111
+ const h = e.point && e.point.distanceTo(t) < 1e-4 ? g(e) : null;
112
+ r.updateMatrixWorld();
113
+ const l = this.closeupMode === "rotate", o = l ? Math.max(0, Math.min(f, d.MathUtils.degToRad(r.fov || 60) / 2 - d.MathUtils.degToRad(4))) : void 0, n = x({
114
+ point: t,
115
+ normal: h,
116
+ cameraPosition: r.position,
117
+ cameraQuaternion: r.quaternion,
118
+ previous: this.closeupState,
119
+ translate: !l,
120
+ maxDeviation: o
121
+ });
122
+ if (!n)
123
+ return;
124
+ this.closeupState = n.state;
125
+ const c = r.position.clone(), u = r.quaternion.clone();
126
+ return r.position.copy(n.position), r.quaternion.copy(n.quaternion), r.updateMatrixWorld(!0), () => {
127
+ r.position.copy(c), r.quaternion.copy(u), r.updateMatrixWorld(!0);
128
+ };
129
+ }
130
+ /** 只记录投影要用的矩阵;Five 的相机 clone() 开销大,也不保证可用 */
131
+ snapshotOverlayCamera() {
132
+ var r;
133
+ const e = this.overlayFive.camera;
134
+ if (!e)
135
+ return;
136
+ const t = (r = this.overlayCamera) != null ? r : this.overlayCamera = new d.Camera();
137
+ t.matrixWorld.copy(e.matrixWorld), t.matrixWorldInverse.copy(e.matrixWorldInverse), t.projectionMatrix.copy(e.projectionMatrix), t.projectionMatrixInverse.copy(e.projectionMatrixInverse), t.position.copy(e.position);
58
138
  }
59
139
  getOverlayContext() {
60
140
  return this.overlayContext || (this.overlayContext = this.canvas.getContext("2d")), this.overlayContext;
@@ -64,33 +144,32 @@ class T extends g {
64
144
  * 这些换算必须和父类保持一致,父类改动时需要同步。
65
145
  */
66
146
  getOverlayViewport() {
147
+ var n;
67
148
  const e = this.overlayFive;
68
149
  if (!e.renderer || !e.camera)
69
150
  return null;
70
- const r = this.getRenderCenter(), i = e.renderer.getSize(new f.Vector2()), [h, y] = (() => {
71
- if (r.isVector3) {
72
- const v = r.clone().project(e.camera);
73
- return [(v.x + 1) / 2 * i.x, (v.y + 1) / 2 * i.y];
151
+ const t = this.getRenderCenter(), r = e.renderer.getSize(new d.Vector2()), [h, l] = (() => {
152
+ var c;
153
+ if (t.isVector3) {
154
+ const u = t.clone().project((c = this.overlayCamera) != null ? c : e.camera);
155
+ return [(u.x + 1) / 2 * r.x, (u.y + 1) / 2 * r.y];
74
156
  }
75
- return [r.x, i.y - r.y];
76
- })(), o = 1, { width: s, height: l } = this, c = s / this.getMagnifierScale(), d = l / this.getMagnifierScale();
157
+ return [t.x, r.y - t.y];
158
+ })(), o = this.getReadWindowInfo();
77
159
  return {
78
- camera: e.camera,
79
- renderSize: i,
80
- readLeft: h - c / 2,
81
- // 父类纵向也是用 readPixelsWidth 减的,这里保持一致,否则叠加层会和放大的画面错位
82
- readTop: y - c / 2,
83
- readPixelsHeight: d,
84
- pixelRadio: o * this.getMagnifierScale(),
85
- canvasWidth: s * o,
86
- canvasHeight: l * o
160
+ camera: (n = this.overlayCamera) != null ? n : e.camera,
161
+ renderSize: r,
162
+ readLeft: h - o.readWidth / 2,
163
+ readTop: l - o.readHeight / 2,
164
+ readPixelsHeight: o.readHeight,
165
+ pixelRadio: o.radio,
166
+ canvasWidth: o.imageWidth,
167
+ canvasHeight: o.imageHeight,
168
+ // 高清读回时 canvas 变大,线宽按 backing / CSS 的比例放大,保持和旧版一致的观感
169
+ lineScale: o.imageWidth / this.width
87
170
  };
88
171
  }
89
- /** 父类的 scale 是 private,只能这样读;它是真值来源,避免自己再维护一份副本 */
90
- getMagnifierScale() {
91
- return this.scale;
92
- }
93
172
  }
94
173
  export {
95
- T as MeasureMagnifier
174
+ U as MeasureMagnifier
96
175
  };
@@ -53,6 +53,11 @@ export interface MagnifierViewport {
53
53
  /** 放大镜 canvas 的宽高(设备像素) */
54
54
  canvasWidth: number;
55
55
  canvasHeight: number;
56
+ /**
57
+ * 叠加层线宽缩放:canvas 设备像素 / CSS 像素。
58
+ * 高清读回时 canvas 变大,固定线宽需要同步放大,否则轴线和平面框会变细。
59
+ */
60
+ lineScale?: number;
56
61
  }
57
62
  /**
58
63
  * 求交点的世界坐标系法线。