@realsee/dnalogel 0.1.7 → 2.0.0-alpha.3

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 (480) hide show
  1. package/README.md +6 -89
  2. package/dist/dnalogel.cjs.js +2 -0
  3. package/dist/dnalogel.es.js +37288 -0
  4. package/dist/dnalogel.umd.js +2 -0
  5. package/dist/style.css +1 -0
  6. package/{plugins → libs}/CSS3DRenderPlugin/index.d.ts +1 -1
  7. package/libs/CSS3DRenderPlugin/index.js +181 -0
  8. package/libs/CSS3DRenderPlugin/utils/createResizeObserver.d.ts +7 -0
  9. package/libs/CSS3DRenderPlugin/utils/createResizeObserver.js +18 -0
  10. package/{plugins → libs}/CameraMovementPlugin/index.d.ts +0 -0
  11. package/libs/CameraMovementPlugin/index.js +159 -0
  12. package/{plugins → libs}/CameraMovementPlugin/typing.d.ts +0 -0
  13. package/libs/CameraMovementPlugin/typing.js +17 -0
  14. package/{plugins → libs}/ModelChassisCompassPlugin/index.d.ts +1 -1
  15. package/libs/ModelChassisCompassPlugin/index.js +75 -0
  16. package/{plugins → libs}/ModelEntryDoorGuidePlugin/index.d.ts +6 -2
  17. package/libs/ModelEntryDoorGuidePlugin/index.js +136 -0
  18. package/libs/ModelRoomLabelPlugin/Assets/roomLabelBg.d.ts +1 -0
  19. package/libs/ModelRoomLabelPlugin/Assets/roomLabelBg.js +1 -0
  20. package/{plugins → libs}/ModelRoomLabelPlugin/Controller.d.ts +3 -2
  21. package/libs/ModelRoomLabelPlugin/Controller.js +100 -0
  22. package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte +63 -0
  23. package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte.map +1 -0
  24. package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte +80 -0
  25. package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte.map +1 -0
  26. package/libs/ModelRoomLabelPlugin/index.d.ts +12 -0
  27. package/libs/ModelRoomLabelPlugin/index.js +9 -0
  28. package/{plugins → libs}/ModelRoomLabelPlugin/typings.d.ts +2 -2
  29. package/libs/ModelRoomLabelPlugin/typings.js +1 -0
  30. package/{plugins → libs}/ModelRoomLabelPlugin/utils/parseData.d.ts +0 -0
  31. package/libs/ModelRoomLabelPlugin/utils/parseData.js +14 -0
  32. package/{plugins → libs}/ModelViewPlugin/index.d.ts +0 -0
  33. package/libs/ModelViewPlugin/index.js +160 -0
  34. package/libs/PanoCompassPlugin/index.d.ts +25 -0
  35. package/libs/PanoCompassPlugin/index.js +89 -0
  36. package/{plugins → libs}/PanoCursorRaycasterPlugin/index.d.ts +2 -3
  37. package/libs/PanoCursorRaycasterPlugin/index.js +74 -0
  38. package/libs/floorplan/Assets/camera.d.ts +1 -0
  39. package/libs/floorplan/Assets/camera.js +1 -0
  40. package/libs/floorplan/Assets/floorplanExtraObject.d.ts +1 -0
  41. package/libs/floorplan/Assets/floorplanExtraObject.js +1 -0
  42. package/libs/floorplan/Components/BaseImage.svelte +25 -0
  43. package/libs/floorplan/Components/BaseImage.svelte.map +1 -0
  44. package/libs/floorplan/Components/Normalmage.svelte +11 -0
  45. package/libs/floorplan/Components/Normalmage.svelte.map +1 -0
  46. package/libs/floorplan/Components/RoomHighlight/Room.svelte +21 -0
  47. package/libs/floorplan/Components/RoomHighlight/Room.svelte.map +1 -0
  48. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte +60 -0
  49. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte.map +1 -0
  50. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte +35 -0
  51. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte.map +1 -0
  52. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte +7 -0
  53. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte.map +1 -0
  54. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte +16 -0
  55. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte.map +1 -0
  56. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte +17 -0
  57. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte.map +1 -0
  58. package/libs/floorplan/Components/SvgImage.svelte +25 -0
  59. package/libs/floorplan/Components/SvgImage.svelte.map +1 -0
  60. package/libs/floorplan/ModelFloorplanPlugin/Assets/compass.d.ts +1 -0
  61. package/libs/floorplan/ModelFloorplanPlugin/Assets/compass.js +1 -0
  62. package/libs/floorplan/ModelFloorplanPlugin/Components/Camera.svelte +46 -0
  63. package/libs/floorplan/ModelFloorplanPlugin/Components/Camera.svelte.map +1 -0
  64. package/libs/floorplan/ModelFloorplanPlugin/Components/Compass.svelte +48 -0
  65. package/libs/floorplan/ModelFloorplanPlugin/Components/Compass.svelte.map +1 -0
  66. package/libs/floorplan/ModelFloorplanPlugin/Components/CurrentFloor/CurrentFloor.svelte +37 -0
  67. package/libs/floorplan/ModelFloorplanPlugin/Components/CurrentFloor/CurrentFloor.svelte.map +1 -0
  68. package/libs/floorplan/ModelFloorplanPlugin/Components/Main.svelte +50 -0
  69. package/libs/floorplan/ModelFloorplanPlugin/Components/Main.svelte.map +1 -0
  70. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabel.svelte +41 -0
  71. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabel.svelte.map +1 -0
  72. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabels.svelte +25 -0
  73. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabels.svelte.map +1 -0
  74. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleItem.svelte +148 -0
  75. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleItem.svelte.map +1 -0
  76. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleLabels.svelte +15 -0
  77. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleLabels.svelte.map +1 -0
  78. package/{plugins → libs}/floorplan/ModelFloorplanPlugin/Controller.d.ts +16 -14
  79. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +357 -0
  80. package/{plugins → libs}/floorplan/ModelFloorplanPlugin/index.d.ts +1 -1
  81. package/libs/floorplan/ModelFloorplanPlugin/index.js +5 -0
  82. package/{plugins → libs}/floorplan/ModelFloorplanPlugin/typings/events.type.d.ts +0 -0
  83. package/libs/floorplan/ModelFloorplanPlugin/typings/events.type.js +1 -0
  84. package/{plugins → libs}/floorplan/ModelFloorplanPlugin/utils/constant.d.ts +1 -1
  85. package/libs/floorplan/ModelFloorplanPlugin/utils/constant.js +16 -0
  86. package/{plugins → libs}/floorplan/ModelFloorplanPlugin/utils/correctFiveState.d.ts +0 -0
  87. package/libs/floorplan/ModelFloorplanPlugin/utils/correctFiveState.js +46 -0
  88. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte +84 -0
  89. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte.map +1 -0
  90. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte +18 -0
  91. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte.map +1 -0
  92. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte +40 -0
  93. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte.map +1 -0
  94. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte +61 -0
  95. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte.map +1 -0
  96. package/{plugins → libs}/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +6 -11
  97. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +88 -0
  98. package/{plugins → libs}/floorplan/PanoFloorplanRadarPlugin/index.d.ts +0 -0
  99. package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +5 -0
  100. package/{plugins → libs}/floorplan/TopviewFloorplanPlugin/Controller.d.ts +15 -11
  101. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +189 -0
  102. package/{plugins → libs}/floorplan/TopviewFloorplanPlugin/index.d.ts +0 -0
  103. package/libs/floorplan/TopviewFloorplanPlugin/index.js +5 -0
  104. package/{plugins → libs}/floorplan/TopviewFloorplanPlugin/style.d.ts +0 -0
  105. package/libs/floorplan/TopviewFloorplanPlugin/style.js +8 -0
  106. package/{plugins → libs}/floorplan/typings/floorplanData.d.ts +6 -0
  107. package/libs/floorplan/typings/floorplanData.js +6 -0
  108. package/{plugins → libs}/floorplan/typings/floorplanServerData.d.ts +4 -2
  109. package/libs/floorplan/typings/floorplanServerData.js +101 -0
  110. package/libs/floorplan/typings/utility.d.ts +2 -0
  111. package/libs/floorplan/typings/utility.js +1 -0
  112. package/{plugins → libs}/floorplan/utils/formatData.d.ts +3 -3
  113. package/libs/floorplan/utils/formatData.js +94 -0
  114. package/{plugins → libs}/floorplan/utils/formatPosition.d.ts +3 -4
  115. package/libs/floorplan/utils/formatPosition.js +50 -0
  116. package/libs/index.d.ts +19 -0
  117. package/libs/index.js +11 -0
  118. package/{shared-utils → libs/shared-utils}/Preloader.d.ts +0 -0
  119. package/libs/shared-utils/Preloader.js +38 -0
  120. package/{shared-utils → libs/shared-utils}/Subscribe.d.ts +3 -3
  121. package/libs/shared-utils/Subscribe.js +101 -0
  122. package/{shared-utils → libs/shared-utils}/animationFrame/BetterTween.d.ts +0 -0
  123. package/libs/shared-utils/animationFrame/BetterTween.js +30 -0
  124. package/{shared-utils → libs/shared-utils}/animationFrame/calculateProgress.d.ts +0 -0
  125. package/libs/shared-utils/animationFrame/calculateProgress.js +23 -0
  126. package/{shared-utils → libs/shared-utils}/animationFrame/formatRad.d.ts +0 -0
  127. package/libs/shared-utils/animationFrame/formatRad.js +20 -0
  128. package/{shared-utils → libs/shared-utils}/animationFrame/index.d.ts +0 -0
  129. package/libs/shared-utils/animationFrame/index.js +48 -0
  130. package/{shared-utils → libs/shared-utils}/animationFrame/tween.d.ts +0 -0
  131. package/libs/shared-utils/animationFrame/tween.js +44 -0
  132. package/libs/shared-utils/changeModelCanvasOpacity.d.ts +2 -0
  133. package/libs/shared-utils/changeModelCanvasOpacity.js +15 -0
  134. package/{shared-utils → libs/shared-utils}/createCanvasTextTexture.d.ts +0 -0
  135. package/libs/shared-utils/createCanvasTextTexture.js +19 -0
  136. package/{shared-utils → libs/shared-utils}/createLine/index.d.ts +1 -1
  137. package/libs/shared-utils/createLine/index.js +8 -0
  138. package/{shared-utils → libs/shared-utils}/debounce.d.ts +1 -1
  139. package/libs/shared-utils/debounce.js +14 -0
  140. package/{shared-utils → libs/shared-utils}/equal.d.ts +0 -0
  141. package/libs/shared-utils/equal.js +84 -0
  142. package/{shared-utils → libs/shared-utils}/filter.d.ts +0 -0
  143. package/libs/shared-utils/filter.js +53 -0
  144. package/{shared-utils → libs/shared-utils}/five/changeMode.d.ts +0 -0
  145. package/libs/shared-utils/five/changeMode.js +15 -0
  146. package/{shared-utils → libs/shared-utils}/five/useFivePlugin.d.ts +0 -0
  147. package/libs/shared-utils/five/useFivePlugin.js +8 -0
  148. package/{shared-utils → libs/shared-utils}/formatRad.d.ts +0 -0
  149. package/libs/shared-utils/formatRad.js +10 -0
  150. package/{shared-utils → libs/shared-utils}/getPxmm.d.ts +0 -0
  151. package/libs/shared-utils/getPxmm.js +20 -0
  152. package/{shared-utils → libs/shared-utils}/getRandomColor.d.ts +0 -0
  153. package/libs/shared-utils/getRandomColor.js +10 -0
  154. package/{shared-utils → libs/shared-utils}/isNil.d.ts +0 -0
  155. package/libs/shared-utils/isNil.js +14 -0
  156. package/{shared-utils → libs/shared-utils}/isTruelyObject.d.ts +0 -0
  157. package/libs/shared-utils/isTruelyObject.js +20 -0
  158. package/libs/shared-utils/math/evenNumber.d.ts +3 -0
  159. package/libs/shared-utils/math/evenNumber.js +4 -0
  160. package/{shared-utils → libs/shared-utils}/math/planimetry.d.ts +4 -4
  161. package/libs/shared-utils/math/planimetry.js +288 -0
  162. package/{shared-utils → libs/shared-utils}/math/rad2Deg.d.ts +0 -0
  163. package/libs/shared-utils/math/rad2Deg.js +3 -0
  164. package/{shared-utils → libs/shared-utils}/nearlyEqual.d.ts +0 -0
  165. package/libs/shared-utils/nearlyEqual.js +9 -0
  166. package/{shared-utils → libs/shared-utils}/nextFrame.d.ts +0 -0
  167. package/libs/shared-utils/nextFrame.js +6 -0
  168. package/{shared-utils → libs/shared-utils}/noop.d.ts +0 -0
  169. package/libs/shared-utils/noop.js +7 -0
  170. package/{shared-utils → libs/shared-utils}/object3d2LocalMatrix.d.ts +0 -0
  171. package/libs/shared-utils/object3d2LocalMatrix.js +29 -0
  172. package/{shared-utils → libs/shared-utils}/px2rem.d.ts +0 -0
  173. package/libs/shared-utils/px2rem.js +4 -0
  174. package/libs/shared-utils/removeArrayItem.d.ts +7 -0
  175. package/libs/shared-utils/removeArrayItem.js +12 -0
  176. package/{shared-utils → libs/shared-utils}/tap.d.ts +0 -0
  177. package/{shared-utils → libs/shared-utils}/tap.js +4 -13
  178. package/{shared-utils → libs/shared-utils}/three/centerPoint.d.ts +0 -0
  179. package/libs/shared-utils/three/centerPoint.js +4 -0
  180. package/{shared-utils → libs/shared-utils}/three/getExtraModelLoader.d.ts +0 -0
  181. package/libs/shared-utils/three/getExtraModelLoader.js +18 -0
  182. package/{shared-utils → libs/shared-utils}/three/getNormal.d.ts +0 -0
  183. package/libs/shared-utils/three/getNormal.js +6 -0
  184. package/{shared-utils → libs/shared-utils}/three/getTextureLoader.d.ts +0 -0
  185. package/libs/shared-utils/three/getTextureLoader.js +17 -0
  186. package/{shared-utils → libs/shared-utils}/three/loadFbxObj.d.ts +0 -0
  187. package/libs/shared-utils/three/loadFbxObj.js +13 -0
  188. package/libs/shared-utils/three/loadTexture.d.ts +2 -0
  189. package/libs/shared-utils/three/loadTexture.js +10 -0
  190. package/{shared-utils → libs/shared-utils}/three/transformPositionToVector3.d.ts +0 -0
  191. package/libs/shared-utils/three/transformPositionToVector3.js +3 -0
  192. package/{shared-utils → libs/shared-utils}/three/transfromToMeshBasicMaterial.d.ts +0 -0
  193. package/libs/shared-utils/three/transfromToMeshBasicMaterial.js +14 -0
  194. package/{shared-utils → libs/shared-utils}/throttle.d.ts +1 -1
  195. package/libs/shared-utils/throttle.js +18 -0
  196. package/{shared-utils → libs/shared-utils}/to.d.ts +0 -0
  197. package/libs/shared-utils/to.js +18 -0
  198. package/{shared-utils → libs/shared-utils}/useDebounce.d.ts +0 -0
  199. package/libs/shared-utils/useDebounce.js +22 -0
  200. package/{shared-utils → libs/shared-utils}/useThrottle.d.ts +0 -0
  201. package/libs/shared-utils/useThrottle.js +25 -0
  202. package/libs/{gltf-viewer → shared-utils}/uuid.d.ts +0 -0
  203. package/libs/shared-utils/uuid.js +11 -0
  204. package/{shared-utils → libs/shared-utils}/vectorTocoordinates.d.ts +0 -0
  205. package/libs/shared-utils/vectorTocoordinates.js +9 -0
  206. package/{typings → libs/typings}/math.type.d.ts +0 -0
  207. package/libs/typings/math.type.js +1 -0
  208. package/{typings → libs/typings}/utils.type.d.ts +0 -0
  209. package/libs/typings/utils.type.js +1 -0
  210. package/package.json +45 -17
  211. package/TERMS.txt +0 -56
  212. package/components/ARVideoFigure/ARVideoFigureMesh.d.ts +0 -44
  213. package/components/ARVideoFigure/ARVideoFigureMesh.js +0 -371
  214. package/components/ARVideoFigure/ARVideoFigureScene.d.ts +0 -11
  215. package/components/ARVideoFigure/ARVideoFigureScene.js +0 -85
  216. package/components/ARVideoFigure/ImgBgTransparent.d.ts +0 -16
  217. package/components/ARVideoFigure/ImgBgTransparent.js +0 -65
  218. package/components/ARVideoFigure/ImgBgTransparentMesh.d.ts +0 -30
  219. package/components/ARVideoFigure/ImgBgTransparentMesh.js +0 -183
  220. package/components/ARVideoFigure/fragmentShader.d.ts +0 -5
  221. package/components/ARVideoFigure/fragmentShader.js +0 -18
  222. package/components/ARVideoFigure/index.d.ts +0 -15
  223. package/components/ARVideoFigure/index.js +0 -80
  224. package/components/ARVideoFigure/vertexShader.d.ts +0 -1
  225. package/components/ARVideoFigure/vertexShader.js +0 -10
  226. package/components/GLTFView/index.d.ts +0 -72
  227. package/components/GLTFView/index.js +0 -149
  228. package/components/GlassFilters/index.d.ts +0 -32
  229. package/components/GlassFilters/index.js +0 -78
  230. package/components/ModelView/ModelViewController.d.ts +0 -18
  231. package/components/ModelView/ModelViewController.js +0 -157
  232. package/components/ModelView/index.d.ts +0 -10
  233. package/components/ModelView/index.js +0 -24
  234. package/components/PaintBrush/index.d.ts +0 -16
  235. package/components/PaintBrush/index.js +0 -47
  236. package/components/PanoTag/index.d.ts +0 -4
  237. package/components/PanoTag/index.js +0 -13
  238. package/custom.d.js +0 -3
  239. package/data/1aGKl9JmrlXMXx8d.d.ts +0 -104
  240. package/data/1aGKl9JmrlXMXx8d.js +0 -537
  241. package/data/54djM0oR6ky3Ey8e.d.ts +0 -55
  242. package/data/54djM0oR6ky3Ey8e.js +0 -350
  243. package/data/6gyq3v1verxD7JO1.d.ts +0 -104
  244. package/data/6gyq3v1verxD7JO1.js +0 -462
  245. package/data/8054djM0oR6ky3Ey8e.d.ts +0 -55
  246. package/data/8054djM0oR6ky3Ey8e.js +0 -350
  247. package/data/KpokNd82rwjhackhQTBEoYKHg8zGbPXe.d.ts +0 -84
  248. package/data/KpokNd82rwjhackhQTBEoYKHg8zGbPXe.js +0 -600
  249. package/data/PrXel3aqGbp34JQn.d.ts +0 -389
  250. package/data/PrXel3aqGbp34JQn.js +0 -4649
  251. package/data/XJ6NMLWnkAY3Rdx8.d.ts +0 -843
  252. package/data/XJ6NMLWnkAY3Rdx8.js +0 -7989
  253. package/data/YdoNP9K4rwQDwjJr.d.ts +0 -83
  254. package/data/YdoNP9K4rwQDwjJr.js +0 -1453
  255. package/data/ZLvK29zj4L29Jowd.d.ts +0 -55
  256. package/data/ZLvK29zj4L29Jowd.js +0 -372
  257. package/data/auto3d-njL5J99VwCmnjtQElOmXQr.d.ts +0 -86
  258. package/data/auto3d-njL5J99VwCmnjtQElOmXQr.js +0 -711
  259. package/data/extrude-walls/ZLvK29zj4L29Jowd.d.ts +0 -5
  260. package/data/extrude-walls/ZLvK29zj4L29Jowd.js +0 -14
  261. package/data/extrude-walls/lo024DEgzanMj5BE.d.ts +0 -5
  262. package/data/extrude-walls/lo024DEgzanMj5BE.js +0 -14
  263. package/data/jd6oMOzPxnQ3BvxY_B7yw51J9rXlhYhjhGTOgRVqu6WeEqjNX.d.ts +0 -85
  264. package/data/jd6oMOzPxnQ3BvxY_B7yw51J9rXlhYhjhGTOgRVqu6WeEqjNX.js +0 -511
  265. package/data/lo024DEgzanMj5BE.d.ts +0 -55
  266. package/data/lo024DEgzanMj5BE.js +0 -966
  267. package/data/oPzy3ApbjjpD8YdR.d.ts +0 -83
  268. package/data/oPzy3ApbjjpD8YdR.js +0 -283
  269. package/data/qjAxMG4XbPn96wKG.d.ts +0 -104
  270. package/data/qjAxMG4XbPn96wKG.js +0 -637
  271. package/data/rXel3aPQRRBD4JQn.d.ts +0 -86
  272. package/data/rXel3aPQRRBD4JQn.js +0 -622
  273. package/data/vLykj3NWrllMrG06.d.ts +0 -91
  274. package/data/vLykj3NWrllMrG06.js +0 -2729
  275. package/data/wz0QV9KA4ugyo9ME.d.ts +0 -39
  276. package/data/wz0QV9KA4ugyo9ME.js +0 -136
  277. package/data/zxMawr9raSg8LYjG.d.ts +0 -53
  278. package/data/zxMawr9raSg8LYjG.js +0 -590
  279. package/examples/FiveStateController/index.js +0 -134
  280. package/examples/VRHouse/Mobile.js +0 -36
  281. package/examples/VRHouse/PC.js +0 -36
  282. package/examples/VRHouse/index.js +0 -36
  283. package/index.d.ts +0 -15
  284. package/index.js +0 -45
  285. package/libs/gltf-viewer/Subscribe.d.ts +0 -76
  286. package/libs/gltf-viewer/Subscribe.js +0 -231
  287. package/libs/gltf-viewer/coordsMoveByOffset.d.ts +0 -13
  288. package/libs/gltf-viewer/coordsMoveByOffset.js +0 -22
  289. package/libs/gltf-viewer/coordsToDirection.d.ts +0 -5
  290. package/libs/gltf-viewer/coordsToDirection.js +0 -41
  291. package/libs/gltf-viewer/formatRad.d.ts +0 -1
  292. package/libs/gltf-viewer/formatRad.js +0 -13
  293. package/libs/gltf-viewer/getFrameTime.d.ts +0 -1
  294. package/libs/gltf-viewer/getFrameTime.js +0 -28
  295. package/libs/gltf-viewer/index.d.ts +0 -55
  296. package/libs/gltf-viewer/index.js +0 -650
  297. package/libs/gltf-viewer/mouseWheel.d.ts +0 -2
  298. package/libs/gltf-viewer/mouseWheel.js +0 -59
  299. package/libs/gltf-viewer/requestAnimationFrame.d.ts +0 -1
  300. package/libs/gltf-viewer/requestAnimationFrame.js +0 -18
  301. package/libs/gltf-viewer/requestAnimationFrameInterval.d.ts +0 -1
  302. package/libs/gltf-viewer/requestAnimationFrameInterval.js +0 -31
  303. package/libs/gltf-viewer/uuid.js +0 -28
  304. package/plugins/AutoPreloadPlugin/index.d.ts +0 -23
  305. package/plugins/AutoPreloadPlugin/index.js +0 -111
  306. package/plugins/CSS3DRenderPlugin/components/Marker/index.d.ts +0 -12
  307. package/plugins/CSS3DRenderPlugin/components/Marker/index.js +0 -121
  308. package/plugins/CSS3DRenderPlugin/index.js +0 -298
  309. package/plugins/CameraMovementPlugin/index.js +0 -362
  310. package/plugins/CameraMovementPlugin/typing.js +0 -37
  311. package/plugins/ModelChassisCompassPlugin/index.js +0 -157
  312. package/plugins/ModelEntryDoorGuidePlugin/index.js +0 -247
  313. package/plugins/ModelExtrudeWallsPlugin/index.d.ts +0 -16
  314. package/plugins/ModelExtrudeWallsPlugin/index.js +0 -252
  315. package/plugins/ModelRoomLabelPlugin/Controller.js +0 -153
  316. package/plugins/ModelRoomLabelPlugin/RoomLabelItem.d.ts +0 -8
  317. package/plugins/ModelRoomLabelPlugin/RoomLabelItem.js +0 -66
  318. package/plugins/ModelRoomLabelPlugin/RoomLabelItems.d.ts +0 -7
  319. package/plugins/ModelRoomLabelPlugin/RoomLabelItems.js +0 -159
  320. package/plugins/ModelRoomLabelPlugin/index.d.ts +0 -8
  321. package/plugins/ModelRoomLabelPlugin/index.js +0 -18
  322. package/plugins/ModelRoomLabelPlugin/typings.js +0 -7
  323. package/plugins/ModelRoomLabelPlugin/utils/parseData.js +0 -35
  324. package/plugins/ModelTVVideoPlugin/index.d.ts +0 -21
  325. package/plugins/ModelTVVideoPlugin/index.js +0 -397
  326. package/plugins/ModelViewPlugin/index.js +0 -223
  327. package/plugins/PanoCursorRaycasterPlugin/PanoCursorRaycasterPluginUsage.d.ts +0 -48
  328. package/plugins/PanoCursorRaycasterPlugin/components/MovePointTowardsCamera.d.ts +0 -9
  329. package/plugins/PanoCursorRaycasterPlugin/components/MovePointTowardsCamera.js +0 -117
  330. package/plugins/PanoCursorRaycasterPlugin/components/PointAxesHelper.d.ts +0 -11
  331. package/plugins/PanoCursorRaycasterPlugin/components/PointAxesHelper.js +0 -39
  332. package/plugins/PanoCursorRaycasterPlugin/index.js +0 -126
  333. package/plugins/PanoCursorRaycasterPlugin/utils/addLineToFive.d.ts +0 -5
  334. package/plugins/PanoCursorRaycasterPlugin/utils/addLineToFive.js +0 -27
  335. package/plugins/PanoCursorRaycasterPlugin/utils/createLine.d.ts +0 -3
  336. package/plugins/PanoCursorRaycasterPlugin/utils/createLine.js +0 -48
  337. package/plugins/PanoDoorLabelPlugin/index.d.ts +0 -4
  338. package/plugins/PanoDoorLabelPlugin/index.js +0 -14
  339. package/plugins/PanoIRobotPlugin/index.d.ts +0 -10
  340. package/plugins/PanoIRobotPlugin/index.js +0 -18
  341. package/plugins/PanoMaskSelectorPlugin/compare.d.ts +0 -1
  342. package/plugins/PanoMaskSelectorPlugin/compare.js +0 -17
  343. package/plugins/PanoMaskSelectorPlugin/createBox.d.ts +0 -7
  344. package/plugins/PanoMaskSelectorPlugin/createBox.js +0 -79
  345. package/plugins/PanoMaskSelectorPlugin/createTextures.d.ts +0 -3
  346. package/plugins/PanoMaskSelectorPlugin/createTextures.js +0 -45
  347. package/plugins/PanoMaskSelectorPlugin/fragmentShader.d.ts +0 -1
  348. package/plugins/PanoMaskSelectorPlugin/fragmentShader.js +0 -10
  349. package/plugins/PanoMaskSelectorPlugin/index.d.ts +0 -49
  350. package/plugins/PanoMaskSelectorPlugin/index.js +0 -348
  351. package/plugins/PanoMaskSelectorPlugin/vertexShader.d.ts +0 -1
  352. package/plugins/PanoMaskSelectorPlugin/vertexShader.js +0 -10
  353. package/plugins/PanoRulerPlugin/data/roomInfo.d.ts +0 -3
  354. package/plugins/PanoRulerPlugin/data/roomInfo.js +0 -51
  355. package/plugins/PanoRulerPlugin/data/roomRules.d.ts +0 -3
  356. package/plugins/PanoRulerPlugin/data/roomRules.js +0 -235
  357. package/plugins/PanoRulerPlugin/index.d.ts +0 -27
  358. package/plugins/PanoRulerPlugin/index.js +0 -637
  359. package/plugins/PanoRulerPlugin/typings.d.ts +0 -21
  360. package/plugins/PanoRulerPlugin/typings.js +0 -7
  361. package/plugins/PanoTVVideoPlugin/index.d.ts +0 -26
  362. package/plugins/PanoTVVideoPlugin/index.js +0 -433
  363. package/plugins/TreasurePlugin/Controller.d.ts +0 -73
  364. package/plugins/TreasurePlugin/Controller.js +0 -250
  365. package/plugins/TreasurePlugin/TreasureFaceAnime.d.ts +0 -25
  366. package/plugins/TreasurePlugin/TreasureFaceAnime.js +0 -143
  367. package/plugins/TreasurePlugin/TreasureObject.d.ts +0 -53
  368. package/plugins/TreasurePlugin/TreasureObject.js +0 -406
  369. package/plugins/TreasurePlugin/TreasureOpenAnime.d.ts +0 -25
  370. package/plugins/TreasurePlugin/TreasureOpenAnime.js +0 -127
  371. package/plugins/TreasurePlugin/constants.d.ts +0 -33
  372. package/plugins/TreasurePlugin/constants.js +0 -67
  373. package/plugins/TreasurePlugin/index.d.ts +0 -11
  374. package/plugins/TreasurePlugin/index.js +0 -26
  375. package/plugins/TreasurePlugin/typings.d.ts +0 -2
  376. package/plugins/TreasurePlugin/typings.js +0 -7
  377. package/plugins/floorplan/Assets/floorplanExtraObject.d.ts +0 -1
  378. package/plugins/floorplan/Assets/floorplanExtraObject.js +0 -10
  379. package/plugins/floorplan/ModelFloorplanPlugin/Controller.js +0 -626
  380. package/plugins/floorplan/ModelFloorplanPlugin/components/Camera.d.ts +0 -13
  381. package/plugins/floorplan/ModelFloorplanPlugin/components/Camera.js +0 -78
  382. package/plugins/floorplan/ModelFloorplanPlugin/components/Compass.d.ts +0 -5
  383. package/plugins/floorplan/ModelFloorplanPlugin/components/Compass.js +0 -84
  384. package/plugins/floorplan/ModelFloorplanPlugin/components/NowFloor/RoomHighlight.d.ts +0 -10
  385. package/plugins/floorplan/ModelFloorplanPlugin/components/NowFloor/RoomHighlight.js +0 -129
  386. package/plugins/floorplan/ModelFloorplanPlugin/components/NowFloor/RoomLabels.d.ts +0 -13
  387. package/plugins/floorplan/ModelFloorplanPlugin/components/NowFloor/RoomLabels.js +0 -118
  388. package/plugins/floorplan/ModelFloorplanPlugin/components/NowFloor/index.d.ts +0 -13
  389. package/plugins/floorplan/ModelFloorplanPlugin/components/NowFloor/index.js +0 -62
  390. package/plugins/floorplan/ModelFloorplanPlugin/components/index.d.ts +0 -20
  391. package/plugins/floorplan/ModelFloorplanPlugin/components/index.js +0 -88
  392. package/plugins/floorplan/ModelFloorplanPlugin/controller.style.d.ts +0 -1
  393. package/plugins/floorplan/ModelFloorplanPlugin/controller.style.js +0 -16
  394. package/plugins/floorplan/ModelFloorplanPlugin/index.js +0 -20
  395. package/plugins/floorplan/ModelFloorplanPlugin/typings/events.type.js +0 -7
  396. package/plugins/floorplan/ModelFloorplanPlugin/utils/constant.js +0 -33
  397. package/plugins/floorplan/ModelFloorplanPlugin/utils/correctFiveState.js +0 -154
  398. package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/Camera.d.ts +0 -13
  399. package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/Camera.js +0 -113
  400. package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/Camera.style.d.ts +0 -3
  401. package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/Camera.style.js +0 -39
  402. package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/NowFloor/ExtraObjects.d.ts +0 -5
  403. package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/NowFloor/ExtraObjects.js +0 -66
  404. package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/NowFloor/RoomHighlight.d.ts +0 -9
  405. package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/NowFloor/RoomHighlight.js +0 -126
  406. package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/NowFloor/index.d.ts +0 -11
  407. package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/NowFloor/index.js +0 -58
  408. package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/index.d.ts +0 -17
  409. package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/index.js +0 -85
  410. package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/index.style.d.ts +0 -2
  411. package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/index.style.js +0 -15
  412. package/plugins/floorplan/PanoFloorplanRadarPlugin/Controller.js +0 -211
  413. package/plugins/floorplan/PanoFloorplanRadarPlugin/index.js +0 -20
  414. package/plugins/floorplan/TopviewFloorplanPlugin/Controller.js +0 -262
  415. package/plugins/floorplan/TopviewFloorplanPlugin/index.js +0 -18
  416. package/plugins/floorplan/TopviewFloorplanPlugin/style.js +0 -16
  417. package/plugins/floorplan/components/FloorplanImage.d.ts +0 -7
  418. package/plugins/floorplan/components/FloorplanImage.js +0 -90
  419. package/plugins/floorplan/typings/floorplanData.js +0 -7
  420. package/plugins/floorplan/typings/floorplanServerData.js +0 -382
  421. package/plugins/floorplan/utils/formatData.js +0 -217
  422. package/plugins/floorplan/utils/formatPosition.js +0 -89
  423. package/shared-utils/Preloader.js +0 -57
  424. package/shared-utils/Subscribe.js +0 -230
  425. package/shared-utils/animationFrame/BetterTween.js +0 -103
  426. package/shared-utils/animationFrame/calculateProgress.js +0 -40
  427. package/shared-utils/animationFrame/formatRad.js +0 -36
  428. package/shared-utils/animationFrame/index.js +0 -81
  429. package/shared-utils/animationFrame/tween.js +0 -92
  430. package/shared-utils/changeModelCanvansOpacity.d.ts +0 -2
  431. package/shared-utils/changeModelCanvansOpacity.js +0 -38
  432. package/shared-utils/createCanvasTextTexture.js +0 -31
  433. package/shared-utils/createFiveContainer.d.ts +0 -10
  434. package/shared-utils/createFiveContainer.js +0 -171
  435. package/shared-utils/createLine/index.js +0 -43
  436. package/shared-utils/debounce.js +0 -30
  437. package/shared-utils/equal.js +0 -107
  438. package/shared-utils/filter.js +0 -127
  439. package/shared-utils/five/changeMode.js +0 -82
  440. package/shared-utils/five/useFivePlugin.js +0 -17
  441. package/shared-utils/formatRad.js +0 -18
  442. package/shared-utils/getPxmm.js +0 -51
  443. package/shared-utils/getRandomColor.js +0 -23
  444. package/shared-utils/isNil.js +0 -26
  445. package/shared-utils/isTruelyObject.js +0 -31
  446. package/shared-utils/math/evenNumber.d.ts +0 -1
  447. package/shared-utils/math/evenNumber.js +0 -13
  448. package/shared-utils/math/planimetry.js +0 -352
  449. package/shared-utils/math/rad2Deg.js +0 -12
  450. package/shared-utils/nearlyEqual.js +0 -19
  451. package/shared-utils/nextFrame.js +0 -15
  452. package/shared-utils/noop.js +0 -19
  453. package/shared-utils/object3d2LocalMatrix.js +0 -79
  454. package/shared-utils/px2rem.js +0 -22
  455. package/shared-utils/three/centerPoint.js +0 -14
  456. package/shared-utils/three/getExtraModelLoader.js +0 -45
  457. package/shared-utils/three/getNormal.js +0 -17
  458. package/shared-utils/three/getTextureLoader.js +0 -50
  459. package/shared-utils/three/loadFbxObj.js +0 -54
  460. package/shared-utils/three/loadTexture.d.ts +0 -2
  461. package/shared-utils/three/loadTexture.js +0 -46
  462. package/shared-utils/three/transformPositionToVector3.js +0 -20
  463. package/shared-utils/three/transfromToMeshBasicMaterial.js +0 -33
  464. package/shared-utils/throttle.js +0 -29
  465. package/shared-utils/to.js +0 -67
  466. package/shared-utils/useDebounce.js +0 -49
  467. package/shared-utils/useThrottle.js +0 -47
  468. package/shared-utils/uuid.d.ts +0 -4
  469. package/shared-utils/uuid.js +0 -28
  470. package/shared-utils/vectorTocoordinates.js +0 -18
  471. package/typedoc/components.d.ts +0 -6
  472. package/typedoc/components.js +0 -7
  473. package/typedoc/plugins.d.ts +0 -19
  474. package/typedoc/plugins.js +0 -165
  475. package/typedoc/shared-utils.d.ts +0 -3
  476. package/typedoc/shared-utils.js +0 -7
  477. package/typedoc/typings.d.ts +0 -3
  478. package/typedoc/typings.js +0 -7
  479. package/typings/math.type.js +0 -7
  480. package/typings/utils.type.js +0 -7
@@ -0,0 +1,94 @@
1
+ import { FLOORPLAN_EXTRA_OBJECT_IMAGE } from '../Assets/floorplanExtraObject';
2
+ import { floorplanPosition2ImagePosition, getFloorIndexFromModelPosition, modelPosition2FloorplanPosition, } from './formatPosition';
3
+ async function formatOutlines(outlines) {
4
+ const headers = new Headers({ 'Content-Type': 'text/plain' });
5
+ const getOutlineItem = async function (item) {
6
+ const outlineItem = {
7
+ index: item.index,
8
+ url: item.url,
9
+ svgUrl: item.svg_url,
10
+ };
11
+ if (item.svg_url) {
12
+ const svgContent = await fetch(item.svg_url, { headers }).then((res) => res.text());
13
+ outlineItem.svgContent = svgContent;
14
+ }
15
+ return outlineItem;
16
+ };
17
+ const svgOutlineItems = await Promise.all(outlines.map(getOutlineItem));
18
+ return svgOutlineItems;
19
+ }
20
+ function formatRoom(data) {
21
+ const floorplanRoomItem = {
22
+ id: data.id,
23
+ size: data.size,
24
+ name: data.name,
25
+ path: data.path,
26
+ roomType: data.room_type,
27
+ floorType: data.floor_type,
28
+ roomLabel: {
29
+ position: data.room_label.position,
30
+ positionInImage: data.room_label.position_in_image,
31
+ },
32
+ observerIndexs: data.observer_indexs,
33
+ };
34
+ return floorplanRoomItem;
35
+ }
36
+ function formatFloorData(_data) {
37
+ return {
38
+ floorName: _data.floor_name,
39
+ floorIndex: _data.floor_index,
40
+ rooms: _data.rooms.map(formatRoom),
41
+ rules: _data.rules,
42
+ };
43
+ }
44
+ function formateFloorplanObserver(data) {
45
+ const floorplanObserver = {
46
+ index: data.index,
47
+ floorIndex: data.floor_index,
48
+ position: data.position,
49
+ positionInImage: data.position_in_image,
50
+ };
51
+ return floorplanObserver;
52
+ }
53
+ function formatFloorplanEntrance(data) {
54
+ const floorplanEntrance = {
55
+ rad: data.rad,
56
+ position: data.position,
57
+ positionInImage: data.position_in_image,
58
+ northRad: data.north_rad,
59
+ roomId: data.room_id,
60
+ floorIndex: data.floor_index,
61
+ };
62
+ return floorplanEntrance;
63
+ }
64
+ export default async function formatData(data) {
65
+ const outlines = await formatOutlines(data.outlines);
66
+ const bounding = data.computed_data.bounding;
67
+ const floorDatas = data.computed_data.floor_datas.map(formatFloorData);
68
+ const entrance = data.computed_data.entrance ? formatFloorplanEntrance(data.computed_data.entrance) : null;
69
+ const floorplanData = {
70
+ outlines,
71
+ entrance,
72
+ bounding,
73
+ floorDatas,
74
+ observers: data.computed_data.observers.map(formateFloorplanObserver),
75
+ };
76
+ return floorplanData;
77
+ }
78
+ export function formatExtraObjects(data, five, floorplanData) {
79
+ const extraObjects = data.map((object) => {
80
+ const position = object.position;
81
+ const icon = object.icon
82
+ ? object.icon
83
+ : {
84
+ url: FLOORPLAN_EXTRA_OBJECT_IMAGE,
85
+ width: 45,
86
+ height: 48,
87
+ };
88
+ const floorIndex = getFloorIndexFromModelPosition(position, five);
89
+ const floorplanPosition = modelPosition2FloorplanPosition(position, floorplanData);
90
+ const floorplanImagePosition = floorplanPosition2ImagePosition(floorplanPosition, floorplanData);
91
+ return { floorIndex, icon, id: object.id, position: floorplanPosition, positionInImage: floorplanImagePosition };
92
+ });
93
+ return extraObjects;
94
+ }
@@ -1,7 +1,6 @@
1
- import { Five } from '@realsee/five';
2
- import { Vector2Position } from '../../../typings/math.type';
3
- import { FloorplanData } from '../typings/floorplanData';
4
- import { FloorplanBounding } from '../typings/floorplanData';
1
+ import type { Five } from '@realsee/five';
2
+ import type { Vector2Position } from '../../typings/math.type';
3
+ import type { FloorplanData, FloorplanBounding } from '../typings/floorplanData';
5
4
  export declare function pathD(points: Vector2Position[], options?: {
6
5
  needZ?: boolean;
7
6
  needA?: Record<number, string>;
@@ -0,0 +1,50 @@
1
+ export function pathD(points, options = {}) {
2
+ let d = '';
3
+ const { needZ, needA } = options;
4
+ const _points = needZ ? points.slice().concat(points[0]) : points.slice();
5
+ _points.forEach((_point, index) => {
6
+ const { x, y } = options.format ? options.format(_point) : _point;
7
+ const point = x + ',' + y;
8
+ if (index === 0) {
9
+ d += 'M' + point;
10
+ return d;
11
+ }
12
+ if (needA?.[index]) {
13
+ d += 'A' + needA[index] + ',' + point;
14
+ return d;
15
+ }
16
+ d += 'L' + point;
17
+ return d;
18
+ });
19
+ return d + (needZ ? 'Z' : '');
20
+ }
21
+ /** 把户型图上点点位转换到 SVG 上的点位 */
22
+ export default function formatFloorplanPoint({ x, y }, pxmm, bounding) {
23
+ const { max, min } = bounding;
24
+ return { x: (x - min.x) * pxmm, y: (max.y - y) * pxmm };
25
+ }
26
+ /** 模型坐标转户型图坐标 */
27
+ export function modelPosition2FloorplanPosition(position, floorplanData) {
28
+ const x = position.x * 1000 + floorplanData.bounding.origin.x;
29
+ const y = -position.z * 1000 + floorplanData.bounding.origin.y;
30
+ return { x, y };
31
+ }
32
+ /** 户型图点位转在图片上的相对坐标 */
33
+ export function floorplanPosition2ImagePosition(position, floorplanData) {
34
+ const bounding = floorplanData.bounding;
35
+ const boundingWidth = bounding.max.x - bounding.min.x;
36
+ const boundingHeight = bounding.max.y - bounding.min.y;
37
+ return {
38
+ x: (position.x - bounding.min.x) / boundingWidth,
39
+ y: (bounding.max.y - position.y) / boundingHeight,
40
+ };
41
+ }
42
+ /** 求三维坐标点所在的楼层 */
43
+ export function getFloorIndexFromModelPosition(position, five) {
44
+ const floorIndex = Math.max(...five.work.observers.map((observer) => {
45
+ if (position.z >= observer.standingPosition.z)
46
+ return observer.floorIndex;
47
+ return 0;
48
+ }));
49
+ return floorIndex;
50
+ }
@@ -0,0 +1,19 @@
1
+ export { default as ModelViewPlugin } from './ModelViewPlugin';
2
+ export { default as CSS3DRenderPlugin } from './CSS3DRenderPlugin';
3
+ export type { PanoCursorRaycasterPluginExportType } from './PanoCursorRaycasterPlugin';
4
+ export { default as PanoCursorRaycasterPlugin } from './PanoCursorRaycasterPlugin';
5
+ export type { ModelRoomLabelController, ModelRoomLabelPluginData, RoomLabel, ModelRoomLabelPluginReturnType, ModelRoomLabelPluginParameters, } from './ModelRoomLabelPlugin';
6
+ export { default as ModelRoomLabelPlugin } from './ModelRoomLabelPlugin';
7
+ export type { TopviewFloorplanPluginReturnType, TopviewFloorplanPluginParameterType, } from './floorplan/TopviewFloorplanPlugin';
8
+ export { default as TopviewFloorplanPlugin } from './floorplan/TopviewFloorplanPlugin';
9
+ export type { PanoFloorplanRadarPluginReturnType, PanoFloorplanRadarPluginParameterType, } from './floorplan/PanoFloorplanRadarPlugin';
10
+ export { default as PanoFloorplanRadarPlugin } from './floorplan/PanoFloorplanRadarPlugin';
11
+ export type { ModelFloorplanParameterType, ModelFloorplanPluginReturnType, ModelFloorplanErrorType, ModelFloorplanPluginsConfigs, ModelFloorplanEventHandlers, ModelFloorplanViewEvent, } from './floorplan/ModelFloorplanPlugin';
12
+ export { default as ModelFloorplanPlugin } from './floorplan/ModelFloorplanPlugin';
13
+ export type { ModelChassisCompassPluginParameterType, ModelChassisCompassPluginData, ModelChassisCompassPluginExportType, } from './ModelChassisCompassPlugin';
14
+ export { default as ModelChassisCompassPlugin } from './ModelChassisCompassPlugin';
15
+ export type { ModelEntryDoorGuidePluginParameterType, ModelEntryDoorGuidePluginData, ModelEntryDoorGuidePluginExportType, } from './ModelEntryDoorGuidePlugin';
16
+ export { default as ModelEntryDoorGuidePlugin } from './ModelEntryDoorGuidePlugin';
17
+ export { default as CameraMovementPlugin } from './CameraMovementPlugin';
18
+ export type { PanoCompassPluginParameterType, PanoCompassPluginExportType, PanoCompassPluginData, } from './PanoCompassPlugin';
19
+ export { default as PanoCompassPluginPlugin } from './PanoCompassPlugin';
package/libs/index.js ADDED
@@ -0,0 +1,11 @@
1
+ export { default as ModelViewPlugin } from './ModelViewPlugin';
2
+ export { default as CSS3DRenderPlugin } from './CSS3DRenderPlugin';
3
+ export { default as PanoCursorRaycasterPlugin } from './PanoCursorRaycasterPlugin';
4
+ export { default as ModelRoomLabelPlugin } from './ModelRoomLabelPlugin';
5
+ export { default as TopviewFloorplanPlugin } from './floorplan/TopviewFloorplanPlugin';
6
+ export { default as PanoFloorplanRadarPlugin } from './floorplan/PanoFloorplanRadarPlugin';
7
+ export { default as ModelFloorplanPlugin } from './floorplan/ModelFloorplanPlugin';
8
+ export { default as ModelChassisCompassPlugin } from './ModelChassisCompassPlugin';
9
+ export { default as ModelEntryDoorGuidePlugin } from './ModelEntryDoorGuidePlugin';
10
+ export { default as CameraMovementPlugin } from './CameraMovementPlugin';
11
+ export { default as PanoCompassPluginPlugin } from './PanoCompassPlugin';
@@ -0,0 +1,38 @@
1
+ /**
2
+ * 预载器
3
+ */
4
+ export const Preloader = {
5
+ blob: (url) => {
6
+ const noop = () => null;
7
+ return new Promise((resolve, reject) => {
8
+ const xhr = new XMLHttpRequest();
9
+ const clear = () => {
10
+ xhr.ontimeout = noop;
11
+ xhr.onreadystatechange = noop;
12
+ xhr.onprogress = noop;
13
+ xhr.onabort = noop;
14
+ };
15
+ xhr.ontimeout = () => {
16
+ reject(new Error('timeout'));
17
+ clear();
18
+ };
19
+ xhr.onreadystatechange = () => {
20
+ if (xhr.readyState !== 4)
21
+ return;
22
+ if (xhr.status === 0 && !xhr.response)
23
+ return;
24
+ if (xhr.status === 200 || xhr.status === 0) {
25
+ resolve(xhr.response);
26
+ clear();
27
+ }
28
+ else {
29
+ reject(new Error('status:' + xhr.status));
30
+ clear();
31
+ }
32
+ };
33
+ xhr.open('GET', url, true);
34
+ xhr.responseType = 'blob';
35
+ xhr.send(null);
36
+ });
37
+ },
38
+ };
@@ -18,14 +18,14 @@ export default class Subscribe {
18
18
  * @param {any} context 事件回调函数调用的上下文
19
19
  * @param {boolean} once 是否只执行一次
20
20
  */
21
- on(names: string | string[], callback: (...args: any[]) => void, context?: any, once?: boolean): () => this | undefined;
21
+ on(names: string | string[], callback: (...args: any[]) => void, context?: any, once?: boolean): () => this;
22
22
  /**
23
23
  * 注册事件(是否只执行一次)
24
24
  * @param {string|[string]} names 事件类型
25
25
  * @param {function} callback 事件回调函数
26
26
  * @param {any} context 事件回调函数调用的上下文
27
27
  */
28
- once(names: string | string[], callback: (...args: any[]) => void, context?: any): () => this | undefined;
28
+ once(names: string | string[], callback: (...args: any[]) => void, context?: any): () => this;
29
29
  /**
30
30
  * 解除事件
31
31
  * @param {string|[string]} names 事件类型
@@ -34,7 +34,7 @@ export default class Subscribe {
34
34
  * 如果 name 不传的话解除对应所有事件
35
35
  * 如果 name, callback 不传的话解除所有name的所有事件
36
36
  */
37
- off(names?: string | string[], callback?: (...args: any[]) => void): this | undefined;
37
+ off(names?: string | string[], callback?: (...args: any[]) => void): this;
38
38
  /**
39
39
  * 触发事件
40
40
  * @param {string|[string]} name 事件类型
@@ -0,0 +1,101 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ const __EVENT__ = '__events__';
3
+ /**
4
+ * 订阅类。
5
+ * 观察者模式(供前端使用),Node端推荐<a href="https://nodejs.org/api/events.html#events_class_eventemitter">EventEmitter</a>。
6
+ */
7
+ export default class Subscribe {
8
+ [__EVENT__];
9
+ constructor() {
10
+ this[__EVENT__] = {};
11
+ }
12
+ /**
13
+ * 判断是否注册时事件
14
+ * @param {string|[string]} name 事件类型
15
+ */
16
+ hasListener(name) {
17
+ const events = this[__EVENT__];
18
+ return events && events[name] && events[name].length;
19
+ }
20
+ /**
21
+ * 注册事件
22
+ * @param {string|[string]} names 事件类型
23
+ * @param {function} callback 事件回调函数
24
+ * @param {any} context 事件回调函数调用的上下文
25
+ * @param {boolean} once 是否只执行一次
26
+ */
27
+ on(names, callback, context, once = false) {
28
+ for (const name of [].concat(names)) {
29
+ if (!this[__EVENT__][name])
30
+ this[__EVENT__][name] = [];
31
+ this[__EVENT__][name].push([callback, context, once]);
32
+ }
33
+ return () => this.off(names, callback);
34
+ }
35
+ /**
36
+ * 注册事件(是否只执行一次)
37
+ * @param {string|[string]} names 事件类型
38
+ * @param {function} callback 事件回调函数
39
+ * @param {any} context 事件回调函数调用的上下文
40
+ */
41
+ once(names, callback, context) {
42
+ return this.on(names, callback, context, true);
43
+ }
44
+ /**
45
+ * 解除事件
46
+ * @param {string|[string]} names 事件类型
47
+ * @param {function} callback 事件回调函数
48
+ *
49
+ * 如果 name 不传的话解除对应所有事件
50
+ * 如果 name, callback 不传的话解除所有name的所有事件
51
+ */
52
+ off(names, callback) {
53
+ if (arguments.length === 0) {
54
+ this[__EVENT__] = {};
55
+ return;
56
+ }
57
+ const hasNames = (names) => names;
58
+ if (hasNames(names)) {
59
+ const events = this[__EVENT__];
60
+ for (const name of [].concat(names)) {
61
+ if (events[name] === undefined)
62
+ continue;
63
+ if (callback === undefined) {
64
+ events[name].length = 0;
65
+ continue;
66
+ }
67
+ events[name] = events[name].filter((one) => one[0] !== callback);
68
+ }
69
+ }
70
+ return this;
71
+ }
72
+ /**
73
+ * 触发事件
74
+ * @param {string|[string]} name 事件类型
75
+ * @param {...any} data 触发事件的数据
76
+ */
77
+ emit(name, ...data) {
78
+ let canceled = false;
79
+ const event = this[__EVENT__][name] || [];
80
+ if (event.length === 0) {
81
+ console.warn(` 💀 "${name}" ⟶ Unregistered event. `);
82
+ }
83
+ for (const one of event) {
84
+ try {
85
+ const [callback, context = this, once = false] = one;
86
+ const result = callback.apply(context, data);
87
+ if (once)
88
+ this.off(name, callback);
89
+ if (result === false) {
90
+ // 如果回调的返回结果是false,则中断后续的调用链
91
+ canceled = true;
92
+ return canceled;
93
+ }
94
+ }
95
+ catch (error) {
96
+ console.warn(error);
97
+ }
98
+ }
99
+ return canceled;
100
+ }
101
+ }
@@ -0,0 +1,30 @@
1
+ import TWEEN from '@tweenjs/tween.js';
2
+ import { requestAnimationFrameInterval } from './index';
3
+ export class BetterTween extends TWEEN.Tween {
4
+ disposeMethods = [];
5
+ animationFrameDisposer;
6
+ onDispose = (callback) => {
7
+ this.disposeMethods.push(callback);
8
+ return this;
9
+ };
10
+ play = () => {
11
+ this.start(0);
12
+ this.animationFrameDisposer = requestAnimationFrameInterval((time) => this.update(time));
13
+ return this;
14
+ };
15
+ dispose = () => {
16
+ this.stop();
17
+ this.animationFrameDisposer?.();
18
+ this.disposeMethods.forEach((fn) => fn());
19
+ this.disposeMethods = [];
20
+ TWEEN.remove(this);
21
+ };
22
+ }
23
+ export function tweenProgress(duration, easing = TWEEN.Easing.Linear.None) {
24
+ const tween = new BetterTween({ progress: 0 }).to({ progress: 1 });
25
+ if (duration !== undefined)
26
+ tween.duration(duration);
27
+ if (easing !== undefined)
28
+ tween.easing(easing);
29
+ return tween;
30
+ }
@@ -0,0 +1,23 @@
1
+ import { formatRad } from './formatRad';
2
+ const PI = Math.PI;
3
+ const PI_2 = PI * 2;
4
+ /**
5
+ * 线性过程插值
6
+ */
7
+ export function progressNumber(from, to, pst) {
8
+ return from + (to - from) * pst;
9
+ }
10
+ /**
11
+ * 弧度过程插值值,会取锐角进行插值
12
+ */
13
+ export function progressRad(from, to, pst) {
14
+ from = formatRad(from);
15
+ to = formatRad(to);
16
+ if (to - from > PI) {
17
+ return formatRad(progressNumber(from + PI_2, to, pst));
18
+ }
19
+ if (from - to > PI) {
20
+ return formatRad(progressNumber(from - PI_2, to, pst));
21
+ }
22
+ return progressNumber(from, to, pst);
23
+ }
@@ -0,0 +1,20 @@
1
+ const PI_2 = Math.PI * 2;
2
+ /**
3
+ * 把一个任意角度的弧度值转换为一个 [0, 2PI] 的弧度值
4
+ * @param rad 弧度值
5
+ */
6
+ export function formatLongitude(rad) {
7
+ return ((rad % PI_2) + PI_2) % PI_2;
8
+ }
9
+ /**
10
+ * 把一个任意角度的弧度值转换为一个 [-2PI, 2PI] 的弧度值
11
+ * @param rad 弧度值
12
+ */
13
+ export function formatLatitude(rad) {
14
+ return rad % PI_2;
15
+ }
16
+ /**
17
+ * 把一个任意角度的弧度值转换为一个 [0, 2PI] 的弧度值
18
+ * @param rad 弧度值
19
+ */
20
+ export const formatRad = formatLongitude;
@@ -0,0 +1,48 @@
1
+ const _requestAnimationFrame = window.requestAnimationFrame || ((fn) => setTimeout(fn, 16));
2
+ const _cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout;
3
+ export default _requestAnimationFrame;
4
+ export function nextFrame(fn, delay = 0) {
5
+ if (delay <= 0)
6
+ _requestAnimationFrame(fn);
7
+ else
8
+ _requestAnimationFrame(() => nextFrame(fn, delay - 1));
9
+ }
10
+ /**
11
+ * 在每个 AnimationFrame 中调用传入的函数
12
+ * @param callback 每次 AnimationFrame 中调用的函数
13
+ * @param frame 每秒运行多少次
14
+ * @returns 返回一个函数,调用可以停止 AnimationFrameLoop
15
+ */
16
+ export function requestAnimationFrameInterval(callback, frame = 60) {
17
+ let index = -1;
18
+ let oldTime = 0;
19
+ let startTime = -1;
20
+ const minDeltaTime = 1000 / frame;
21
+ function loop(time) {
22
+ startTime === -1 && (startTime = time);
23
+ index = _requestAnimationFrame(loop);
24
+ const deltaTime = time - oldTime;
25
+ if (deltaTime < minDeltaTime)
26
+ return;
27
+ oldTime = time;
28
+ callback && callback(time - startTime);
29
+ }
30
+ index = _requestAnimationFrame(loop);
31
+ return function stop() {
32
+ _cancelAnimationFrame(index);
33
+ };
34
+ }
35
+ /**
36
+ * 获取两个 AnimationFrame 间隔的时间
37
+ * @returns 返回一个 Promise,resolve 的结果是两个 AnimationFrame 间隔的时间
38
+ */
39
+ export function getFrameTime() {
40
+ const start = Date.now();
41
+ return new Promise((resolve) => {
42
+ _requestAnimationFrame(() => {
43
+ resolve(Date.now() - start);
44
+ });
45
+ });
46
+ }
47
+ // export { Easing } from './tween'
48
+ // export { default as tween } from './tween'
@@ -0,0 +1,44 @@
1
+ import * as TWEEN from '@tweenjs/tween.js';
2
+ import { nextFrame, requestAnimationFrameInterval } from './index';
3
+ export const Easing = TWEEN.Easing;
4
+ /**
5
+ * 对象变化的补间动画
6
+ * 1. 应用 requestAnimationFrameInterval 做 update
7
+ * 2. 在原生 tween 上新增 destroy 方法和 onDestroy 监听
8
+ * DOC: https://github.com/tweenjs/tween.js
9
+ * @param from 对象起始状态
10
+ * @param to 对象末尾状态
11
+ * @param duration 经历时间(s)
12
+ * @param easing 过程动画,默认是 Easing.Linear.None
13
+ */
14
+ export default function tween(from, to, duration, easing = Easing.Linear.None) {
15
+ const tween = new TWEEN.Tween(from).to(to, duration).easing(easing);
16
+ // 这里注意一下,因为 requestAnimationFrameInterval 给的时间是从 0 开始的,tween 动画也从 0 开始
17
+ nextFrame(() => tween.start(0));
18
+ const cancelAnimationFrame = requestAnimationFrameInterval((time) => {
19
+ if (tween.update(time) === false)
20
+ cancelAnimationFrame();
21
+ });
22
+ const destroyMethods = [];
23
+ tween.onDestroy = (fn) => {
24
+ destroyMethods.push(fn);
25
+ return tween;
26
+ };
27
+ tween.destroy = function () {
28
+ this.stop();
29
+ Object.assign(tween, {
30
+ _onStartCallback: null,
31
+ _onUpdateCallback: null,
32
+ _onCompleteCallback: null,
33
+ _onStopCallbackL: null,
34
+ });
35
+ let destroyMethod;
36
+ while ((destroyMethod = destroyMethods.shift()))
37
+ destroyMethod();
38
+ cancelAnimationFrame();
39
+ };
40
+ return tween;
41
+ }
42
+ export function tweenProgress(duration, easing) {
43
+ return tween({ progress: 0 }, { progress: 1 }, duration, easing);
44
+ }
@@ -0,0 +1,2 @@
1
+ import type { Five } from '@realsee/five';
2
+ export default function changeModelCanvasOpacity(five: Five, opacity: number, duration?: number): void;
@@ -0,0 +1,15 @@
1
+ export default function changeModelCanvasOpacity(five, opacity, duration = 300) {
2
+ const fiveEle = five.getElement();
3
+ if (!fiveEle)
4
+ return;
5
+ fiveEle.style.opacity = opacity + '';
6
+ fiveEle.style.transition = duration === 0 ? 'none' : `opacity ${duration}ms linear`;
7
+ if (duration === 0)
8
+ return;
9
+ Promise.race([
10
+ new Promise((res) => fiveEle.addEventListener('transitionend', res, { once: true })),
11
+ new Promise((res) => setTimeout(res, duration)),
12
+ ]).then(() => {
13
+ fiveEle.style.transition = 'none';
14
+ });
15
+ }
@@ -0,0 +1,19 @@
1
+ import { CanvasTexture } from 'three';
2
+ export default function createCanvasTextTexture(text, config) {
3
+ const size = config?.size ?? 512;
4
+ const fontSize = config?.fontSize ?? size * (35 / 256) * 1.2;
5
+ const backgroundColor = config?.backgroundColor ?? 'rgba(0,0,0,0)';
6
+ const fontColor = config?.fontColor ?? '#fff';
7
+ const textAlign = config?.textAlign ?? 'center';
8
+ const canvas = document.createElement('canvas');
9
+ canvas.setAttribute('width', size + '');
10
+ canvas.setAttribute('height', size + '');
11
+ const context = canvas.getContext('2d');
12
+ context.fillStyle = backgroundColor;
13
+ context.fillRect(0, 0, size, size);
14
+ context.font = `${fontSize}px "微软雅黑"`;
15
+ context.textAlign = textAlign;
16
+ context.fillStyle = fontColor;
17
+ context.fillText(text, size / 2, size * 0.7);
18
+ return new CanvasTexture(canvas);
19
+ }
@@ -1,3 +1,3 @@
1
- import { Vector3 } from 'three';
2
1
  import { Line } from '@realsee/five/line';
2
+ import { Vector3 } from 'three';
3
3
  export default function createLine(point1: Vector3, point2: Vector3, color?: Vector3, dashed?: boolean): Line;
@@ -0,0 +1,8 @@
1
+ import { Line } from '@realsee/five/line';
2
+ import { Vector3 } from 'three';
3
+ export default function createLine(point1, point2, color = new Vector3(1, 1, 1), dashed = false) {
4
+ const line = new Line(point1, point2);
5
+ line.setMaterial({ dashed, color, linewidth: 1 });
6
+ line.remove(line.points);
7
+ return line;
8
+ }
@@ -3,4 +3,4 @@
3
3
  * @param func - 要防抖动的函数
4
4
  * @param [wait=0] - 需要延迟的毫秒数
5
5
  */
6
- export default function debounce<T extends (...args: any) => any>(func: T, wait?: number): (...args: Parameters<T>) => void;
6
+ export default function debounce<T extends (...args: any[]) => any>(func: T, wait?: number): (...args: Parameters<T>) => void;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * 创建一个防抖动函数,该函数会在 wait 毫秒后调用 func 方法
3
+ * @param func - 要防抖动的函数
4
+ * @param [wait=0] - 需要延迟的毫秒数
5
+ */
6
+ export default function debounce(func, wait = 200) {
7
+ let last;
8
+ return function (...args) {
9
+ clearTimeout(last);
10
+ last = setTimeout(() => {
11
+ func(...args);
12
+ }, wait);
13
+ };
14
+ }
File without changes