@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.
- package/README.md +6 -89
- package/dist/dnalogel.cjs.js +2 -0
- package/dist/dnalogel.es.js +37288 -0
- package/dist/dnalogel.umd.js +2 -0
- package/dist/style.css +1 -0
- package/{plugins → libs}/CSS3DRenderPlugin/index.d.ts +1 -1
- package/libs/CSS3DRenderPlugin/index.js +181 -0
- package/libs/CSS3DRenderPlugin/utils/createResizeObserver.d.ts +7 -0
- package/libs/CSS3DRenderPlugin/utils/createResizeObserver.js +18 -0
- package/{plugins → libs}/CameraMovementPlugin/index.d.ts +0 -0
- package/libs/CameraMovementPlugin/index.js +159 -0
- package/{plugins → libs}/CameraMovementPlugin/typing.d.ts +0 -0
- package/libs/CameraMovementPlugin/typing.js +17 -0
- package/{plugins → libs}/ModelChassisCompassPlugin/index.d.ts +1 -1
- package/libs/ModelChassisCompassPlugin/index.js +75 -0
- package/{plugins → libs}/ModelEntryDoorGuidePlugin/index.d.ts +6 -2
- package/libs/ModelEntryDoorGuidePlugin/index.js +136 -0
- package/libs/ModelRoomLabelPlugin/Assets/roomLabelBg.d.ts +1 -0
- package/libs/ModelRoomLabelPlugin/Assets/roomLabelBg.js +1 -0
- package/{plugins → libs}/ModelRoomLabelPlugin/Controller.d.ts +3 -2
- package/libs/ModelRoomLabelPlugin/Controller.js +100 -0
- package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte +63 -0
- package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte.map +1 -0
- package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte +80 -0
- package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte.map +1 -0
- package/libs/ModelRoomLabelPlugin/index.d.ts +12 -0
- package/libs/ModelRoomLabelPlugin/index.js +9 -0
- package/{plugins → libs}/ModelRoomLabelPlugin/typings.d.ts +2 -2
- package/libs/ModelRoomLabelPlugin/typings.js +1 -0
- package/{plugins → libs}/ModelRoomLabelPlugin/utils/parseData.d.ts +0 -0
- package/libs/ModelRoomLabelPlugin/utils/parseData.js +14 -0
- package/{plugins → libs}/ModelViewPlugin/index.d.ts +0 -0
- package/libs/ModelViewPlugin/index.js +160 -0
- package/libs/PanoCompassPlugin/index.d.ts +25 -0
- package/libs/PanoCompassPlugin/index.js +89 -0
- package/{plugins → libs}/PanoCursorRaycasterPlugin/index.d.ts +2 -3
- package/libs/PanoCursorRaycasterPlugin/index.js +74 -0
- package/libs/floorplan/Assets/camera.d.ts +1 -0
- package/libs/floorplan/Assets/camera.js +1 -0
- package/libs/floorplan/Assets/floorplanExtraObject.d.ts +1 -0
- package/libs/floorplan/Assets/floorplanExtraObject.js +1 -0
- package/libs/floorplan/Components/BaseImage.svelte +25 -0
- package/libs/floorplan/Components/BaseImage.svelte.map +1 -0
- package/libs/floorplan/Components/Normalmage.svelte +11 -0
- package/libs/floorplan/Components/Normalmage.svelte.map +1 -0
- package/libs/floorplan/Components/RoomHighlight/Room.svelte +21 -0
- package/libs/floorplan/Components/RoomHighlight/Room.svelte.map +1 -0
- package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte +60 -0
- package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte.map +1 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte +35 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte.map +1 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte +7 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte.map +1 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte +16 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte.map +1 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte +17 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte.map +1 -0
- package/libs/floorplan/Components/SvgImage.svelte +25 -0
- package/libs/floorplan/Components/SvgImage.svelte.map +1 -0
- package/libs/floorplan/ModelFloorplanPlugin/Assets/compass.d.ts +1 -0
- package/libs/floorplan/ModelFloorplanPlugin/Assets/compass.js +1 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/Camera.svelte +46 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/Camera.svelte.map +1 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/Compass.svelte +48 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/Compass.svelte.map +1 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/CurrentFloor/CurrentFloor.svelte +37 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/CurrentFloor/CurrentFloor.svelte.map +1 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/Main.svelte +50 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/Main.svelte.map +1 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabel.svelte +41 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabel.svelte.map +1 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabels.svelte +25 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabels.svelte.map +1 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleItem.svelte +148 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleItem.svelte.map +1 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleLabels.svelte +15 -0
- package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleLabels.svelte.map +1 -0
- package/{plugins → libs}/floorplan/ModelFloorplanPlugin/Controller.d.ts +16 -14
- package/libs/floorplan/ModelFloorplanPlugin/Controller.js +357 -0
- package/{plugins → libs}/floorplan/ModelFloorplanPlugin/index.d.ts +1 -1
- package/libs/floorplan/ModelFloorplanPlugin/index.js +5 -0
- package/{plugins → libs}/floorplan/ModelFloorplanPlugin/typings/events.type.d.ts +0 -0
- package/libs/floorplan/ModelFloorplanPlugin/typings/events.type.js +1 -0
- package/{plugins → libs}/floorplan/ModelFloorplanPlugin/utils/constant.d.ts +1 -1
- package/libs/floorplan/ModelFloorplanPlugin/utils/constant.js +16 -0
- package/{plugins → libs}/floorplan/ModelFloorplanPlugin/utils/correctFiveState.d.ts +0 -0
- package/libs/floorplan/ModelFloorplanPlugin/utils/correctFiveState.js +46 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte +84 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte.map +1 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte +18 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte.map +1 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte +40 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte.map +1 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte +61 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte.map +1 -0
- package/{plugins → libs}/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +6 -11
- package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +88 -0
- package/{plugins → libs}/floorplan/PanoFloorplanRadarPlugin/index.d.ts +0 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +5 -0
- package/{plugins → libs}/floorplan/TopviewFloorplanPlugin/Controller.d.ts +15 -11
- package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +189 -0
- package/{plugins → libs}/floorplan/TopviewFloorplanPlugin/index.d.ts +0 -0
- package/libs/floorplan/TopviewFloorplanPlugin/index.js +5 -0
- package/{plugins → libs}/floorplan/TopviewFloorplanPlugin/style.d.ts +0 -0
- package/libs/floorplan/TopviewFloorplanPlugin/style.js +8 -0
- package/{plugins → libs}/floorplan/typings/floorplanData.d.ts +6 -0
- package/libs/floorplan/typings/floorplanData.js +6 -0
- package/{plugins → libs}/floorplan/typings/floorplanServerData.d.ts +4 -2
- package/libs/floorplan/typings/floorplanServerData.js +101 -0
- package/libs/floorplan/typings/utility.d.ts +2 -0
- package/libs/floorplan/typings/utility.js +1 -0
- package/{plugins → libs}/floorplan/utils/formatData.d.ts +3 -3
- package/libs/floorplan/utils/formatData.js +94 -0
- package/{plugins → libs}/floorplan/utils/formatPosition.d.ts +3 -4
- package/libs/floorplan/utils/formatPosition.js +50 -0
- package/libs/index.d.ts +19 -0
- package/libs/index.js +11 -0
- package/{shared-utils → libs/shared-utils}/Preloader.d.ts +0 -0
- package/libs/shared-utils/Preloader.js +38 -0
- package/{shared-utils → libs/shared-utils}/Subscribe.d.ts +3 -3
- package/libs/shared-utils/Subscribe.js +101 -0
- package/{shared-utils → libs/shared-utils}/animationFrame/BetterTween.d.ts +0 -0
- package/libs/shared-utils/animationFrame/BetterTween.js +30 -0
- package/{shared-utils → libs/shared-utils}/animationFrame/calculateProgress.d.ts +0 -0
- package/libs/shared-utils/animationFrame/calculateProgress.js +23 -0
- package/{shared-utils → libs/shared-utils}/animationFrame/formatRad.d.ts +0 -0
- package/libs/shared-utils/animationFrame/formatRad.js +20 -0
- package/{shared-utils → libs/shared-utils}/animationFrame/index.d.ts +0 -0
- package/libs/shared-utils/animationFrame/index.js +48 -0
- package/{shared-utils → libs/shared-utils}/animationFrame/tween.d.ts +0 -0
- package/libs/shared-utils/animationFrame/tween.js +44 -0
- package/libs/shared-utils/changeModelCanvasOpacity.d.ts +2 -0
- package/libs/shared-utils/changeModelCanvasOpacity.js +15 -0
- package/{shared-utils → libs/shared-utils}/createCanvasTextTexture.d.ts +0 -0
- package/libs/shared-utils/createCanvasTextTexture.js +19 -0
- package/{shared-utils → libs/shared-utils}/createLine/index.d.ts +1 -1
- package/libs/shared-utils/createLine/index.js +8 -0
- package/{shared-utils → libs/shared-utils}/debounce.d.ts +1 -1
- package/libs/shared-utils/debounce.js +14 -0
- package/{shared-utils → libs/shared-utils}/equal.d.ts +0 -0
- package/libs/shared-utils/equal.js +84 -0
- package/{shared-utils → libs/shared-utils}/filter.d.ts +0 -0
- package/libs/shared-utils/filter.js +53 -0
- package/{shared-utils → libs/shared-utils}/five/changeMode.d.ts +0 -0
- package/libs/shared-utils/five/changeMode.js +15 -0
- package/{shared-utils → libs/shared-utils}/five/useFivePlugin.d.ts +0 -0
- package/libs/shared-utils/five/useFivePlugin.js +8 -0
- package/{shared-utils → libs/shared-utils}/formatRad.d.ts +0 -0
- package/libs/shared-utils/formatRad.js +10 -0
- package/{shared-utils → libs/shared-utils}/getPxmm.d.ts +0 -0
- package/libs/shared-utils/getPxmm.js +20 -0
- package/{shared-utils → libs/shared-utils}/getRandomColor.d.ts +0 -0
- package/libs/shared-utils/getRandomColor.js +10 -0
- package/{shared-utils → libs/shared-utils}/isNil.d.ts +0 -0
- package/libs/shared-utils/isNil.js +14 -0
- package/{shared-utils → libs/shared-utils}/isTruelyObject.d.ts +0 -0
- package/libs/shared-utils/isTruelyObject.js +20 -0
- package/libs/shared-utils/math/evenNumber.d.ts +3 -0
- package/libs/shared-utils/math/evenNumber.js +4 -0
- package/{shared-utils → libs/shared-utils}/math/planimetry.d.ts +4 -4
- package/libs/shared-utils/math/planimetry.js +288 -0
- package/{shared-utils → libs/shared-utils}/math/rad2Deg.d.ts +0 -0
- package/libs/shared-utils/math/rad2Deg.js +3 -0
- package/{shared-utils → libs/shared-utils}/nearlyEqual.d.ts +0 -0
- package/libs/shared-utils/nearlyEqual.js +9 -0
- package/{shared-utils → libs/shared-utils}/nextFrame.d.ts +0 -0
- package/libs/shared-utils/nextFrame.js +6 -0
- package/{shared-utils → libs/shared-utils}/noop.d.ts +0 -0
- package/libs/shared-utils/noop.js +7 -0
- package/{shared-utils → libs/shared-utils}/object3d2LocalMatrix.d.ts +0 -0
- package/libs/shared-utils/object3d2LocalMatrix.js +29 -0
- package/{shared-utils → libs/shared-utils}/px2rem.d.ts +0 -0
- package/libs/shared-utils/px2rem.js +4 -0
- package/libs/shared-utils/removeArrayItem.d.ts +7 -0
- package/libs/shared-utils/removeArrayItem.js +12 -0
- package/{shared-utils → libs/shared-utils}/tap.d.ts +0 -0
- package/{shared-utils → libs/shared-utils}/tap.js +4 -13
- package/{shared-utils → libs/shared-utils}/three/centerPoint.d.ts +0 -0
- package/libs/shared-utils/three/centerPoint.js +4 -0
- package/{shared-utils → libs/shared-utils}/three/getExtraModelLoader.d.ts +0 -0
- package/libs/shared-utils/three/getExtraModelLoader.js +18 -0
- package/{shared-utils → libs/shared-utils}/three/getNormal.d.ts +0 -0
- package/libs/shared-utils/three/getNormal.js +6 -0
- package/{shared-utils → libs/shared-utils}/three/getTextureLoader.d.ts +0 -0
- package/libs/shared-utils/three/getTextureLoader.js +17 -0
- package/{shared-utils → libs/shared-utils}/three/loadFbxObj.d.ts +0 -0
- package/libs/shared-utils/three/loadFbxObj.js +13 -0
- package/libs/shared-utils/three/loadTexture.d.ts +2 -0
- package/libs/shared-utils/three/loadTexture.js +10 -0
- package/{shared-utils → libs/shared-utils}/three/transformPositionToVector3.d.ts +0 -0
- package/libs/shared-utils/three/transformPositionToVector3.js +3 -0
- package/{shared-utils → libs/shared-utils}/three/transfromToMeshBasicMaterial.d.ts +0 -0
- package/libs/shared-utils/three/transfromToMeshBasicMaterial.js +14 -0
- package/{shared-utils → libs/shared-utils}/throttle.d.ts +1 -1
- package/libs/shared-utils/throttle.js +18 -0
- package/{shared-utils → libs/shared-utils}/to.d.ts +0 -0
- package/libs/shared-utils/to.js +18 -0
- package/{shared-utils → libs/shared-utils}/useDebounce.d.ts +0 -0
- package/libs/shared-utils/useDebounce.js +22 -0
- package/{shared-utils → libs/shared-utils}/useThrottle.d.ts +0 -0
- package/libs/shared-utils/useThrottle.js +25 -0
- package/libs/{gltf-viewer → shared-utils}/uuid.d.ts +0 -0
- package/libs/shared-utils/uuid.js +11 -0
- package/{shared-utils → libs/shared-utils}/vectorTocoordinates.d.ts +0 -0
- package/libs/shared-utils/vectorTocoordinates.js +9 -0
- package/{typings → libs/typings}/math.type.d.ts +0 -0
- package/libs/typings/math.type.js +1 -0
- package/{typings → libs/typings}/utils.type.d.ts +0 -0
- package/libs/typings/utils.type.js +1 -0
- package/package.json +45 -17
- package/TERMS.txt +0 -56
- package/components/ARVideoFigure/ARVideoFigureMesh.d.ts +0 -44
- package/components/ARVideoFigure/ARVideoFigureMesh.js +0 -371
- package/components/ARVideoFigure/ARVideoFigureScene.d.ts +0 -11
- package/components/ARVideoFigure/ARVideoFigureScene.js +0 -85
- package/components/ARVideoFigure/ImgBgTransparent.d.ts +0 -16
- package/components/ARVideoFigure/ImgBgTransparent.js +0 -65
- package/components/ARVideoFigure/ImgBgTransparentMesh.d.ts +0 -30
- package/components/ARVideoFigure/ImgBgTransparentMesh.js +0 -183
- package/components/ARVideoFigure/fragmentShader.d.ts +0 -5
- package/components/ARVideoFigure/fragmentShader.js +0 -18
- package/components/ARVideoFigure/index.d.ts +0 -15
- package/components/ARVideoFigure/index.js +0 -80
- package/components/ARVideoFigure/vertexShader.d.ts +0 -1
- package/components/ARVideoFigure/vertexShader.js +0 -10
- package/components/GLTFView/index.d.ts +0 -72
- package/components/GLTFView/index.js +0 -149
- package/components/GlassFilters/index.d.ts +0 -32
- package/components/GlassFilters/index.js +0 -78
- package/components/ModelView/ModelViewController.d.ts +0 -18
- package/components/ModelView/ModelViewController.js +0 -157
- package/components/ModelView/index.d.ts +0 -10
- package/components/ModelView/index.js +0 -24
- package/components/PaintBrush/index.d.ts +0 -16
- package/components/PaintBrush/index.js +0 -47
- package/components/PanoTag/index.d.ts +0 -4
- package/components/PanoTag/index.js +0 -13
- package/custom.d.js +0 -3
- package/data/1aGKl9JmrlXMXx8d.d.ts +0 -104
- package/data/1aGKl9JmrlXMXx8d.js +0 -537
- package/data/54djM0oR6ky3Ey8e.d.ts +0 -55
- package/data/54djM0oR6ky3Ey8e.js +0 -350
- package/data/6gyq3v1verxD7JO1.d.ts +0 -104
- package/data/6gyq3v1verxD7JO1.js +0 -462
- package/data/8054djM0oR6ky3Ey8e.d.ts +0 -55
- package/data/8054djM0oR6ky3Ey8e.js +0 -350
- package/data/KpokNd82rwjhackhQTBEoYKHg8zGbPXe.d.ts +0 -84
- package/data/KpokNd82rwjhackhQTBEoYKHg8zGbPXe.js +0 -600
- package/data/PrXel3aqGbp34JQn.d.ts +0 -389
- package/data/PrXel3aqGbp34JQn.js +0 -4649
- package/data/XJ6NMLWnkAY3Rdx8.d.ts +0 -843
- package/data/XJ6NMLWnkAY3Rdx8.js +0 -7989
- package/data/YdoNP9K4rwQDwjJr.d.ts +0 -83
- package/data/YdoNP9K4rwQDwjJr.js +0 -1453
- package/data/ZLvK29zj4L29Jowd.d.ts +0 -55
- package/data/ZLvK29zj4L29Jowd.js +0 -372
- package/data/auto3d-njL5J99VwCmnjtQElOmXQr.d.ts +0 -86
- package/data/auto3d-njL5J99VwCmnjtQElOmXQr.js +0 -711
- package/data/extrude-walls/ZLvK29zj4L29Jowd.d.ts +0 -5
- package/data/extrude-walls/ZLvK29zj4L29Jowd.js +0 -14
- package/data/extrude-walls/lo024DEgzanMj5BE.d.ts +0 -5
- package/data/extrude-walls/lo024DEgzanMj5BE.js +0 -14
- package/data/jd6oMOzPxnQ3BvxY_B7yw51J9rXlhYhjhGTOgRVqu6WeEqjNX.d.ts +0 -85
- package/data/jd6oMOzPxnQ3BvxY_B7yw51J9rXlhYhjhGTOgRVqu6WeEqjNX.js +0 -511
- package/data/lo024DEgzanMj5BE.d.ts +0 -55
- package/data/lo024DEgzanMj5BE.js +0 -966
- package/data/oPzy3ApbjjpD8YdR.d.ts +0 -83
- package/data/oPzy3ApbjjpD8YdR.js +0 -283
- package/data/qjAxMG4XbPn96wKG.d.ts +0 -104
- package/data/qjAxMG4XbPn96wKG.js +0 -637
- package/data/rXel3aPQRRBD4JQn.d.ts +0 -86
- package/data/rXel3aPQRRBD4JQn.js +0 -622
- package/data/vLykj3NWrllMrG06.d.ts +0 -91
- package/data/vLykj3NWrllMrG06.js +0 -2729
- package/data/wz0QV9KA4ugyo9ME.d.ts +0 -39
- package/data/wz0QV9KA4ugyo9ME.js +0 -136
- package/data/zxMawr9raSg8LYjG.d.ts +0 -53
- package/data/zxMawr9raSg8LYjG.js +0 -590
- package/examples/FiveStateController/index.js +0 -134
- package/examples/VRHouse/Mobile.js +0 -36
- package/examples/VRHouse/PC.js +0 -36
- package/examples/VRHouse/index.js +0 -36
- package/index.d.ts +0 -15
- package/index.js +0 -45
- package/libs/gltf-viewer/Subscribe.d.ts +0 -76
- package/libs/gltf-viewer/Subscribe.js +0 -231
- package/libs/gltf-viewer/coordsMoveByOffset.d.ts +0 -13
- package/libs/gltf-viewer/coordsMoveByOffset.js +0 -22
- package/libs/gltf-viewer/coordsToDirection.d.ts +0 -5
- package/libs/gltf-viewer/coordsToDirection.js +0 -41
- package/libs/gltf-viewer/formatRad.d.ts +0 -1
- package/libs/gltf-viewer/formatRad.js +0 -13
- package/libs/gltf-viewer/getFrameTime.d.ts +0 -1
- package/libs/gltf-viewer/getFrameTime.js +0 -28
- package/libs/gltf-viewer/index.d.ts +0 -55
- package/libs/gltf-viewer/index.js +0 -650
- package/libs/gltf-viewer/mouseWheel.d.ts +0 -2
- package/libs/gltf-viewer/mouseWheel.js +0 -59
- package/libs/gltf-viewer/requestAnimationFrame.d.ts +0 -1
- package/libs/gltf-viewer/requestAnimationFrame.js +0 -18
- package/libs/gltf-viewer/requestAnimationFrameInterval.d.ts +0 -1
- package/libs/gltf-viewer/requestAnimationFrameInterval.js +0 -31
- package/libs/gltf-viewer/uuid.js +0 -28
- package/plugins/AutoPreloadPlugin/index.d.ts +0 -23
- package/plugins/AutoPreloadPlugin/index.js +0 -111
- package/plugins/CSS3DRenderPlugin/components/Marker/index.d.ts +0 -12
- package/plugins/CSS3DRenderPlugin/components/Marker/index.js +0 -121
- package/plugins/CSS3DRenderPlugin/index.js +0 -298
- package/plugins/CameraMovementPlugin/index.js +0 -362
- package/plugins/CameraMovementPlugin/typing.js +0 -37
- package/plugins/ModelChassisCompassPlugin/index.js +0 -157
- package/plugins/ModelEntryDoorGuidePlugin/index.js +0 -247
- package/plugins/ModelExtrudeWallsPlugin/index.d.ts +0 -16
- package/plugins/ModelExtrudeWallsPlugin/index.js +0 -252
- package/plugins/ModelRoomLabelPlugin/Controller.js +0 -153
- package/plugins/ModelRoomLabelPlugin/RoomLabelItem.d.ts +0 -8
- package/plugins/ModelRoomLabelPlugin/RoomLabelItem.js +0 -66
- package/plugins/ModelRoomLabelPlugin/RoomLabelItems.d.ts +0 -7
- package/plugins/ModelRoomLabelPlugin/RoomLabelItems.js +0 -159
- package/plugins/ModelRoomLabelPlugin/index.d.ts +0 -8
- package/plugins/ModelRoomLabelPlugin/index.js +0 -18
- package/plugins/ModelRoomLabelPlugin/typings.js +0 -7
- package/plugins/ModelRoomLabelPlugin/utils/parseData.js +0 -35
- package/plugins/ModelTVVideoPlugin/index.d.ts +0 -21
- package/plugins/ModelTVVideoPlugin/index.js +0 -397
- package/plugins/ModelViewPlugin/index.js +0 -223
- package/plugins/PanoCursorRaycasterPlugin/PanoCursorRaycasterPluginUsage.d.ts +0 -48
- package/plugins/PanoCursorRaycasterPlugin/components/MovePointTowardsCamera.d.ts +0 -9
- package/plugins/PanoCursorRaycasterPlugin/components/MovePointTowardsCamera.js +0 -117
- package/plugins/PanoCursorRaycasterPlugin/components/PointAxesHelper.d.ts +0 -11
- package/plugins/PanoCursorRaycasterPlugin/components/PointAxesHelper.js +0 -39
- package/plugins/PanoCursorRaycasterPlugin/index.js +0 -126
- package/plugins/PanoCursorRaycasterPlugin/utils/addLineToFive.d.ts +0 -5
- package/plugins/PanoCursorRaycasterPlugin/utils/addLineToFive.js +0 -27
- package/plugins/PanoCursorRaycasterPlugin/utils/createLine.d.ts +0 -3
- package/plugins/PanoCursorRaycasterPlugin/utils/createLine.js +0 -48
- package/plugins/PanoDoorLabelPlugin/index.d.ts +0 -4
- package/plugins/PanoDoorLabelPlugin/index.js +0 -14
- package/plugins/PanoIRobotPlugin/index.d.ts +0 -10
- package/plugins/PanoIRobotPlugin/index.js +0 -18
- package/plugins/PanoMaskSelectorPlugin/compare.d.ts +0 -1
- package/plugins/PanoMaskSelectorPlugin/compare.js +0 -17
- package/plugins/PanoMaskSelectorPlugin/createBox.d.ts +0 -7
- package/plugins/PanoMaskSelectorPlugin/createBox.js +0 -79
- package/plugins/PanoMaskSelectorPlugin/createTextures.d.ts +0 -3
- package/plugins/PanoMaskSelectorPlugin/createTextures.js +0 -45
- package/plugins/PanoMaskSelectorPlugin/fragmentShader.d.ts +0 -1
- package/plugins/PanoMaskSelectorPlugin/fragmentShader.js +0 -10
- package/plugins/PanoMaskSelectorPlugin/index.d.ts +0 -49
- package/plugins/PanoMaskSelectorPlugin/index.js +0 -348
- package/plugins/PanoMaskSelectorPlugin/vertexShader.d.ts +0 -1
- package/plugins/PanoMaskSelectorPlugin/vertexShader.js +0 -10
- package/plugins/PanoRulerPlugin/data/roomInfo.d.ts +0 -3
- package/plugins/PanoRulerPlugin/data/roomInfo.js +0 -51
- package/plugins/PanoRulerPlugin/data/roomRules.d.ts +0 -3
- package/plugins/PanoRulerPlugin/data/roomRules.js +0 -235
- package/plugins/PanoRulerPlugin/index.d.ts +0 -27
- package/plugins/PanoRulerPlugin/index.js +0 -637
- package/plugins/PanoRulerPlugin/typings.d.ts +0 -21
- package/plugins/PanoRulerPlugin/typings.js +0 -7
- package/plugins/PanoTVVideoPlugin/index.d.ts +0 -26
- package/plugins/PanoTVVideoPlugin/index.js +0 -433
- package/plugins/TreasurePlugin/Controller.d.ts +0 -73
- package/plugins/TreasurePlugin/Controller.js +0 -250
- package/plugins/TreasurePlugin/TreasureFaceAnime.d.ts +0 -25
- package/plugins/TreasurePlugin/TreasureFaceAnime.js +0 -143
- package/plugins/TreasurePlugin/TreasureObject.d.ts +0 -53
- package/plugins/TreasurePlugin/TreasureObject.js +0 -406
- package/plugins/TreasurePlugin/TreasureOpenAnime.d.ts +0 -25
- package/plugins/TreasurePlugin/TreasureOpenAnime.js +0 -127
- package/plugins/TreasurePlugin/constants.d.ts +0 -33
- package/plugins/TreasurePlugin/constants.js +0 -67
- package/plugins/TreasurePlugin/index.d.ts +0 -11
- package/plugins/TreasurePlugin/index.js +0 -26
- package/plugins/TreasurePlugin/typings.d.ts +0 -2
- package/plugins/TreasurePlugin/typings.js +0 -7
- package/plugins/floorplan/Assets/floorplanExtraObject.d.ts +0 -1
- package/plugins/floorplan/Assets/floorplanExtraObject.js +0 -10
- package/plugins/floorplan/ModelFloorplanPlugin/Controller.js +0 -626
- package/plugins/floorplan/ModelFloorplanPlugin/components/Camera.d.ts +0 -13
- package/plugins/floorplan/ModelFloorplanPlugin/components/Camera.js +0 -78
- package/plugins/floorplan/ModelFloorplanPlugin/components/Compass.d.ts +0 -5
- package/plugins/floorplan/ModelFloorplanPlugin/components/Compass.js +0 -84
- package/plugins/floorplan/ModelFloorplanPlugin/components/NowFloor/RoomHighlight.d.ts +0 -10
- package/plugins/floorplan/ModelFloorplanPlugin/components/NowFloor/RoomHighlight.js +0 -129
- package/plugins/floorplan/ModelFloorplanPlugin/components/NowFloor/RoomLabels.d.ts +0 -13
- package/plugins/floorplan/ModelFloorplanPlugin/components/NowFloor/RoomLabels.js +0 -118
- package/plugins/floorplan/ModelFloorplanPlugin/components/NowFloor/index.d.ts +0 -13
- package/plugins/floorplan/ModelFloorplanPlugin/components/NowFloor/index.js +0 -62
- package/plugins/floorplan/ModelFloorplanPlugin/components/index.d.ts +0 -20
- package/plugins/floorplan/ModelFloorplanPlugin/components/index.js +0 -88
- package/plugins/floorplan/ModelFloorplanPlugin/controller.style.d.ts +0 -1
- package/plugins/floorplan/ModelFloorplanPlugin/controller.style.js +0 -16
- package/plugins/floorplan/ModelFloorplanPlugin/index.js +0 -20
- package/plugins/floorplan/ModelFloorplanPlugin/typings/events.type.js +0 -7
- package/plugins/floorplan/ModelFloorplanPlugin/utils/constant.js +0 -33
- package/plugins/floorplan/ModelFloorplanPlugin/utils/correctFiveState.js +0 -154
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/Camera.d.ts +0 -13
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/Camera.js +0 -113
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/Camera.style.d.ts +0 -3
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/Camera.style.js +0 -39
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/NowFloor/ExtraObjects.d.ts +0 -5
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/NowFloor/ExtraObjects.js +0 -66
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/NowFloor/RoomHighlight.d.ts +0 -9
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/NowFloor/RoomHighlight.js +0 -126
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/NowFloor/index.d.ts +0 -11
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/NowFloor/index.js +0 -58
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/index.d.ts +0 -17
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/index.js +0 -85
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/index.style.d.ts +0 -2
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Content/index.style.js +0 -15
- package/plugins/floorplan/PanoFloorplanRadarPlugin/Controller.js +0 -211
- package/plugins/floorplan/PanoFloorplanRadarPlugin/index.js +0 -20
- package/plugins/floorplan/TopviewFloorplanPlugin/Controller.js +0 -262
- package/plugins/floorplan/TopviewFloorplanPlugin/index.js +0 -18
- package/plugins/floorplan/TopviewFloorplanPlugin/style.js +0 -16
- package/plugins/floorplan/components/FloorplanImage.d.ts +0 -7
- package/plugins/floorplan/components/FloorplanImage.js +0 -90
- package/plugins/floorplan/typings/floorplanData.js +0 -7
- package/plugins/floorplan/typings/floorplanServerData.js +0 -382
- package/plugins/floorplan/utils/formatData.js +0 -217
- package/plugins/floorplan/utils/formatPosition.js +0 -89
- package/shared-utils/Preloader.js +0 -57
- package/shared-utils/Subscribe.js +0 -230
- package/shared-utils/animationFrame/BetterTween.js +0 -103
- package/shared-utils/animationFrame/calculateProgress.js +0 -40
- package/shared-utils/animationFrame/formatRad.js +0 -36
- package/shared-utils/animationFrame/index.js +0 -81
- package/shared-utils/animationFrame/tween.js +0 -92
- package/shared-utils/changeModelCanvansOpacity.d.ts +0 -2
- package/shared-utils/changeModelCanvansOpacity.js +0 -38
- package/shared-utils/createCanvasTextTexture.js +0 -31
- package/shared-utils/createFiveContainer.d.ts +0 -10
- package/shared-utils/createFiveContainer.js +0 -171
- package/shared-utils/createLine/index.js +0 -43
- package/shared-utils/debounce.js +0 -30
- package/shared-utils/equal.js +0 -107
- package/shared-utils/filter.js +0 -127
- package/shared-utils/five/changeMode.js +0 -82
- package/shared-utils/five/useFivePlugin.js +0 -17
- package/shared-utils/formatRad.js +0 -18
- package/shared-utils/getPxmm.js +0 -51
- package/shared-utils/getRandomColor.js +0 -23
- package/shared-utils/isNil.js +0 -26
- package/shared-utils/isTruelyObject.js +0 -31
- package/shared-utils/math/evenNumber.d.ts +0 -1
- package/shared-utils/math/evenNumber.js +0 -13
- package/shared-utils/math/planimetry.js +0 -352
- package/shared-utils/math/rad2Deg.js +0 -12
- package/shared-utils/nearlyEqual.js +0 -19
- package/shared-utils/nextFrame.js +0 -15
- package/shared-utils/noop.js +0 -19
- package/shared-utils/object3d2LocalMatrix.js +0 -79
- package/shared-utils/px2rem.js +0 -22
- package/shared-utils/three/centerPoint.js +0 -14
- package/shared-utils/three/getExtraModelLoader.js +0 -45
- package/shared-utils/three/getNormal.js +0 -17
- package/shared-utils/three/getTextureLoader.js +0 -50
- package/shared-utils/three/loadFbxObj.js +0 -54
- package/shared-utils/three/loadTexture.d.ts +0 -2
- package/shared-utils/three/loadTexture.js +0 -46
- package/shared-utils/three/transformPositionToVector3.js +0 -20
- package/shared-utils/three/transfromToMeshBasicMaterial.js +0 -33
- package/shared-utils/throttle.js +0 -29
- package/shared-utils/to.js +0 -67
- package/shared-utils/useDebounce.js +0 -49
- package/shared-utils/useThrottle.js +0 -47
- package/shared-utils/uuid.d.ts +0 -4
- package/shared-utils/uuid.js +0 -28
- package/shared-utils/vectorTocoordinates.js +0 -18
- package/typedoc/components.d.ts +0 -6
- package/typedoc/components.js +0 -7
- package/typedoc/plugins.d.ts +0 -19
- package/typedoc/plugins.js +0 -165
- package/typedoc/shared-utils.d.ts +0 -3
- package/typedoc/shared-utils.js +0 -7
- package/typedoc/typings.d.ts +0 -3
- package/typedoc/typings.js +0 -7
- package/typings/math.type.js +0 -7
- 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 '
|
|
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
|
+
}
|
package/libs/index.d.ts
ADDED
|
@@ -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';
|
|
File without changes
|
|
@@ -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
|
|
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
|
|
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
|
|
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
|
+
}
|
|
File without changes
|
|
@@ -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
|
+
}
|
|
File without changes
|
|
@@ -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
|
+
}
|
|
File without changes
|
|
@@ -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;
|
|
File without changes
|
|
@@ -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'
|
|
File without changes
|
|
@@ -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,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
|
+
}
|
|
File without changes
|
|
@@ -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
|
+
}
|
|
@@ -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
|