@realsee/dnalogel 2.1.2-alpha.9 → 2.2.0

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 (473) hide show
  1. package/README.md +45 -0
  2. package/dist/CSS3DRenderPlugin/CSS3DRender.d.ts +167 -0
  3. package/dist/CSS3DRenderPlugin/Controller.d.ts +81 -0
  4. package/dist/CSS3DRenderPlugin/index.d.ts +5 -0
  5. package/dist/CSS3DRenderPlugin/typing.d.ts +26 -0
  6. package/dist/CSS3DRenderPlugin/utils/CSS3DObjectPlus.d.ts +34 -0
  7. package/dist/CSS3DRenderPlugin/utils/centerPoint.d.ts +2 -0
  8. package/dist/CSS3DRenderPlugin/utils/evenNumber.d.ts +3 -0
  9. package/dist/CSS3DRenderPlugin/utils/index.d.ts +4 -0
  10. package/dist/CSS3DRenderPlugin/utils/positionToVector3.d.ts +13 -0
  11. package/dist/CSS3DRenderPlugin/utils/random.d.ts +1 -0
  12. package/dist/CameraMovementPlugin/CameraMovementPlugin.d.ts +7 -0
  13. package/dist/CameraMovementPlugin/index.d.ts +5 -0
  14. package/dist/CameraMovementPlugin/typing.d.ts +68 -0
  15. package/dist/CruisePlugin/Controller.d.ts +172 -0
  16. package/dist/CruisePlugin/index.d.ts +6 -0
  17. package/dist/CruisePlugin/typing.d.ts +134 -0
  18. package/dist/CruisePlugin/utils/coordinatesAngle.d.ts +12 -0
  19. package/dist/CruisePlugin/utils/coordinatesToVector.d.ts +7 -0
  20. package/dist/CruisePlugin/utils/formatRad.d.ts +7 -0
  21. package/dist/CruisePlugin/utils/linerValue.d.ts +1 -0
  22. package/dist/CruisePlugin/utils/safeCall.d.ts +1 -0
  23. package/dist/CruisePlugin/utils/sleep.d.ts +1 -0
  24. package/dist/CruisePlugin/utils/vectorToCoordinates.d.ts +7 -0
  25. package/dist/GuideLinePlugin/Controller.d.ts +51 -0
  26. package/dist/GuideLinePlugin/index.d.ts +5 -0
  27. package/dist/GuideLinePlugin/typing.d.ts +34 -0
  28. package/dist/GuideLinePlugin/utils/getArrowMaterial.d.ts +4 -0
  29. package/dist/GuideLinePlugin/utils/getLineGeometries.d.ts +16 -0
  30. package/dist/GuideLinePlugin/utils/polyline-normals.d.ts +3 -0
  31. package/dist/ItemLabelPlugin/Plugin.d.ts +4 -0
  32. package/dist/ItemLabelPlugin/events.type.d.ts +9 -0
  33. package/dist/ItemLabelPlugin/index.d.ts +9 -0
  34. package/dist/ItemLabelPlugin/typings.d.ts +65 -0
  35. package/dist/ItemLabelPlugin/utils/getLabelTransform.d.ts +1 -0
  36. package/dist/ItemLabelPlugin/utils/getStrokeLength.d.ts +5 -0
  37. package/dist/ItemLabelPlugin/utils/isImpacted.d.ts +8 -0
  38. package/dist/ItemLabelPlugin/utils/parseData.d.ts +3 -0
  39. package/dist/ItemLabelPlugin/utils/transform2RenderData.d.ts +3 -0
  40. package/dist/ModelChassisCompassPlugin/Plugin.d.ts +19 -0
  41. package/dist/ModelChassisCompassPlugin/index.d.ts +4 -0
  42. package/dist/ModelEntryDoorGuidePlugin/Plugin.d.ts +26 -0
  43. package/dist/ModelEntryDoorGuidePlugin/index.d.ts +4 -0
  44. package/dist/ModelItemLabelPlugin/ModelItemLabelPlugin.d.ts +4 -0
  45. package/dist/ModelItemLabelPlugin/events.type.d.ts +9 -0
  46. package/dist/ModelItemLabelPlugin/index.d.ts +9 -0
  47. package/dist/ModelItemLabelPlugin/typings.d.ts +56 -0
  48. package/dist/ModelItemLabelPlugin/utils/parseData.d.ts +3 -0
  49. package/dist/ModelRoomLabelPlugin/Assets/roomLabelBg.d.ts +1 -0
  50. package/dist/ModelRoomLabelPlugin/Controller.d.ts +36 -0
  51. package/dist/ModelRoomLabelPlugin/index.d.ts +12 -0
  52. package/dist/ModelRoomLabelPlugin/typings.d.ts +35 -0
  53. package/dist/ModelRoomLabelPlugin/utils/parseData.d.ts +3 -0
  54. package/dist/ModelTVVideoPlugin/Plugin.d.ts +4 -0
  55. package/dist/ModelTVVideoPlugin/index.d.ts +5 -0
  56. package/dist/ModelTVVideoPlugin/typings.d.ts +25 -0
  57. package/dist/ModelTVVideoPlugin/utils/parseData.d.ts +2 -0
  58. package/dist/ModelViewPlugin/Plugin.d.ts +28 -0
  59. package/dist/ModelViewPlugin/index.d.ts +4 -0
  60. package/dist/Object3DHelperPlugin/Controller.d.ts +65 -0
  61. package/dist/Object3DHelperPlugin/FiveControllerWrapper.d.ts +19 -0
  62. package/dist/Object3DHelperPlugin/index.d.ts +6 -0
  63. package/dist/Object3DHelperPlugin/typings.d.ts +24 -0
  64. package/dist/PanoCompassPlugin/Assets/roomInfoIcon.d.ts +1 -0
  65. package/dist/PanoCompassPlugin/Controller.d.ts +84 -0
  66. package/dist/PanoCompassPlugin/getRoomInfoInstance.d.ts +8 -0
  67. package/dist/PanoCompassPlugin/index.d.ts +7 -0
  68. package/dist/PanoCompassPlugin/typings.d.ts +57 -0
  69. package/dist/PanoCursorRaycasterPlugin/index.d.ts +48 -0
  70. package/dist/PanoDoorLabelPlugin/BaseController.d.ts +60 -0
  71. package/dist/PanoDoorLabelPlugin/Controller.d.ts +37 -0
  72. package/dist/PanoDoorLabelPlugin/index.d.ts +7 -0
  73. package/dist/PanoDoorLabelPlugin/typings.d.ts +38 -0
  74. package/dist/PanoDoorLabelPlugin/utils.d.ts +5 -0
  75. package/dist/PanoMeasurePlugin/Controller/BaseController.d.ts +43 -0
  76. package/dist/PanoMeasurePlugin/Controller/EditController.d.ts +48 -0
  77. package/dist/PanoMeasurePlugin/Controller/MixedController.d.ts +42 -0
  78. package/dist/PanoMeasurePlugin/Controller/ShortcutKeyController.d.ts +12 -0
  79. package/dist/PanoMeasurePlugin/Controller/ViewController.d.ts +16 -0
  80. package/dist/PanoMeasurePlugin/Controller/WatchController.d.ts +26 -0
  81. package/dist/PanoMeasurePlugin/Controller/index.d.ts +73 -0
  82. package/dist/PanoMeasurePlugin/Model/index.d.ts +35 -0
  83. package/dist/PanoMeasurePlugin/Model/line.d.ts +30 -0
  84. package/dist/PanoMeasurePlugin/Model/point.d.ts +16 -0
  85. package/dist/PanoMeasurePlugin/Model/polyline.d.ts +16 -0
  86. package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.d.ts +2 -0
  87. package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.d.ts +2 -0
  88. package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.d.ts +2 -0
  89. package/dist/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +25 -0
  90. package/dist/PanoMeasurePlugin/Modules/FiveHelper.d.ts +11 -0
  91. package/dist/PanoMeasurePlugin/Modules/GuideController.d.ts +18 -0
  92. package/dist/PanoMeasurePlugin/Modules/Magnifier.d.ts +59 -0
  93. package/dist/PanoMeasurePlugin/Modules/UIController/HTML.d.ts +2 -0
  94. package/dist/PanoMeasurePlugin/Modules/UIController/MainBtnController.d.ts +15 -0
  95. package/dist/PanoMeasurePlugin/Modules/UIController/Revoke/index.d.ts +13 -0
  96. package/dist/PanoMeasurePlugin/Modules/UIController/index.d.ts +20 -0
  97. package/dist/PanoMeasurePlugin/Modules/UIController/mobileHTML.d.ts +4 -0
  98. package/dist/PanoMeasurePlugin/Modules/UIController/mobileMainBtnController.d.ts +12 -0
  99. package/dist/PanoMeasurePlugin/Modules/UIController/style.d.ts +16 -0
  100. package/dist/PanoMeasurePlugin/Modules/rangePiece/html.d.ts +4 -0
  101. package/dist/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +44 -0
  102. package/dist/PanoMeasurePlugin/index.d.ts +10 -0
  103. package/dist/PanoMeasurePlugin/typings/data.d.ts +37 -0
  104. package/dist/PanoMeasurePlugin/typings/event.type.d.ts +37 -0
  105. package/dist/PanoMeasurePlugin/typings/index.d.ts +8 -0
  106. package/dist/PanoMeasurePlugin/utils/calculateThreeMouse.d.ts +10 -0
  107. package/dist/PanoMeasurePlugin/utils/constants.d.ts +4 -0
  108. package/dist/PanoMeasurePlugin/utils/distanceDom.d.ts +28 -0
  109. package/dist/PanoMeasurePlugin/utils/findAssociatedLines.d.ts +2 -0
  110. package/dist/PanoMeasurePlugin/utils/findClosestPoint.d.ts +10 -0
  111. package/dist/PanoMeasurePlugin/utils/getIntersectionFromEvent.d.ts +4 -0
  112. package/dist/PanoMeasurePlugin/utils/getPointFromHammerEvent.d.ts +10 -0
  113. package/dist/PanoMeasurePlugin/utils/ironbox.d.ts +1 -0
  114. package/dist/PanoMeasurePlugin/utils/isNDCPointInScreen.d.ts +2 -0
  115. package/dist/PanoMeasurePlugin/utils/line.d.ts +17 -0
  116. package/dist/PanoMeasurePlugin/utils/math.d.ts +17 -0
  117. package/dist/PanoMeasurePlugin/utils/mouseGroup.d.ts +7 -0
  118. package/dist/PanoMeasurePlugin/utils/ndc2Screen.d.ts +5 -0
  119. package/dist/PanoRulerPlugin/Plugin.d.ts +34 -0
  120. package/dist/PanoRulerPlugin/index.d.ts +5 -0
  121. package/dist/PanoRulerPlugin/style.d.ts +2 -0
  122. package/dist/PanoRulerPlugin/typings.d.ts +21 -0
  123. package/dist/PanoRulerProPlugin/Controller.d.ts +15 -0
  124. package/dist/PanoRulerProPlugin/index.d.ts +8 -0
  125. package/dist/PanoRulerProPlugin/typings.d.ts +46 -0
  126. package/dist/PanoSpatialTagPlugin/Plugin.d.ts +35 -0
  127. package/dist/PanoSpatialTagPlugin/index.d.ts +5 -0
  128. package/dist/PanoSpatialTagPlugin/store.d.ts +1 -0
  129. package/dist/PanoSpatialTagPlugin/style.d.ts +1 -0
  130. package/dist/PanoSpatialTagPlugin/typings.d.ts +40 -0
  131. package/dist/PanoTagPlugin/Assets/Icon.d.ts +3 -0
  132. package/dist/PanoTagPlugin/controller/TagCacheController.d.ts +22 -0
  133. package/dist/PanoTagPlugin/controller/TagComputer.d.ts +69 -0
  134. package/dist/PanoTagPlugin/controller/index.d.ts +144 -0
  135. package/dist/PanoTagPlugin/index.d.ts +8 -0
  136. package/dist/PanoTagPlugin/tag.config.d.ts +7 -0
  137. package/dist/PanoTagPlugin/typings/controller.d.ts +103 -0
  138. package/dist/PanoTagPlugin/typings/index.d.ts +2 -0
  139. package/dist/PanoTagPlugin/typings/tag.d.ts +247 -0
  140. package/dist/PanoTagPlugin/utils/actionAfterFiveModelLoad.d.ts +2 -0
  141. package/dist/PanoTagPlugin/utils/addDebugPoints.d.ts +3 -0
  142. package/dist/PanoTagPlugin/utils/checkRange.d.ts +4 -0
  143. package/dist/PanoTagPlugin/utils/constants.d.ts +3 -0
  144. package/dist/PanoTagPlugin/utils/debounce.d.ts +7 -0
  145. package/dist/PanoTagPlugin/utils/doUtil.d.ts +1 -0
  146. package/dist/PanoTagPlugin/utils/index.d.ts +12 -0
  147. package/dist/PanoTagPlugin/utils/noTypecheck.d.ts +1 -0
  148. package/dist/PanoTagPlugin/utils/normalPositionToPositions.d.ts +2 -0
  149. package/dist/PanoTagPlugin/utils/planeNormal.d.ts +4 -0
  150. package/dist/PanoTagPlugin/utils/resizeObserver.d.ts +4 -0
  151. package/dist/PanoTagPlugin/utils/search.d.ts +11 -0
  152. package/dist/PanoTagPlugin/utils/tagPosition.d.ts +3 -0
  153. package/dist/PanoTagPlugin/utils/throttle.d.ts +7 -0
  154. package/dist/base/BasePlugin.d.ts +106 -0
  155. package/dist/base/BasePluginWithData.d.ts +34 -0
  156. package/dist/components/PaintBrush/Controller.d.ts +43 -0
  157. package/dist/components/PaintBrush/Subscribe.d.ts +76 -0
  158. package/dist/components/PaintBrush/index.d.ts +27 -0
  159. package/dist/components/PaintBrush/style.d.ts +2 -0
  160. package/dist/components/PaintBrush/tween.d.ts +7 -0
  161. package/dist/components/PaintBrush/typings.d.ts +58 -0
  162. package/dist/components/PaintBrush/utils.d.ts +26 -0
  163. package/dist/components/index.d.ts +2 -0
  164. package/dist/env.d.ts +1 -0
  165. package/dist/floorplan/Assets/camera.d.ts +1 -0
  166. package/dist/floorplan/Assets/compass.d.ts +1 -0
  167. package/dist/floorplan/Assets/floorplanExtraObject.d.ts +1 -0
  168. package/dist/floorplan/MapviewFloorplanPlugin/Controller.d.ts +97 -0
  169. package/dist/floorplan/MapviewFloorplanPlugin/index.d.ts +7 -0
  170. package/dist/floorplan/MapviewFloorplanPlugin/typing.d.ts +1 -0
  171. package/dist/floorplan/ModelFloorplanPlugin/Controller.d.ts +99 -0
  172. package/dist/floorplan/ModelFloorplanPlugin/index.d.ts +7 -0
  173. package/dist/floorplan/ModelFloorplanPlugin/typing.d.ts +1 -0
  174. package/dist/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +36 -0
  175. package/dist/floorplan/PanoFloorplanRadarPlugin/index.d.ts +7 -0
  176. package/dist/floorplan/PanoFloorplanRadarPlugin/typing.d.ts +52 -0
  177. package/dist/floorplan/TopviewFloorplanPlugin/Controller.d.ts +69 -0
  178. package/dist/floorplan/TopviewFloorplanPlugin/index.d.ts +7 -0
  179. package/dist/floorplan/TopviewFloorplanPlugin/typing.d.ts +11 -0
  180. package/dist/floorplan/constant.d.ts +5 -0
  181. package/dist/floorplan/index.d.ts +7 -0
  182. package/dist/floorplan/typings/floorplanData.d.ts +137 -0
  183. package/dist/floorplan/typings/floorplanServerData.d.ts +144 -0
  184. package/dist/floorplan/typings/index.d.ts +117 -0
  185. package/dist/floorplan/typings/utility.d.ts +2 -0
  186. package/dist/floorplan/utils/constant.d.ts +22 -0
  187. package/dist/floorplan/utils/correctFiveState.d.ts +15 -0
  188. package/dist/floorplan/utils/formatData.d.ts +5 -0
  189. package/dist/floorplan/utils/formatPosition.d.ts +36 -0
  190. package/dist/index.d.ts +23 -0
  191. package/dist/shared-utils/Object3DHelper/Base/BaseController.d.ts +48 -0
  192. package/dist/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +91 -0
  193. package/dist/shared-utils/Object3DHelper/Constants/color.d.ts +12 -0
  194. package/dist/shared-utils/Object3DHelper/Controller/CSS3DScaleController.d.ts +6 -0
  195. package/dist/shared-utils/Object3DHelper/Controller/MoveController.d.ts +13 -0
  196. package/dist/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +37 -0
  197. package/dist/shared-utils/Object3DHelper/Controller/RotateController.d.ts +22 -0
  198. package/dist/shared-utils/Object3DHelper/Helper/HTML/rectangleScaleDom.d.ts +11 -0
  199. package/dist/shared-utils/Object3DHelper/Helper/HTML/tipsDom.d.ts +6 -0
  200. package/dist/shared-utils/Object3DHelper/Helper/HTML/utils/createElement.d.ts +2 -0
  201. package/dist/shared-utils/Object3DHelper/Helper/MoveHelper.d.ts +13 -0
  202. package/dist/shared-utils/Object3DHelper/Helper/Objects/ArrowGroup.d.ts +17 -0
  203. package/dist/shared-utils/Object3DHelper/Helper/OutlineHelper.d.ts +11 -0
  204. package/dist/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +40 -0
  205. package/dist/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +55 -0
  206. package/dist/shared-utils/Object3DHelper/Helper/index.d.ts +5 -0
  207. package/dist/shared-utils/Object3DHelper/index.d.ts +71 -0
  208. package/dist/shared-utils/Object3DHelper/typings/Direction.d.ts +2 -0
  209. package/dist/shared-utils/Object3DHelper/typings/Hooks.d.ts +45 -0
  210. package/dist/shared-utils/Object3DHelper/typings/Scissor.d.ts +17 -0
  211. package/dist/shared-utils/Object3DHelper/typings/index.d.ts +5 -0
  212. package/dist/shared-utils/Object3DHelper/utils/calculateThreeMouse.d.ts +14 -0
  213. package/dist/shared-utils/Object3DHelper/utils/direction.d.ts +14 -0
  214. package/dist/shared-utils/Object3DHelper/utils/filterNotColinearPoints.d.ts +2 -0
  215. package/dist/shared-utils/Object3DHelper/utils/getMouseRaycaster.d.ts +5 -0
  216. package/dist/shared-utils/Object3DHelper/utils/getPoint.d.ts +3 -0
  217. package/dist/shared-utils/Object3DHelper/utils/index.d.ts +8 -0
  218. package/dist/shared-utils/Object3DHelper/utils/normalPositionToPositions.d.ts +5 -0
  219. package/dist/shared-utils/Object3DHelper/utils/object3DBoundingPosition.d.ts +1 -0
  220. package/dist/shared-utils/Object3DHelper/utils/threex/domevents/index.d.ts +34 -0
  221. package/dist/shared-utils/Object3DHelper/utils/vectorIsEqual.d.ts +2 -0
  222. package/dist/shared-utils/Subscribe.d.ts +60 -0
  223. package/dist/shared-utils/animationFrame/BetterTween.d.ts +11 -0
  224. package/dist/shared-utils/animationFrame/calculateProgress.d.ts +8 -0
  225. package/dist/shared-utils/animationFrame/formatRad.d.ts +15 -0
  226. package/dist/shared-utils/animationFrame/index.d.ts +16 -0
  227. package/dist/shared-utils/animationFrame/tween.d.ts +75 -0
  228. package/dist/shared-utils/changeModelCanvasOpacity.d.ts +2 -0
  229. package/dist/shared-utils/createCanvasTextTexture.d.ts +8 -0
  230. package/dist/shared-utils/createLine/index.d.ts +3 -0
  231. package/dist/shared-utils/debounce.d.ts +6 -0
  232. package/dist/shared-utils/equal.d.ts +11 -0
  233. package/dist/shared-utils/filter.d.ts +27 -0
  234. package/dist/shared-utils/five/changeMode.d.ts +5 -0
  235. package/dist/shared-utils/getPxmm.d.ts +19 -0
  236. package/dist/shared-utils/index.d.ts +4 -0
  237. package/dist/shared-utils/isNil.d.ts +10 -0
  238. package/dist/shared-utils/isTruelyObject.d.ts +18 -0
  239. package/dist/shared-utils/math/Interval.d.ts +13 -0
  240. package/dist/shared-utils/math/Rectangle.d.ts +27 -0
  241. package/dist/shared-utils/math/index.d.ts +2 -0
  242. package/dist/shared-utils/math/planimetry.d.ts +116 -0
  243. package/dist/shared-utils/math/rad2Deg.d.ts +1 -0
  244. package/dist/shared-utils/nearlyEqual.d.ts +7 -0
  245. package/dist/shared-utils/nextFrame.d.ts +1 -0
  246. package/dist/shared-utils/noop.d.ts +5 -0
  247. package/dist/shared-utils/object3d2LocalMatrix.d.ts +12 -0
  248. package/dist/shared-utils/removeArrayItem.d.ts +7 -0
  249. package/dist/shared-utils/tap.d.ts +8 -0
  250. package/dist/shared-utils/three/Assets/index.d.ts +3 -0
  251. package/dist/shared-utils/three/FivePointSelector.d.ts +36 -0
  252. package/dist/shared-utils/three/Magnifier.d.ts +53 -0
  253. package/dist/shared-utils/three/PointDomHelper.d.ts +18 -0
  254. package/dist/shared-utils/three/PointHelper.d.ts +21 -0
  255. package/dist/shared-utils/three/getCoords.d.ts +9 -0
  256. package/dist/shared-utils/three/getIntersect.d.ts +6 -0
  257. package/dist/shared-utils/three/getRaycaster.d.ts +6 -0
  258. package/dist/shared-utils/three/index.d.ts +7 -0
  259. package/dist/shared-utils/three/loadTexture.d.ts +2 -0
  260. package/dist/shared-utils/three/transformPositionToVector3.d.ts +7 -0
  261. package/dist/shared-utils/three/transfromToMeshBasicMaterial.d.ts +2 -0
  262. package/dist/shared-utils/throttle.d.ts +7 -0
  263. package/dist/shared-utils/tinyEJSrender.d.ts +5 -0
  264. package/dist/shared-utils/to.d.ts +8 -0
  265. package/dist/shared-utils/uuid.d.ts +5 -0
  266. package/dist/typings/math.type.d.ts +44 -0
  267. package/docs/assets/highlight.css +35 -0
  268. package/docs/classes/CruisePluginController.html +24 -24
  269. package/docs/classes/Magnifier.html +16 -16
  270. package/docs/classes/ModelRoomLabelController.html +11 -11
  271. package/docs/classes/Object3DHelperController.html +24 -24
  272. package/docs/classes/PaintBrush.html +15 -15
  273. package/docs/classes/PanoTagPluginController.html +39 -39
  274. package/docs/classes/Util.BetterTween.html +8 -8
  275. package/docs/classes/Util.FivePointSelector.html +12 -12
  276. package/docs/classes/Util.Interval.html +12 -12
  277. package/docs/classes/Util.Magnifier.html +17 -17
  278. package/docs/classes/Util.PointDomHelper.html +11 -11
  279. package/docs/classes/Util.PointHelper.html +11 -11
  280. package/docs/classes/Util.Rectangle.html +13 -13
  281. package/docs/enums/CameraMovementEffect.html +7 -7
  282. package/docs/enums/ContentType.html +12 -12
  283. package/docs/enums/DIRECTION.html +9 -9
  284. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +9 -9
  285. package/docs/enums/DimensionType.html +7 -7
  286. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +8 -8
  287. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +9 -9
  288. package/docs/enums/LinkType.html +7 -7
  289. package/docs/enums/PaintBrushTypeEnum.html +8 -8
  290. package/docs/enums/PointType.html +7 -7
  291. package/docs/enums/Rotation.html +8 -8
  292. package/docs/functions/CSS3DRenderPlugin.html +4 -4
  293. package/docs/functions/CameraMovementPlugin.html +4 -4
  294. package/docs/functions/CruisePlugin.html +4 -4
  295. package/docs/functions/GuideLinePlugin.html +5 -5
  296. package/docs/functions/ItemLabelPlugin.html +4 -4
  297. package/docs/functions/MapviewFloorplanPlugin.html +4 -4
  298. package/docs/functions/ModelChassisCompassPlugin.html +4 -4
  299. package/docs/functions/ModelEntryDoorGuidePlugin.html +4 -4
  300. package/docs/functions/ModelFloorplanPlugin.html +4 -4
  301. package/docs/functions/ModelItemLabelPlugin.html +4 -4
  302. package/docs/functions/ModelRoomLabelPlugin.html +4 -4
  303. package/docs/functions/ModelTVVideoPlugin.html +4 -4
  304. package/docs/functions/ModelViewPlugin.html +4 -4
  305. package/docs/functions/Object3DHelperPlugin.html +4 -4
  306. package/docs/functions/PanoCompassPlugin.html +4 -4
  307. package/docs/functions/PanoCursorRaycasterPlugin.html +4 -4
  308. package/docs/functions/PanoDoorLabelPlugin.html +4 -4
  309. package/docs/functions/PanoFloorplanRadarPlugin.html +4 -4
  310. package/docs/functions/PanoMeasurePlugin.html +4 -4
  311. package/docs/functions/PanoRulerPlugin.html +4 -4
  312. package/docs/functions/PanoRulerProPlugin.html +4 -4
  313. package/docs/functions/PanoSpatialTagPlugin.html +4 -4
  314. package/docs/functions/PanoTagPlugin.html +4 -4
  315. package/docs/functions/TopviewFloorplanPlugin.html +4 -4
  316. package/docs/functions/Util.getCoordsFromClient.html +5 -5
  317. package/docs/functions/Util.getCoordsFromElement.html +5 -5
  318. package/docs/functions/Util.getFrameTime.html +5 -5
  319. package/docs/functions/Util.getIntersectFromRelativePosition.html +5 -5
  320. package/docs/functions/Util.getRaycasterFromFivePointer.html +5 -5
  321. package/docs/functions/Util.isNil.html +5 -5
  322. package/docs/functions/Util.nextFrame.html +5 -5
  323. package/docs/functions/Util.notNil.html +5 -5
  324. package/docs/functions/Util.requestAnimationFrameInterval.html +5 -5
  325. package/docs/functions/Util.tweenProgress.html +5 -5
  326. package/docs/functions/pluginFlag.html +5 -5
  327. package/docs/index.html +25 -4
  328. package/docs/interfaces/CSS3DRenderPluginEventMap.html +11 -11
  329. package/docs/interfaces/CSS3DRenderPluginState.html +8 -8
  330. package/docs/interfaces/CameraMovementPluginExportType.html +7 -7
  331. package/docs/interfaces/ContentTypeMap.html +12 -12
  332. package/docs/interfaces/FloorplanBounding.html +8 -8
  333. package/docs/interfaces/FloorplanData.html +10 -10
  334. package/docs/interfaces/FloorplanEntrance.html +11 -11
  335. package/docs/interfaces/FloorplanExtraObject.html +10 -10
  336. package/docs/interfaces/FloorplanExtraObject3D.html +8 -8
  337. package/docs/interfaces/FloorplanFloorData.html +9 -9
  338. package/docs/interfaces/FloorplanImagePosition.html +7 -7
  339. package/docs/interfaces/FloorplanObserver.html +9 -9
  340. package/docs/interfaces/FloorplanOutlineItem.html +9 -9
  341. package/docs/interfaces/FloorplanPosition.html +7 -7
  342. package/docs/interfaces/FloorplanRoomItem.html +13 -13
  343. package/docs/interfaces/FloorplanRoomLabelItem.html +7 -7
  344. package/docs/interfaces/FloorplanServerBounding.html +8 -8
  345. package/docs/interfaces/FloorplanServerComputedData.html +10 -10
  346. package/docs/interfaces/FloorplanServerData.html +7 -7
  347. package/docs/interfaces/FloorplanServerDoorItem.html +10 -10
  348. package/docs/interfaces/FloorplanServerDoorPosition.html +8 -8
  349. package/docs/interfaces/FloorplanServerEntrance.html +11 -11
  350. package/docs/interfaces/FloorplanServerFloorData.html +9 -9
  351. package/docs/interfaces/FloorplanServerImagePosition.html +7 -7
  352. package/docs/interfaces/FloorplanServerObserver.html +9 -9
  353. package/docs/interfaces/FloorplanServerOutlineItem.html +9 -9
  354. package/docs/interfaces/FloorplanServerPosition.html +7 -7
  355. package/docs/interfaces/FloorplanServerRoomItem.html +14 -14
  356. package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -7
  357. package/docs/interfaces/ItemLabelPluginData.html +6 -6
  358. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +11 -11
  359. package/docs/interfaces/ItemLabelPluginParametersType.html +9 -9
  360. package/docs/interfaces/LineJson.html +7 -7
  361. package/docs/interfaces/ModelChassisCompassPluginData.html +7 -7
  362. package/docs/interfaces/ModelChassisCompassPluginExportType.html +8 -8
  363. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +7 -7
  364. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +8 -8
  365. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +8 -8
  366. package/docs/interfaces/ModelItemLabelPluginData.html +6 -6
  367. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +11 -11
  368. package/docs/interfaces/ModelItemLabelPluginParametersType.html +7 -7
  369. package/docs/interfaces/ModelRoomLabelPluginData.html +6 -6
  370. package/docs/interfaces/ModelTVVideoPluginData.html +9 -9
  371. package/docs/interfaces/ModelTVVideoPluginExportType.html +8 -8
  372. package/docs/interfaces/ModelTVVideoPluginParameterType.html +6 -6
  373. package/docs/interfaces/ModelViewPluginExportType.html +8 -8
  374. package/docs/interfaces/Object3DHelperState.html +8 -8
  375. package/docs/interfaces/OpenParameter.html +7 -7
  376. package/docs/interfaces/PaintBrushAction.html +12 -12
  377. package/docs/interfaces/PaintBrushConfigs.html +12 -12
  378. package/docs/interfaces/PaintBrushState.html +10 -10
  379. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +10 -10
  380. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +5 -5
  381. package/docs/interfaces/PanoMeasureParameterType.html +11 -11
  382. package/docs/interfaces/PanoRulerPluginExportType.html +10 -10
  383. package/docs/interfaces/PanoRulerPluginOptions.html +7 -7
  384. package/docs/interfaces/PanoRulerPluginParameterType.html +8 -8
  385. package/docs/interfaces/PanoRulerProPluginExportType.html +9 -9
  386. package/docs/interfaces/PanoRulerProPluginOptions.html +7 -7
  387. package/docs/interfaces/PanoRulerProPluginParameterType.html +7 -7
  388. package/docs/interfaces/PanoRulerProPluginState.html +8 -8
  389. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +5 -5
  390. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +5 -5
  391. package/docs/interfaces/PanoSpatialTagPluginData.html +11 -11
  392. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +10 -10
  393. package/docs/interfaces/PanoSpatialTagPluginExportType.html +13 -13
  394. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +10 -10
  395. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +13 -13
  396. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +11 -11
  397. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +10 -10
  398. package/docs/interfaces/Point.html +8 -8
  399. package/docs/interfaces/PointJson.html +8 -8
  400. package/docs/interfaces/Room.html +9 -9
  401. package/docs/interfaces/RoomInfo.html +7 -7
  402. package/docs/interfaces/RoomLabel.html +14 -14
  403. package/docs/interfaces/RoomRules.html +5 -5
  404. package/docs/interfaces/Rooms.html +5 -5
  405. package/docs/interfaces/Scissor.html +9 -9
  406. package/docs/interfaces/TagConfig.html +10 -10
  407. package/docs/interfaces/Tags.html +9 -9
  408. package/docs/interfaces/Util.MagnifierParameter.html +11 -11
  409. package/docs/interfaces/Util.MouseGroupParameter.html +8 -8
  410. package/docs/modules/Util.html +5 -5
  411. package/docs/modules.html +4 -4
  412. package/docs/types/ArrayPosition.html +5 -5
  413. package/docs/types/CSS3DRenderExportType.html +5 -5
  414. package/docs/types/CSS3DRenderPluginExportType.html +5 -5
  415. package/docs/types/CSS3DRenderPluginParameterType.html +5 -5
  416. package/docs/types/Color.html +5 -5
  417. package/docs/types/ContentTypeConfigKey.html +5 -5
  418. package/docs/types/ContentTypeConfigKeyArray.html +5 -5
  419. package/docs/types/Create3DDomContainerReturnType.html +5 -5
  420. package/docs/types/Create3DElementReturnType.html +5 -5
  421. package/docs/types/CruisePluginExportType.html +5 -5
  422. package/docs/types/Direction-1.html +5 -5
  423. package/docs/types/Direction4.html +5 -5
  424. package/docs/types/FloorplanRuleLabels.html +5 -5
  425. package/docs/types/FloorplanServerRuleLabels.html +5 -5
  426. package/docs/types/GuideLinePluginExportType.html +5 -5
  427. package/docs/types/HelperEventMap.html +5 -5
  428. package/docs/types/MapviewFloorplanPluginParameterType.html +5 -5
  429. package/docs/types/MapviewFloorplanPluginReturnType.html +5 -5
  430. package/docs/types/MediaData.html +5 -5
  431. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +5 -5
  432. package/docs/types/ModelFloorplanPluginParameterType.html +5 -5
  433. package/docs/types/ModelFloorplanPluginReturnType.html +5 -5
  434. package/docs/types/ModelRoomLabelPluginParameters.html +5 -5
  435. package/docs/types/ModelRoomLabelPluginReturnType.html +5 -5
  436. package/docs/types/MoveArgs.html +5 -5
  437. package/docs/types/MoveOpts.html +5 -5
  438. package/docs/types/Object3DHelperEventMap.html +5 -5
  439. package/docs/types/ObjectFit.html +5 -5
  440. package/docs/types/PaintBrushEventMap.html +5 -5
  441. package/docs/types/PanoCompassPluginData.html +5 -5
  442. package/docs/types/PanoCompassPluginExportType.html +5 -5
  443. package/docs/types/PanoCompassPluginParameterType.html +5 -5
  444. package/docs/types/PanoFloorplanRadarPluginParameterType.html +5 -5
  445. package/docs/types/PanoFloorplanRadarPluginReturnType.html +5 -5
  446. package/docs/types/PanoMeasurePluginEvent.html +5 -5
  447. package/docs/types/PanoMeasureReturnType.html +5 -5
  448. package/docs/types/PanoSpatialTagPluginId.html +5 -5
  449. package/docs/types/PanoTagPluginExportInterface.html +5 -5
  450. package/docs/types/PanoTagPluginParamsInterface.html +5 -5
  451. package/docs/types/PlaneTag.html +5 -5
  452. package/docs/types/PointTag.html +5 -5
  453. package/docs/types/Position.html +5 -5
  454. package/docs/types/RotateArgs.html +5 -5
  455. package/docs/types/RotateOpts.html +5 -5
  456. package/docs/types/RuleLabelsKey.html +5 -5
  457. package/docs/types/RuleLabelsValue.html +5 -5
  458. package/docs/types/Tag.html +5 -5
  459. package/docs/types/Tag2D.html +5 -5
  460. package/docs/types/Tag3D.html +5 -5
  461. package/docs/types/TagId.html +5 -5
  462. package/docs/types/TopviewFloorplanPluginParameterType.html +5 -5
  463. package/docs/types/TopviewFloorplanPluginReturnType.html +5 -5
  464. package/docs/variables/FLOOR_TYPE_MAP.html +5 -5
  465. package/docs/variables/PLUGIN.html +5 -5
  466. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +5 -5
  467. package/docs/variables/ROOM_TYPE_MAP.html +5 -5
  468. package/docs/variables/VERSION.html +5 -5
  469. package/docs/variables/itemLabelPluginServerParams.html +5 -5
  470. package/docs/variables/modelItemLabelPluginServerParams.html +5 -5
  471. package/docs/variables/modelRoomLabelPluginServerParams.html +5 -5
  472. package/package.json +4 -8
  473. package/dist/index.es.js +0 -16650
@@ -0,0 +1,35 @@
1
+ export interface ModelRoomLabelPluginData {
2
+ model_room_labels: Readonly<{
3
+ id: string;
4
+ name: string;
5
+ longitude: number;
6
+ pano_index: number;
7
+ floor_index: number;
8
+ position: {
9
+ x: number;
10
+ y: number;
11
+ z: number;
12
+ };
13
+ }>[];
14
+ }
15
+ export interface RoomLabel {
16
+ /** 房屋 ID */
17
+ readonly id: string;
18
+ /** 房屋名 */
19
+ readonly name: string;
20
+ /** 走到对应 panoIndex 时 five 的水平角度 */
21
+ readonly longitude: number;
22
+ /** 点击标签会走到的 panoIndex */
23
+ readonly panoIndex: number;
24
+ /** 所处楼层 */
25
+ readonly floorIndex: number;
26
+ /** 引导标签的三维坐标,一般是房屋中心点 */
27
+ readonly position: {
28
+ x: number;
29
+ y: number;
30
+ z: number;
31
+ };
32
+ zIndex: number;
33
+ visible: boolean;
34
+ transform: string;
35
+ }
@@ -0,0 +1,3 @@
1
+ import type { ModelRoomLabelPluginData, RoomLabel } from '../typings';
2
+ /** @description 下划线转驼峰 */
3
+ export declare function parseModelRoomLabelPluginData(data: ModelRoomLabelPluginData): RoomLabel[];
@@ -0,0 +1,4 @@
1
+ import type { FivePlugin } from '@realsee/five';
2
+ import type { ModelTVVideoPluginExportType, ModelTVVideoPluginParameterType } from './typings';
3
+ export declare const ModelTVVideoPlugin: FivePlugin<ModelTVVideoPluginParameterType, ModelTVVideoPluginExportType>;
4
+ export default ModelTVVideoPlugin;
@@ -0,0 +1,5 @@
1
+ import ModelTVVideoPlugin from './Plugin';
2
+ export { ModelTVVideoPlugin };
3
+ export default ModelTVVideoPlugin;
4
+ export type { ModelTVVideoPluginParameterType, ModelTVVideoPluginData, Point, ModelTVVideoPluginExportType } from './typings';
5
+ export { DIRECTION } from './typings';
@@ -0,0 +1,25 @@
1
+ export interface ModelTVVideoPluginParameterType {
2
+ videoElement?: HTMLVideoElement;
3
+ }
4
+ export declare enum DIRECTION {
5
+ TOP_LEFT = "topLeft",
6
+ TOP_RIGHT = "topRight",
7
+ BOTTOM_LEFT = "bottomLeft",
8
+ BOTTOM_RIGHT = "bottomRight"
9
+ }
10
+ export interface Point {
11
+ x: number;
12
+ y: number;
13
+ z: number;
14
+ }
15
+ export interface ModelTVVideoPluginData {
16
+ enable?: boolean;
17
+ video_src: string;
18
+ video_poster_src: string;
19
+ points: Point[][] | Record<DIRECTION, Point>[];
20
+ }
21
+ export interface ModelTVVideoPluginExportType {
22
+ enable: () => void;
23
+ disable: () => void;
24
+ load: (data: ModelTVVideoPluginData, videoElement?: HTMLVideoElement) => Promise<void>;
25
+ }
@@ -0,0 +1,2 @@
1
+ import { DIRECTION, Point } from '../typings';
2
+ export declare function parseModelTVVideoPoints(points: Point[][] | Record<DIRECTION, Point>[]): Point[][];
@@ -0,0 +1,28 @@
1
+ import type { PartialDeep } from 'type-fest';
2
+ import { FivePlugin } from '@realsee/five';
3
+ export interface Config {
4
+ lookAtCurrentCamera: boolean;
5
+ lockedPanoIndex: number | null;
6
+ lockedLatitude: number | null;
7
+ lockedLongitude: number | null;
8
+ }
9
+ export interface ModelViewPluginExportType {
10
+ appendTo: (element: HTMLElement, size?: {
11
+ width?: number;
12
+ height?: number;
13
+ }) => void;
14
+ refresh: (size?: {
15
+ width?: number;
16
+ height?: number;
17
+ }) => void;
18
+ changeConfigs: (config: Partial<Config>) => void;
19
+ }
20
+ export interface ModelViewPluginParameterType {
21
+ config: Config;
22
+ }
23
+ /**
24
+ * Five 模型插件
25
+ * @template ExportType 导出方法
26
+ */
27
+ export declare const ModelViewPlugin: FivePlugin<PartialDeep<ModelViewPluginParameterType> | undefined, ModelViewPluginExportType>;
28
+ export default ModelViewPlugin;
@@ -0,0 +1,4 @@
1
+ import ModelViewPlugin from './Plugin';
2
+ export { ModelViewPlugin };
3
+ export default ModelViewPlugin;
4
+ export type { ModelViewPluginExportType } from './Plugin';
@@ -0,0 +1,65 @@
1
+ import type { Five } from '@realsee/five';
2
+ import * as BasePlugin from '../base/BasePlugin';
3
+ import type * as THREE from 'three';
4
+ import { Object3DHelper } from '../shared-utils/Object3DHelper';
5
+ import type { Object3DHelperState } from '../shared-utils/Object3DHelper/typings';
6
+ import type { Object3DHelperPluginEventMap, Object3DHelperPluginState } from './typings';
7
+ export declare const VERSION = "v1.0.0";
8
+ export declare const PLUGIN: string;
9
+ export declare class Object3DHelperController extends BasePlugin.Controller<Object3DHelperPluginState, Object3DHelperPluginEventMap> {
10
+ version: string;
11
+ name: string;
12
+ state: Object3DHelperState;
13
+ objectHelperMap: Map<THREE.Object3D, Object3DHelper>;
14
+ constructor(five: Five);
15
+ /**
16
+ * @description Show guide line
17
+ */
18
+ show(options?: {
19
+ userAction?: boolean;
20
+ }): Promise<void>;
21
+ /**
22
+ * @description Hide guide line
23
+ */
24
+ hide(options?: {
25
+ userAction?: boolean;
26
+ }): Promise<void>;
27
+ /**
28
+ * @description Enable
29
+ */
30
+ enable(options?: {
31
+ userAction?: boolean;
32
+ }): void;
33
+ /**
34
+ * @description Disable
35
+ */
36
+ disable(options?: {
37
+ userAction?: boolean;
38
+ }): void;
39
+ /**
40
+ * @description Dispose
41
+ */
42
+ dispose(): void;
43
+ setState(state: Partial<Object3DHelperState>, options?: {
44
+ userAction?: boolean;
45
+ } & Record<string, any>): void;
46
+ getObject3DHelper(object3D: THREE.Object3D): Object3DHelper;
47
+ /**
48
+ * @description 添加 helper
49
+ * @param { THREE.Object3D } object3D 要添加helper的物体
50
+ * @param { boolean } config.moveHelper 位移helper
51
+ * @param { boolean } config.rotateHelper 旋转helper
52
+ * @param { boolean } config.scaleHelper 缩放helper
53
+ */
54
+ addObject3DHelper(object3D: THREE.Object3D, config?: {
55
+ moveHelper?: boolean;
56
+ rotateHelper?: boolean;
57
+ scaleHelper?: boolean;
58
+ }): void;
59
+ removeObject3DHelper(object3D: THREE.Object3D): void;
60
+ private handleEnable;
61
+ private handleVisible;
62
+ private handleDispose;
63
+ private everyHelperDo;
64
+ private actionIfStateIsEnabled;
65
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @description: 将手势操作绑定到controller上
3
+ */
4
+ import type { Five } from '@realsee/five';
5
+ import type { BaseController } from '../shared-utils/Object3DHelper/Base/BaseController';
6
+ import type * as THREE from 'three';
7
+ import type { BaseHelper } from '../shared-utils/Object3DHelper/Helper';
8
+ declare class ControllerWrapper<Helper extends BaseHelper = BaseHelper, Controller extends BaseController = BaseController<Helper>> {
9
+ helperController?: Controller;
10
+ private five;
11
+ constructor(five: Five, HelperController: new (...params: ConstructorParameters<typeof BaseController<Helper>>) => Controller, object: THREE.Object3D, helperObjects: Helper);
12
+ private onFiveWantsTapGesture;
13
+ private onFiveWantsGesture;
14
+ }
15
+ declare const controllerWrapper: <Helper extends BaseHelper<THREE.Object3D> = BaseHelper<THREE.Object3D>, Controller extends BaseController<BaseHelper<THREE.Object3D>, THREE.Object3D> = BaseController<Helper, THREE.Object3D>>(five: Five, HelperController: new (camera: THREE.Camera, model: THREE.Object3D, originObject3D: THREE.Object3D, helperObject3D: Helper, container: HTMLElement, scene: THREE.Scene, onRender?: () => void) => Controller, object: THREE.Object3D, helperObjects: Helper) => ControllerWrapper<Helper, Controller>;
16
+ export { ControllerWrapper };
17
+ export { controllerWrapper };
18
+ export { ControllerWrapper as FiveControllerWrapper };
19
+ export { controllerWrapper as fiveControllerWrapper };
@@ -0,0 +1,6 @@
1
+ export * from '../shared-utils/Object3DHelper/typings';
2
+ export * from './Controller';
3
+ import type { FivePlugin } from '@realsee/five';
4
+ import { Object3DHelperController } from './Controller';
5
+ export declare const Object3DHelperPlugin: FivePlugin<void, InstanceType<typeof Object3DHelperController>>;
6
+ export default Object3DHelperPlugin;
@@ -0,0 +1,24 @@
1
+ export interface Object3DHelperPluginState {
2
+ enabled: boolean;
3
+ visible: boolean;
4
+ disposed: boolean;
5
+ }
6
+ export declare type Object3DHelperPluginEventMap = {
7
+ show: (options?: {
8
+ userAction?: boolean;
9
+ }) => void;
10
+ hide: (options?: {
11
+ userAction?: boolean;
12
+ }) => void;
13
+ enable: (options?: {
14
+ userAction?: boolean;
15
+ }) => void;
16
+ disable: (options?: {
17
+ userAction?: boolean;
18
+ }) => void;
19
+ dispose: () => void;
20
+ stateChange: (params: {
21
+ state: Object3DHelperPluginState;
22
+ prevState?: Object3DHelperPluginState;
23
+ }) => void;
24
+ };
@@ -0,0 +1 @@
1
+ export declare const roomInfoIcon = "data:image/png;base64,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";
@@ -0,0 +1,84 @@
1
+ import { Five } from '@realsee/five';
2
+ import type { BaseOptions } from '../base/BasePlugin';
3
+ import * as BasePlugin from '../base/BasePluginWithData';
4
+ import type { EventMap, PanoCompassPluginData, PanoCompassPluginParameterType, PluginData, PluginServerData, State } from './typings';
5
+ export declare class PanoCompassController extends BasePlugin.Controller<State, EventMap, PluginServerData, PluginData> {
6
+ /**
7
+ * 默认状态
8
+ */
9
+ state: State;
10
+ data?: PanoCompassPluginData;
11
+ private group;
12
+ private roomInfoInstance?;
13
+ private roomInfoWrapperInstance?;
14
+ private compassMeshTween?;
15
+ private compassMesh?;
16
+ private entryDoorMesh?;
17
+ constructor(five: Five, config?: PanoCompassPluginParameterType);
18
+ /**
19
+ * 启用插件,响应用户操作并展示UI
20
+ * @param options
21
+ */
22
+ enable(options?: Required<BaseOptions>): void;
23
+ /**
24
+ * 禁用插件,禁止响应用户操作并隐藏UI
25
+ * @param options
26
+ */
27
+ disable(options?: Required<BaseOptions>): void;
28
+ /**
29
+ * 展示UI
30
+ * @param options
31
+ * @returns
32
+ * @todo 需要考虑动画
33
+ */
34
+ show(options?: Required<BaseOptions>): Promise<void>;
35
+ /**
36
+ * 隐藏UI
37
+ * @param options
38
+ * @returns
39
+ * @todo 需要考虑动画
40
+ */
41
+ hide(options?: Required<BaseOptions>): Promise<void>;
42
+ setState(state: Partial<State>, options?: Required<BaseOptions>): void;
43
+ load(data: PluginServerData | PluginData, state?: State, userAction?: boolean): Promise<void>;
44
+ /**
45
+ * 销毁插件
46
+ * @todo 销毁贴图时,最好还是直接销毁贴图吧,this.compassMesh?.material.map 这种都是很深层的引用了。THREE 的建议我看也是自己去管理和销毁公共贴图。
47
+ */
48
+ dispose: () => void;
49
+ protected formatData(serverData: PluginServerData | PluginData): Promise<PluginData>;
50
+ /**
51
+ * 添加事件监听
52
+ */
53
+ private _addEventListener;
54
+ /**
55
+ * 移除事件监听
56
+ */
57
+ private _removeEventListener;
58
+ /**
59
+ * 启用,响应事件,展示UI
60
+ */
61
+ private _enable;
62
+ /**
63
+ * 禁用,不响应事件,不展示UI
64
+ */
65
+ private _disable;
66
+ /**
67
+ * 展示UI
68
+ */
69
+ private _toggleVisible;
70
+ private _clearCompassIfNeed;
71
+ private _clearEntryDoorIfNeed;
72
+ /**
73
+ * 初始化
74
+ * @todo 逻辑需要细分
75
+ */
76
+ private init;
77
+ private loadCompassMesh;
78
+ private loadEntryDoorMesh;
79
+ private loadRoomInfo;
80
+ private onFivePanoWillArrive;
81
+ private onFivePanoArrived;
82
+ private onFiveCameraDirectionUpdate;
83
+ private onFiveModeChange;
84
+ }
@@ -0,0 +1,8 @@
1
+ import type { FloorplanServerRoomItem } from '../floorplan/typings/floorplanServerData';
2
+ export declare function getRoomInfoInstance(): {
3
+ appendTo(element: Element): void;
4
+ dispose(): void;
5
+ setRoom(room: FloorplanServerRoomItem): void;
6
+ show(): void;
7
+ hide(): void;
8
+ };
@@ -0,0 +1,7 @@
1
+ import type { FivePlugin } from '@realsee/five';
2
+ import { PanoCompassController } from './Controller';
3
+ import type { PanoCompassPluginParameterType } from './typings';
4
+ export declare type PanoCompassPluginExportType = PanoCompassController;
5
+ export declare const PanoCompassPlugin: FivePlugin<PanoCompassPluginParameterType, PanoCompassPluginExportType>;
6
+ export default PanoCompassPlugin;
7
+ export type { PanoCompassPluginParameterType, PanoCompassPluginData } from './typings';
@@ -0,0 +1,57 @@
1
+ import type { FloorplanServerRoomItem } from '../floorplan/typings/floorplanServerData';
2
+ import type * as BasePlugin from '../base/BasePluginWithData';
3
+ export interface Config {
4
+ compassImageUrl: string;
5
+ entryDoorImageUrl: string;
6
+ }
7
+ export interface State extends BasePlugin.State {
8
+ visible: boolean;
9
+ config: Config;
10
+ }
11
+ export interface PluginData {
12
+ north_rad: null | number;
13
+ entrance: null | undefined | {
14
+ position: {
15
+ x: number;
16
+ y: number;
17
+ z: number;
18
+ };
19
+ };
20
+ room_observers: undefined | {
21
+ index: number;
22
+ floor_index: number;
23
+ room: FloorplanServerRoomItem;
24
+ }[];
25
+ }
26
+ export interface EventMap extends BasePlugin.EventMap<State, PluginData> {
27
+ /** visible 从 false 到 true 的回调
28
+ * @param event.userAction 是否是用户操作
29
+ */
30
+ show: (event: {
31
+ userAction: boolean;
32
+ }) => void;
33
+ /** visible 从 true 到 false 的回调
34
+ * @param event.userAction 是否是用户操作
35
+ */
36
+ hide: (event: {
37
+ userAction: boolean;
38
+ }) => void;
39
+ /** enabled 从 false 到 true 的回调
40
+ * @param event.userAction 是否是用户操作
41
+ */
42
+ enable: (event: {
43
+ userAction: boolean;
44
+ }) => void;
45
+ /** enabled 从 true 到 false 的回调
46
+ * @param event.userAction 是否是用户操作
47
+ */
48
+ disable: (event: {
49
+ userAction: boolean;
50
+ }) => void;
51
+ }
52
+ export interface PluginServerData extends BasePlugin.ServerData {
53
+ version: number;
54
+ data: PluginData;
55
+ }
56
+ export declare type PanoCompassPluginParameterType = Partial<Config> | undefined;
57
+ export declare type PanoCompassPluginData = PluginData;
@@ -0,0 +1,48 @@
1
+ import type { FivePlugin, Intersection } from '@realsee/five';
2
+ import { Group, Vector3 } from 'three';
3
+ export interface PanoCursorRaycasterPluginParameterType {
4
+ }
5
+ export interface PanoCursorRaycasterPluginExportType {
6
+ /**
7
+ * @description: 获取鼠标与模型的焦点位置
8
+ * @return {Intersection | null} 鼠标与模型的焦点位置
9
+ */
10
+ intersection: () => Intersection | null;
11
+ /**
12
+ * @description: 辅助坐标轴
13
+ * @param {Vector3} point: 坐标轴原点的位置
14
+ * @param {number} length: 坐标轴线长度,单位:米,默认值:2
15
+ * @param {number} fixDistance: 为避免被模型遮挡,默认向camera方向移动0.1m,默认值:0.1
16
+ * @return {{clear: () => void; pointAxesHelperMesh: THREE.Group}} clear: 清理函数;pointAxesHelperMesh: 辅助坐标轴mesh
17
+ */
18
+ pointAxesHelper: (point: Vector3, length?: number, fixDistance?: number) => {
19
+ clear: () => void;
20
+ pointAxesHelperMesh: Group;
21
+ };
22
+ /**
23
+ * @description: 将一个点在camera和点的向量上移动。传入点的位置和相对移动的距离,返回一个新的位置
24
+ * @param {Vector3} point: 点
25
+ * @param {number} distance: 向camera相对移动的距离(正方向为:点 -> 摄像头)
26
+ * @return {Vector3} 计算移动后的位置
27
+ */
28
+ movePointTowardsCamera: (point: Vector3, distance: number) => Vector3;
29
+ /**
30
+ * @description: 某个点是否可见
31
+ * @param {Vector3} point: 要检测的点
32
+ * @param {number} distanceError: 允许的误差,如果点有可能打在模型后,则传入一个误差值,通常为0.01
33
+ * @return {boolean}: 是否可见
34
+ */
35
+ canSeePoint: (point: Vector3, distanceError?: number) => boolean;
36
+ /**
37
+ * @description: 清理函数
38
+ * @return {() => void} 清理函数
39
+ */
40
+ destroy: () => void;
41
+ }
42
+ /**
43
+ * 全景中对当前鼠标的位置进行碰撞监测
44
+ * @param five
45
+ * @return
46
+ */
47
+ export declare const PanoCursorRaycasterPlugin: FivePlugin<PanoCursorRaycasterPluginParameterType, PanoCursorRaycasterPluginExportType>;
48
+ export default PanoCursorRaycasterPlugin;
@@ -0,0 +1,60 @@
1
+ import { Five } from '@realsee/five';
2
+ import { BaseOptions, Controller, EventMap, State } from '../base/BasePlugin';
3
+ /**
4
+ * pano plugin controller 基类
5
+ * @author kyleju
6
+ */
7
+ export declare abstract class BasePanoPluginController<T extends State, E extends EventMap<T>> extends Controller<T, E> {
8
+ state: T;
9
+ container: Element;
10
+ enabled: boolean;
11
+ constructor(five: Five);
12
+ /**
13
+ * 启用组件
14
+ * @param options
15
+ */
16
+ enable(options?: BaseOptions): void;
17
+ /**
18
+ * 禁用组件
19
+ * @param options
20
+ */
21
+ disable(options?: BaseOptions): void;
22
+ /**
23
+ * 显示 UI
24
+ * @param options
25
+ * @returns
26
+ */
27
+ show(options?: BaseOptions): Promise<void>;
28
+ /**
29
+ * 隐藏 UI
30
+ * @param options
31
+ * @returns
32
+ */
33
+ hide(options: BaseOptions): Promise<void>;
34
+ /**
35
+ * 销毁对象
36
+ */
37
+ dispose(): void;
38
+ /**
39
+ * 设置状态
40
+ * @param state @T 状态
41
+ * @param options @BaseOptions 可选配置
42
+ * @returns
43
+ */
44
+ setState(state: Partial<T>, options?: BaseOptions): void;
45
+ get visible(): boolean;
46
+ appendTo(container: Element): void;
47
+ private updateState;
48
+ /**
49
+ * 组件 渲染
50
+ */
51
+ abstract render(): any;
52
+ /**
53
+ * State 初始化
54
+ */
55
+ abstract initState(): T;
56
+ /**
57
+ * State 改变回调
58
+ */
59
+ abstract stateChangedCallback(prevState: T, options?: BaseOptions): any;
60
+ }
@@ -0,0 +1,37 @@
1
+ import type { Five } from '@realsee/five';
2
+ import type { BaseOptions, EventMap, State } from '../base/BasePlugin';
3
+ import type { FloorplanServerData } from '../floorplan/typings/floorplanServerData';
4
+ import { BasePanoPluginController } from './BaseController';
5
+ import type { DoorLabelConfig } from './typings';
6
+ /**
7
+ * 分间标签插件
8
+ * @author kyleju
9
+ */
10
+ export declare class PanoDoorLabelPluginController extends BasePanoPluginController<State, EventMap<State>> {
11
+ private MinVisibledistance;
12
+ private MaxVisibledistance;
13
+ private OffsetHeight;
14
+ private rooms;
15
+ private floorplanServerData;
16
+ /** 标签项 */
17
+ private doorLabelItems;
18
+ /** 每个点位 visible 标签的缓存 */
19
+ private visibleLabelMap;
20
+ /** 标签项Prop值 */
21
+ private labelItems;
22
+ /** 数据 */
23
+ private doorLabels;
24
+ private roomObservers;
25
+ constructor(five: Five);
26
+ loadData: (floorplanServerData: FloorplanServerData, doorLabelConfig?: DoorLabelConfig) => void;
27
+ stateChangedCallback(prevState: State, options?: BaseOptions): void;
28
+ render(): void;
29
+ initState(): State;
30
+ dispose(): void;
31
+ private initRoomObservers;
32
+ private hideAllLabels;
33
+ private fixDoorVisibleAndPosition;
34
+ private fixDoorPosition;
35
+ private onClick;
36
+ private initData;
37
+ }
@@ -0,0 +1,7 @@
1
+ import type { FivePlugin } from '@realsee/five';
2
+ import type { FloorplanServerData } from '../floorplan';
3
+ import type { PanoDoorLabelPluginController } from './Controller';
4
+ export type { FloorplanServerData, FloorplanServerRoomItem, } from '../floorplan/typings/floorplanServerData';
5
+ declare const PanoDoorLabelPlugin: FivePlugin<FloorplanServerData, PanoDoorLabelPluginController>;
6
+ export { PanoDoorLabelPlugin };
7
+ export default PanoDoorLabelPlugin;
@@ -0,0 +1,38 @@
1
+ import type * as THREE from 'three';
2
+ export interface DoorLabel {
3
+ /** 观察点的房间 */
4
+ roomName: string;
5
+ /** 标签展示的房间名 */
6
+ name: string;
7
+ /** 标签的三维坐标位置 */
8
+ position: THREE.Vector3;
9
+ /** 标签的朝向 */
10
+ toward: '' | 'left' | 'right' | 'back' | 'forward';
11
+ [props: string]: any;
12
+ }
13
+ export interface LabelItemProp extends DoorLabel {
14
+ /** css left */
15
+ left: number;
16
+ /** css top */
17
+ top: number;
18
+ /** css transform */
19
+ transform: string;
20
+ /** 当前点位有哪些标签可以展示 */
21
+ visible: boolean;
22
+ /** 是否能够展示在用户视线内(inSight 是 visible 的一个子集,当切换户型图模式或是有模型遮挡时,inSight 为 false) */
23
+ inSight: boolean;
24
+ /** icon 朝向 */
25
+ cameraToward: '' | 'left' | 'right' | 'back' | 'forward';
26
+ }
27
+ export interface NeverOverlapLabel {
28
+ left: number;
29
+ top: number;
30
+ disFromCameraToLabel: number;
31
+ index: number;
32
+ transform?: string;
33
+ }
34
+ export interface DoorLabelConfig {
35
+ MinVisibledistance: number;
36
+ MaxVisibledistance: number;
37
+ OffsetHeight: number;
38
+ }
@@ -0,0 +1,5 @@
1
+ import type { Five } from '@realsee/five';
2
+ export declare function isTwoRectOverlaped(rect1: any, rect2: any): boolean;
3
+ export declare function getCameraToward(five: Five): "" | "left" | "right" | "back" | "forward";
4
+ export declare function getDistance(p1: any, p2: any): number;
5
+ export declare function getToward(rad: number): "" | "left" | "right" | "back" | "forward";
@@ -0,0 +1,43 @@
1
+ import type Magnifier from '../Modules/Magnifier';
2
+ import type FiveHelper from '../Modules/FiveHelper';
3
+ import type { Group } from 'three';
4
+ import type { Model } from '../Model';
5
+ import type { Config } from '../typings';
6
+ import type { PanoMeasurePluginEvent } from '../typings/event.type';
7
+ import type { UserDistanceItem } from '../utils/distanceDom';
8
+ import type { Five, Intersection, IntersectMeshInterface, Subscribe } from '@realsee/five';
9
+ import type { OpenParameter } from '../typings/data';
10
+ import Line from '../Model/line';
11
+ export interface IControllerParams {
12
+ five: Five;
13
+ group: Group;
14
+ model: Model;
15
+ config: Config;
16
+ mouseGroup: Group;
17
+ container: Element;
18
+ magnifier: Magnifier;
19
+ fiveHelper: FiveHelper;
20
+ openParams: OpenParameter;
21
+ hook: Subscribe<PanoMeasurePluginEvent>;
22
+ userDistanceItemCreator?: () => UserDistanceItem;
23
+ }
24
+ export default class BaseController {
25
+ model: Model;
26
+ protected five: Five;
27
+ protected group: Group;
28
+ protected config: Config;
29
+ protected dashed: Line;
30
+ protected disposed: boolean;
31
+ protected isMobile: boolean;
32
+ protected mouseGroup: Group;
33
+ protected container: Element;
34
+ protected fiveHelper: FiveHelper;
35
+ protected hook: IControllerParams['hook'];
36
+ protected magnifier: IControllerParams['magnifier'];
37
+ protected userDistanceItemCreator: IControllerParams['userDistanceItemCreator'];
38
+ constructor(params: IControllerParams);
39
+ updateDistanceUI: () => void;
40
+ protected removeLine(line: Line): void;
41
+ protected updateMouseGroup(intersection: Intersection, mesh?: IntersectMeshInterface): Group;
42
+ protected dispose(): void;
43
+ }