@realsee/dnalogel 3.20.7 → 3.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/README.md +1 -0
  2. package/dist/Object3DHelperPlugin/Controller.d.ts +25 -18
  3. package/dist/Object3DHelperPlugin/FiveControllerWrapper.d.ts +1 -0
  4. package/dist/PanoMeasurePlugin/Modules/Magnifier.d.ts +2 -55
  5. package/dist/Sculpt/Meshes/Area.d.ts +30 -0
  6. package/dist/Sculpt/Meshes/Box.d.ts +35 -0
  7. package/dist/Sculpt/Meshes/Circle.d.ts +26 -0
  8. package/dist/Sculpt/Meshes/CircleWithEdge.d.ts +11 -0
  9. package/dist/Sculpt/Meshes/Cylinder.d.ts +34 -0
  10. package/dist/Sculpt/Meshes/Line.d.ts +27 -0
  11. package/dist/Sculpt/Meshes/LineWithDots.d.ts +30 -0
  12. package/dist/Sculpt/Meshes/Point.d.ts +22 -0
  13. package/dist/Sculpt/Meshes/Polygon.d.ts +31 -0
  14. package/dist/Sculpt/Meshes/Polyline.d.ts +34 -0
  15. package/dist/Sculpt/Meshes/Prism.d.ts +31 -0
  16. package/dist/Sculpt/Meshes/Rectangle.d.ts +24 -0
  17. package/dist/Sculpt/Meshes/RectangleWithEdge.d.ts +20 -0
  18. package/dist/Sculpt/Modules/Cursor.d.ts +13 -0
  19. package/dist/Sculpt/Modules/Global.d.ts +20 -0
  20. package/dist/Sculpt/Objects/Base/Editor.d.ts +21 -0
  21. package/dist/Sculpt/Objects/Base/index.d.ts +60 -0
  22. package/dist/Sculpt/Objects/Box/Editor.d.ts +5 -0
  23. package/dist/Sculpt/Objects/Box/index.d.ts +28 -0
  24. package/dist/Sculpt/Objects/Circle/Editor.d.ts +5 -0
  25. package/dist/Sculpt/Objects/Circle/index.d.ts +28 -0
  26. package/dist/Sculpt/Objects/Cylinder/Editor.d.ts +5 -0
  27. package/dist/Sculpt/Objects/Cylinder/index.d.ts +30 -0
  28. package/dist/Sculpt/Objects/Point/Editor.d.ts +8 -0
  29. package/dist/Sculpt/Objects/Point/index.d.ts +35 -0
  30. package/dist/Sculpt/Objects/Polygon/Editor.d.ts +8 -0
  31. package/dist/Sculpt/Objects/Polygon/index.d.ts +28 -0
  32. package/dist/Sculpt/Objects/Polyline/Editor.d.ts +25 -0
  33. package/dist/Sculpt/Objects/Polyline/index.d.ts +31 -0
  34. package/dist/Sculpt/Objects/Prism/Editor.d.ts +5 -0
  35. package/dist/Sculpt/Objects/Prism/index.d.ts +28 -0
  36. package/dist/Sculpt/Objects/Rectangle/Editor.d.ts +5 -0
  37. package/dist/Sculpt/Objects/Rectangle/index.d.ts +29 -0
  38. package/dist/Sculpt/index.d.ts +184 -0
  39. package/dist/Sculpt/typings/index.d.ts +16 -0
  40. package/dist/Sculpt/typings/utils.type.d.ts +12 -0
  41. package/dist/Sculpt/utils/color.d.ts +40 -0
  42. package/dist/Sculpt/utils/data.d.ts +7 -0
  43. package/dist/Sculpt/utils/getBetterNormal.d.ts +2 -0
  44. package/dist/Sculpt/utils/radiusToSegments.d.ts +1 -0
  45. package/dist/Sculpt/utils/three/ColoredMesh.d.ts +17 -0
  46. package/dist/Sculpt/utils/three/RectangleGeometry.d.ts +6 -0
  47. package/dist/Sculpt/utils/three/rayOnLine.d.ts +5 -0
  48. package/dist/index.cjs.js +70 -70
  49. package/dist/index.d.ts +1 -0
  50. package/dist/index.js +11538 -9326
  51. package/dist/index.umd.js +63 -63
  52. package/dist/shared-utils/Object3DHelper/Base/BaseController.d.ts +13 -5
  53. package/dist/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +17 -6
  54. package/dist/shared-utils/Object3DHelper/Controller/RotateController.d.ts +0 -1
  55. package/dist/shared-utils/Object3DHelper/Controller/ScaleController.d.ts +14 -7
  56. package/dist/shared-utils/Object3DHelper/Helper/MoveHelper.d.ts +4 -2
  57. package/dist/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +3 -2
  58. package/dist/shared-utils/Object3DHelper/Helper/ScaleHelper.d.ts +12 -3
  59. package/dist/shared-utils/Object3DHelper/typings/Hooks.d.ts +1 -0
  60. package/dist/shared-utils/Object3DHelper/typings/index.d.ts +11 -0
  61. package/dist/shared-utils/Object3DHelper/utils/calculateScaleByCamera.d.ts +2 -0
  62. package/dist/shared-utils/audio.d.ts +3 -1
  63. package/dist/shared-utils/five/FiveDomEvents.d.ts +50 -13
  64. package/dist/shared-utils/five/getPosition.d.ts +14 -0
  65. package/dist/shared-utils/five/getRaycasterByNdcPosition.d.ts +6 -0
  66. package/dist/shared-utils/positionToVector3.d.ts +1 -0
  67. package/dist/shared-utils/three/IObject3D.d.ts +4 -0
  68. package/dist/shared-utils/three/Magnifier.d.ts +33 -19
  69. package/dist/shared-utils/three/PointSelector.d.ts +25 -11
  70. package/dist/shared-utils/three/PointSelectorHelper.d.ts +2 -0
  71. package/{libs/PanoMeasurePlugin/utils → dist/shared-utils/three}/geometryUtil.d.ts +1 -1
  72. package/dist/shared-utils/three/getIntersect.d.ts +16 -2
  73. package/dist/shared-utils/three/getNormal.d.ts +1 -1
  74. package/dist/shared-utils/three/recurveFindObject.d.ts +2 -0
  75. package/dist/shared-utils/three/vector3ToArray.d.ts +3 -0
  76. package/docs/assets/search.js +1 -1
  77. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +9 -4
  78. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +9 -4
  79. package/docs/classes/CSS3DRender.html +10 -5
  80. package/docs/classes/GuideLineItem.GuideLineItem.html +10 -5
  81. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +10 -5
  82. package/docs/classes/ModelRoomLabelController.html +10 -5
  83. package/docs/classes/MoveController.html +10 -5
  84. package/docs/classes/Object3DHelperController.html +26 -39
  85. package/docs/classes/PaintBrush.html +10 -5
  86. package/docs/classes/PanoMeasurePluginLine.html +10 -5
  87. package/docs/classes/PanoMeasurePluginModel.html +10 -5
  88. package/docs/classes/PanoMeasurePluginPoint.html +10 -5
  89. package/docs/classes/PanoMeasurePluginPolyline.html +10 -5
  90. package/docs/classes/PanoTagPluginController.html +10 -5
  91. package/docs/classes/Sculpt.html +847 -0
  92. package/docs/classes/Util.BetterTween.html +10 -5
  93. package/docs/classes/Util.Interval.html +10 -5
  94. package/docs/classes/Util.LineSegments.html +10 -5
  95. package/docs/classes/Util.Magnifier.html +82 -58
  96. package/docs/classes/Util.Object3D.html +10 -5
  97. package/docs/classes/Util.PointDomHelper.html +10 -5
  98. package/docs/classes/Util.PointHelper.html +10 -5
  99. package/docs/classes/Util.PointSelectorHelper.html +23 -18
  100. package/docs/classes/Util.Rectangle.html +10 -5
  101. package/docs/classes/WalkController.html +10 -5
  102. package/docs/enums/CameraMovementEffect.html +10 -5
  103. package/docs/enums/ContentType.html +10 -5
  104. package/docs/enums/DIRECTION.html +10 -5
  105. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +10 -5
  106. package/docs/enums/DimensionType.html +10 -5
  107. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +10 -5
  108. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +10 -5
  109. package/docs/enums/PaintBrushTypeEnum.html +10 -5
  110. package/docs/enums/PointType.html +10 -5
  111. package/docs/enums/Rotation.html +10 -5
  112. package/docs/functions/AreaMakerPlugin.html +10 -5
  113. package/docs/functions/CSS3DRenderPlugin.html +10 -5
  114. package/docs/functions/CameraMovementPlugin.html +10 -5
  115. package/docs/functions/CruisePlugin.html +10 -5
  116. package/docs/functions/CurrentPanoImagePlugin.html +10 -5
  117. package/docs/functions/GuideLinePlugin.html +10 -5
  118. package/docs/functions/ItemLabelPlugin.html +10 -5
  119. package/docs/functions/MapviewFloorplanPlugin.html +10 -5
  120. package/docs/functions/ModelChassisCompassPlugin.html +10 -5
  121. package/docs/functions/ModelEntryDoorGuidePlugin.html +10 -5
  122. package/docs/functions/ModelFloorplanPlugin.html +10 -5
  123. package/docs/functions/ModelItemLabelPlugin.html +10 -5
  124. package/docs/functions/ModelRoomLabelPlugin.html +10 -5
  125. package/docs/functions/ModelTVVideoPlugin.html +10 -5
  126. package/docs/functions/ModelViewPlugin.html +10 -5
  127. package/docs/functions/MovePlugin.html +10 -5
  128. package/docs/functions/Object3DHelperPlugin.html +10 -5
  129. package/docs/functions/PanoCompassPlugin.html +10 -5
  130. package/docs/functions/PanoCursorRaycasterPlugin.html +10 -5
  131. package/docs/functions/PanoDoorLabelPlugin.html +10 -5
  132. package/docs/functions/PanoFloorplanRadarPlugin.html +10 -5
  133. package/docs/functions/PanoMeasurePlugin.html +10 -5
  134. package/docs/functions/PanoRulerPlugin.html +10 -5
  135. package/docs/functions/PanoRulerProPlugin.html +10 -5
  136. package/docs/functions/PanoSpatialTagPlugin.html +10 -5
  137. package/docs/functions/PanoTagPlugin.html +10 -5
  138. package/docs/functions/PanoVideoPlugin.html +10 -5
  139. package/docs/functions/PipelinePlugin.html +10 -5
  140. package/docs/functions/TopviewFloorplanPlugin.html +10 -5
  141. package/docs/functions/Util.absoluteUrl.html +10 -5
  142. package/docs/functions/Util.checkFiveModelLoaded.html +10 -5
  143. package/docs/functions/Util.equal.html +10 -5
  144. package/docs/functions/Util.getCoordsFromClient.html +10 -5
  145. package/docs/functions/Util.getCoordsFromElement.html +10 -5
  146. package/docs/functions/Util.getFrameTime.html +10 -5
  147. package/docs/functions/Util.getIntersectFromRelativePosition.html +17 -7
  148. package/docs/functions/Util.getRaycasterFromFivePointer.html +10 -5
  149. package/docs/functions/Util.isAbsoluteURL.html +10 -5
  150. package/docs/functions/Util.isModelLike.html +10 -5
  151. package/docs/functions/Util.isNil.html +10 -5
  152. package/docs/functions/Util.isPanoramaLike.html +10 -5
  153. package/docs/functions/Util.nextFrame.html +10 -5
  154. package/docs/functions/Util.notNil.html +10 -5
  155. package/docs/functions/Util.requestAnimationFrameInterval.html +10 -5
  156. package/docs/functions/Util.tweenProgress.html +10 -5
  157. package/docs/functions/Util.uuid.html +10 -5
  158. package/docs/functions/pluginFlag.html +10 -5
  159. package/docs/index.html +12 -6
  160. package/docs/interfaces/AddTagConfig.html +10 -5
  161. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +9 -4
  162. package/docs/interfaces/AreaMakerPluginType.Config.html +9 -4
  163. package/docs/interfaces/AreaMakerPluginType.EventMap.html +9 -4
  164. package/docs/interfaces/AreaMakerPluginType.Params.html +9 -4
  165. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +9 -4
  166. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +9 -4
  167. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +9 -4
  168. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +9 -4
  169. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +9 -4
  170. package/docs/interfaces/AreaMakerPluginType.State.html +9 -4
  171. package/docs/interfaces/CSS3DRenderPluginEventMap.html +10 -5
  172. package/docs/interfaces/CSS3DRenderPluginState.html +10 -5
  173. package/docs/interfaces/CameraMovementPluginExportType.html +10 -5
  174. package/docs/interfaces/CruisePluginTypes.Config.html +9 -4
  175. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +9 -4
  176. package/docs/interfaces/CruisePluginTypes.EventMap.html +9 -4
  177. package/docs/interfaces/CruisePluginTypes.MoveAction.html +9 -4
  178. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +9 -4
  179. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +9 -4
  180. package/docs/interfaces/CruisePluginTypes.PluginData.html +9 -4
  181. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +9 -4
  182. package/docs/interfaces/CruisePluginTypes.PluginState.html +9 -4
  183. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +10 -5
  184. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +10 -5
  185. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +10 -5
  186. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +10 -5
  187. package/docs/interfaces/CurrentPanoImagePluginType.State.html +10 -5
  188. package/docs/interfaces/EventMap.html +10 -5
  189. package/docs/interfaces/FloorplanBounding.html +10 -5
  190. package/docs/interfaces/FloorplanData.html +10 -5
  191. package/docs/interfaces/FloorplanEntrance.html +10 -5
  192. package/docs/interfaces/FloorplanExtraObject.html +10 -5
  193. package/docs/interfaces/FloorplanExtraObject3D.html +10 -5
  194. package/docs/interfaces/FloorplanFloorData.html +10 -5
  195. package/docs/interfaces/FloorplanImagePosition.html +10 -5
  196. package/docs/interfaces/FloorplanObserver.html +10 -5
  197. package/docs/interfaces/FloorplanOutlineItem.html +10 -5
  198. package/docs/interfaces/FloorplanPosition.html +10 -5
  199. package/docs/interfaces/FloorplanRoomItem.html +10 -5
  200. package/docs/interfaces/FloorplanRoomLabelItem.html +10 -5
  201. package/docs/interfaces/FloorplanServerBounding.html +10 -5
  202. package/docs/interfaces/FloorplanServerComputedData.html +10 -5
  203. package/docs/interfaces/FloorplanServerData.html +10 -5
  204. package/docs/interfaces/FloorplanServerDoorItem.html +10 -5
  205. package/docs/interfaces/FloorplanServerDoorPosition.html +10 -5
  206. package/docs/interfaces/FloorplanServerEntrance.html +10 -5
  207. package/docs/interfaces/FloorplanServerFloorData.html +10 -5
  208. package/docs/interfaces/FloorplanServerImagePosition.html +10 -5
  209. package/docs/interfaces/FloorplanServerObserver.html +10 -5
  210. package/docs/interfaces/FloorplanServerOutlineItem.html +10 -5
  211. package/docs/interfaces/FloorplanServerPosition.html +10 -5
  212. package/docs/interfaces/FloorplanServerRoomItem.html +10 -5
  213. package/docs/interfaces/FloorplanServerRoomLabelItem.html +10 -5
  214. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +10 -5
  215. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +9 -4
  216. package/docs/interfaces/GuideLinePluginType.EventMap.html +9 -4
  217. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +9 -4
  218. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +9 -4
  219. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +9 -4
  220. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +9 -4
  221. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +9 -4
  222. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +9 -4
  223. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +9 -4
  224. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +9 -4
  225. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +9 -4
  226. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +9 -4
  227. package/docs/interfaces/GuideLinePluginType.PluginState.html +9 -4
  228. package/docs/interfaces/GuideLinePluginType.Route.html +9 -4
  229. package/docs/interfaces/GuideLinePluginType.RouteConfig.html +9 -4
  230. package/docs/interfaces/HelperOffset.html +10 -5
  231. package/docs/interfaces/ImagePlaneGroup.html +10 -5
  232. package/docs/interfaces/ItemLabelPluginData.html +10 -5
  233. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +10 -5
  234. package/docs/interfaces/ItemLabelPluginParametersType.html +10 -5
  235. package/docs/interfaces/MinMax.html +10 -5
  236. package/docs/interfaces/ModelChassisCompassPluginData.html +10 -5
  237. package/docs/interfaces/ModelChassisCompassPluginExportType.html +10 -5
  238. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +10 -5
  239. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +10 -5
  240. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +10 -5
  241. package/docs/interfaces/ModelItemLabelPluginData.html +10 -5
  242. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +10 -5
  243. package/docs/interfaces/ModelItemLabelPluginParametersType.html +10 -5
  244. package/docs/interfaces/ModelRoomLabelPluginData.html +10 -5
  245. package/docs/interfaces/ModelTVVideoPluginData.html +10 -5
  246. package/docs/interfaces/ModelTVVideoPluginExportType.html +10 -5
  247. package/docs/interfaces/ModelTVVideoPluginParameterType.html +10 -5
  248. package/docs/interfaces/ModelViewPluginExportType.html +10 -5
  249. package/docs/interfaces/Object3DHelperState.html +14 -9
  250. package/docs/interfaces/ObjectHelperControllers.html +16 -11
  251. package/docs/interfaces/PaintBrushAction.html +10 -5
  252. package/docs/interfaces/PaintBrushConfigs.html +10 -5
  253. package/docs/interfaces/PaintBrushState.html +10 -5
  254. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +10 -5
  255. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +10 -5
  256. package/docs/interfaces/PanoMeasureParameterType.html +10 -5
  257. package/docs/interfaces/PanoMeasurePluginLineJson.html +10 -5
  258. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +10 -5
  259. package/docs/interfaces/PanoMeasurePluginPointJson.html +10 -5
  260. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +10 -5
  261. package/docs/interfaces/PanoRulerPluginExportType.html +10 -5
  262. package/docs/interfaces/PanoRulerPluginOptions.html +10 -5
  263. package/docs/interfaces/PanoRulerPluginParameterType.html +10 -5
  264. package/docs/interfaces/PanoRulerProPluginExportType.html +10 -5
  265. package/docs/interfaces/PanoRulerProPluginOptions.html +10 -5
  266. package/docs/interfaces/PanoRulerProPluginParameterType.html +10 -5
  267. package/docs/interfaces/PanoRulerProPluginState.html +10 -5
  268. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +10 -5
  269. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +10 -5
  270. package/docs/interfaces/PanoSpatialTagPluginData.html +10 -5
  271. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +10 -5
  272. package/docs/interfaces/PanoSpatialTagPluginExportType.html +10 -5
  273. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +10 -5
  274. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +10 -5
  275. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +10 -5
  276. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +10 -5
  277. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +10 -5
  278. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +10 -5
  279. package/docs/interfaces/PanoVideoPluginType.PluginData.html +10 -5
  280. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +10 -5
  281. package/docs/interfaces/PanoVideoPluginType.PluginState.html +10 -5
  282. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +10 -5
  283. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +10 -5
  284. package/docs/interfaces/Point.html +10 -5
  285. package/docs/interfaces/Room.html +10 -5
  286. package/docs/interfaces/RoomInfo.html +10 -5
  287. package/docs/interfaces/RoomLabel.html +10 -5
  288. package/docs/interfaces/RoomRules.html +10 -5
  289. package/docs/interfaces/Rooms.html +10 -5
  290. package/docs/interfaces/Scissor.html +10 -5
  291. package/docs/interfaces/State.html +10 -5
  292. package/docs/interfaces/TagCacheInterface.html +10 -5
  293. package/docs/interfaces/TagConfig.html +12 -7
  294. package/docs/interfaces/TagGLTFObjectGroup.html +10 -5
  295. package/docs/interfaces/TagIconUrl.html +10 -5
  296. package/docs/interfaces/TagObjectGroup.html +10 -5
  297. package/docs/interfaces/TagStyle.html +10 -5
  298. package/docs/interfaces/Tags.html +10 -5
  299. package/docs/interfaces/TemporaryState.html +10 -5
  300. package/docs/interfaces/Util.MagnifierParameter.html +32 -22
  301. package/docs/interfaces/Util.MouseGroupParameter.html +10 -5
  302. package/docs/interfaces/Util.PointIntersection.html +19 -7
  303. package/docs/modules/AreaMakerPluginType.html +9 -4
  304. package/docs/modules/CruisePluginTypes.html +9 -4
  305. package/docs/modules/CurrentPanoImagePluginType.html +10 -5
  306. package/docs/modules/GuideLineItem.html +10 -5
  307. package/docs/modules/GuideLineModeItem.html +10 -5
  308. package/docs/modules/GuideLinePluginType.html +9 -4
  309. package/docs/modules/PanoVideoPluginType.html +10 -5
  310. package/docs/modules/Util.html +10 -5
  311. package/docs/modules.html +22 -9
  312. package/docs/types/AddObject3DHelperConfig.html +310 -0
  313. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +9 -4
  314. package/docs/types/AreaMakerPluginType.ItemRenderer.html +9 -4
  315. package/docs/types/AreaMakerPluginType.PluginData.html +9 -4
  316. package/docs/types/AreaMakerPluginType.ServerData.html +9 -4
  317. package/docs/types/ArrayPosition.html +10 -5
  318. package/docs/types/AudioAppearance.html +10 -5
  319. package/docs/types/AudioTagTypeConfigKey.html +10 -5
  320. package/docs/types/CSS3DRenderExportType.html +10 -5
  321. package/docs/types/CSS3DRenderPluginExportType.html +10 -5
  322. package/docs/types/CSS3DRenderPluginParameterType.html +10 -5
  323. package/docs/types/ClassFunctionParameters.html +10 -5
  324. package/docs/types/Color.html +10 -5
  325. package/docs/types/ContentTypeConfigKey.html +10 -5
  326. package/docs/types/ContentTypeConfigKeySplit.html +10 -5
  327. package/docs/types/ContentTypeMap.html +10 -5
  328. package/docs/types/Create3DDomContainerReturnType.html +10 -5
  329. package/docs/types/Create3DElementReturnType.html +10 -5
  330. package/docs/types/CruisePluginExportType.html +10 -5
  331. package/docs/types/CruisePluginTypes.CruiseData.html +9 -4
  332. package/docs/types/CruisePluginTypes.MoveEffect.html +9 -4
  333. package/docs/types/CurrentPanoImagePluginExportType.html +10 -5
  334. package/docs/types/DeprecatedMediaPlaneProperty.html +10 -5
  335. package/docs/types/DeprecatedTagProperty.html +10 -5
  336. package/docs/types/Direction-1.html +10 -5
  337. package/docs/types/Direction4.html +10 -5
  338. package/docs/types/ElementRenderer.html +10 -5
  339. package/docs/types/FloorplanRuleLabels.html +10 -5
  340. package/docs/types/FloorplanServerRuleLabels.html +10 -5
  341. package/docs/types/GuideLinePluginExportType.html +10 -5
  342. package/docs/types/GuideLinePluginType.GuideLineItem.html +9 -4
  343. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +9 -4
  344. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +9 -4
  345. package/docs/types/GuideLinePluginType.GuideLineStyle.html +9 -4
  346. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +9 -4
  347. package/docs/types/GuideLinePluginType.PathItem.html +9 -4
  348. package/docs/types/GuideLinePluginType.PluginData.html +9 -4
  349. package/docs/types/HelperEventMap.html +10 -5
  350. package/docs/types/InternalHelperEventMap.html +22 -9
  351. package/docs/types/LoadTagConfig.html +10 -5
  352. package/docs/types/MapviewFloorplanPluginParameterType.html +10 -5
  353. package/docs/types/MapviewFloorplanPluginReturnType.html +10 -5
  354. package/docs/types/MediaData.html +10 -5
  355. package/docs/types/MediaStore.html +10 -5
  356. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +10 -5
  357. package/docs/types/ModelFloorplanPluginParameterType.html +10 -5
  358. package/docs/types/ModelFloorplanPluginReturnType.html +10 -5
  359. package/docs/types/ModelId.html +10 -5
  360. package/docs/types/ModelRoomLabelPluginParameters.html +10 -5
  361. package/docs/types/ModelRoomLabelPluginReturnType.html +10 -5
  362. package/docs/types/MoveArgs.html +10 -5
  363. package/docs/types/MoveOpts.html +10 -5
  364. package/docs/types/Object3DHelperEventMap.html +11 -6
  365. package/docs/types/ObjectFit.html +10 -5
  366. package/docs/types/PaintBrushEventMap.html +10 -5
  367. package/docs/types/PanoCompassPluginData.html +10 -5
  368. package/docs/types/PanoCompassPluginExportType.html +10 -5
  369. package/docs/types/PanoCompassPluginParameterType.html +10 -5
  370. package/docs/types/PanoFloorplanRadarPluginParameterType.html +10 -5
  371. package/docs/types/PanoFloorplanRadarPluginReturnType.html +10 -5
  372. package/docs/types/PanoIndex.html +10 -5
  373. package/docs/types/PanoMeasurePluginEvent.html +10 -5
  374. package/docs/types/PanoMeasureReturnType.html +10 -5
  375. package/docs/types/PanoSpatialTagPluginId.html +10 -5
  376. package/docs/types/PanoTagPluginExportInterface.html +10 -5
  377. package/docs/types/PanoTagPluginParamsInterface.html +10 -5
  378. package/docs/types/PanoVideoPluginParameterType.html +10 -5
  379. package/docs/types/PanoVideoPluginReturnType.html +10 -5
  380. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +10 -5
  381. package/docs/types/PipelinePluginParameterType.html +10 -5
  382. package/docs/types/PipelinePluginReturnType.html +10 -5
  383. package/docs/types/PlaneTag.html +10 -5
  384. package/docs/types/Point2DTag.html +10 -5
  385. package/docs/types/Point3DTag.html +10 -5
  386. package/docs/types/PointTag.html +10 -5
  387. package/docs/types/PointTagInstance.html +10 -5
  388. package/docs/types/Position.html +10 -5
  389. package/docs/types/PositionFrom.html +297 -0
  390. package/docs/types/RotateArgs.html +10 -5
  391. package/docs/types/RotateOpts.html +10 -5
  392. package/docs/types/RuleLabelsKey.html +10 -5
  393. package/docs/types/RuleLabelsValue.html +10 -5
  394. package/docs/types/ScaleCallback.html +309 -0
  395. package/docs/types/ScalePosition.html +298 -0
  396. package/docs/types/StickType.html +10 -5
  397. package/docs/types/Tag.html +10 -5
  398. package/docs/types/Tag2D.html +10 -5
  399. package/docs/types/Tag3D.html +10 -5
  400. package/docs/types/TagConfigByKey.html +10 -5
  401. package/docs/types/TagContentType.html +10 -5
  402. package/docs/types/TagContentTypeMapping.html +10 -5
  403. package/docs/types/TagDimensionType.html +10 -5
  404. package/docs/types/TagElement.html +10 -5
  405. package/docs/types/TagEvents.html +10 -5
  406. package/docs/types/TagGLTFObject.html +10 -5
  407. package/docs/types/TagHooks.html +10 -5
  408. package/docs/types/TagId.html +10 -5
  409. package/docs/types/TagInstance.html +10 -5
  410. package/docs/types/TagPointType.html +10 -5
  411. package/docs/types/TagRendererMap.html +10 -5
  412. package/docs/types/TopviewFloorplanPluginParameterType.html +10 -5
  413. package/docs/types/TopviewFloorplanPluginReturnType.html +10 -5
  414. package/docs/types/WorkCode.html +10 -5
  415. package/docs/variables/FLOOR_TYPE_MAP.html +10 -5
  416. package/docs/variables/PLUGIN.html +11 -6
  417. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +10 -5
  418. package/docs/variables/ROOM_TYPE_MAP.html +10 -5
  419. package/docs/variables/defaultGlobalConfig.html +10 -5
  420. package/docs/variables/itemLabelPluginServerParams.html +10 -5
  421. package/docs/variables/modelItemLabelPluginServerParams.html +10 -5
  422. package/docs/variables/modelRoomLabelPluginServerParams.html +10 -5
  423. package/libs/GuideLinePlugin/Controller.js +15 -15
  424. package/libs/Object3DHelperPlugin/Controller.d.ts +25 -18
  425. package/libs/Object3DHelperPlugin/Controller.js +91 -91
  426. package/libs/Object3DHelperPlugin/FiveControllerWrapper.d.ts +1 -0
  427. package/libs/Object3DHelperPlugin/FiveControllerWrapper.js +22 -18
  428. package/libs/Object3DHelperPlugin/index.js +8 -6
  429. package/libs/PanoMeasurePlugin/Components/Controller0.js +6 -7
  430. package/libs/PanoMeasurePlugin/Components/Controller1.js +6 -7
  431. package/libs/PanoMeasurePlugin/Controller/EditController.js +7 -8
  432. package/libs/PanoMeasurePlugin/Controller/MixedController.js +7 -7
  433. package/libs/PanoMeasurePlugin/Controller/WatchController.js +2 -2
  434. package/libs/PanoMeasurePlugin/Controller/index.js +5 -5
  435. package/libs/PanoMeasurePlugin/Model/area.js +2 -2
  436. package/libs/PanoMeasurePlugin/Model/polygon.js +1 -1
  437. package/libs/PanoMeasurePlugin/Modules/Magnifier.d.ts +2 -55
  438. package/libs/PanoMeasurePlugin/Modules/Magnifier.js +22 -156
  439. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +6 -7
  440. package/libs/PanoMeasurePlugin/index.js +24 -25
  441. package/libs/PanoMeasurePlugin/utils/dom/areaDom.js +1 -1
  442. package/libs/PanoTagPlugin/controller/TagRender.js +18 -13
  443. package/libs/PanoTagPlugin/utils/model/mediaPlane.js +20 -10
  444. package/libs/Sculpt/Meshes/Area.d.ts +30 -0
  445. package/libs/Sculpt/Meshes/Area.js +56 -0
  446. package/libs/Sculpt/Meshes/Box.d.ts +35 -0
  447. package/libs/Sculpt/Meshes/Box.js +88 -0
  448. package/libs/Sculpt/Meshes/Circle.d.ts +26 -0
  449. package/libs/Sculpt/Meshes/Circle.js +42 -0
  450. package/libs/Sculpt/Meshes/CircleWithEdge.d.ts +11 -0
  451. package/libs/Sculpt/Meshes/CircleWithEdge.js +41 -0
  452. package/libs/Sculpt/Meshes/Cylinder.d.ts +34 -0
  453. package/libs/Sculpt/Meshes/Cylinder.js +88 -0
  454. package/libs/Sculpt/Meshes/Line.d.ts +27 -0
  455. package/libs/Sculpt/Meshes/Line.js +108 -0
  456. package/libs/Sculpt/Meshes/LineWithDots.d.ts +30 -0
  457. package/libs/Sculpt/Meshes/LineWithDots.js +70 -0
  458. package/libs/Sculpt/Meshes/Point.d.ts +22 -0
  459. package/libs/Sculpt/Meshes/Point.js +74 -0
  460. package/libs/Sculpt/Meshes/Polygon.d.ts +31 -0
  461. package/libs/Sculpt/Meshes/Polygon.js +52 -0
  462. package/libs/Sculpt/Meshes/Polyline.d.ts +34 -0
  463. package/libs/Sculpt/Meshes/Polyline.js +105 -0
  464. package/libs/Sculpt/Meshes/Prism.d.ts +31 -0
  465. package/libs/Sculpt/Meshes/Prism.js +78 -0
  466. package/libs/Sculpt/Meshes/Rectangle.d.ts +24 -0
  467. package/libs/Sculpt/Meshes/Rectangle.js +49 -0
  468. package/libs/Sculpt/Meshes/RectangleWithEdge.d.ts +20 -0
  469. package/libs/Sculpt/Meshes/RectangleWithEdge.js +49 -0
  470. package/libs/Sculpt/Modules/Cursor.d.ts +13 -0
  471. package/libs/Sculpt/Modules/Cursor.js +37 -0
  472. package/libs/Sculpt/Modules/Global.d.ts +20 -0
  473. package/libs/Sculpt/Modules/Global.js +45 -0
  474. package/libs/Sculpt/Objects/Base/Editor.d.ts +21 -0
  475. package/libs/Sculpt/Objects/Base/Editor.js +52 -0
  476. package/libs/Sculpt/Objects/Base/index.d.ts +60 -0
  477. package/libs/Sculpt/Objects/Base/index.js +77 -0
  478. package/libs/Sculpt/Objects/Box/Editor.d.ts +5 -0
  479. package/libs/Sculpt/Objects/Box/Editor.js +44 -0
  480. package/libs/Sculpt/Objects/Box/index.d.ts +28 -0
  481. package/libs/Sculpt/Objects/Box/index.js +107 -0
  482. package/libs/Sculpt/Objects/Circle/Editor.d.ts +5 -0
  483. package/libs/Sculpt/Objects/Circle/Editor.js +9 -0
  484. package/libs/Sculpt/Objects/Circle/index.d.ts +28 -0
  485. package/libs/Sculpt/Objects/Circle/index.js +114 -0
  486. package/libs/Sculpt/Objects/Cylinder/Editor.d.ts +5 -0
  487. package/libs/Sculpt/Objects/Cylinder/Editor.js +41 -0
  488. package/libs/Sculpt/Objects/Cylinder/index.d.ts +30 -0
  489. package/libs/Sculpt/Objects/Cylinder/index.js +100 -0
  490. package/libs/Sculpt/Objects/Point/Editor.d.ts +8 -0
  491. package/libs/Sculpt/Objects/Point/Editor.js +25 -0
  492. package/libs/Sculpt/Objects/Point/index.d.ts +35 -0
  493. package/libs/Sculpt/Objects/Point/index.js +92 -0
  494. package/libs/Sculpt/Objects/Polygon/Editor.d.ts +8 -0
  495. package/libs/Sculpt/Objects/Polygon/Editor.js +23 -0
  496. package/libs/Sculpt/Objects/Polygon/index.d.ts +28 -0
  497. package/libs/Sculpt/Objects/Polygon/index.js +113 -0
  498. package/libs/Sculpt/Objects/Polyline/Editor.d.ts +25 -0
  499. package/libs/Sculpt/Objects/Polyline/Editor.js +68 -0
  500. package/libs/Sculpt/Objects/Polyline/index.d.ts +31 -0
  501. package/libs/Sculpt/Objects/Polyline/index.js +96 -0
  502. package/libs/Sculpt/Objects/Prism/Editor.d.ts +5 -0
  503. package/libs/Sculpt/Objects/Prism/Editor.js +44 -0
  504. package/libs/Sculpt/Objects/Prism/index.d.ts +28 -0
  505. package/libs/Sculpt/Objects/Prism/index.js +105 -0
  506. package/libs/Sculpt/Objects/Rectangle/Editor.d.ts +5 -0
  507. package/libs/Sculpt/Objects/Rectangle/Editor.js +9 -0
  508. package/libs/Sculpt/Objects/Rectangle/index.d.ts +29 -0
  509. package/libs/Sculpt/Objects/Rectangle/index.js +105 -0
  510. package/libs/Sculpt/index.d.ts +184 -0
  511. package/libs/Sculpt/index.js +209 -0
  512. package/libs/Sculpt/typings/index.d.ts +16 -0
  513. package/libs/Sculpt/typings/utils.type.d.ts +12 -0
  514. package/libs/Sculpt/utils/color.d.ts +40 -0
  515. package/libs/Sculpt/utils/color.js +7 -0
  516. package/libs/Sculpt/utils/data.d.ts +7 -0
  517. package/libs/Sculpt/utils/getBetterNormal.d.ts +2 -0
  518. package/libs/Sculpt/utils/getBetterNormal.js +8 -0
  519. package/libs/Sculpt/utils/radiusToSegments.d.ts +1 -0
  520. package/libs/Sculpt/utils/radiusToSegments.js +6 -0
  521. package/libs/Sculpt/utils/three/ColoredMesh.d.ts +17 -0
  522. package/libs/Sculpt/utils/three/ColoredMesh.js +58 -0
  523. package/libs/Sculpt/utils/three/RectangleGeometry.d.ts +6 -0
  524. package/libs/Sculpt/utils/three/RectangleGeometry.js +19 -0
  525. package/libs/Sculpt/utils/three/rayOnLine.d.ts +5 -0
  526. package/libs/Sculpt/utils/three/rayOnLine.js +8 -0
  527. package/libs/base/BasePlugin.js +1 -1
  528. package/libs/index.d.ts +1 -0
  529. package/libs/index.js +172 -127
  530. package/libs/shared-utils/Object3DHelper/Base/BaseController.d.ts +13 -5
  531. package/libs/shared-utils/Object3DHelper/Base/BaseController.js +95 -80
  532. package/libs/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +17 -6
  533. package/libs/shared-utils/Object3DHelper/Base/BaseHelper.js +40 -35
  534. package/libs/shared-utils/Object3DHelper/Controller/MoveController.js +9 -9
  535. package/libs/shared-utils/Object3DHelper/Controller/RotateController.d.ts +0 -1
  536. package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +54 -53
  537. package/libs/shared-utils/Object3DHelper/Controller/ScaleController.d.ts +14 -7
  538. package/libs/shared-utils/Object3DHelper/Controller/ScaleController.js +49 -15
  539. package/libs/shared-utils/Object3DHelper/Helper/MoveHelper.d.ts +4 -2
  540. package/libs/shared-utils/Object3DHelper/Helper/MoveHelper.js +16 -12
  541. package/libs/shared-utils/Object3DHelper/Helper/Objects/ArrowGroup.js +8 -5
  542. package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +3 -2
  543. package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.js +21 -12
  544. package/libs/shared-utils/Object3DHelper/Helper/ScaleHelper.d.ts +12 -3
  545. package/libs/shared-utils/Object3DHelper/Helper/ScaleHelper.js +38 -5
  546. package/libs/shared-utils/Object3DHelper/typings/Hooks.d.ts +1 -0
  547. package/libs/shared-utils/Object3DHelper/typings/index.d.ts +11 -0
  548. package/libs/shared-utils/Object3DHelper/utils/boundingBox.js +22 -21
  549. package/libs/shared-utils/Object3DHelper/utils/calculateScaleByCamera.d.ts +2 -0
  550. package/libs/shared-utils/Object3DHelper/utils/calculateScaleByCamera.js +7 -0
  551. package/libs/shared-utils/Subscribe.js +1 -1
  552. package/libs/shared-utils/audio.d.ts +3 -1
  553. package/libs/shared-utils/audio.js +4 -3
  554. package/libs/shared-utils/five/FiveDomEvents.d.ts +50 -13
  555. package/libs/shared-utils/five/FiveDomEvents.js +135 -90
  556. package/libs/shared-utils/five/getPosition.d.ts +14 -0
  557. package/libs/shared-utils/five/getPosition.js +45 -0
  558. package/libs/shared-utils/five/getRaycasterByNdcPosition.d.ts +6 -0
  559. package/libs/shared-utils/five/getRaycasterByNdcPosition.js +8 -0
  560. package/libs/shared-utils/logger.js +1 -1
  561. package/libs/shared-utils/positionToVector3.d.ts +1 -0
  562. package/libs/shared-utils/positionToVector3.js +7 -4
  563. package/libs/shared-utils/three/IObject3D.d.ts +4 -0
  564. package/libs/shared-utils/three/IObject3D.js +22 -9
  565. package/libs/shared-utils/three/Magnifier.d.ts +33 -19
  566. package/libs/shared-utils/three/Magnifier.js +112 -70
  567. package/libs/shared-utils/three/PointSelector.d.ts +25 -11
  568. package/libs/shared-utils/three/PointSelector.js +70 -78
  569. package/libs/shared-utils/three/PointSelectorHelper.d.ts +2 -0
  570. package/libs/shared-utils/three/PointSelectorHelper.js +14 -14
  571. package/libs/shared-utils/three/generatePolygonGeometry.js +15 -0
  572. package/{dist/PanoMeasurePlugin/utils → libs/shared-utils/three}/geometryUtil.d.ts +1 -1
  573. package/libs/shared-utils/three/geometryUtil.js +37 -0
  574. package/libs/shared-utils/three/getIntersect.d.ts +16 -2
  575. package/libs/shared-utils/three/getIntersect.js +20 -5
  576. package/libs/shared-utils/three/getNormal.d.ts +1 -1
  577. package/libs/shared-utils/three/getNormal.js +8 -7
  578. package/libs/shared-utils/three/recurveFindObject.d.ts +2 -0
  579. package/libs/shared-utils/three/recurveFindObject.js +6 -0
  580. package/libs/shared-utils/three/vector3ToArray.d.ts +3 -0
  581. package/libs/shared-utils/three/vector3ToArray.js +6 -0
  582. package/libs/vendor/hotkeys-js/dist/hotkeys.esm.js +372 -0
  583. package/package.json +4 -3
  584. package/dist/shared-utils/getIntersectionFromEvent.d.ts +0 -4
  585. package/docs/classes/Magnifier.html +0 -485
  586. package/libs/PanoMeasurePlugin/utils/generatePolygonGeometry.js +0 -13
  587. package/libs/PanoMeasurePlugin/utils/geometryUtil.js +0 -39
  588. package/libs/shared-utils/getIntersectionFromEvent.d.ts +0 -4
  589. package/libs/shared-utils/getIntersectionFromEvent.js +0 -9
  590. /package/dist/{PanoMeasurePlugin/utils → shared-utils/three}/generatePolygonGeometry.d.ts +0 -0
  591. /package/libs/{PanoMeasurePlugin/utils → shared-utils/three}/generatePolygonGeometry.d.ts +0 -0
@@ -1,7 +1,11 @@
1
1
  import { Object3D } from 'three';
2
2
  export declare class IObject3D extends Object3D {
3
+ name: string;
4
+ needsRender: boolean;
3
5
  constructor();
6
+ removeChildren(): this;
4
7
  add(...objects: Object3D[]): this;
8
+ addIfNotExists(...objects: Object3D[]): this;
5
9
  remove(...objects: Object3D[]): this;
6
10
  removeFromParent(): this;
7
11
  }
@@ -1,19 +1,32 @@
1
- import { Object3D as r } from "three";
2
- class s extends r {
1
+ var s = Object.defineProperty;
2
+ var h = (n, t, e) => t in n ? s(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
3
+ var i = (n, t, e) => (h(n, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import { Object3D as o } from "three";
5
+ class c extends o {
3
6
  constructor() {
4
7
  super();
8
+ i(this, "name", "IObject3D");
9
+ i(this, "needsRender");
10
+ }
11
+ removeChildren() {
12
+ for (; this.children.length > 0; )
13
+ this.remove(this.children[0]);
14
+ return this;
5
15
  }
6
16
  add(...e) {
7
- if (e.length === 0)
8
- return this;
9
- const t = e.filter(Boolean);
10
- return super.add(...t);
17
+ const r = e.filter(Boolean);
18
+ return r.length === 0 ? this : super.add(...r);
19
+ }
20
+ addIfNotExists(...e) {
21
+ return e.forEach((r) => {
22
+ this.children.includes(r) || this.add(r);
23
+ }), this;
11
24
  }
12
25
  remove(...e) {
13
26
  if (e.length === 0)
14
27
  return this;
15
- const t = e.filter(Boolean);
16
- return super.remove(...t);
28
+ const r = e.filter(Boolean);
29
+ return super.remove(...r);
17
30
  }
18
31
  removeFromParent() {
19
32
  const e = this.parent;
@@ -21,5 +34,5 @@ class s extends r {
21
34
  }
22
35
  }
23
36
  export {
24
- s as IObject3D
37
+ c as IObject3D
25
38
  };
@@ -2,23 +2,25 @@ import type { Five, SubscribeEventMap } from '@realsee/five';
2
2
  import Hammer from 'hammerjs';
3
3
  import * as THREE from 'three';
4
4
  import { Subscribe } from '@realsee/five';
5
+ interface MagnifierConfig {
6
+ /** 允许拖动放大镜 */
7
+ dragEnabled: boolean;
8
+ /** renderWithPoint 时,是否应该自动更新放大镜的位置 */
9
+ autoFixPCPosition: boolean;
10
+ /** 放大镜初始位置应该设置在容器的哪个位置 */
11
+ initialPosition: {
12
+ left: string;
13
+ top: string;
14
+ };
15
+ }
5
16
  interface MagnifierEvent extends SubscribeEventMap {
6
17
  wantsPanGesture: (event: (typeof Hammer)['Input']) => boolean;
7
18
  }
8
19
  /** 放大镜配置参数 */
9
- export interface MagnifierParameter {
20
+ export interface MagnifierParameter extends Partial<MagnifierConfig> {
10
21
  width?: number;
11
22
  height?: number;
12
23
  scale?: number;
13
- /** 允许拖动放大镜 */
14
- dragEnabled?: boolean;
15
- /** renderWithPoint 时,是否应该自动更新放大镜的位置 */
16
- autoFixPCPosition?: boolean;
17
- /** 放大镜初始位置应该设置在容器的哪个位置 */
18
- initialPosition?: {
19
- left: string;
20
- top: string;
21
- };
22
24
  }
23
25
  export declare class Magnifier {
24
26
  width: number;
@@ -26,33 +28,45 @@ export declare class Magnifier {
26
28
  containerDom?: Element;
27
29
  hooks: Subscribe<MagnifierEvent>;
28
30
  canvas: HTMLCanvasElement;
31
+ config: MagnifierConfig;
32
+ state: {
33
+ enabled: boolean;
34
+ };
29
35
  private five;
30
36
  private scale;
31
- private config;
32
37
  private offset;
33
38
  private context;
34
39
  private renderCenter;
35
40
  private hammer?;
36
- private state;
41
+ private offsetRange?;
42
+ private isPanning;
37
43
  constructor(five: Five, options: MagnifierParameter);
38
- getCurrentState(): {
39
- enabled: boolean;
40
- };
41
- dispose(): void;
42
- show(): this;
43
- hide(): this;
44
44
  enable(): this;
45
45
  disable(): this;
46
+ dispose(): void;
46
47
  /** 把放大镜放到某一个容器中 */
47
48
  appendTo(element: Element): this;
48
49
  /** 清除放大镜渲染内容 */
49
50
  clear(): this;
50
51
  /** 放大传入点位周围的内容 */
51
52
  renderWithPoint(point: THREE.Vector3): void;
53
+ /** 放大传入点位周围的内容 */
54
+ renderWithScreenPoint(point: {
55
+ x: number;
56
+ y: number;
57
+ }): void;
58
+ resetOffset(): void;
59
+ protected getRenderCenter(): THREE.Vector3 | {
60
+ x: number;
61
+ y: number;
62
+ };
63
+ private _appendTo;
52
64
  private autoFixPCPosition;
53
65
  private render;
54
66
  private initStyle;
67
+ private getPanOffset;
68
+ private onPanstart;
55
69
  private onPan;
56
- private onPanEnd;
70
+ private onPanend;
57
71
  }
58
72
  export {};
@@ -1,85 +1,70 @@
1
1
  var p = Object.defineProperty;
2
- var P = (s, t, e) => t in s ? p(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
- var a = (s, t, e) => (P(s, typeof t != "symbol" ? t + "" : t, e), e);
4
- import w from "hammerjs";
5
- import * as v from "three";
6
- import { Subscribe as D } from "@realsee/five";
7
- function l(s, t, e) {
8
- const n = s[t], i = s[e];
9
- n === void 0 || i === void 0 || (s[t] = i, s[e] = n);
10
- }
11
- function C(s, t, e) {
12
- const n = e / 2;
13
- for (let i = 1; i <= n; i++) {
14
- const h = e - (i - 1);
15
- for (let r = 1; r <= t; r++) {
16
- const o = (i - 1) * t + r - 1, c = (h - 1) * t + r - 1;
17
- l(s, o * 4 + 0, c * 4 + 0), l(s, o * 4 + 1, c * 4 + 1), l(s, o * 4 + 2, c * 4 + 2), l(s, o * 4 + 3, c * 4 + 3);
18
- }
19
- }
20
- }
21
- class H {
2
+ var b = (r, t, e) => t in r ? p(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
3
+ var n = (r, t, e) => (b(r, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import C from "hammerjs";
5
+ import * as l from "three";
6
+ import { Subscribe as w } from "@realsee/five";
7
+ class Y {
22
8
  constructor(t, e) {
23
- a(this, "width");
24
- a(this, "height");
25
- a(this, "containerDom");
26
- a(this, "hooks", new D());
27
- a(this, "canvas", document.createElement("canvas"));
28
- a(this, "five");
29
- a(this, "scale");
30
- a(this, "config");
31
- a(this, "offset", { x: 0, y: 0 });
32
- a(this, "context");
33
- a(this, "renderCenter", new v.Vector3());
34
- a(this, "hammer");
35
- a(this, "state", { enabled: !1 });
36
- a(this, "onPan", (t) => {
37
- if (!this.containerDom || this.hooks.emit("wantsPanGesture", t))
9
+ n(this, "width");
10
+ n(this, "height");
11
+ n(this, "containerDom");
12
+ n(this, "hooks", new w());
13
+ n(this, "canvas", document.createElement("canvas"));
14
+ n(this, "config");
15
+ n(this, "state", { enabled: !1 });
16
+ n(this, "five");
17
+ n(this, "scale");
18
+ n(this, "offset", { x: 0, y: 0 });
19
+ n(this, "context");
20
+ n(this, "renderCenter", new l.Vector3());
21
+ n(this, "hammer");
22
+ n(this, "offsetRange");
23
+ n(this, "isPanning", !1);
24
+ n(this, "onPanstart", () => {
25
+ this.isPanning = !0, this.canvas.style.boxShadow = "0 2px 30px 0 rgba(0,0,0,0.20)";
26
+ });
27
+ n(this, "onPan", (t) => {
28
+ if (!this.isPanning || !this.offsetRange || this.hooks.emit("wantsPanGesture", t))
38
29
  return;
39
- const n = this.offset.x + t.deltaX, i = this.offset.y + t.deltaY;
40
- this.canvas.style.boxShadow = "0 2px 30px 0 rgba(0,0,0,0.20)", this.canvas.style.transform = `translate3d(${n}px, ${i}px, 100px)`;
30
+ const { translateX: i, translateY: s } = this.getPanOffset(t, this.offsetRange);
31
+ this.canvas.style.transform = `translate3d(${i}px, ${s}px, 100px)`;
41
32
  });
42
- a(this, "onPanEnd", (t) => {
43
- this.offset = { x: this.offset.x + t.deltaX, y: this.offset.y + t.deltaY }, this.canvas.style.boxShadow = "none";
33
+ n(this, "onPanend", (t) => {
34
+ if (this.isPanning = !1, this.canvas.style.boxShadow = "none", !this.offsetRange)
35
+ return;
36
+ const { translateX: e, translateY: i } = this.getPanOffset(t, this.offsetRange);
37
+ this.canvas.style.transform = `translate3d(${e}px, ${i}px, 100px)`, this.offset = { x: e, y: i };
44
38
  });
45
- var i, h, r;
39
+ var s, h, o, a;
46
40
  if (!t.renderer)
47
41
  throw new Error("Five Render 未初始化");
48
- this.five = t, this.scale = (i = e == null ? void 0 : e.scale) != null ? i : 2, this.width = (h = e == null ? void 0 : e.width) != null ? h : 190, this.height = (r = e == null ? void 0 : e.height) != null ? r : 190, this.config = {
42
+ this.five = t, this.scale = (s = e == null ? void 0 : e.scale) != null ? s : 2, this.width = (h = e == null ? void 0 : e.width) != null ? h : 190, this.height = (a = (o = e == null ? void 0 : e.height) != null ? o : e == null ? void 0 : e.width) != null ? a : 190, this.config = {
49
43
  dragEnabled: (e == null ? void 0 : e.dragEnabled) || !1,
50
44
  autoFixPCPosition: (e == null ? void 0 : e.autoFixPCPosition) || !1,
51
45
  initialPosition: (e == null ? void 0 : e.initialPosition) || { left: "0", top: "0" }
52
46
  };
53
- const n = this.canvas.getContext("2d");
54
- if (!n)
47
+ const i = this.canvas.getContext("2d");
48
+ if (!i)
55
49
  throw new Error("CANNOT CREATE CONTEXT2D");
56
- this.context = n, this.config.dragEnabled && (this.hammer = new w(this.canvas), this.hammer.on("pan", this.onPan), this.hammer.on("panend", this.onPanEnd)), this.initStyle();
57
- }
58
- getCurrentState() {
59
- return this.state;
60
- }
61
- dispose() {
62
- var t;
63
- this.clear(), this.disable(), (t = this.hammer) == null || t.destroy();
64
- }
65
- show() {
66
- return this.canvas.style.visibility = "visible", this;
67
- }
68
- hide() {
69
- return this.canvas.style.visibility = "hidden", this;
50
+ this.context = i, this.config.dragEnabled && (this.hammer = new C(this.canvas), this.hammer.on("pan", this.onPan), this.hammer.on("panstart", this.onPanstart), this.hammer.on("panend", this.onPanend)), this.initStyle();
70
51
  }
71
52
  enable() {
72
- var t;
73
53
  if (!this.state.enabled)
74
- return this.state.enabled = !0, (t = this.containerDom) == null || t.append(this.canvas), this;
54
+ return this.state.enabled = !0, this.containerDom && this._appendTo(this.containerDom), this;
75
55
  }
76
56
  disable() {
77
57
  if (this.state.enabled)
78
- return this.state.enabled = !1, this.canvas.remove(), this;
58
+ return this.state.enabled = !1, this.canvas.style.visibility = "hidden", this.canvas.remove(), this;
59
+ }
60
+ dispose() {
61
+ var t;
62
+ this.clear(), this.disable(), (t = this.hammer) == null || t.destroy();
79
63
  }
80
64
  /** 把放大镜放到某一个容器中 */
81
65
  appendTo(t) {
82
- return this.containerDom && Array.from(this.containerDom.children).includes(this.canvas) && this.containerDom.removeChild(this.canvas), this.containerDom = t, this.state.enabled && t.append(this.canvas), this;
66
+ var e;
67
+ return this.containerDom && ((e = this.containerDom) == null || e.removeChild(this.canvas)), this.containerDom = t, this.state.enabled && this._appendTo(t), this;
83
68
  }
84
69
  /** 清除放大镜渲染内容 */
85
70
  clear() {
@@ -89,27 +74,84 @@ class H {
89
74
  renderWithPoint(t) {
90
75
  this.containerDom && this.state.enabled && (this.renderCenter = t, this.render(), this.config.autoFixPCPosition && this.autoFixPCPosition());
91
76
  }
77
+ /** 放大传入点位周围的内容 */
78
+ renderWithScreenPoint(t) {
79
+ this.containerDom && this.state.enabled && (this.renderCenter = t, this.render(), this.config.autoFixPCPosition && this.autoFixPCPosition());
80
+ }
81
+ resetOffset() {
82
+ this.offset = { x: 0, y: 0 }, this.canvas.style.transform = "translate3d(0px, 0px, 100px)";
83
+ }
84
+ getRenderCenter() {
85
+ return this.renderCenter;
86
+ }
87
+ _appendTo(t) {
88
+ if (this.resetOffset(), t.appendChild(this.canvas), !this.offsetRange) {
89
+ const e = this.canvas.getBoundingClientRect(), i = t.getBoundingClientRect(), s = i.right - e.right, h = i.bottom - e.bottom, o = i.left - e.left, a = i.top - e.top;
90
+ this.offsetRange = {
91
+ min: { x: o, y: a },
92
+ max: { x: s, y: h }
93
+ };
94
+ }
95
+ }
92
96
  autoFixPCPosition() {
93
97
  if (!this.containerDom)
94
98
  return;
95
- const { width: t, height: e } = this, n = this.renderCenter.clone().project(this.five.camera), i = (n.x + 1) / 2 * this.containerDom.clientWidth, h = -(n.x - 1) / 2 * this.containerDom.clientWidth, r = -(n.y - 1) / 2 * this.containerDom.clientHeight;
96
- i < 183 ? (this.canvas.style.top = -e / 2 + "px", this.canvas.style.left = "90px") : r < 183 ? (this.canvas.style.top = "90px", this.canvas.style.left = -t / 2 + "px") : h < 183 ? (this.canvas.style.top = -e / 2 + "px", this.canvas.style.left = -t - 90 + "px") : (this.canvas.style.left = -t / 2 + "px", this.canvas.style.top = -e - 90 + "px"), this.canvas.style.transform = `translate3d(${i}px, ${r}px, 10px)`, this.offset = { x: i, y: r };
99
+ const { width: t, height: e } = this, { clientWidth: i, clientHeight: s } = this.containerDom, [h, o, a] = (() => {
100
+ if (this.renderCenter instanceof l.Vector3) {
101
+ const f = this.renderCenter.clone().project(this.five.camera);
102
+ return [
103
+ //
104
+ (f.x + 1) / 2 * i,
105
+ -(f.x - 1) / 2 * i,
106
+ -(f.y - 1) / 2 * s
107
+ ];
108
+ } else
109
+ return [this.renderCenter.x, i - this.renderCenter.x, this.renderCenter.y];
110
+ })();
111
+ h < 183 ? (this.canvas.style.top = -e / 2 + "px", this.canvas.style.left = "90px") : a < 183 ? (this.canvas.style.top = "90px", this.canvas.style.left = -t / 2 + "px") : o < 183 ? (this.canvas.style.top = -e / 2 + "px", this.canvas.style.left = -t - 90 + "px") : (this.canvas.style.left = -t / 2 + "px", this.canvas.style.top = -e - 90 + "px"), this.canvas.style.transform = `translate3d(${h}px, ${a}px, 10px)`, this.offset = { x: h, y: a };
97
112
  }
98
113
  render() {
99
114
  if (!this.five.renderer || !this.containerDom)
100
115
  return;
101
- const { scale: t, context: e, width: n, height: i } = this, h = this.renderCenter.clone().project(this.five.camera), r = this.five.renderer.getSize(new v.Vector2()), o = 1, c = n / t, g = i / t, u = o * t, y = (h.x + 1) / 2 * r.x, b = (h.y + 1) / 2 * r.y, d = this.five.getPixels(y - c / 2, b - c / 2, c, g, u), f = Math.floor(n * o), x = Math.floor(i * o);
102
- C(d, f, x);
103
- const m = new ImageData(f, x);
104
- m.data.set(d), e.putImageData(m, 0, 0);
116
+ const { scale: t, context: e, width: i, height: s } = this, h = this.five.renderer.getSize(new l.Vector2()), [o, a] = (() => {
117
+ if (this.renderCenter instanceof l.Vector3) {
118
+ const y = this.renderCenter.clone().project(this.five.camera);
119
+ return [(y.x + 1) / 2 * h.x, (y.y + 1) / 2 * h.y];
120
+ } else
121
+ return [this.renderCenter.x, h.y - this.renderCenter.y];
122
+ })(), f = 1, c = i / t, x = s / t, P = f * t, g = this.five.getPixels(o - c / 2, a - c / 2, c, x, P), m = Math.floor(i * f), u = Math.floor(s * f);
123
+ R(g, m, u);
124
+ const v = new ImageData(m, u);
125
+ v.data.set(g), e.putImageData(v, 0, 0), this.canvas.style.visibility = "visible";
105
126
  }
106
127
  initStyle() {
107
128
  const t = this.canvas;
108
- t.classList.add("five-plugin__magnifier"), t.style.position = "absolute", t.style.pointerEvents = "all", t.style.borderRadius = "50%", t.style.zIndex = "99";
129
+ t.classList.add("five-plugin__magnifier"), t.style.position = "absolute", t.style.pointerEvents = this.config.dragEnabled ? "all" : "none", t.style.borderRadius = "50%", t.style.zIndex = "99";
109
130
  const e = 1;
110
- t.setAttribute("width", (this.width * e).toString()), t.setAttribute("height", (this.height * e).toString()), t.style.border = "2px solid rgba(255,255,255,0.20)", t.style.width = this.width + "px", t.style.height = this.height + "px", t.style.top = this.config.initialPosition.top, t.style.left = this.config.initialPosition.left, t.style.transform = "translate(0,0,100px)", t.style.visibility = "visible", this.config.dragEnabled && (this.canvas.style.cursor = "pointer");
131
+ t.setAttribute("width", (this.width * e).toString()), t.setAttribute("height", (this.height * e).toString()), t.style.border = "2px solid rgba(255,255,255,0.20)", t.style.width = this.width + "px", t.style.height = this.height + "px", t.style.top = this.config.initialPosition.top, t.style.left = this.config.initialPosition.left, t.style.transform = "translate(0,0,100px)", t.style.visibility = "hidden", this.config.dragEnabled && (this.canvas.style.cursor = "pointer");
132
+ }
133
+ getPanOffset(t, e) {
134
+ const {
135
+ min: { x: i, y: s },
136
+ max: { x: h, y: o }
137
+ } = e, a = this.offset.x + t.deltaX, f = this.offset.y + t.deltaY, c = Math.min(Math.max(a, i), h), x = Math.min(Math.max(f, s), o);
138
+ return { translateX: c, translateY: x };
139
+ }
140
+ }
141
+ function d(r, t, e) {
142
+ const i = r[t], s = r[e];
143
+ i === void 0 || s === void 0 || (r[t] = s, r[e] = i);
144
+ }
145
+ function R(r, t, e) {
146
+ const i = e / 2;
147
+ for (let s = 1; s <= i; s++) {
148
+ const h = e - (s - 1);
149
+ for (let o = 1; o <= t; o++) {
150
+ const a = (s - 1) * t + o - 1, f = (h - 1) * t + o - 1;
151
+ d(r, a * 4 + 0, f * 4 + 0), d(r, a * 4 + 1, f * 4 + 1), d(r, a * 4 + 2, f * 4 + 2), d(r, a * 4 + 3, f * 4 + 3);
152
+ }
111
153
  }
112
154
  }
113
155
  export {
114
- H as Magnifier
156
+ Y as Magnifier
115
157
  };
@@ -1,7 +1,7 @@
1
- import type { Five, SubscribeEventMap } from '@realsee/five';
2
- import { Subscribe } from '@realsee/five';
1
+ import type { Five } from '@realsee/five';
3
2
  import { PointSelectorHelper, type PointIntersection } from './PointSelectorHelper';
4
- import { Vector3 } from 'three';
3
+ import type { Vector3 } from 'three';
4
+ import { Subscribe } from '../Subscribe';
5
5
  interface Config {
6
6
  /**
7
7
  * @description: 选点的两种模式, 'fixed' 为固定选点为屏幕中心点,拖动five画布来更新点,'cursor' 为跟随鼠标移动来更新点, 'auto' 则根据设备类型自动选择
@@ -10,7 +10,7 @@ interface Config {
10
10
  mode: 'fixed' | 'cursor' | 'auto';
11
11
  pointSelectorHelperParams: ConstructorParameters<typeof PointSelectorHelper>[1];
12
12
  }
13
- interface EventMap extends SubscribeEventMap {
13
+ type EventMap = {
14
14
  /**
15
15
  * @description: 与模型交点更新时触发,移出监听范围时为null
16
16
  * @param isAdhered 是否为吸附的点
@@ -20,23 +20,35 @@ interface EventMap extends SubscribeEventMap {
20
20
  * @description: 试图打点,返回false则不打点
21
21
  */
22
22
  wantsSelect: (intersection: PointIntersection) => boolean | void;
23
+ /**
24
+ * @description: 打点成功
25
+ */
23
26
  select: (intersection: PointIntersection) => void;
24
- }
27
+ /**
28
+ * @description: 功能开启
29
+ */
30
+ enable: () => void;
31
+ /**
32
+ * @description: 功能关闭
33
+ */
34
+ disable: () => void;
35
+ };
25
36
  /**
26
37
  * @description: 在屏幕上选点
27
38
  */
28
- export declare class PointSelector {
29
- hook: Subscribe<EventMap>;
39
+ export declare class PointSelector extends Subscribe<EventMap> {
30
40
  get position(): PointIntersection;
31
41
  /**
32
42
  * @description: 不在 five canvas 上时为 true
33
43
  */
34
44
  outOfFive: boolean;
45
+ enabled: boolean;
46
+ pointSelectorHelper: PointSelectorHelper;
47
+ /** @deprecated directly use `pointSelector.on/off` instead */
48
+ hook: this;
35
49
  private five;
36
50
  private hammer?;
37
51
  private mode;
38
- private pointSelectorHelper;
39
- private enabled;
40
52
  /** 长按屏幕的动作触发后为true,手指抬起后为false */
41
53
  private pressDown;
42
54
  /** 一组吸附的点,光标靠近这些点时,会将helper以及放大镜的位置设置为这些点 */
@@ -44,11 +56,13 @@ export declare class PointSelector {
44
56
  /** 吸附点的半径 */
45
57
  private adherePointsRadius;
46
58
  private lastFiveHelperVisible?;
59
+ private mousePosition;
60
+ private get mouseNdcPosition();
47
61
  constructor(five: Five, config?: Partial<Config>);
48
62
  enable(): void;
49
63
  disable(): void;
50
64
  dispose(): void;
51
- setAdherePoints(points: Vector3[] | Vector3 | null, radius?: number): void;
65
+ setAdherePoints(points: Vector3[] | ((intersection: PointIntersection) => Vector3[]) | null, radius?: number): void;
52
66
  /**
53
67
  * @description: 主动触发一次选点
54
68
  * @return: select 是否成功
@@ -76,7 +90,6 @@ export declare class PointSelector {
76
90
  * @description: 手指抬起后,重置pressDown状态
77
91
  */
78
92
  private onPanEnd;
79
- private intersectionOnModelUpdate;
80
93
  private updateByMousePosition;
81
94
  /**
82
95
  * @description: 根据鼠标位置更新helper位置
@@ -86,6 +99,7 @@ export declare class PointSelector {
86
99
  * @description: 更新 pointSelectorHelper 的焦点位置
87
100
  */
88
101
  private updatePointSelectorHelperIntersect;
102
+ private mousePositionToNdcPosition;
89
103
  private onFiveWantsPanGesture;
90
104
  private renderScreenCenter;
91
105
  private emitIntersectionUpdate;