@realsee/five 5.0.0-alpha.11 → 5.0.0-alpha.110
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 +75 -63
- package/docs/.nojekyll +1 -0
- package/docs/assets/highlight.css +134 -0
- package/docs/assets/icons.css +1043 -0
- package/docs/assets/{images/icons.png → icons.png} +0 -0
- package/docs/assets/{images/icons@2x.png → icons@2x.png} +0 -0
- package/docs/assets/main.js +52 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1388 -0
- package/docs/assets/{images/widgets.png → widgets.png} +0 -0
- package/docs/assets/{images/widgets@2x.png → widgets@2x.png} +0 -0
- package/docs/classes/five.AnimationFrameLoop.html +15 -0
- package/docs/classes/five.BVH.html +10 -0
- package/docs/classes/five.BVHIntersect.html +1 -0
- package/docs/classes/five.BVHNode.html +7 -0
- package/docs/classes/five.BVHVector3.html +1 -0
- package/docs/classes/five.Camera.html +11 -0
- package/docs/classes/five.Five.html +303 -0
- package/docs/classes/five.InternalWebGLRenderer.html +1 -0
- package/docs/classes/five.IntersectMesh.html +1 -0
- package/docs/classes/five.LegacyPanoCircleMesh.html +5 -0
- package/docs/classes/five.Model.html +77 -0
- package/docs/classes/five.NetworkSubscribe.html +50 -0
- package/docs/classes/five.PBMContainer.html +17 -0
- package/docs/classes/five.PBMGroup.html +19 -0
- package/docs/classes/five.PBMMaterial.html +15 -0
- package/docs/classes/five.PBMMesh.html +7 -0
- package/docs/classes/five.PanoCircleMesh.html +7 -0
- package/docs/classes/five.Scene.html +3 -0
- package/docs/classes/five.Subscribe.html +56 -0
- package/docs/classes/five.Work.html +30 -0
- package/docs/classes/gltf_loader.GLTFLoader.html +17 -0
- package/docs/classes/gltf_loader.GLTFObject.html +7 -0
- package/docs/classes/line.Line.html +1 -0
- package/docs/classes/line.LineGeometry.html +1 -0
- package/docs/classes/line.LineMaterial.html +1 -0
- package/docs/classes/line.LineSegmentsGeometry.html +1 -0
- package/docs/classes/line.THREE_Line2.html +1 -0
- package/docs/classes/line.THREE_LineSegments2.html +1 -0
- package/docs/classes/react.Store.html +29 -0
- package/docs/classes/server.BVH.html +10 -0
- package/docs/classes/server.BVHIntersect.html +1 -0
- package/docs/classes/server.BVHNode.html +7 -0
- package/docs/classes/server.BVHVector3.html +1 -0
- package/docs/classes/server.Model.html +63 -0
- package/docs/classes/server.PBMGroup.html +9 -0
- package/docs/classes/server.PBMMesh.html +7 -0
- package/docs/classes/sticker.Sticker.html +32 -0
- package/docs/index.html +166 -420
- package/docs/interfaces/five.AddableObject.html +1 -0
- package/docs/interfaces/five.AnimationFrame.html +1 -0
- package/docs/interfaces/five.CameraPose.html +1 -0
- package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +28 -0
- package/docs/interfaces/five.EventCallback.html +391 -0
- package/docs/interfaces/five.FiveInitArgs.html +96 -0
- package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +15 -0
- package/docs/interfaces/five.ImageOptions.html +18 -0
- package/docs/interfaces/five.ImageURLOptions.html +15 -0
- package/docs/interfaces/five.IntersectMeshInterface.html +3 -0
- package/docs/interfaces/five.Intersection.html +7 -0
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +20 -0
- package/docs/interfaces/five.ModelEventCallback.html +22 -0
- package/docs/interfaces/five.MovePanoOptions.html +40 -0
- package/docs/interfaces/five.PBMPanoPicture.html +7 -0
- package/docs/interfaces/five.PBMParameters.html +15 -0
- package/docs/interfaces/five.PanoCircleMeshInterface.html +19 -0
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +28 -0
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +20 -0
- package/docs/interfaces/five.Pose.html +35 -0
- package/docs/interfaces/five.Scissor.html +14 -0
- package/docs/interfaces/five.State.html +19 -0
- package/docs/interfaces/five.SubscribeMixinType.emit.html +1 -0
- package/docs/interfaces/five.SubscribeMixinType.hasListener.html +1 -0
- package/docs/interfaces/five.SubscribeMixinType.off.html +1 -0
- package/docs/interfaces/five.SubscribeMixinType.on.html +1 -0
- package/docs/interfaces/five.SubscribeMixinType.once.html +1 -0
- package/docs/interfaces/five.TextureOptions.html +20 -0
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -0
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +24 -0
- package/docs/interfaces/five.WorkCubeImage.html +13 -0
- package/docs/interfaces/five.WorkImage.html +21 -0
- package/docs/interfaces/five.WorkInitial.html +13 -0
- package/docs/interfaces/five.WorkModel.html +11 -0
- package/docs/interfaces/five.WorkObserver.html +25 -0
- package/docs/interfaces/five.WorkTile.html +1 -0
- package/docs/interfaces/five.WorkVideo.html +9 -0
- package/docs/interfaces/gltf_loader.GLTF.html +7 -0
- package/docs/interfaces/react.FiveActionReactCallbacks.html +62 -0
- package/docs/interfaces/react.FiveInjectionTypes.html +191 -0
- package/docs/interfaces/react.PropTypeOfFiveFeatures.html +1 -0
- package/docs/interfaces/server.Intersection.html +7 -0
- package/docs/interfaces/server.ModelEventCallback.html +18 -0
- package/docs/interfaces/sticker.IntersectionLike.html +8 -0
- package/docs/modules/five.SubscribeMixinType.html +1 -0
- package/docs/modules/five.html +481 -0
- package/docs/modules/gltf_loader.html +1 -0
- package/docs/modules/line.html +1 -0
- package/docs/modules/react.html +130 -941
- package/docs/modules/server.html +18 -0
- package/docs/modules/sticker.html +1 -0
- package/docs/modules.html +1 -119
- package/exporters/staticify.js +203 -0
- package/five/index.d.ts +2073 -0
- package/five/index.js +372 -0
- package/gltf-loader/index.d.ts +75 -0
- package/gltf-loader/index.js +260 -0
- package/line/index.d.ts +68 -0
- package/line/index.js +260 -0
- package/package.json +19 -17
- package/react/index.d.ts +812 -17
- package/react/index.js +260 -1
- package/resource/{basis_transcoder.js → basis/basis_transcoder.js} +0 -0
- package/resource/{basis_transcoder.wasm → basis/basis_transcoder.wasm} +0 -0
- package/resource/gltf/draco_decoder.js +31 -0
- package/resource/gltf/draco_decoder.wasm +0 -0
- package/resource/gltf/draco_wasm_wrapper.js +119 -0
- package/scripts/five-staticify.js +21 -0
- package/server/index.d.ts +568 -5
- package/server/index.js +367 -1
- package/sticker/index.d.ts +70 -0
- package/sticker/index.js +260 -0
- package/templates/plugin/examples/index.html +1 -1
- package/templates/quick-start/README.md +1 -1
- package/templates/quick-start/index.tsx +1 -1
- package/templates/quick-start/package.json +1 -1
- package/templates/react-component/examples/index.html +1 -1
- package/templates/react-component/examples/index.tsx +4 -4
- package/templates/react-component/lib/index.tsx +5 -5
- package/umd/five-gltf-loader.js +2 -0
- package/umd/five-gltf-loader.js.LICENSE.txt +14 -0
- package/umd/five-line.js +2 -0
- package/umd/five-line.js.LICENSE.txt +14 -0
- package/umd/five-react.js +2 -0
- package/umd/five-react.js.LICENSE.txt +14 -0
- package/umd/five-sticker.js +2 -0
- package/umd/five-sticker.js.LICENSE.txt +14 -0
- package/umd/five.js +2 -0
- package/umd/five.js.LICENSE.txt +116 -0
- package/application/constant.d.ts +0 -6
- package/application/constant.js +0 -1
- package/application/controllers.d.ts +0 -31
- package/application/controllers.js +0 -1
- package/application/events.d.ts +0 -140
- package/application/events.js +0 -1
- package/application/five.d.ts +0 -418
- package/application/five.js +0 -1
- package/application/fiveInitArgs.d.ts +0 -157
- package/application/fiveInitArgs.js +0 -1
- package/application/generateDefaultVideoElement.d.ts +0 -2
- package/application/generateDefaultVideoElement.js +0 -1
- package/application/getViewportScale.d.ts +0 -2
- package/application/getViewportScale.js +0 -1
- package/application/initLights.d.ts +0 -3
- package/application/initLights.js +0 -1
- package/bundles/five.js +0 -2
- package/bundles/five.js.LICENSE.txt +0 -160
- package/controllers/base.d.ts +0 -80
- package/controllers/base.js +0 -1
- package/controllers/depthPanorama.d.ts +0 -40
- package/controllers/depthPanorama.js +0 -1
- package/controllers/events.d.ts +0 -273
- package/controllers/events.js +0 -1
- package/controllers/floorplan.d.ts +0 -102
- package/controllers/floorplan.js +0 -1
- package/controllers/model.d.ts +0 -23
- package/controllers/model.js +0 -1
- package/controllers/panorama.d.ts +0 -69
- package/controllers/panorama.js +0 -1
- package/controllers/panoramaLike.d.ts +0 -88
- package/controllers/panoramaLike.js +0 -1
- package/controllers/topview.d.ts +0 -28
- package/controllers/topview.js +0 -1
- package/controllers/vrPanorama.d.ts +0 -40
- package/controllers/vrPanorama.js +0 -1
- package/core/camera.d.ts +0 -15
- package/core/camera.js +0 -1
- package/core/cubeTexture.d.ts +0 -6
- package/core/cubeTexture.js +0 -1
- package/core/internalWebGLRenderer.d.ts +0 -11
- package/core/internalWebGLRenderer.js +0 -1
- package/core/pbmGroup.d.ts +0 -22
- package/core/pbmGroup.js +0 -1
- package/core/pbmMaterial.d.ts +0 -39
- package/core/pbmMaterial.js +0 -1
- package/core/pbmMesh.d.ts +0 -10
- package/core/pbmMesh.js +0 -1
- package/core/pbmParameters.d.ts +0 -36
- package/core/pbmParameters.js +0 -1
- package/core/scene.d.ts +0 -5
- package/core/scene.js +0 -1
- package/core/subscribe.d.ts +0 -76
- package/core/subscribe.js +0 -1
- package/core/updatableTexture.d.ts +0 -12
- package/core/updatableTexture.js +0 -1
- package/docs/assets/css/main.css +0 -2660
- package/docs/assets/js/main.js +0 -248
- package/docs/assets/js/search.js +0 -1
- package/docs/classes/index.five.html +0 -2567
- package/docs/classes/index.fivecamera.html +0 -427
- package/docs/classes/index.fiveline.html +0 -458
- package/docs/classes/index.fivescene.html +0 -302
- package/docs/classes/index.internalwebglrenderer.html +0 -316
- package/docs/classes/index.model.html +0 -999
- package/docs/classes/index.pbmgroup.html +0 -531
- package/docs/classes/index.pbmmaterial.html +0 -637
- package/docs/classes/index.pbmmesh.html +0 -358
- package/docs/classes/index.subscribe.html +0 -672
- package/docs/interfaces/index.depthpanoramacontrollercustominitargs.html +0 -524
- package/docs/interfaces/index.fiveeventcallback.html +0 -2568
- package/docs/interfaces/index.fiveinitargs.html +0 -811
- package/docs/interfaces/index.floorplancontrollercustominitargs.html +0 -399
- package/docs/interfaces/index.imageoptions.html +0 -436
- package/docs/interfaces/index.intersection.html +0 -331
- package/docs/interfaces/index.intersectmeshinterface.html +0 -292
- package/docs/interfaces/index.modelcontrollercustominitargs.html +0 -470
- package/docs/interfaces/index.modeleventcallback.html +0 -432
- package/docs/interfaces/index.movepanooptions.html +0 -573
- package/docs/interfaces/index.panocirclemeshinterface.html +0 -465
- package/docs/interfaces/index.panoramacontrollercustominitargs.html +0 -549
- package/docs/interfaces/index.panoramalikecontrollercustominitargs.html +0 -468
- package/docs/interfaces/index.pbmparameters.html +0 -578
- package/docs/interfaces/index.pose.html +0 -374
- package/docs/interfaces/index.scissor.html +0 -356
- package/docs/interfaces/index.state.html +0 -404
- package/docs/interfaces/index.topviewcontrollercustominitargs.html +0 -330
- package/docs/interfaces/index.vrpanoramacontrollercustominitargs.html +0 -536
- package/docs/interfaces/react.fiveactionreactcallbacks.html +0 -530
- package/docs/interfaces/react.injectfivetoprops.html +0 -231
- package/docs/modules/index.html +0 -925
- package/five.js.LICENSE.txt +0 -160
- package/index.d.ts +0 -33
- package/index.js +0 -1
- package/loaders/basis/BasisTextureLoader.d.ts +0 -116
- package/loaders/basis/BasisTextureLoader.js +0 -1
- package/loaders/basis/index.d.ts +0 -3
- package/loaders/basis/index.js +0 -1
- package/loaders/cubeTexture/imagePool.d.ts +0 -7
- package/loaders/cubeTexture/imagePool.js +0 -1
- package/loaders/cubeTexture/index.d.ts +0 -58
- package/loaders/cubeTexture/index.js +0 -1
- package/loaders/depthTexture/index.d.ts +0 -60
- package/loaders/depthTexture/index.js +0 -1
- package/loaders/model/at3d.d.ts +0 -7
- package/loaders/model/at3d.js +0 -1
- package/loaders/model/dome.d.ts +0 -14
- package/loaders/model/dome.js +0 -1
- package/loaders/model/domez.d.ts +0 -7
- package/loaders/model/domez.js +0 -1
- package/loaders/model/index.d.ts +0 -135
- package/loaders/model/index.js +0 -1
- package/loaders/model/pbm.d.ts +0 -27
- package/loaders/model/pbm.js +0 -1
- package/loaders/model/tools/bvhtree/index.d.ts +0 -2
- package/loaders/model/tools/bvhtree/index.js +0 -1
- package/loaders/model/tools/lzma/index.d.ts +0 -2
- package/loaders/model/tools/lzma/index.js +0 -1
- package/loaders/model/tools/lzma/lzma-caller.d.ts +0 -13
- package/loaders/model/tools/lzma/lzma-caller.js +0 -1
- package/loaders/model/tools/lzma/lzma.d.ts +0 -2
- package/loaders/model/tools/lzma/lzma.js +0 -1
- package/loaders/model/tools/lzma/lzmaWorker.d.ts +0 -1
- package/loaders/model/tools/lzma/lzmaWorker.js +0 -1
- package/loaders/tileTexture/index.d.ts +0 -26
- package/loaders/tileTexture/index.js +0 -1
- package/meshes/boundingMesh.d.ts +0 -9
- package/meshes/boundingMesh.js +0 -1
- package/meshes/intersectMesh.d.ts +0 -11
- package/meshes/intersectMesh.js +0 -1
- package/meshes/panoCircleMesh.d.ts +0 -29
- package/meshes/panoCircleMesh.js +0 -1
- package/meshes/panoSphereMesh.d.ts +0 -16
- package/meshes/panoSphereMesh.js +0 -1
- package/objects/line/circle_png.d.ts +0 -1
- package/objects/line/circle_png.js +0 -1
- package/objects/line/index.d.ts +0 -12
- package/objects/line/index.js +0 -1
- package/objects/line/utils/Line2.d.ts +0 -7
- package/objects/line/utils/Line2.js +0 -1
- package/objects/line/utils/LineGeometry.d.ts +0 -10
- package/objects/line/utils/LineGeometry.js +0 -1
- package/objects/line/utils/LineMaterial.d.ts +0 -20
- package/objects/line/utils/LineMaterial.js +0 -1
- package/objects/line/utils/LineSegments2.d.ts +0 -11
- package/objects/line/utils/LineSegments2.js +0 -1
- package/objects/line/utils/LineSegmentsGeometry.d.ts +0 -15
- package/objects/line/utils/LineSegmentsGeometry.js +0 -1
- package/react/canvas.d.ts +0 -19
- package/react/canvas.js +0 -1
- package/react/context.d.ts +0 -9
- package/react/context.js +0 -1
- package/react/createProvider.d.ts +0 -65
- package/react/createProvider.js +0 -1
- package/react/createStore.d.ts +0 -138
- package/react/createStore.js +0 -1
- package/react/hooks/unsafe__useFiveInstance.d.ts +0 -9
- package/react/hooks/unsafe__useFiveInstance.js +0 -1
- package/react/hooks/useFiveAction.d.ts +0 -154
- package/react/hooks/useFiveAction.js +0 -1
- package/react/hooks/useFiveCameraDirection.d.ts +0 -7
- package/react/hooks/useFiveCameraDirection.js +0 -1
- package/react/hooks/useFiveCameraRaycaster.d.ts +0 -7
- package/react/hooks/useFiveCameraRaycaster.js +0 -1
- package/react/hooks/useFiveCurrentState.d.ts +0 -15
- package/react/hooks/useFiveCurrentState.js +0 -1
- package/react/hooks/useFiveEvent.d.ts +0 -12
- package/react/hooks/useFiveEvent.js +0 -1
- package/react/hooks/useFiveModelIntersectRaycaster.d.ts +0 -21
- package/react/hooks/useFiveModelIntersectRaycaster.js +0 -1
- package/react/hooks/useFiveModelReadyState.d.ts +0 -8
- package/react/hooks/useFiveModelReadyState.js +0 -1
- package/react/hooks/useFiveProject2d.d.ts +0 -20
- package/react/hooks/useFiveProject2d.js +0 -1
- package/react/hooks/useFiveScene.d.ts +0 -16
- package/react/hooks/useFiveScene.js +0 -1
- package/react/hooks/useFiveState.d.ts +0 -6
- package/react/hooks/useFiveState.js +0 -1
- package/react/hooks/useFiveWork.d.ts +0 -30
- package/react/hooks/useFiveWork.js +0 -1
- package/react/rendererPool.d.ts +0 -8
- package/react/rendererPool.js +0 -1
- package/react/withFive.d.ts +0 -239
- package/react/withFive.js +0 -1
- package/scripts/export-five-resource/chfs.exe +0 -0
- package/scripts/export-five-resource/fileify.js +0 -192
- package/scripts/export-five-resource/format-work.js +0 -71
- package/scripts/export-five-resource/staticify.js +0 -327
- package/scripts/transcode-model/BufferGeometryUtils.js +0 -832
- package/scripts/transcode-model/LoaderSupport.js +0 -1545
- package/scripts/transcode-model/MTLLoader.js +0 -602
- package/scripts/transcode-model/OBJLoader2.js +0 -1470
- package/scripts/transcode-model/obj2pbm.js +0 -65
- package/server/core/pbmGroup.d.ts +0 -11
- package/server/core/pbmGroup.js +0 -1
- package/server/core/pbmMesh.d.ts +0 -9
- package/server/core/pbmMesh.js +0 -1
- package/server/model/at3d.d.ts +0 -5
- package/server/model/at3d.js +0 -1
- package/server/model/dome.d.ts +0 -11
- package/server/model/dome.js +0 -1
- package/server/model/domez.d.ts +0 -5
- package/server/model/domez.js +0 -1
- package/server/model/index.d.ts +0 -134
- package/server/model/index.js +0 -1
- package/server/model/pbm.d.ts +0 -24
- package/server/model/pbm.js +0 -1
- package/server/model/tools/bvhtree/index.d.ts +0 -2
- package/server/model/tools/bvhtree/index.js +0 -1
- package/server/model/tools/fetchArraybuffer.d.ts +0 -2
- package/server/model/tools/fetchArraybuffer.js +0 -1
- package/server/model/tools/lzma/index.d.ts +0 -2
- package/server/model/tools/lzma/index.js +0 -1
- package/server/model/tools/lzma/lzma.d.ts +0 -2
- package/server/model/tools/lzma/lzma.js +0 -1
- package/shaders/depth/fragment.d.ts +0 -2
- package/shaders/depth/fragment.js +0 -1
- package/shaders/depth/vertex.d.ts +0 -2
- package/shaders/depth/vertex.js +0 -1
- package/shaders/pbm/fragment.d.ts +0 -2
- package/shaders/pbm/fragment.js +0 -1
- package/shaders/pbm/vertex.d.ts +0 -2
- package/shaders/pbm/vertex.js +0 -1
- package/three-version-check.d.ts +0 -1
- package/three-version-check.js +0 -1
- package/types/imageOptions.d.ts +0 -24
- package/types/imageOptions.js +0 -1
- package/types/mode.d.ts +0 -23
- package/types/mode.js +0 -1
- package/types/movePanoOptions.d.ts +0 -40
- package/types/movePanoOptions.js +0 -1
- package/types/plugin.d.ts +0 -26
- package/types/plugin.js +0 -1
- package/types/pose.d.ts +0 -16
- package/types/pose.js +0 -1
- package/types/scissor.d.ts +0 -18
- package/types/scissor.js +0 -1
- package/types/state.d.ts +0 -18
- package/types/state.js +0 -1
- package/utils/BufferGeometryUtils.d.ts +0 -31
- package/utils/BufferGeometryUtils.js +0 -1
- package/utils/ajax.d.ts +0 -13
- package/utils/ajax.js +0 -1
- package/utils/animationFrame.d.ts +0 -24
- package/utils/animationFrame.js +0 -1
- package/utils/arrayMax.d.ts +0 -10
- package/utils/arrayMax.js +0 -1
- package/utils/arrayMin.d.ts +0 -11
- package/utils/arrayMin.js +0 -1
- package/utils/busy.d.ts +0 -13
- package/utils/busy.js +0 -1
- package/utils/calculateProgress.d.ts +0 -37
- package/utils/calculateProgress.js +0 -1
- package/utils/calculateThreeMouse.d.ts +0 -13
- package/utils/calculateThreeMouse.js +0 -1
- package/utils/cameraWorldToLocal.d.ts +0 -13
- package/utils/cameraWorldToLocal.js +0 -1
- package/utils/coordinatesToVector.d.ts +0 -7
- package/utils/coordinatesToVector.js +0 -1
- package/utils/createImage.d.ts +0 -2
- package/utils/createImage.js +0 -1
- package/utils/detector.d.ts +0 -13
- package/utils/detector.js +0 -1
- package/utils/formatRad.d.ts +0 -7
- package/utils/formatRad.js +0 -1
- package/utils/headingToLongitude.d.ts +0 -6
- package/utils/headingToLongitude.js +0 -1
- package/utils/imageLoader.d.ts +0 -10
- package/utils/imageLoader.js +0 -1
- package/utils/imageURL.d.ts +0 -9
- package/utils/imageURL.js +0 -1
- package/utils/isAbsoluteURL.d.ts +0 -6
- package/utils/isAbsoluteURL.js +0 -1
- package/utils/isNil.d.ts +0 -6
- package/utils/isNil.js +0 -1
- package/utils/longitudeToHeading.d.ts +0 -6
- package/utils/longitudeToHeading.js +0 -1
- package/utils/mouseWheel.d.ts +0 -17
- package/utils/mouseWheel.js +0 -1
- package/utils/noop.d.ts +0 -6
- package/utils/noop.js +0 -1
- package/utils/now.d.ts +0 -5
- package/utils/now.js +0 -1
- package/utils/preload.d.ts +0 -5
- package/utils/preload.js +0 -1
- package/utils/tween.d.ts +0 -88
- package/utils/tween.js +0 -1
- package/utils/uuid.d.ts +0 -5
- package/utils/uuid.js +0 -1
- package/utils/vectorTocoordinates.d.ts +0 -7
- package/utils/vectorTocoordinates.js +0 -1
- package/utils/webglError.d.ts +0 -7
- package/utils/webglError.js +0 -1
- package/webvr/helper.img.d.ts +0 -1
- package/webvr/helper.img.js +0 -1
- package/webvr/vrEffect.d.ts +0 -13
- package/webvr/vrEffect.js +0 -1
- package/work/index.d.ts +0 -5
- package/work/index.js +0 -1
- package/work/looseWorkType.d.ts +0 -61
- package/work/looseWorkType.js +0 -1
- package/work/parse.d.ts +0 -4
- package/work/parse.js +0 -1
- package/work/stringify.d.ts +0 -4
- package/work/stringify.js +0 -1
- package/work/workType.d.ts +0 -49
- package/work/workType.js +0 -1
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
/*! *****************************************************************************
|
|
2
|
-
Copyright (c) Microsoft Corporation.
|
|
3
|
-
|
|
4
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
5
|
-
purpose with or without fee is hereby granted.
|
|
6
|
-
|
|
7
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
8
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
9
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
10
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
11
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
12
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
13
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
14
|
-
***************************************************************************** */
|
|
15
|
-
|
|
16
|
-
/*! Hammer.JS - v2.0.7 - 2016-04-22
|
|
17
|
-
* http://hammerjs.github.io/
|
|
18
|
-
*
|
|
19
|
-
* Copyright (c) 2016 Jorik Tangelder;
|
|
20
|
-
* Licensed under the MIT license */
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* @license
|
|
24
|
-
* cardboard-vr-display
|
|
25
|
-
* Copyright (c) 2015-2017 Google
|
|
26
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
27
|
-
* you may not use this file except in compliance with the License.
|
|
28
|
-
* You may obtain a copy of the License at
|
|
29
|
-
*
|
|
30
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
31
|
-
*
|
|
32
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
33
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
34
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
35
|
-
* See the License for the specific language governing permissions and
|
|
36
|
-
* limitations under the License.
|
|
37
|
-
*/
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* @license
|
|
41
|
-
* gl-preserve-state
|
|
42
|
-
* Copyright (c) 2016, Brandon Jones.
|
|
43
|
-
*
|
|
44
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
45
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
46
|
-
* in the Software without restriction, including without limitation the rights
|
|
47
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
48
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
49
|
-
* furnished to do so, subject to the following conditions:
|
|
50
|
-
*
|
|
51
|
-
* The above copyright notice and this permission notice shall be included in
|
|
52
|
-
* all copies or substantial portions of the Software.
|
|
53
|
-
*
|
|
54
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
55
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
56
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
57
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
58
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
59
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
60
|
-
* THE SOFTWARE.
|
|
61
|
-
*/
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* @license
|
|
65
|
-
* nosleep.js
|
|
66
|
-
* Copyright (c) 2017, Rich Tibbett
|
|
67
|
-
*
|
|
68
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
69
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
70
|
-
* in the Software without restriction, including without limitation the rights
|
|
71
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
72
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
73
|
-
* furnished to do so, subject to the following conditions:
|
|
74
|
-
*
|
|
75
|
-
* The above copyright notice and this permission notice shall be included in
|
|
76
|
-
* all copies or substantial portions of the Software.
|
|
77
|
-
*
|
|
78
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
79
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
80
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
81
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
82
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
83
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
84
|
-
* THE SOFTWARE.
|
|
85
|
-
*/
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* @license
|
|
89
|
-
* webvr-polyfill
|
|
90
|
-
* Copyright (c) 2015-2017 Google
|
|
91
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
92
|
-
* you may not use this file except in compliance with the License.
|
|
93
|
-
* You may obtain a copy of the License at
|
|
94
|
-
*
|
|
95
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
96
|
-
*
|
|
97
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
98
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
99
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
100
|
-
* See the License for the specific language governing permissions and
|
|
101
|
-
* limitations under the License.
|
|
102
|
-
*/
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* @license
|
|
106
|
-
* webvr-polyfill-dpdb
|
|
107
|
-
* Copyright (c) 2015-2017 Google
|
|
108
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
109
|
-
* you may not use this file except in compliance with the License.
|
|
110
|
-
* You may obtain a copy of the License at
|
|
111
|
-
*
|
|
112
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
113
|
-
*
|
|
114
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
115
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
116
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
117
|
-
* See the License for the specific language governing permissions and
|
|
118
|
-
* limitations under the License.
|
|
119
|
-
*/
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* @license
|
|
123
|
-
* webvr-polyfill-dpdb
|
|
124
|
-
* Copyright (c) 2017 Google
|
|
125
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
126
|
-
* you may not use this file except in compliance with the License.
|
|
127
|
-
* You may obtain a copy of the License at
|
|
128
|
-
*
|
|
129
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
130
|
-
*
|
|
131
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
132
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
133
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
134
|
-
* See the License for the specific language governing permissions and
|
|
135
|
-
* limitations under the License.
|
|
136
|
-
*/
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* @license
|
|
140
|
-
* wglu-preserve-state
|
|
141
|
-
* Copyright (c) 2016, Brandon Jones.
|
|
142
|
-
*
|
|
143
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
144
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
145
|
-
* in the Software without restriction, including without limitation the rights
|
|
146
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
147
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
148
|
-
* furnished to do so, subject to the following conditions:
|
|
149
|
-
*
|
|
150
|
-
* The above copyright notice and this permission notice shall be included in
|
|
151
|
-
* all copies or substantial portions of the Software.
|
|
152
|
-
*
|
|
153
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
154
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
155
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
156
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
157
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
158
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
159
|
-
* THE SOFTWARE.
|
|
160
|
-
*/
|
package/controllers/base.d.ts
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/// <reference types="hammerjs" />
|
|
2
|
-
import * as THREE from "three";
|
|
3
|
-
import { Camera } from "../core/camera";
|
|
4
|
-
import { Scene } from "../core/scene";
|
|
5
|
-
import { Model } from "../loaders/model";
|
|
6
|
-
import { State } from "../types/state";
|
|
7
|
-
import { ImageOptions } from "../types/imageOptions";
|
|
8
|
-
import { Work } from "../work";
|
|
9
|
-
import { Pose } from "../types/pose";
|
|
10
|
-
import { Scissor } from "../types/scissor";
|
|
11
|
-
import { MovePanoOptions } from "../types/movePanoOptions";
|
|
12
|
-
import { Subscribe } from "../core/subscribe";
|
|
13
|
-
import { tween } from "../utils/tween";
|
|
14
|
-
import { ControllerEventTypes } from "./events";
|
|
15
|
-
interface BaseControllerInitArgs {
|
|
16
|
-
ident: string;
|
|
17
|
-
model: Model;
|
|
18
|
-
work: Work;
|
|
19
|
-
scene: Scene;
|
|
20
|
-
camera: Camera;
|
|
21
|
-
renderer: THREE.WebGLRenderer;
|
|
22
|
-
scissor: Scissor;
|
|
23
|
-
element: HTMLElement;
|
|
24
|
-
extraElements: HTMLElement[];
|
|
25
|
-
panoIndex: number;
|
|
26
|
-
imageOptions: ImageOptions;
|
|
27
|
-
videoTexture: THREE.VideoTexture;
|
|
28
|
-
initial: [
|
|
29
|
-
pose: Partial<Omit<Pose, "offset">>,
|
|
30
|
-
duration: number,
|
|
31
|
-
/** 是否是用户触发的 */
|
|
32
|
-
userAction: boolean
|
|
33
|
-
];
|
|
34
|
-
}
|
|
35
|
-
declare class BaseController extends Subscribe<ControllerEventTypes> {
|
|
36
|
-
ident: string;
|
|
37
|
-
needsRender: boolean;
|
|
38
|
-
destroyed: boolean;
|
|
39
|
-
preventPanGesture: boolean;
|
|
40
|
-
preventTapGesture: boolean;
|
|
41
|
-
preventPinchGesture: boolean;
|
|
42
|
-
tweenCoordinates?: ReturnType<typeof tween>;
|
|
43
|
-
tweenPosition?: ReturnType<typeof tween>;
|
|
44
|
-
protected currentPanoIndex: number;
|
|
45
|
-
protected scene: Scene;
|
|
46
|
-
protected camera: Camera;
|
|
47
|
-
protected renderer: THREE.WebGLRenderer;
|
|
48
|
-
protected scissor: Scissor;
|
|
49
|
-
protected element: HTMLElement;
|
|
50
|
-
protected model: Model;
|
|
51
|
-
protected work: Work;
|
|
52
|
-
protected imageOptions: ImageOptions;
|
|
53
|
-
protected videoTexture: THREE.VideoTexture;
|
|
54
|
-
private eventUnbinds;
|
|
55
|
-
static parseArgs(args: BaseControllerInitArgs): Required<BaseControllerInitArgs>;
|
|
56
|
-
static initAnimationEndPose(args: BaseControllerInitArgs): Pose;
|
|
57
|
-
constructor(args: BaseControllerInitArgs);
|
|
58
|
-
protected initAnimation(pose: Partial<Pose>, duration: number, userAction: boolean): Promise<void>;
|
|
59
|
-
bindExtraElement(element: HTMLElement): void;
|
|
60
|
-
unbindExtraElement(element: HTMLElement): void;
|
|
61
|
-
resize(): void;
|
|
62
|
-
resetModel(model: Model, userAction: boolean): void;
|
|
63
|
-
updateWork(work: Work, state: Omit<State, "mode" | "offset">, duration: number | undefined, userAction: boolean): boolean;
|
|
64
|
-
render(): void;
|
|
65
|
-
destroy(): void;
|
|
66
|
-
moveToPano(panoIndex: number, options: MovePanoOptions, userAction: boolean): void;
|
|
67
|
-
updateCamera(pose: Partial<Pose>, userAction: boolean, limit: boolean): void;
|
|
68
|
-
protected onPanGesture(input: HammerInput): void;
|
|
69
|
-
protected onTapGesture(input: HammerInput): void;
|
|
70
|
-
protected onPinchGesture(input: HammerInput): void;
|
|
71
|
-
protected onMouseWheel(event: WheelEvent): void;
|
|
72
|
-
protected onMouseMove(event: MouseEvent): void;
|
|
73
|
-
protected onMouseOut(): void;
|
|
74
|
-
protected relativeClientPosition(point: {
|
|
75
|
-
x: number;
|
|
76
|
-
y: number;
|
|
77
|
-
}): THREE.Vector2;
|
|
78
|
-
private bindEvents;
|
|
79
|
-
}
|
|
80
|
-
export { BaseController, BaseControllerInitArgs };
|
package/controllers/base.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BaseController=void 0;var e=require("tslib"),t=require("../utils/animationFrame"),n=require("../core/subscribe"),o=require("../utils/mouseWheel"),r=require("../utils/calculateThreeMouse"),i=require("../utils/detector"),s=require("../utils/isNil"),a=function(n){function a(e){var o=n.call(this)||this,r=a.parseArgs(e);return o.destroyed=!1,o.ident=r.ident,o.scene=r.scene,o.camera=r.camera,o.renderer=r.renderer,o.scissor=r.scissor,o.element=r.element,o.model=r.model,o.work=r.work,o.imageOptions=r.imageOptions,o.videoTexture=r.videoTexture,o.needsRender=!0,o.preventPanGesture=!1,o.preventTapGesture=!1,o.preventPinchGesture=!1,o.currentPanoIndex=r.panoIndex,s.isNil(o.work.observers[o.currentPanoIndex])&&(o.currentPanoIndex=0),o.eventUnbinds=[r.element].concat(r.extraElements||[]).map((function(e){return o.bindEvents(e)})),t.nextFrame((function(){return o.initAnimation.apply(o,r.initial)})),o}return e.__extends(a,n),a.parseArgs=function(t){return e.__assign({},t)},a.initAnimationEndPose=function(e){return this.parseArgs(e).camera.copyPose()},a.prototype.initAnimation=function(e,t,n){return Promise.resolve()},a.prototype.bindExtraElement=function(e){for(var t=0,n=this.eventUnbinds;t<n.length;t++){if(n[t].element===e)return}this.eventUnbinds.push(this.bindEvents(e))},a.prototype.unbindExtraElement=function(e){for(var t=null,n=-1,o=0,r=this.eventUnbinds;o<r.length;o++){var i=r[o];if(n++,i.element===e){t=i;break}}t&&(t(),this.eventUnbinds.splice(n,1))},a.prototype.resize=function(){this.needsRender=!0},a.prototype.resetModel=function(e,t){this.model=e,this.needsRender=!0},a.prototype.updateWork=function(e,t,n,o){return!1},a.prototype.render=function(){this.renderer.render(this.scene,this.camera)},a.prototype.destroy=function(){this.destroyed=!0,this.off();for(var e=0,t=this.eventUnbinds;e<t.length;e++){(0,t[e])()}this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),this.tweenPosition&&(this.tweenPosition.destroy(),delete this.tweenCoordinates)},a.prototype.moveToPano=function(e,t,n){void 0===t&&(t={});var o={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:this.camera.pose.offset.clone()};t.moveStartCallback&&t.moveStartCallback(e,o),this.emit("moveToPano",e,n),this.currentPanoIndex=e,this.emit("panoArrived",e,{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:this.camera.pose.offset.clone()},n),t.moveEndCallback&&t.moveEndCallback(e,o)},a.prototype.updateCamera=function(e,t,n){var o,r,i,s;void 0===e&&(e={});var a=null!==(o=e.longitude)&&void 0!==o?o:this.camera.pose.longitude,u=null!==(r=e.latitude)&&void 0!==r?r:this.camera.pose.latitude,c=null!==(i=e.fov)&&void 0!==i?i:this.camera.pose.fov,l=null!==(s=e.offset)&&void 0!==s?s:this.camera.pose.offset,d=a!==this.camera.pose.longitude||u!==this.camera.pose.latitude,p=c!==this.camera.pose.fov,m=!l.equals(this.camera.pose.offset);this.camera.setFromPose({longitude:a,latitude:u,fov:c,offset:l}),p&&this.emit("cameraFovUpdate",this.camera.pose.fov,t),d&&this.emit("cameraDirectionUpdate",{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},t),m&&this.emit("cameraPositionUpdate",this.camera.pose.offset.clone(),t),(p||d||m)&&this.emit("cameraUpdate",{longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,offset:this.camera.pose.offset.clone()},t),this.needsRender=!0},a.prototype.onPanGesture=function(e){},a.prototype.onTapGesture=function(e){},a.prototype.onPinchGesture=function(e){},a.prototype.onMouseWheel=function(e){},a.prototype.onMouseMove=function(e){},a.prototype.onMouseOut=function(){},a.prototype.relativeClientPosition=function(e){return r.calculateThreeMouse(e,this.element,this.scissor)},a.prototype.bindEvents=function(e){var t=this,n=function(e){var n=r.calculateThreeMouse(e,t.element,t.scissor);return!(Math.abs(n.x)>1||Math.abs(n.y)>1)},s=new Hammer.Manager(e),a=function(e){return e.session.firstInput||null};s.add(new Hammer.Pan({threshold:10,pointers:0})),s.add(new Hammer.Tap({interval:410})),s.add(new Hammer.Pinch({threshold:0,pointers:2}).recognizeWith(s.get("pan"))),s.on("panstart pan",(function(e){var o=a(s);o&&!n(o.center)||!0!==t.preventPanGesture&&t.onPanGesture(e)})),s.on("tap",(function(e){var o=a(s);o&&!n(o.center)||!0!==t.preventTapGesture&&t.onTapGesture(e)})),s.on("pinchstart pinch pinchend",(function(e){var o=a(s);o&&!n(o.center)||!0!==t.preventPinchGesture&&t.onPinchGesture(e)}));var u=function(e){var o={x:e.clientX,y:e.clientY};n(o)&&t.onMouseWheel(e)},c=function(e){var o={x:e.clientX,y:e.clientY};n(o)?t.onMouseMove(e):t.onMouseOut()},l=function(){t.onMouseOut()};o.addMouseWheel(e,u),i.isMobile||(Hammer.on(e,"mousemove",c),Hammer.on(e,"mouseout",l));return Object.assign((function(){s.destroy(),o.removeMouseWheel(e,u),i.isMobile||(Hammer.off(e,"mousemove",c),Hammer.off(e,"mouseout",l))}),{element:e})},a}(n.Subscribe);exports.BaseController=a;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/// <reference types="hammerjs" />
|
|
2
|
-
import * as THREE from "three";
|
|
3
|
-
import { Pose } from "../types/pose";
|
|
4
|
-
import { generateBoundingMesh } from "../meshes/boundingMesh";
|
|
5
|
-
import { MovePanoOptions } from "../types/movePanoOptions";
|
|
6
|
-
import { BaseControllerInitArgs } from "./base";
|
|
7
|
-
import { PanoramaLikeController, PanoramaLikeControllerCustomInitArgs } from "./panoramaLike";
|
|
8
|
-
import { DepthTextureLoader, PanoModel } from "../loaders/depthTexture";
|
|
9
|
-
import { PanoCircleMeshInterface } from "../meshes/panoCircleMesh";
|
|
10
|
-
interface DepthPanoramaControllerCustomInitArgs extends PanoramaLikeControllerCustomInitArgs {
|
|
11
|
-
/** 最远可移动观察点距离 */
|
|
12
|
-
maxAccessibleDistance?: number;
|
|
13
|
-
/** 地面观察点标识自定义创建器 */
|
|
14
|
-
panoCircleMeshCreator?: () => PanoCircleMeshInterface;
|
|
15
|
-
}
|
|
16
|
-
declare class DepthPanoramaController extends PanoramaLikeController {
|
|
17
|
-
protected maxAccessibleDistance: number;
|
|
18
|
-
protected panoCircleMeshCreator: () => PanoCircleMeshInterface;
|
|
19
|
-
protected depthTextureLoader: DepthTextureLoader;
|
|
20
|
-
protected panoModel?: PanoModel;
|
|
21
|
-
protected boundingMesh: ReturnType<typeof generateBoundingMesh>;
|
|
22
|
-
protected panoCircleMeshes: PanoCircleMeshInterface[];
|
|
23
|
-
protected pendingLoadTextureHashAndCallback?: [
|
|
24
|
-
hash: string,
|
|
25
|
-
callback: (error: Error | null, panoModel?: PanoModel) => void
|
|
26
|
-
];
|
|
27
|
-
static parseArgs(args: BaseControllerInitArgs & DepthPanoramaControllerCustomInitArgs): Required<BaseControllerInitArgs & DepthPanoramaControllerCustomInitArgs>;
|
|
28
|
-
static initAnimationEndPose(args: BaseControllerInitArgs & DepthPanoramaControllerCustomInitArgs): Pose;
|
|
29
|
-
constructor(args: BaseControllerInitArgs & DepthPanoramaControllerCustomInitArgs);
|
|
30
|
-
getBounding(): THREE.Box3;
|
|
31
|
-
updatePanoCircleMeshes(): void;
|
|
32
|
-
destroy(): void;
|
|
33
|
-
moveToPano(panoIndex: number, options: MovePanoOptions, userAction: boolean): void;
|
|
34
|
-
updateCamera(pose: Partial<Pose>, userAction: boolean, limit: boolean): void;
|
|
35
|
-
protected canNotMoveAnimation(): void;
|
|
36
|
-
protected doMoveToPano(panoIndex: number, panoModel: PanoModel, options: MovePanoOptions, userAction: boolean): void;
|
|
37
|
-
protected getForwardPanoIndexOrNot(raycaster?: THREE.Raycaster): number;
|
|
38
|
-
protected onTapGesture(input: HammerInput): void;
|
|
39
|
-
}
|
|
40
|
-
export { DepthPanoramaController, DepthPanoramaControllerCustomInitArgs, };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DepthPanoramaController=void 0;var e=require("tslib"),t=e.__importStar(require("three")),o=e.__importStar(require("json-hash")),n=require("../utils/isNil"),i=require("../utils/animationFrame"),r=require("../utils/arrayMin"),s=require("../utils/calculateProgress"),a=require("../utils/tween"),l=require("../utils/busy"),d=require("../meshes/boundingMesh"),c=require("./panoramaLike"),p=require("../loaders/depthTexture"),u=require("../meshes/panoCircleMesh"),h=function(c){function h(e){var t=this,o=h.parseArgs(e);return(t=c.call(this,o)||this).maxAccessibleDistance=o.maxAccessibleDistance,t.panoCircleMeshCreator=o.panoCircleMeshCreator,t.model.visible=!1,t.model.setMaterial({perspToOrtho:0}),t.boundingMesh=d.generateBoundingMesh(t.getBounding()),t.boundingMesh.setMaterial(t.model.getMaterial()||{}),t.boundingMesh.visible=!1,t.boundingMesh.renderOrder=2,t.boundingMesh.frustumCulled=!1,t.scene.add(t.boundingMesh),t.panoCircleMeshes=[],t.updatePanoCircleMeshes(),t.panoCircleMeshes.forEach((function(e){return e.visible=!1})),t.scene.remove(t.intersectMesh),t.depthTextureLoader=new p.DepthTextureLoader(t.renderer),t.depthTextureLoader.on("start",(function(e){var o,n=e.index;null===(o=t.panoCircleMeshes[n])||void 0===o||o.setProgress(0),t.emit("textureStartLoad",n,t.work.observers[n])})),t.depthTextureLoader.on("progress",(function(e,o){var n,i=o.index;null===(n=t.panoCircleMeshes[i])||void 0===n||n.setProgress(e),t.emit("textureLoading",e,i,t.work.observers[i])})),t.depthTextureLoader.on("abort",(function(e){var o,n=e.index;null===(o=t.panoCircleMeshes[n])||void 0===o||o.setProgress(0),t.emit("textureAbort",n,t.work.observers[n])})),t.depthTextureLoader.on("load",(function(e,o){var n,i=o.index;null===(n=t.panoCircleMeshes[i])||void 0===n||n.setProgress(1),t.emit("textureLoaded",i,t.work.observers[i])})),t.depthTextureLoader.on("error",(function(e,o){var n,i=o.index;null===(n=t.panoCircleMeshes[i])||void 0===n||n.setProgress(0),t.emit("textureError",e,i,t.work.observers[i])})),t.once("panoLoaded",(function(){t.boundingMesh.visible=!0,t.needsRender=!0})),t}return e.__extends(h,c),h.parseArgs=function(t){var o,n,i=c.parseArgs.call(this,t);return e.__assign(e.__assign({},i),{maxAccessibleDistance:null!==(o=t.maxAccessibleDistance)&&void 0!==o?o:5,panoCircleMeshCreator:null!==(n=t.panoCircleMeshCreator)&&void 0!==n?n:u.generatePanoCircleMesh})},h.initAnimationEndPose=function(e){var t=this.parseArgs(e);return c.initAnimationEndPose.call(this,t)},h.prototype.getBounding=function(){for(var e=new t.Box3,o=0,n=this.work.observers;o<n.length;o++){var i=n[o].standingPosition.clone();e.expandByPoint(i),i.y+=3,e.expandByPoint(i)}return e.max.x+=4,e.min.x-=4,e.max.z+=4,e.min.z-=4,e},h.prototype.updatePanoCircleMeshes=function(){var e=this,o=[],n=this.model;this.panoCircleMeshes&&(this.panoCircleMeshes.forEach((function(t){t.loading&&o.push(t.panoIndex),e.scene.remove(t),t.dispose()})),this.panoCircleMeshes.length=0);var i=new t.Vector3(0,-1,0);this.panoCircleMeshes=this.work.observers.map((function(r,s){var a=e.panoCircleMeshCreator();if(a.position.copy(r.standingPosition),e.model.loaded){var l=a.position.clone().add(new t.Vector3(0,1,0)),d=new t.Raycaster(l,i,0,1),c=n.intersectRaycaster(d)[0];c&&(a.position.copy(c.point.clone()),a.needsRender=!0)}return a.name="panoCircle_"+s,a.panoIndex=s,e.scene.add(a),a.needsRender=!0,!1===r.active&&(a.setDisabled(!0),o.indexOf(s)>=0&&(a.setDisabled(!1),a.setLoading(!0))),a}));var r=this.work.observers[this.currentPanoIndex].visibleNodes;r=r.filter((function(t){var o=e.work.observers[t];return o.loadable||o.active})),this.panoCircleMeshes.forEach((function(e){e.visible=r.indexOf(e.panoIndex)>=0}));var s=this.camera.position;this.panoCircleMeshes.forEach((function(e){var t=e.position.distanceTo(s);e.setOpacity(Math.min(1.5/t,1))}))},h.prototype.destroy=function(){var e=this;c.prototype.destroy.call(this),this.depthTextureLoader.off(),delete this.pendingLoadTextureHashAndCallback,this.model&&(this.model.visible=!0),this.panoModel&&(this.scene.remove(this.panoModel),this.panoModel.dispose(),delete this.panoModel),this.boundingMesh&&(this.scene.remove(this.boundingMesh),this.boundingMesh.dispose()),this.panoCircleMeshes&&(this.panoCircleMeshes.forEach((function(t){e.scene.remove(t),t.dispose()})),this.panoCircleMeshes.length=0)},h.prototype.moveToPano=function(e,n,r){var s=this;void 0===n&&(n={}),this.interiaMovement=!1;var a={index:e,images:this.work.observers[e].images,imageOptions:this.imageOptions},l=o.digest(a),d=function(t,o){if(t)return n.moveCancelCallback&&n.moveCancelCallback(),s.emit("panoLoadError",t,e),void s.emit("moveToPanoCanceled",e);s.destroyed?null==o||o.dispose():(s.emit("panoLoaded",e),i.nextFrame((function(){return s.doMoveToPano(e,o,n,r)})))},c=this.pendingLoadTextureHashAndCallback||[],p=c[0],u=c[1];if(l!==p){if(delete this.pendingLoadTextureHashAndCallback,u&&u(new Error("texture aborted")),this.emit("moveToPano",e,r),this.emit("panoWillLoad",e),!a.images)return void d(new Error("pano images were not existed"));if(!a.images.depth)return void d(new Error("pano depth image were not existed"));var h=this.work.observers[e],v=h.position,m=h.quaternion,f=(new t.Matrix4).compose(v,m,new t.Vector3(-1,1,1)),M=Object.assign({position:v,matrix:f},a);this.pendingLoadTextureHashAndCallback=[l,d],this.depthTextureLoader.load(M,(function(e,t){var o=s.pendingLoadTextureHashAndCallback||[],n=o[0],i=o[1];l===n&&i?(i(e,t),delete s.pendingLoadTextureHashAndCallback):null==t||t.dispose()}))}},h.prototype.updateCamera=function(e,t,o){var n=this;c.prototype.updateCamera.call(this,e,t,o),this.panoCircleMeshes.forEach((function(e){var t=e.position.distanceTo(n.camera.pose.offset);e.setOpacity(Math.min(1/t,1))}));var i=this.getForwardPanoIndexOrNot();null!==i&&this.panoCircleMeshes[i].setOpacity(1),l.busy()},h.prototype.canNotMoveAnimation=function(){var e=this;if(this.interiaMovement=!1,!this.tweenCoordinates){var t=this.camera.fov,o=.98*t,n=function(t){var o=t.fov;return e.updateCamera({fov:o},!0,!0)};this.tweenCoordinates=a.tween({fov:t},{fov:o},200).onUpdate(n).onComplete((function(){var i;null===(i=e.tweenCoordinates)||void 0===i||i.destroy(),e.tweenCoordinates=a.tween({fov:o},{fov:t},200).onUpdate(n).onComplete((function(){var t;null===(t=e.tweenCoordinates)||void 0===t||t.destroy(),delete e.tweenCoordinates}))}))}},h.prototype.doMoveToPano=function(e,o,n,i){var r,l,d,c=this;void 0===n&&(n={});var p=n.limit,u=void 0===p||p,h=n.easing,v=void 0===h?a.Easing.Quadratic.InOut:h,m=this.currentPanoIndex,f=this.panoModel,M=this.currentPanoIndex,g=this.work.observers[e],b=function(e){return e.material.uniforms};if(f&&f instanceof t.ShaderMaterial){var C={pano0Map:b(f).panoMap.value,pano0Matrix:b(f).panoMatrix.value};b(f).opacity.value=1,this.boundingMesh.setMaterial(C)}o.renderOrder=-1;var x={progress:0,pano1Map:b(o).panoMap.value,pano1Matrix:b(o).panoMatrix.value};this.boundingMesh.setMaterial(x),this.model.setMaterial(x),b(o).opacity.value=0,this.scene.add(o);var w=g.visibleNodes.filter((function(e){var t=c.work.observers[e];return t.loadable||t.active}));Object.assign(this,{panoModel:o,currentPanoIndex:e});var P=this.calculateMovingDuration(n.duration,this.camera.pose.offset.distanceTo(g.standingPosition)),y=this.camera.pose.longitude,T=this.camera.pose.latitude,k=this.camera.pose.offset.clone(),L=this.camera.fov,A=null!==(r=n.longitude)&&void 0!==r?r:y,I=null!==(l=n.latitude)&&void 0!==l?l:T,O=g.position,N=null!==(d=n.fov)&&void 0!==d?d:L,E={longitude:A,latitude:I,fov:N,offset:O.clone()};if(n.moveStartCallback&&n.moveStartCallback(e,E),this.emit("panoWillArrive",e,E,i),this.needsRender=!0,this.tweenCoordinates&&(this.tweenCoordinates.destroy(),delete this.tweenCoordinates),y!=y||T!==I||L!==N){var D=function(e){var t=e.progress,o=s.progressRad(y,A,t),n=s.progressNumber(T,I,t),r=s.progressNumber(L,N,t);c.updateCamera({longitude:o,latitude:n,fov:r},i,u),c.needsRender=!0},q=function(){return D({progress:1})};P>0?this.tweenCoordinates=a.tweenProgress(P,v).onUpdate(D).onComplete((function(){var e;null===(e=c.tweenCoordinates)||void 0===e||e.destroy(),delete c.tweenCoordinates,q()})):q()}this.tweenPosition&&(this.tweenPosition.destroy(),delete this.tweenPosition);var _=function(){c.panoCircleMeshes.forEach((function(e){e.visible=w.indexOf(e.panoIndex)>=0})),b(o).opacity.value=0,o.material.depthTest=!0,f&&(c.scene.remove(f),f.material.uniforms.panoMap.value.dispose(),f.dispose()),c.updateCamera({offset:O},i,u);var t={progress:1,pano1Map:b(o).panoMap.value,pano1Position:b(o).panoPosition.value,pano1Matrix:b(o).panoMatrix.value,pano0Map:b(o).panoMap.value,pano0Position:b(o).panoPosition.value,pano0Matrix:b(o).panoMatrix.value,modelAlpha:0};c.boundingMesh.setMaterial(t),c.model.setMaterial(t),c.panoCircleMeshes[e]&&c.panoCircleMeshes[e].setProgress(0),n.moveEndCallback&&n.moveEndCallback(e,c.camera.copyPose()),c.preventTapGesture=!1,c.emit("panoArrived",e,c.camera.copyPose(),i),c.needsRender=!0};this.preventTapGesture=!0,P>0&&M!==e?(this.panoCircleMeshes.forEach((function(e){return e.visible=!1})),o.material.depthTest=!1,f&&(f.material.depthTest=!1),this.tweenPosition=a.tweenProgress(P,v).onUpdate((function(n){var r=n.progress,a=new t.Vector3(s.progressNumber(k.x,O.x,r),s.progressNumber(k.y,O.y,r),s.progressNumber(k.z,O.z,r));c.updateCamera({offset:a},i,u);var l=(Math.min(Math.max(r,.1),.9)-.1)/.8,d={modelAlpha:s.progressNumber(1,0,l)};b(o).opacity.value=s.progressNumber(0,1,l),f&&(b(f).opacity.value=1),c.boundingMesh.setMaterial(d),c.model.setMaterial(d),c.panoCircleMeshes.forEach((function(e){var t=e.position.distanceTo(a);e.setOpacity(Math.min(1.5/t,1))})),r>.7&&(c.preventTapGesture=!1),c.emit("movingToPano",e,m,r),c.needsRender=!0})).onComplete((function(){c.tweenPosition&&(c.tweenPosition.completed=!0,c.tweenPosition.destroy()),delete c.tweenPosition,_()})).onCancel((function(){n.moveCancelCallback&&n.moveCancelCallback()}))):_()},h.prototype.getForwardPanoIndexOrNot=function(e){var o=this,n=this.camera,i=this.currentPanoIndex,r=this.work.observers[i].accessibleNodes;r=r.filter((function(e){var t=o.work.observers[e];return t.loadable||t.active}));var s,a=n.getWorldDirection(new t.Vector3);s=e?e.ray.direction.clone():a.clone();var l=n.pose.offset.clone();s.y=l.y=0;for(var d=0,c=r.filter((function(e){return o.work.observers[e].standingPosition.clone().sub(n.pose.offset).angleTo(a)<n.fov/2/180*Math.PI})).map((function(e){var t=o.work.observers[e].standingPosition.clone();return Object.assign(t,{y:0,panoIndex:e})})).sort((function(e,t){return e.distanceTo(l)-t.distanceTo(l)}));d<c.length;d++){var p=c[d],u=p.clone().sub(l);if(u.length()&&s.angleTo(u)<Math.PI/6)return p.panoIndex}return null},h.prototype.onTapGesture=function(e){var o=this;if(this.interiaMovement=!1,!0!==this.preventTapGesture){var i=this.camera,s=this.panoCircleMeshes,a=null,l=void 0,d=this.work.observers[this.currentPanoIndex].accessibleNodes;d=d.filter((function(e){return o.work.observers[e].position.distanceTo(i.pose.offset)<o.maxAccessibleDistance}));var c=this.relativeClientPosition(e.center),p=new t.Raycaster;p.setFromCamera(c,i);var u=e.pointers.map((function(e){return{x:e.x,y:e.y}}));if(!(this.emit("wantsGesture","tap",u,!0)||this.emit("wantsTapGesture",p,c))){var h=p.intersectObjects(this.boundingMesh.children)[0];if(h){var v=h.point.clone(),m=r.arrayMin(s.filter((function(e){return d.indexOf(e.panoIndex)>=0})),(function(e){return e.position.distanceTo(v)}),!0),f=m[0];if(m[1]<1){var M=h.point.clone();a=f.panoIndex;var g=i.getWorldDirection(new t.Vector3).setY(0),b=(new t.Vector3).copy(M).setY(0).sub(i.pose.offset.clone().setY(0));if(g.angleTo(b)>Math.PI/6){var C=b.x,x=b.z;l={longitude:Math.atan2(-C,-x)}}}}if(n.isNil(a)&&(a=this.getForwardPanoIndexOrNot(p),!n.isNil(a)&&h)){var w=h.point,P=this.work.observers[a].position.clone();g=w.clone().setY(0).sub(i.getWorldDirection(new t.Vector3).setY(0)),b=w.clone().setY(0).sub(P.clone().setY(0));if(Math.abs(w.y-P.y)<.5&&g.angleTo(b)>Math.PI/6&&g.angleTo(b)<Math.PI/3){C=b.x,x=b.z;l={longitude:Math.atan2(-C,-x)}}}if(n.isNil(a))this.canNotMoveAnimation();else{var y=this.work.observers[a];this.emit("panoSelected",a),this.emit("gesture","tap",u,!0),this.emit("tapGesture",p,c),y.active?this.emit("wantsMoveToPano",a,l||{},!0):this.panoCircleMeshes[a]&&(this.panoCircleMeshes[a].setDisabled(!1),this.panoCircleMeshes[a].setLoading(!0))}}}},h}(c.PanoramaLikeController);exports.DepthPanoramaController=h;
|
package/controllers/events.d.ts
DELETED
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
import * as THREE from "three";
|
|
2
|
-
import { Pose } from "../types/pose";
|
|
3
|
-
import { Observer } from "../work";
|
|
4
|
-
import { Intersection } from "../loaders/model";
|
|
5
|
-
import { IntersectMeshInterface } from "../meshes/intersectMesh";
|
|
6
|
-
import { MovePanoOptions } from "../types/movePanoOptions";
|
|
7
|
-
declare type GestureTypes = "pan" | "tap" | "pinch" | "mouseWheel";
|
|
8
|
-
declare type ControllerEventTypes = {
|
|
9
|
-
/**
|
|
10
|
-
* 模态间切换动画开始
|
|
11
|
-
* @param panoIndex 当前点位
|
|
12
|
-
* @param pose 相机姿态
|
|
13
|
-
* @param userAction 是否用户触发
|
|
14
|
-
*/
|
|
15
|
-
initAnimationWillStart(panoIndex: number, pose: Pose, userAction: boolean): void;
|
|
16
|
-
/**
|
|
17
|
-
* 模态间切换动画结束
|
|
18
|
-
* @param panoIndex 当前点位
|
|
19
|
-
* @param pose 相机姿态
|
|
20
|
-
* @param userAction 是否用户触发
|
|
21
|
-
*/
|
|
22
|
-
initAnimationEnded(panoIndex: number, pose: Pose, userAction: boolean): void;
|
|
23
|
-
/**
|
|
24
|
-
* 意图要变化相机的可视角度 可以通过 `return false` 阻止
|
|
25
|
-
* @deprecated
|
|
26
|
-
* 建议通过 初始化设置的 `defaultFov`, `maxFov`, `minFov` 来限制
|
|
27
|
-
* @param fov 意图要变化相机的可视角度
|
|
28
|
-
* @returns 可以通过 `return false` 阻止
|
|
29
|
-
*/
|
|
30
|
-
wantsChangeCameraFov(fov: number): void | false;
|
|
31
|
-
/**
|
|
32
|
-
* 相机姿态变化
|
|
33
|
-
* @param pose 相机姿态
|
|
34
|
-
* @param userAction 是否用户触发
|
|
35
|
-
*/
|
|
36
|
-
cameraUpdate(pose: Pose, userAction: boolean): void;
|
|
37
|
-
/**
|
|
38
|
-
* 相机姿态中可视角度变化
|
|
39
|
-
* @param fov 相机的可视角度
|
|
40
|
-
* @param userAction 是否用户触发
|
|
41
|
-
*/
|
|
42
|
-
cameraFovUpdate(fov: Pose["fov"], userAction: boolean): void;
|
|
43
|
-
/**
|
|
44
|
-
* 相机姿态中相机位置变化
|
|
45
|
-
* @param offset 相机位置
|
|
46
|
-
* @param userAction 是否用户触发
|
|
47
|
-
*/
|
|
48
|
-
cameraPositionUpdate(offset: Pose["offset"], userAction: boolean): void;
|
|
49
|
-
/**
|
|
50
|
-
* 相机姿态中相机方向变化
|
|
51
|
-
* @param coordinates 相机姿态的俯仰角和偏航角
|
|
52
|
-
* @param userAction 是否用户触发
|
|
53
|
-
*/
|
|
54
|
-
cameraDirectionUpdate(coordinates: Pick<Pose, "longitude" | "latitude">, userAction: boolean): void;
|
|
55
|
-
/**
|
|
56
|
-
* 观察点位被选择
|
|
57
|
-
* @param panoIndex 选择的点位
|
|
58
|
-
*/
|
|
59
|
-
panoSelected(panoIndex: number): void;
|
|
60
|
-
/**
|
|
61
|
-
* 意图要移动到某个点位 可以通过 `return false` 阻止
|
|
62
|
-
* @param panoIndex 图要移动到的点位下标
|
|
63
|
-
* @param options 移动参数
|
|
64
|
-
* @param userAction 是否用户触发
|
|
65
|
-
* @returns 可以通过 `return false` 阻止
|
|
66
|
-
*/
|
|
67
|
-
wantsMoveToPano(panoIndex: number, options: MovePanoOptions, userAction: boolean): void | false;
|
|
68
|
-
/**
|
|
69
|
-
* 开始加载并移动到某个观察点位
|
|
70
|
-
* @description
|
|
71
|
-
* 可 panoWillArrive 相比
|
|
72
|
-
* - moveToPano 在加载全景图资源前触发
|
|
73
|
-
* - panoWillArrive 在加载全景图资源后触发
|
|
74
|
-
* @param panoIndex 移动到的点位下标
|
|
75
|
-
* @param userAction 是否用户触发
|
|
76
|
-
*/
|
|
77
|
-
moveToPano(panoIndex: number, userAction: boolean): void;
|
|
78
|
-
/**
|
|
79
|
-
* 开始加载某个观察点的全景资源
|
|
80
|
-
* @param panoIndex 移动到的点位下标
|
|
81
|
-
*/
|
|
82
|
-
panoWillLoad(panoIndex: number): void;
|
|
83
|
-
/**
|
|
84
|
-
* 某个观察点的全景资源加载完成
|
|
85
|
-
* @param panoIndex 对应的点位下标
|
|
86
|
-
*/
|
|
87
|
-
panoLoaded(panoIndex: number): void;
|
|
88
|
-
/**
|
|
89
|
-
* 某个观察点的全景资源加载失败
|
|
90
|
-
* @param error 错误对象
|
|
91
|
-
* @param panoIndex 对应的点位下标
|
|
92
|
-
*/
|
|
93
|
-
panoLoadError(error: Error, panoIndex: number): void;
|
|
94
|
-
/**
|
|
95
|
-
* 移动到某个观察点位被取消
|
|
96
|
-
* @description
|
|
97
|
-
* 这个有一些情况会导致
|
|
98
|
-
* - 移动过程中切换模态
|
|
99
|
-
* - 移动过程中 five 被析构
|
|
100
|
-
* - 移动过程点击切换到另一个点位
|
|
101
|
-
* @param panoIndex 对应的点位下标
|
|
102
|
-
*/
|
|
103
|
-
moveToPanoCanceled(panoIndex: number): void;
|
|
104
|
-
/**
|
|
105
|
-
* 开始移动到某个观察点位
|
|
106
|
-
* @description
|
|
107
|
-
* 和 moveToPano 相比
|
|
108
|
-
* - moveToPano 在加载全景图资源前触发
|
|
109
|
-
* - panoWillArrive 在加载全景图资源后触发
|
|
110
|
-
* @param panoIndex 移动到点位下标
|
|
111
|
-
* @param pose 相机姿态
|
|
112
|
-
* @param userAction 是否用户触发
|
|
113
|
-
*/
|
|
114
|
-
panoWillArrive(panoIndex: number, pose: Pose, userAction: boolean): void;
|
|
115
|
-
/**
|
|
116
|
-
* 移动到某个观察点位
|
|
117
|
-
* @param panoIndex 移动到点位下标
|
|
118
|
-
* @param pose 相机姿态
|
|
119
|
-
* @param userAction 是否用户触发
|
|
120
|
-
*/
|
|
121
|
-
panoArrived(panoIndex: number, pose: Pose, userAction: boolean): void;
|
|
122
|
-
/**
|
|
123
|
-
* 移动中, 会告知移动状态(耗时百分比)
|
|
124
|
-
* @param panoIndex 将要移动到的点位下标
|
|
125
|
-
* @param prevPanoIndex 上一个点位下标
|
|
126
|
-
* @param progress 整个过程经度 [0-1]
|
|
127
|
-
*/
|
|
128
|
-
movingToPano(panoIndex: number, prevPanoIndex: number, progress: number): void;
|
|
129
|
-
/**
|
|
130
|
-
* 意图要触发手势, 可以通过 `return false` 阻止
|
|
131
|
-
* @param type 手势类型
|
|
132
|
-
* @param pointers 手指位置
|
|
133
|
-
* @param final 是否手势结束
|
|
134
|
-
* @returns 可以通过 `return false` 阻止
|
|
135
|
-
*/
|
|
136
|
-
wantsGesture(type: GestureTypes, pointers: {
|
|
137
|
-
x: number;
|
|
138
|
-
y: number;
|
|
139
|
-
}[], final: boolean): void | false;
|
|
140
|
-
/**
|
|
141
|
-
* 手势 触发
|
|
142
|
-
* @param type 手势类型
|
|
143
|
-
* @param pointers 手指位置
|
|
144
|
-
* @param final 是否手势结束
|
|
145
|
-
*/
|
|
146
|
-
gesture(type: GestureTypes, pointers: {
|
|
147
|
-
x: number;
|
|
148
|
-
y: number;
|
|
149
|
-
}[], final: boolean): void;
|
|
150
|
-
/**
|
|
151
|
-
* 意图要触发 pan 手势(滑动屏幕), 可以通过 `return false` 阻止
|
|
152
|
-
* @param pose 意图的相机姿态
|
|
153
|
-
* @param final 是否手势结束
|
|
154
|
-
* @returns 可以通过 `return false` 阻止
|
|
155
|
-
*/
|
|
156
|
-
wantsPanGesture(pose: Pose, final: boolean): void | false;
|
|
157
|
-
/**
|
|
158
|
-
* pan 手势(滑动屏幕) 被触发
|
|
159
|
-
* @param pose 相机姿态
|
|
160
|
-
* @param final 是否手势结束
|
|
161
|
-
*/
|
|
162
|
-
panGesture(pose: Pose, final: boolean): void;
|
|
163
|
-
/**
|
|
164
|
-
* 意图要触发 pan 手势(滑动屏幕) 的惯性运动, 可以通过 `return false` 阻止
|
|
165
|
-
* @param pose 意图的相机姿态
|
|
166
|
-
* @param final 是否手势结束
|
|
167
|
-
* @returns 可以通过 `return false` 阻止
|
|
168
|
-
*/
|
|
169
|
-
wantsInteriaPan(pose: Pose): void | false;
|
|
170
|
-
/**
|
|
171
|
-
* pan 手势(滑动屏幕) 的惯性运动
|
|
172
|
-
* @param pose 意图的相机姿态
|
|
173
|
-
* @param final 是否手势结束
|
|
174
|
-
*/
|
|
175
|
-
interiaPan(pose: Pose, final: boolean): void;
|
|
176
|
-
/**
|
|
177
|
-
* 意图要触发 tap 手势(点击屏幕), 可以通过 `return false` 阻止
|
|
178
|
-
* @param raycaster 点击对应的三维射线
|
|
179
|
-
* @param tapPosition 点击对应的屏幕位置
|
|
180
|
-
* @returns 可以通过 `return false` 阻止
|
|
181
|
-
*/
|
|
182
|
-
wantsTapGesture(raycaster: THREE.Raycaster, tapPosition: THREE.Vector2): void | false;
|
|
183
|
-
/**
|
|
184
|
-
* tap 手势(点击屏幕) 被触发
|
|
185
|
-
* @param raycaster 点击对应的三维射线
|
|
186
|
-
* @param tapPosition 点击对应的屏幕位置
|
|
187
|
-
*/
|
|
188
|
-
tapGesture(raycaster: THREE.Raycaster, tapPosition: THREE.Vector2): void;
|
|
189
|
-
/**
|
|
190
|
-
* 意图要触发 pinch 手势(双指缩放),可以通过 `return false` 阻止
|
|
191
|
-
* @param scale 缩放数值
|
|
192
|
-
* @param nextFov 意图的fov变更
|
|
193
|
-
* @param final 是否手势结束
|
|
194
|
-
* @returns 可以通过 `return false` 阻止
|
|
195
|
-
*/
|
|
196
|
-
wantsPinchGesture(scale: number, nextFov: number, final: boolean): void | false;
|
|
197
|
-
/**
|
|
198
|
-
* pinch 手势(双指缩放) 被触发
|
|
199
|
-
* @param scale 缩放数值
|
|
200
|
-
* @param nextFov 意图的fov变更
|
|
201
|
-
* @param final 是否手势结束
|
|
202
|
-
*/
|
|
203
|
-
pinchGesture(scale: number, fov: number, final: boolean): void;
|
|
204
|
-
/**
|
|
205
|
-
* 意图要触发 鼠标滚轮 可以通过 `return false` 阻止
|
|
206
|
-
* @param delta 滚轮数值
|
|
207
|
-
* @param nextFov 意图的fov变更
|
|
208
|
-
* @param final 是否手势结束
|
|
209
|
-
* @returns 可以通过 `return false` 阻止
|
|
210
|
-
*/
|
|
211
|
-
wantsMouseWheel(delta: number, nextFov: number, final: boolean): void | false;
|
|
212
|
-
/**
|
|
213
|
-
* 鼠标滚轮被触发
|
|
214
|
-
* @param delta 滚轮数值
|
|
215
|
-
* @param nextFov 意图的fov变更
|
|
216
|
-
* @param final 是否手势结束
|
|
217
|
-
*/
|
|
218
|
-
mouseWheel(delta: number, fov: number, final: boolean): void;
|
|
219
|
-
/**
|
|
220
|
-
* 鼠标焦点环位置被重新计算
|
|
221
|
-
* @param intersection 焦点碰撞结果
|
|
222
|
-
* @param mesh 焦点环 mesh
|
|
223
|
-
*/
|
|
224
|
-
intersectionOnModelUpdate(intersection: Intersection, mesh: IntersectMeshInterface): void;
|
|
225
|
-
/**
|
|
226
|
-
* 意图要展示鼠标焦点环,可以通过 `return false` 阻止
|
|
227
|
-
* @param intersection 焦点碰撞结果
|
|
228
|
-
* @returns 可以通过 `return false` 阻止
|
|
229
|
-
*/
|
|
230
|
-
wantsShowIntersectionOnModel(raycaster: THREE.Raycaster): void | false;
|
|
231
|
-
/** 鼠标焦点环被隐藏 */
|
|
232
|
-
intersectionHidden(): void;
|
|
233
|
-
/** 意图要退出VR眼镜模式 */
|
|
234
|
-
vrWantsToExit(): void;
|
|
235
|
-
/**
|
|
236
|
-
* 观察点的全景资源开始加载
|
|
237
|
-
* @param panoIndex 加载点位下标
|
|
238
|
-
* @param observer 对应的 observer 详情
|
|
239
|
-
*/
|
|
240
|
-
textureStartLoad(panoIndex: number, observer: Observer): void;
|
|
241
|
-
/**
|
|
242
|
-
* 观察点的全景资源加载中,可获取到进度
|
|
243
|
-
* @param progress 加载进度 [0-1]
|
|
244
|
-
* @param panoIndex 加载点位下标
|
|
245
|
-
* @param observer 对应的 observer 详情
|
|
246
|
-
*/
|
|
247
|
-
textureLoading(progress: number, panoIndex: number, observer: Observer): void;
|
|
248
|
-
/**
|
|
249
|
-
* 观察点的全景资源加载被中止
|
|
250
|
-
* @param panoIndex 加载点位下标
|
|
251
|
-
* @param observer 对应的 observer 详情
|
|
252
|
-
*/
|
|
253
|
-
textureAbort(panoIndex: number, observer: Observer): void;
|
|
254
|
-
/**
|
|
255
|
-
* 观察点的全景资源加载失败
|
|
256
|
-
* @param error 错误对象
|
|
257
|
-
* @param panoIndex 加载点位下标
|
|
258
|
-
* @param observer 对应的 observer 详情
|
|
259
|
-
*/
|
|
260
|
-
textureError(error: Error, panoIndex: number, observer: Observer): void;
|
|
261
|
-
/**
|
|
262
|
-
* 观察点的全景资源加载完成
|
|
263
|
-
* @param panoIndex 加载点位下标
|
|
264
|
-
* @param observer 对应的 observer 详情
|
|
265
|
-
*/
|
|
266
|
-
textureLoaded(panoIndex: number, observer: Observer): void;
|
|
267
|
-
/**
|
|
268
|
-
* 抛出错误
|
|
269
|
-
* @param error 抛出错误
|
|
270
|
-
*/
|
|
271
|
-
error(error: Error): void;
|
|
272
|
-
};
|
|
273
|
-
export { ControllerEventTypes };
|
package/controllers/events.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|