@aibee/owlly 1.0.25 → 1.0.29
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/lib/external/lines/line-geometry.d.ts +9 -0
- package/lib/external/lines/line-geometry.js +51 -0
- package/lib/external/lines/line-material.d.ts +10 -0
- package/lib/external/lines/line-material.js +376 -0
- package/lib/external/lines/line-segments-2.d.ts +7 -0
- package/lib/external/lines/line-segments-2.js +143 -0
- package/lib/external/lines/line-segments-geometry.d.ts +15 -0
- package/lib/external/lines/line-segments-geometry.js +140 -0
- package/lib/external/loaders/gltf-loader.d.ts +77 -0
- package/lib/external/loaders/gltf-loader.js +2318 -0
- package/lib/external/orbit-controls.d.ts +44 -0
- package/lib/external/orbit-controls.js +745 -0
- package/lib/external/renderers/css-2d-renderer.d.ts +16 -0
- package/lib/external/renderers/css-2d-renderer.js +121 -0
- package/lib/external/renderers/css-3d-renderer.d.ts +18 -0
- package/lib/external/renderers/css-3d-renderer.js +138 -0
- package/lib/external/transform-controls.d.ts +106 -0
- package/lib/external/transform-controls.js +1112 -0
- package/lib/owlly/controller/aerial-element-controller.d.ts +65 -0
- package/lib/owlly/controller/aerial-element-controller.js +235 -0
- package/lib/owlly/controller/basic-controller.d.ts +324 -0
- package/lib/owlly/controller/basic-controller.js +1238 -0
- package/lib/owlly/controller/camera-controller.d.ts +37 -0
- package/lib/owlly/controller/camera-controller.js +137 -0
- package/lib/owlly/controller/controller.d.ts +61 -0
- package/lib/owlly/controller/controller.js +23 -0
- package/lib/owlly/controller/index.d.ts +2 -0
- package/lib/owlly/controller/index.js +13 -0
- package/lib/owlly/controller/mouse-indicator-controller.d.ts +34 -0
- package/lib/owlly/controller/mouse-indicator-controller.js +118 -0
- package/lib/owlly/controller/orbit-control.d.ts +147 -0
- package/lib/owlly/controller/orbit-control.js +264 -0
- package/lib/owlly/controller/panorama-adjust-controller.d.ts +45 -0
- package/lib/owlly/controller/panorama-adjust-controller.js +157 -0
- package/lib/owlly/controller/panorama-controller.d.ts +441 -0
- package/lib/owlly/controller/panorama-controller.js +1943 -0
- package/lib/owlly/controller/panorama-transform-controller.d.ts +66 -0
- package/lib/owlly/controller/panorama-transform-controller.js +136 -0
- package/lib/owlly/controller/plane-controller.d.ts +43 -0
- package/lib/owlly/controller/plane-controller.js +173 -0
- package/lib/owlly/controller/texture-controller.d.ts +181 -0
- package/lib/owlly/controller/texture-controller.js +875 -0
- package/lib/owlly/controller/tile-panorama-controller.d.ts +308 -0
- package/lib/owlly/controller/tile-panorama-controller.js +1353 -0
- package/lib/owlly/controller/transform-controller.d.ts +106 -0
- package/lib/owlly/controller/transform-controller.js +545 -0
- package/lib/owlly/element/bottom-nav-element.d.ts +65 -0
- package/lib/owlly/element/bottom-nav-element.js +257 -0
- package/lib/owlly/element/camera.d.ts +82 -0
- package/lib/owlly/element/camera.js +283 -0
- package/lib/owlly/element/dom-2d-element.d.ts +35 -0
- package/lib/owlly/element/dom-2d-element.js +48 -0
- package/lib/owlly/element/dom-3d-element.d.ts +27 -0
- package/lib/owlly/element/dom-3d-element.js +33 -0
- package/lib/owlly/element/dom-label-2d.d.ts +116 -0
- package/lib/owlly/element/dom-label-2d.js +382 -0
- package/lib/owlly/element/element.d.ts +53 -0
- package/lib/owlly/element/element.js +75 -0
- package/lib/owlly/element/floor-model.d.ts +83 -0
- package/lib/owlly/element/floor-model.js +227 -0
- package/lib/owlly/element/gif-kit/Gif.d.ts +96 -0
- package/lib/owlly/element/gif-kit/Gif.js +432 -0
- package/lib/owlly/element/gif-kit/GifColor.d.ts +21 -0
- package/lib/owlly/element/gif-kit/GifColor.js +37 -0
- package/lib/owlly/element/gif-kit/GifCompressedCodesToByteArrayConverter.d.ts +20 -0
- package/lib/owlly/element/gif-kit/GifCompressedCodesToByteArrayConverter.js +50 -0
- package/lib/owlly/element/gif-kit/GifFrame.d.ts +31 -0
- package/lib/owlly/element/gif-kit/GifFrame.js +96 -0
- package/lib/owlly/element/gif-kit/GifImage.d.ts +23 -0
- package/lib/owlly/element/gif-kit/GifImage.js +7 -0
- package/lib/owlly/element/gif-kit/GifParser.d.ts +17 -0
- package/lib/owlly/element/gif-kit/GifParser.js +196 -0
- package/lib/owlly/element/gif-kit/GifPresenter.d.ts +20 -0
- package/lib/owlly/element/gif-kit/GifPresenter.js +43 -0
- package/lib/owlly/element/gif-kit/GifVersion.d.ts +10 -0
- package/lib/owlly/element/gif-kit/GifVersion.js +12 -0
- package/lib/owlly/element/gltf-mesh-element.d.ts +31 -0
- package/lib/owlly/element/gltf-mesh-element.js +136 -0
- package/lib/owlly/element/index.d.ts +20 -0
- package/lib/owlly/element/index.js +24 -0
- package/lib/owlly/element/map-kit/shape.d.ts +131 -0
- package/lib/owlly/element/map-kit/shape.js +189 -0
- package/lib/owlly/element/mesh-element.d.ts +22 -0
- package/lib/owlly/element/mesh-element.js +63 -0
- package/lib/owlly/element/mesh-line-2d.d.ts +82 -0
- package/lib/owlly/element/mesh-line-2d.js +887 -0
- package/lib/owlly/element/meshline-o.d.ts +64 -0
- package/lib/owlly/element/meshline-o.js +678 -0
- package/lib/owlly/element/panorama-group.d.ts +241 -0
- package/lib/owlly/element/panorama-group.js +966 -0
- package/lib/owlly/element/panorama.d.ts +132 -0
- package/lib/owlly/element/panorama.js +812 -0
- package/lib/owlly/element/path-group.d.ts +69 -0
- package/lib/owlly/element/path-group.js +171 -0
- package/lib/owlly/element/path.d.ts +99 -0
- package/lib/owlly/element/path.js +531 -0
- package/lib/owlly/element/placeable-2d.d.ts +158 -0
- package/lib/owlly/element/placeable-2d.js +470 -0
- package/lib/owlly/element/polygon-mesh.d.ts +107 -0
- package/lib/owlly/element/polygon-mesh.js +307 -0
- package/lib/owlly/element/ring-element.d.ts +79 -0
- package/lib/owlly/element/ring-element.js +383 -0
- package/lib/owlly/element/sphere-mesh.d.ts +28 -0
- package/lib/owlly/element/sphere-mesh.js +69 -0
- package/lib/owlly/element/svg-floor-model.d.ts +22 -0
- package/lib/owlly/element/svg-floor-model.js +184 -0
- package/lib/owlly/element/svg-floors.d.ts +27 -0
- package/lib/owlly/element/svg-floors.js +109 -0
- package/lib/owlly/element/tile-panorama-group.d.ts +335 -0
- package/lib/owlly/element/tile-panorama-group.js +1006 -0
- package/lib/owlly/element/tile-panorama.d.ts +161 -0
- package/lib/owlly/element/tile-panorama.js +509 -0
- package/lib/owlly/element/tile-plane.d.ts +105 -0
- package/lib/owlly/element/tile-plane.js +360 -0
- package/lib/owlly/element/video-element.d.ts +33 -0
- package/lib/owlly/element/video-element.js +159 -0
- package/lib/owlly/geometries/ExtrudeGeometry2.d.ts +15 -0
- package/lib/owlly/geometries/ExtrudeGeometry2.js +210 -0
- package/lib/owlly/index.d.ts +13 -0
- package/lib/owlly/index.js +16 -0
- package/lib/owlly/overlay/canvas-overlay.d.ts +96 -0
- package/lib/owlly/overlay/canvas-overlay.js +510 -0
- package/lib/owlly/overlay/css-2d-overlay.d.ts +14 -0
- package/lib/owlly/overlay/css-2d-overlay.js +35 -0
- package/lib/owlly/overlay/css-3d-overlay.d.ts +16 -0
- package/lib/owlly/overlay/css-3d-overlay.js +36 -0
- package/lib/owlly/overlay/index.d.ts +6 -0
- package/lib/owlly/overlay/index.js +11 -0
- package/lib/owlly/overlay/label-overlay.d.ts +62 -0
- package/lib/owlly/overlay/label-overlay.js +328 -0
- package/lib/owlly/overlay/overlay.d.ts +14 -0
- package/lib/owlly/overlay/overlay.js +4 -0
- package/lib/owlly/overlay/path-overlay.d.ts +39 -0
- package/lib/owlly/overlay/path-overlay.js +124 -0
- package/lib/owlly/overlay/path-overlay2.d.ts +35 -0
- package/lib/owlly/overlay/path-overlay2.js +118 -0
- package/lib/owlly/overlay/poi-overlay-3d.d.ts +278 -0
- package/lib/owlly/overlay/poi-overlay-3d.js +1432 -0
- package/lib/owlly/overlay/poi-overlay.d.ts +277 -0
- package/lib/owlly/overlay/poi-overlay.js +1411 -0
- package/lib/owlly/owlly-2d/index.d.ts +28 -0
- package/lib/owlly/owlly-2d/index.js +92 -0
- package/lib/owlly/screen/index.d.ts +1 -0
- package/lib/owlly/screen/index.js +1 -0
- package/lib/owlly/screen/screen.d.ts +73 -0
- package/lib/owlly/screen/screen.js +236 -0
- package/lib/owlly/stage/externals.d.ts +19 -0
- package/lib/owlly/stage/externals.js +24 -0
- package/lib/owlly/stage/index.d.ts +4 -0
- package/lib/owlly/stage/index.js +6 -0
- package/lib/owlly/stage/owlly.d.ts +38 -0
- package/lib/owlly/stage/owlly.js +168 -0
- package/lib/owlly/stage/stage.d.ts +108 -0
- package/lib/owlly/stage/stage.js +234 -0
- package/lib/owlly/utils/alignment-utils.d.ts +20 -0
- package/lib/owlly/utils/alignment-utils.js +63 -0
- package/lib/owlly/utils/basic-calc.d.ts +18 -0
- package/lib/owlly/utils/basic-calc.js +129 -0
- package/lib/owlly/utils/basic-tools.d.ts +71 -0
- package/lib/owlly/utils/basic-tools.js +235 -0
- package/lib/owlly/utils/bvh-tree.d.ts +105 -0
- package/lib/owlly/utils/bvh-tree.js +539 -0
- package/lib/owlly/utils/camera.d.ts +37 -0
- package/lib/owlly/utils/camera.js +50 -0
- package/lib/owlly/utils/cube-texture-cache.d.ts +25 -0
- package/lib/owlly/utils/cube-texture-cache.js +143 -0
- package/lib/owlly/utils/device-utils.d.ts +18 -0
- package/lib/owlly/utils/device-utils.js +41 -0
- package/lib/owlly/utils/environment-utils.d.ts +37 -0
- package/lib/owlly/utils/environment-utils.js +73 -0
- package/lib/owlly/utils/event-hub.d.ts +50 -0
- package/lib/owlly/utils/event-hub.js +106 -0
- package/lib/owlly/utils/events.d.ts +219 -0
- package/lib/owlly/utils/events.js +219 -0
- package/lib/owlly/utils/geometry-utils.d.ts +119 -0
- package/lib/owlly/utils/geometry-utils.js +622 -0
- package/lib/owlly/utils/helper.d.ts +6 -0
- package/lib/owlly/utils/helper.js +24 -0
- package/lib/owlly/utils/index.d.ts +14 -0
- package/lib/owlly/utils/index.js +17 -0
- package/lib/owlly/utils/lru-cache.d.ts +26 -0
- package/lib/owlly/utils/lru-cache.js +109 -0
- package/lib/owlly/utils/map-utils.d.ts +7 -0
- package/lib/owlly/utils/map-utils.js +52 -0
- package/lib/owlly/utils/number-utils.d.ts +8 -0
- package/lib/owlly/utils/number-utils.js +72 -0
- package/lib/owlly/utils/panorama-model-util.d.ts +46 -0
- package/lib/owlly/utils/panorama-model-util.js +245 -0
- package/lib/owlly/utils/path-utils.d.ts +80 -0
- package/lib/owlly/utils/path-utils.js +728 -0
- package/lib/owlly/utils/svgutils.d.ts +138 -0
- package/lib/owlly/utils/svgutils.js +561 -0
- package/lib/owlly/utils/texture-cache.d.ts +29 -0
- package/lib/owlly/utils/texture-cache.js +115 -0
- package/lib/owlly/utils/tile-util.d.ts +187 -0
- package/lib/owlly/utils/tile-util.js +456 -0
- package/lib/owlly/utils/time-profiler.d.ts +21 -0
- package/lib/owlly/utils/time-profiler.js +48 -0
- package/lib/owlly/view/camera-view.d.ts +35 -0
- package/lib/owlly/view/camera-view.js +101 -0
- package/lib/owlly/view/index.d.ts +3 -0
- package/lib/owlly/view/index.js +5 -0
- package/lib/owlly/view/orthographic-view.d.ts +40 -0
- package/lib/owlly/view/orthographic-view.js +94 -0
- package/lib/owlly/view/perspective-view.d.ts +40 -0
- package/lib/owlly/view/perspective-view.js +95 -0
- package/lib/owlly/view/svg-map-view.d.ts +46 -0
- package/lib/owlly/view/svg-map-view.js +144 -0
- package/lib/owlly/view/view.d.ts +146 -0
- package/lib/owlly/view/view.js +317 -0
- package/lib/prod/owlly.esm.js +93462 -0
- package/lib/prod/owlly.esm.js.map +1 -0
- package/lib/prod/owlly.esm.min.js +54 -0
- package/lib/prod/owlly.iife.js +93560 -0
- package/lib/prod/owlly.iife.js.map +1 -0
- package/lib/prod/owlly.iife.min.js +69 -0
- package/lib/prod/owlly.miniapp.js +73845 -0
- package/lib/prod/owlly.miniapp.js.map +1 -0
- package/lib/prod/owlly.miniapp.min.js +63 -0
- package/lib/prod/src/external/lines/line-geometry.d.ts +9 -0
- package/lib/prod/src/external/lines/line-material.d.ts +10 -0
- package/lib/prod/src/external/lines/line-segments-2.d.ts +7 -0
- package/lib/prod/src/external/lines/line-segments-geometry.d.ts +15 -0
- package/lib/prod/src/external/loaders/gltf-loader.d.ts +77 -0
- package/lib/prod/src/external/orbit-controls.d.ts +44 -0
- package/lib/prod/src/external/renderers/css-2d-renderer.d.ts +16 -0
- package/lib/prod/src/external/renderers/css-3d-renderer.d.ts +18 -0
- package/lib/prod/src/external/transform-controls.d.ts +106 -0
- package/lib/prod/src/external/util/buffer-geometry-utils.d.ts +45 -0
- package/lib/prod/src/owlly/controller/aerial-element-controller.d.ts +65 -0
- package/lib/prod/src/owlly/controller/basic-controller.d.ts +324 -0
- package/lib/prod/src/owlly/controller/camera-controller.d.ts +37 -0
- package/lib/prod/src/owlly/controller/controller.d.ts +61 -0
- package/lib/prod/src/owlly/controller/index.d.ts +2 -0
- package/lib/prod/src/owlly/controller/mouse-indicator-controller.d.ts +34 -0
- package/lib/prod/src/owlly/controller/orbit-control.d.ts +147 -0
- package/lib/prod/src/owlly/controller/panorama-adjust-controller.d.ts +45 -0
- package/lib/prod/src/owlly/controller/panorama-controller.d.ts +441 -0
- package/lib/prod/src/owlly/controller/panorama-transform-controller.d.ts +66 -0
- package/lib/prod/src/owlly/controller/plane-controller.d.ts +43 -0
- package/lib/prod/src/owlly/controller/texture-controller.d.ts +183 -0
- package/lib/prod/src/owlly/controller/tile-panorama-controller.d.ts +308 -0
- package/lib/prod/src/owlly/controller/transform-controller.d.ts +106 -0
- package/lib/prod/src/owlly/element/bottom-nav-element.d.ts +65 -0
- package/lib/prod/src/owlly/element/camera.d.ts +82 -0
- package/lib/prod/src/owlly/element/dom-2d-element.d.ts +35 -0
- package/lib/prod/src/owlly/element/dom-3d-element.d.ts +27 -0
- package/lib/prod/src/owlly/element/dom-label-2d.d.ts +116 -0
- package/lib/prod/src/owlly/element/element.d.ts +53 -0
- package/lib/prod/src/owlly/element/floor-model.d.ts +83 -0
- package/lib/prod/src/owlly/element/gif-kit/Gif.d.ts +96 -0
- package/lib/prod/src/owlly/element/gif-kit/GifColor.d.ts +21 -0
- package/lib/prod/src/owlly/element/gif-kit/GifCompressedCodesToByteArrayConverter.d.ts +20 -0
- package/lib/prod/src/owlly/element/gif-kit/GifFrame.d.ts +31 -0
- package/lib/prod/src/owlly/element/gif-kit/GifImage.d.ts +23 -0
- package/lib/prod/src/owlly/element/gif-kit/GifParser.d.ts +17 -0
- package/lib/prod/src/owlly/element/gif-kit/GifPresenter.d.ts +20 -0
- package/lib/prod/src/owlly/element/gif-kit/GifVersion.d.ts +10 -0
- package/lib/prod/src/owlly/element/gltf-mesh-element.d.ts +31 -0
- package/lib/prod/src/owlly/element/index.d.ts +6 -0
- package/lib/prod/src/owlly/element/map-kit/area.d.ts +24 -0
- package/lib/prod/src/owlly/element/map-kit/block-set.d.ts +39 -0
- package/lib/prod/src/owlly/element/map-kit/block.d.ts +77 -0
- package/lib/prod/src/owlly/element/map-kit/index.d.ts +3 -0
- package/lib/prod/src/owlly/element/map-kit/shape.d.ts +131 -0
- package/lib/prod/src/owlly/element/mesh-element.d.ts +22 -0
- package/lib/prod/src/owlly/element/mesh-line-2d.d.ts +82 -0
- package/lib/prod/src/owlly/element/meshline-o.d.ts +64 -0
- package/lib/prod/src/owlly/element/panorama-group.d.ts +241 -0
- package/lib/prod/src/owlly/element/panorama.d.ts +132 -0
- package/lib/prod/src/owlly/element/path-group.d.ts +69 -0
- package/lib/prod/src/owlly/element/path.d.ts +99 -0
- package/lib/prod/src/owlly/element/placeable-2d.d.ts +158 -0
- package/lib/prod/src/owlly/element/polygon-mesh.d.ts +107 -0
- package/lib/prod/src/owlly/element/ring-element.d.ts +79 -0
- package/lib/prod/src/owlly/element/sphere-mesh.d.ts +28 -0
- package/lib/prod/src/owlly/element/svg-floor-model.d.ts +22 -0
- package/lib/prod/src/owlly/element/svg-floors.d.ts +27 -0
- package/lib/prod/src/owlly/element/tile-panorama-group.d.ts +335 -0
- package/lib/prod/src/owlly/element/tile-panorama.d.ts +162 -0
- package/lib/prod/src/owlly/element/tile-plane.d.ts +114 -0
- package/lib/prod/src/owlly/element/video-element.d.ts +33 -0
- package/lib/prod/src/owlly/geometries/ExtrudeGeometry2.d.ts +15 -0
- package/lib/prod/src/owlly/index.d.ts +13 -0
- package/lib/prod/src/owlly/overlay/canvas-overlay.d.ts +96 -0
- package/lib/prod/src/owlly/overlay/css-2d-overlay.d.ts +14 -0
- package/lib/prod/src/owlly/overlay/css-3d-overlay.d.ts +16 -0
- package/lib/prod/src/owlly/overlay/index.d.ts +5 -0
- package/lib/prod/src/owlly/overlay/label-overlay.d.ts +62 -0
- package/lib/prod/src/owlly/overlay/overlay.d.ts +14 -0
- package/lib/prod/src/owlly/overlay/path-overlay.d.ts +39 -0
- package/lib/prod/src/owlly/overlay/path-overlay2.d.ts +35 -0
- package/lib/prod/src/owlly/overlay/poi-overlay-3d.d.ts +278 -0
- package/lib/prod/src/owlly/overlay/poi-overlay.d.ts +277 -0
- package/lib/prod/src/owlly/owlly-2d/index.d.ts +28 -0
- package/lib/prod/src/owlly/screen/index.d.ts +1 -0
- package/lib/prod/src/owlly/screen/screen.d.ts +73 -0
- package/lib/prod/src/owlly/stage/__test__/stage.spec.d.ts +1 -0
- package/lib/prod/src/owlly/stage/externals.d.ts +19 -0
- package/lib/prod/src/owlly/stage/index.d.ts +3 -0
- package/lib/prod/src/owlly/stage/owlly.d.ts +38 -0
- package/lib/prod/src/owlly/stage/stage.d.ts +108 -0
- package/lib/prod/src/owlly/utils/alignment-utils.d.ts +20 -0
- package/lib/prod/src/owlly/utils/basic-calc.d.ts +18 -0
- package/lib/prod/src/owlly/utils/basic-tools.d.ts +71 -0
- package/lib/prod/src/owlly/utils/bvh-tree.d.ts +105 -0
- package/lib/prod/src/owlly/utils/camera.d.ts +37 -0
- package/lib/prod/src/owlly/utils/cube-texture-cache.d.ts +25 -0
- package/lib/prod/src/owlly/utils/device-utils.d.ts +18 -0
- package/lib/prod/src/owlly/utils/environment-utils.d.ts +37 -0
- package/lib/prod/src/owlly/utils/event-hub.d.ts +50 -0
- package/lib/prod/src/owlly/utils/events.d.ts +219 -0
- package/lib/prod/src/owlly/utils/geometry-utils.d.ts +119 -0
- package/lib/prod/src/owlly/utils/helper.d.ts +6 -0
- package/lib/prod/src/owlly/utils/index.d.ts +13 -0
- package/lib/prod/src/owlly/utils/lru-cache.d.ts +26 -0
- package/lib/prod/src/owlly/utils/map-utils.d.ts +7 -0
- package/lib/prod/src/owlly/utils/number-utils.d.ts +8 -0
- package/lib/prod/src/owlly/utils/panorama-model-util.d.ts +46 -0
- package/lib/prod/src/owlly/utils/path-utils.d.ts +80 -0
- package/lib/prod/src/owlly/utils/svgutils.d.ts +138 -0
- package/lib/prod/src/owlly/utils/texture-cache.d.ts +29 -0
- package/lib/prod/src/owlly/utils/tile-util.d.ts +187 -0
- package/lib/prod/src/owlly/utils/time-profiler.d.ts +21 -0
- package/lib/prod/src/owlly/view/__test__/perspective-view.spec.d.ts +0 -0
- package/lib/prod/src/owlly/view/camera-view.d.ts +35 -0
- package/lib/prod/src/owlly/view/index.d.ts +3 -0
- package/lib/prod/src/owlly/view/orthographic-view.d.ts +40 -0
- package/lib/prod/src/owlly/view/perspective-view.d.ts +40 -0
- package/lib/prod/src/owlly/view/svg-map-view.d.ts +46 -0
- package/lib/prod/src/owlly/view/view.d.ts +146 -0
- package/lib/src/owlly/controller/texture-controller.d.ts +3 -1
- package/lib/src/owlly/controller/texture-controller.js +16 -1
- package/lib/src/owlly/controller/texture-controller.js.map +1 -1
- package/lib/src/owlly/controller/tile-panorama-controller.js +4 -0
- package/lib/src/owlly/controller/tile-panorama-controller.js.map +1 -1
- package/lib/src/owlly/element/tile-panorama.d.ts +1 -0
- package/lib/src/owlly/element/tile-panorama.js +16 -3
- package/lib/src/owlly/element/tile-panorama.js.map +1 -1
- package/lib/src/owlly/element/tile-plane.d.ts +9 -0
- package/lib/src/owlly/element/tile-plane.js +27 -0
- package/lib/src/owlly/element/tile-plane.js.map +1 -1
- package/lib/src/owlly/overlay/poi-overlay-3d.js.map +1 -1
- package/lib/src/owlly/overlay/poi-overlay.js.map +1 -1
- package/lib/src/owlly/stage/owlly.js +7 -1
- package/lib/src/owlly/stage/owlly.js.map +1 -1
- package/lib/src/owlly/stage/stage.js +2 -0
- package/lib/src/owlly/stage/stage.js.map +1 -1
- package/lib/src/web/main.rpeng.mes.plane.js.map +1 -1
- package/package.json +16 -7
- package/src/owlly/controller/texture-controller.ts +18 -1
- package/src/owlly/controller/tile-panorama-controller.ts +3 -1
- package/src/owlly/element/tile-panorama.ts +14 -0
- package/src/owlly/element/tile-plane.ts +26 -0
- package/src/owlly/overlay/poi-overlay-3d.ts +0 -4
- package/src/owlly/overlay/poi-overlay.ts +0 -4
- package/src/owlly/stage/owlly.ts +6 -1
- package/src/owlly/stage/stage.ts +2 -0
- package/src/web/main.rpeng.mes.plane.ts +0 -6
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
declare class LruCache<T> {
|
|
2
|
+
private values;
|
|
3
|
+
private capacity;
|
|
4
|
+
private totalCost;
|
|
5
|
+
private costCallback?;
|
|
6
|
+
constructor(capacity: number, costCallback?: (value: T) => number);
|
|
7
|
+
get(key: string, missedCallback?: {
|
|
8
|
+
(key: string): T | undefined;
|
|
9
|
+
}): T | undefined;
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* @param key
|
|
13
|
+
* @param value
|
|
14
|
+
* @param evictCallback
|
|
15
|
+
* @param abortIfFull
|
|
16
|
+
* @returns If some other item is evicted
|
|
17
|
+
*/
|
|
18
|
+
put(key: string, value: T, evictCallback?: {
|
|
19
|
+
(key: string, value: T): void;
|
|
20
|
+
}, abortIfFull?: boolean | undefined): boolean;
|
|
21
|
+
recycle(key: string, disposeCallback?: (key: string, value: T) => void): boolean;
|
|
22
|
+
clear(disposeCallback: (key: string, value: T) => void): void;
|
|
23
|
+
getCapacity(): number;
|
|
24
|
+
getTotalCost(): number;
|
|
25
|
+
}
|
|
26
|
+
export { LruCache };
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
// <script src="https://gist.github.com/dherges/86012049be7b1263b2e594134ff5816a.js"></script>
|
|
2
|
+
class LruCache {
|
|
3
|
+
constructor(capacity, costCallback) {
|
|
4
|
+
this.values = new Map();
|
|
5
|
+
this.capacity = capacity;
|
|
6
|
+
this.totalCost = 0;
|
|
7
|
+
this.costCallback = costCallback;
|
|
8
|
+
}
|
|
9
|
+
get(key, missedCallback) {
|
|
10
|
+
const hasKey = this.values.has(key);
|
|
11
|
+
let entry;
|
|
12
|
+
if (hasKey) {
|
|
13
|
+
// peek the entry, re-insert for LRU strategy
|
|
14
|
+
// console.log(`#LruCache# Hit cache with key: '${key}'`);
|
|
15
|
+
entry = this.values.get(key);
|
|
16
|
+
if (entry) {
|
|
17
|
+
this.values.delete(key);
|
|
18
|
+
this.values.set(key, entry);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
else if (missedCallback) {
|
|
22
|
+
// console.log(`#LruCache# Miss key: '${key}', will create one`);
|
|
23
|
+
entry = missedCallback(key);
|
|
24
|
+
if (entry) {
|
|
25
|
+
this.put(key, entry);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return entry;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @param key
|
|
33
|
+
* @param value
|
|
34
|
+
* @param evictCallback
|
|
35
|
+
* @param abortIfFull
|
|
36
|
+
* @returns If some other item is evicted
|
|
37
|
+
*/
|
|
38
|
+
put(key, value, evictCallback, abortIfFull = false) {
|
|
39
|
+
let ret = false;
|
|
40
|
+
// console.log(`#LruCache# abortIfFull=${abortIfFull}`);
|
|
41
|
+
if (this.totalCost >= this.capacity) {
|
|
42
|
+
if (abortIfFull) {
|
|
43
|
+
// console.log(`#LruCache# abortIfFull, return. this.totalCost=${this.totalCost}, this.capacity=${this.capacity}`);
|
|
44
|
+
return ret;
|
|
45
|
+
}
|
|
46
|
+
// least-recently used cache eviction strategy
|
|
47
|
+
const keyToDelete = this.values.keys().next().value;
|
|
48
|
+
const recycled = this.values.get(keyToDelete);
|
|
49
|
+
if (recycled) {
|
|
50
|
+
const recycledIncome = this.costCallback === undefined ? 1 : this.costCallback(recycled);
|
|
51
|
+
this.totalCost -= recycledIncome;
|
|
52
|
+
// console.log(`#LruCache# Cost exceeds capacity, evict entry with key'${keyToDelete}', totalCost=${this.totalCost}`);
|
|
53
|
+
if (evictCallback) {
|
|
54
|
+
// console.log('#LruCache# Will call evictCallback');
|
|
55
|
+
evictCallback(keyToDelete, recycled);
|
|
56
|
+
}
|
|
57
|
+
this.values.delete(keyToDelete);
|
|
58
|
+
}
|
|
59
|
+
ret = true;
|
|
60
|
+
}
|
|
61
|
+
if (this.values.has(key)) {
|
|
62
|
+
let cost0 = 1;
|
|
63
|
+
const oldValue = this.values.get(key);
|
|
64
|
+
if (oldValue && this.costCallback) {
|
|
65
|
+
cost0 = this.costCallback(oldValue);
|
|
66
|
+
}
|
|
67
|
+
const cost1 = this.costCallback === undefined ? 1 : this.costCallback(value);
|
|
68
|
+
this.values.set(key, value);
|
|
69
|
+
this.totalCost += (cost1 - cost0);
|
|
70
|
+
// console.log(`#LruCache# Replace entry with key'${key}', totalCost=${this.totalCost}`);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.values.set(key, value);
|
|
74
|
+
const cost = this.costCallback === undefined ? 1 : this.costCallback(value);
|
|
75
|
+
this.totalCost += cost;
|
|
76
|
+
// console.log(`#LruCache# Add new entry with key'${key}', totalCost=${this.totalCost}`);
|
|
77
|
+
}
|
|
78
|
+
return ret;
|
|
79
|
+
}
|
|
80
|
+
recycle(key, disposeCallback) {
|
|
81
|
+
let ret = false;
|
|
82
|
+
const recycled = this.values.get(key);
|
|
83
|
+
if (recycled) {
|
|
84
|
+
ret = true;
|
|
85
|
+
const recycledIncome = this.costCallback === undefined ? 1 : this.costCallback(recycled);
|
|
86
|
+
this.totalCost -= recycledIncome;
|
|
87
|
+
// console.log(`#LruCache# Recycle entry with key'${key}', totalCost=${this.totalCost}`);
|
|
88
|
+
if (disposeCallback) {
|
|
89
|
+
// console.log('#LruCache# Will call disposeCallback');
|
|
90
|
+
disposeCallback(key, recycled);
|
|
91
|
+
}
|
|
92
|
+
this.values.delete(key);
|
|
93
|
+
}
|
|
94
|
+
return ret;
|
|
95
|
+
}
|
|
96
|
+
clear(disposeCallback) {
|
|
97
|
+
this.values.forEach((recycled, key) => {
|
|
98
|
+
if (recycled) {
|
|
99
|
+
// console.log('#LruCache# Will call disposeCallback');
|
|
100
|
+
disposeCallback(key, recycled);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
this.totalCost = 0;
|
|
104
|
+
this.values.clear();
|
|
105
|
+
}
|
|
106
|
+
getCapacity() { return this.capacity; }
|
|
107
|
+
getTotalCost() { return this.totalCost; }
|
|
108
|
+
}
|
|
109
|
+
export { LruCache };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NS_THREE } from '../stage/externals';
|
|
2
|
+
import { PathStep } from '../element/map-kit/shape';
|
|
3
|
+
/** Block 专用类, 仅用于通过 Shape 生成 THREE 可用的路径格式 @ignore */
|
|
4
|
+
declare class MapUtils {
|
|
5
|
+
static GenerateShapeFromSteps(steps: PathStep[]): NS_THREE.Shape;
|
|
6
|
+
}
|
|
7
|
+
export { MapUtils };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Externals } from '../stage/externals';
|
|
2
|
+
import { PathCommand } from '../element/map-kit/shape';
|
|
3
|
+
/** Block 专用类, 仅用于通过 Shape 生成 THREE 可用的路径格式 @ignore */
|
|
4
|
+
class MapUtils {
|
|
5
|
+
static GenerateShapeFromSteps(steps) {
|
|
6
|
+
const { THREE } = Externals.getInstance();
|
|
7
|
+
const holes = [];
|
|
8
|
+
let hole = null;
|
|
9
|
+
let shapeCount = 0;
|
|
10
|
+
const result = new THREE.Shape();
|
|
11
|
+
steps.forEach(({ coords, command }) => {
|
|
12
|
+
switch (command) {
|
|
13
|
+
case PathCommand.MOVE:
|
|
14
|
+
if (coords.length !== 1)
|
|
15
|
+
throw new Error(`Parse path command error. Command: ${command}`);
|
|
16
|
+
shapeCount += 1;
|
|
17
|
+
if (shapeCount > 1) {
|
|
18
|
+
hole = new THREE.Path();
|
|
19
|
+
holes.push(hole);
|
|
20
|
+
hole.moveTo(coords[0][0], coords[0][1]);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
result.moveTo(coords[0][0], coords[0][1]);
|
|
24
|
+
}
|
|
25
|
+
break;
|
|
26
|
+
case PathCommand.LINE:
|
|
27
|
+
if (coords.length !== 1)
|
|
28
|
+
throw new Error(`Parse path command error. Command: ${command}`);
|
|
29
|
+
if (hole && shapeCount > 1)
|
|
30
|
+
hole.lineTo(coords[0][0], coords[0][1]);
|
|
31
|
+
else
|
|
32
|
+
result.lineTo(coords[0][0], coords[0][1]);
|
|
33
|
+
break;
|
|
34
|
+
case PathCommand.CURVE:
|
|
35
|
+
if (coords.length !== 3)
|
|
36
|
+
throw new Error(`Parse path command error. Command: ${command}`);
|
|
37
|
+
if (hole && shapeCount > 1) {
|
|
38
|
+
hole.bezierCurveTo(coords[0][0], coords[0][1], coords[1][0], coords[1][1], coords[2][0], coords[2][1]);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
result.bezierCurveTo(coords[0][0], coords[0][1], coords[1][0], coords[1][1], coords[2][0], coords[2][1]);
|
|
42
|
+
}
|
|
43
|
+
break;
|
|
44
|
+
default:
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
result.holes = holes;
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export { MapUtils };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
declare class NumberUtils {
|
|
2
|
+
static mergeRange(ranges: [number, number][], tolerance?: number): [number, number][];
|
|
3
|
+
static rangeSub(range: [number, number], subRanges: [number, number][], tolerance?: number): [number, number][];
|
|
4
|
+
static nearlyEquals(a: number, b: number, tolerance?: number): boolean;
|
|
5
|
+
static nearlyLess(a: number, b: number, include: boolean, tolerance?: number): boolean;
|
|
6
|
+
static nearlyThan(a: number, b: number, include: boolean, tolerance?: number): boolean;
|
|
7
|
+
}
|
|
8
|
+
export { NumberUtils };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
class NumberUtils {
|
|
2
|
+
static mergeRange(ranges, tolerance = 0.0001) {
|
|
3
|
+
const t = [];
|
|
4
|
+
const s = Array.from(ranges);
|
|
5
|
+
s.sort((a, b) => b[0] - a[0]);
|
|
6
|
+
let cur = s.pop();
|
|
7
|
+
while (cur) {
|
|
8
|
+
const next = s.pop();
|
|
9
|
+
if (next) {
|
|
10
|
+
if ((next[0] >= cur[0] && next[0] <= cur[1])
|
|
11
|
+
|| NumberUtils.nearlyEquals(next[0], cur[0], tolerance)
|
|
12
|
+
|| NumberUtils.nearlyEquals(next[0], cur[1], tolerance)) {
|
|
13
|
+
cur[1] = Math.max(cur[1], next[1]);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
t.push(cur);
|
|
17
|
+
cur = next;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
t.push(cur);
|
|
22
|
+
cur = next;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return t;
|
|
26
|
+
}
|
|
27
|
+
static rangeSub(range, subRanges, tolerance = 0.0001) {
|
|
28
|
+
const [start, end] = range;
|
|
29
|
+
const trs = [];
|
|
30
|
+
let tr = [];
|
|
31
|
+
trs.push(tr);
|
|
32
|
+
tr.push(start);
|
|
33
|
+
// eslint-disable-next-line no-param-reassign
|
|
34
|
+
subRanges = NumberUtils.mergeRange(subRanges, tolerance);
|
|
35
|
+
for (let i = 0; i < subRanges.length; i++) {
|
|
36
|
+
const subRange = subRanges[i];
|
|
37
|
+
const [subStart, subEnd] = subRange;
|
|
38
|
+
if (subStart <= end) {
|
|
39
|
+
tr.push(subStart);
|
|
40
|
+
tr = [];
|
|
41
|
+
trs.push(tr);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
if (subEnd <= end) {
|
|
47
|
+
tr.push(subEnd);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (tr.length === 1 && tr[0] < end) {
|
|
54
|
+
tr.push(end);
|
|
55
|
+
}
|
|
56
|
+
// const trsResult = [] as number[][];
|
|
57
|
+
const trsResult = trs.filter(([v1, v2]) => v2 !== undefined && !NumberUtils.nearlyEquals(v1, v2));
|
|
58
|
+
return trsResult;
|
|
59
|
+
}
|
|
60
|
+
static nearlyEquals(a, b, tolerance = 0.0001) {
|
|
61
|
+
return Math.abs(a - b) < tolerance;
|
|
62
|
+
}
|
|
63
|
+
static nearlyLess(a, b, include, tolerance = 0.0001) {
|
|
64
|
+
const equals = NumberUtils.nearlyEquals(a, b, tolerance);
|
|
65
|
+
return (include ? equals : false) || a < b;
|
|
66
|
+
}
|
|
67
|
+
static nearlyThan(a, b, include, tolerance = 0.0001) {
|
|
68
|
+
const equals = NumberUtils.nearlyEquals(a, b, tolerance);
|
|
69
|
+
return (include ? equals : false) || a > b;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export { NumberUtils };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { NS_THREE } from '../stage/externals';
|
|
2
|
+
declare class PanoramaModelUtil {
|
|
3
|
+
/**
|
|
4
|
+
* 获取模型的顶点着色器
|
|
5
|
+
* @ignore
|
|
6
|
+
*/
|
|
7
|
+
static getModelVS(): string;
|
|
8
|
+
/**
|
|
9
|
+
* 获取穿梭的定点着色器
|
|
10
|
+
* @ignore
|
|
11
|
+
*/
|
|
12
|
+
static getInstantTranslationVS(): string;
|
|
13
|
+
/**
|
|
14
|
+
* 获得模型片源着色器
|
|
15
|
+
* @ignore
|
|
16
|
+
* @returns {string} 片源着色器代码
|
|
17
|
+
*/
|
|
18
|
+
static getModelFS(): string;
|
|
19
|
+
/**
|
|
20
|
+
* debug模型顶点着色器
|
|
21
|
+
* @ignore
|
|
22
|
+
*/
|
|
23
|
+
static debugModelVS(): string;
|
|
24
|
+
/**
|
|
25
|
+
* debug模型片源着色器
|
|
26
|
+
* @ignore
|
|
27
|
+
*/
|
|
28
|
+
static debugModelFS(): string;
|
|
29
|
+
static createModelUniforms(): {
|
|
30
|
+
[uniform: string]: NS_THREE.IUniform;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* @ignore
|
|
34
|
+
*/
|
|
35
|
+
static createInstantTranslationUniforms(): {
|
|
36
|
+
[uniform: string]: NS_THREE.IUniform;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* 获取模型网格
|
|
40
|
+
* @ignore
|
|
41
|
+
* @param e 3d对象
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
static getModelMeshInElement(e: NS_THREE.Object3D): NS_THREE.Mesh | undefined;
|
|
45
|
+
}
|
|
46
|
+
export { PanoramaModelUtil, };
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { Externals } from '../stage/externals';
|
|
2
|
+
/* eslint-disable max-len */
|
|
3
|
+
class PanoramaModelUtil {
|
|
4
|
+
/**
|
|
5
|
+
* 获取模型的顶点着色器
|
|
6
|
+
* @ignore
|
|
7
|
+
*/
|
|
8
|
+
static getModelVS() {
|
|
9
|
+
const vertexShader = `
|
|
10
|
+
uniform vec3 pano0Position;
|
|
11
|
+
uniform mat4 pano0Matrix;
|
|
12
|
+
uniform vec3 pano1Position;
|
|
13
|
+
uniform mat4 pano1Matrix;
|
|
14
|
+
|
|
15
|
+
varying vec3 vWorldPosition0;
|
|
16
|
+
varying vec3 vWorldPosition1;
|
|
17
|
+
|
|
18
|
+
void main() {
|
|
19
|
+
|
|
20
|
+
vec4 worldPosition = modelMatrix * vec4(position, 1.0);
|
|
21
|
+
|
|
22
|
+
vec3 positionLocalToPanoCenter0 = worldPosition.xyz - pano0Position;
|
|
23
|
+
vWorldPosition0 = (vec4(positionLocalToPanoCenter0, 1.0) * pano0Matrix).xyz;
|
|
24
|
+
vWorldPosition0.y *= -1.0;
|
|
25
|
+
|
|
26
|
+
vec3 positionLocalToPanoCenter1 = worldPosition.xyz - pano1Position;
|
|
27
|
+
vWorldPosition1 = (vec4(positionLocalToPanoCenter1, 1.0) * pano1Matrix).xyz;
|
|
28
|
+
vWorldPosition1.y *= -1.0;
|
|
29
|
+
|
|
30
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
|
|
31
|
+
}`;
|
|
32
|
+
return vertexShader;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 获取穿梭的定点着色器
|
|
36
|
+
* @ignore
|
|
37
|
+
*/
|
|
38
|
+
static getInstantTranslationVS() {
|
|
39
|
+
const vertexShader = `
|
|
40
|
+
uniform mat4 matrixT;
|
|
41
|
+
|
|
42
|
+
uniform vec3 pano0Position;
|
|
43
|
+
uniform mat4 pano0Matrix;
|
|
44
|
+
uniform vec3 pano1Position;
|
|
45
|
+
uniform mat4 pano1Matrix;
|
|
46
|
+
|
|
47
|
+
varying vec3 vWorldPosition0;
|
|
48
|
+
varying vec3 vWorldPosition1;
|
|
49
|
+
|
|
50
|
+
void main() {
|
|
51
|
+
|
|
52
|
+
vec4 worldPosition = modelMatrix * vec4(position, 1.0);
|
|
53
|
+
vec4 worldPosition0 = matrixT * worldPosition;
|
|
54
|
+
|
|
55
|
+
vec3 positionLocalToPanoCenter1 = worldPosition.xyz - pano1Position;
|
|
56
|
+
vWorldPosition1 = (vec4(positionLocalToPanoCenter1, 1.0) * pano1Matrix).xyz;
|
|
57
|
+
vWorldPosition1.y *= -1.0;
|
|
58
|
+
|
|
59
|
+
vec3 positionLocalToPanoCenter0 = worldPosition0.xyz - pano0Position;
|
|
60
|
+
vWorldPosition0 = (vec4(positionLocalToPanoCenter0, 1.0) * pano0Matrix).xyz;
|
|
61
|
+
vWorldPosition0.y *= -1.0;
|
|
62
|
+
|
|
63
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
|
|
64
|
+
}`;
|
|
65
|
+
return vertexShader;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 获得模型片源着色器
|
|
69
|
+
* @ignore
|
|
70
|
+
* @returns {string} 片源着色器代码
|
|
71
|
+
*/
|
|
72
|
+
static getModelFS() {
|
|
73
|
+
const fragmentShader = `
|
|
74
|
+
uniform float weight0;
|
|
75
|
+
uniform float weight1;
|
|
76
|
+
|
|
77
|
+
uniform samplerCube pano0Map;
|
|
78
|
+
|
|
79
|
+
uniform samplerCube pano1Map;
|
|
80
|
+
|
|
81
|
+
varying vec3 vWorldPosition0;
|
|
82
|
+
varying vec3 vWorldPosition1;
|
|
83
|
+
|
|
84
|
+
void main() {
|
|
85
|
+
vec3 cp0 = vWorldPosition0.xyz;
|
|
86
|
+
vec3 cp1 = vWorldPosition1.xyz;
|
|
87
|
+
vec4 colorFromPano0 = textureCube( pano0Map, cp0);
|
|
88
|
+
vec4 colorFromPano1 = textureCube( pano1Map, cp1);
|
|
89
|
+
|
|
90
|
+
vec4 colorFromPanos;
|
|
91
|
+
// 'colorFromPanos = mix(colorFromPano0, colorFromPano1, progress);
|
|
92
|
+
colorFromPanos = colorFromPano0 * weight0 + colorFromPano1 * weight1;
|
|
93
|
+
gl_FragColor = vec4(colorFromPanos.rgb, 1.0);
|
|
94
|
+
}`;
|
|
95
|
+
return fragmentShader;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* debug模型顶点着色器
|
|
99
|
+
* @ignore
|
|
100
|
+
*/
|
|
101
|
+
static debugModelVS() {
|
|
102
|
+
const vertexShader = `
|
|
103
|
+
uniform vec2 xRange;
|
|
104
|
+
uniform vec2 yRange;
|
|
105
|
+
uniform vec2 zRange;
|
|
106
|
+
varying vec4 vColor;
|
|
107
|
+
|
|
108
|
+
void main() {
|
|
109
|
+
float x = (position.x - xRange.x) / xRange.y;
|
|
110
|
+
float y = (position.y - yRange.x) / yRange.y;
|
|
111
|
+
float z = (position.z - zRange.x) / zRange.y;
|
|
112
|
+
vColor = vec4(x, y, z, 1.0);
|
|
113
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
|
|
114
|
+
}`;
|
|
115
|
+
return vertexShader;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* debug模型片源着色器
|
|
119
|
+
* @ignore
|
|
120
|
+
*/
|
|
121
|
+
static debugModelFS() {
|
|
122
|
+
const fragmentShader = `
|
|
123
|
+
varying vec4 vColor;
|
|
124
|
+
|
|
125
|
+
void main() {
|
|
126
|
+
gl_FragColor = vColor;
|
|
127
|
+
}`;
|
|
128
|
+
return fragmentShader;
|
|
129
|
+
}
|
|
130
|
+
static createModelUniforms() {
|
|
131
|
+
const { THREE } = Externals.getInstance();
|
|
132
|
+
const modelUniforms = {
|
|
133
|
+
weight0: {
|
|
134
|
+
type: 'f',
|
|
135
|
+
value: 0,
|
|
136
|
+
},
|
|
137
|
+
weight1: {
|
|
138
|
+
type: 'f',
|
|
139
|
+
value: 0,
|
|
140
|
+
},
|
|
141
|
+
// 源全景图立方体贴图
|
|
142
|
+
pano0Map: {
|
|
143
|
+
type: 't',
|
|
144
|
+
value: null,
|
|
145
|
+
},
|
|
146
|
+
// 源全景图位置
|
|
147
|
+
pano0Position: {
|
|
148
|
+
type: 'v3',
|
|
149
|
+
value: new THREE.Vector3(),
|
|
150
|
+
},
|
|
151
|
+
// 源全景图世界变换矩阵
|
|
152
|
+
pano0Matrix: {
|
|
153
|
+
type: 'm4',
|
|
154
|
+
value: new THREE.Matrix4(),
|
|
155
|
+
},
|
|
156
|
+
// 目标全景图立方体贴图
|
|
157
|
+
pano1Map: {
|
|
158
|
+
type: 't',
|
|
159
|
+
value: null,
|
|
160
|
+
},
|
|
161
|
+
// 目标全景图位置
|
|
162
|
+
pano1Position: {
|
|
163
|
+
type: 'v3',
|
|
164
|
+
value: new THREE.Vector3(),
|
|
165
|
+
},
|
|
166
|
+
// 目标全景图世界变换矩阵
|
|
167
|
+
pano1Matrix: {
|
|
168
|
+
type: 'm4',
|
|
169
|
+
value: new THREE.Matrix4(),
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
return modelUniforms;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* @ignore
|
|
176
|
+
*/
|
|
177
|
+
static createInstantTranslationUniforms() {
|
|
178
|
+
const { THREE } = Externals.getInstance();
|
|
179
|
+
const modelUniforms = {
|
|
180
|
+
weight0: {
|
|
181
|
+
type: 'f',
|
|
182
|
+
value: 0,
|
|
183
|
+
},
|
|
184
|
+
weight1: {
|
|
185
|
+
type: 'f',
|
|
186
|
+
value: 0,
|
|
187
|
+
},
|
|
188
|
+
// 源全景图立方体贴图
|
|
189
|
+
pano0Map: {
|
|
190
|
+
type: 't',
|
|
191
|
+
value: null,
|
|
192
|
+
},
|
|
193
|
+
pano0Position: {
|
|
194
|
+
type: 'v3',
|
|
195
|
+
value: new THREE.Vector3(),
|
|
196
|
+
},
|
|
197
|
+
// 源全景图世界变换矩阵
|
|
198
|
+
pano0Matrix: {
|
|
199
|
+
type: 'm4',
|
|
200
|
+
value: new THREE.Matrix4(),
|
|
201
|
+
},
|
|
202
|
+
// 目标全景图立方体贴图
|
|
203
|
+
pano1Map: {
|
|
204
|
+
type: 't',
|
|
205
|
+
value: null,
|
|
206
|
+
},
|
|
207
|
+
// 目标全景图位置
|
|
208
|
+
pano1Position: {
|
|
209
|
+
type: 'v3',
|
|
210
|
+
value: new THREE.Vector3(),
|
|
211
|
+
},
|
|
212
|
+
// 目标全景图世界变换矩阵
|
|
213
|
+
pano1Matrix: {
|
|
214
|
+
type: 'm4',
|
|
215
|
+
value: new THREE.Matrix4(),
|
|
216
|
+
},
|
|
217
|
+
matrixT: {
|
|
218
|
+
type: 'm4',
|
|
219
|
+
value: new THREE.Matrix4(),
|
|
220
|
+
},
|
|
221
|
+
};
|
|
222
|
+
return modelUniforms;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* 获取模型网格
|
|
226
|
+
* @ignore
|
|
227
|
+
* @param e 3d对象
|
|
228
|
+
* @returns
|
|
229
|
+
*/
|
|
230
|
+
static getModelMeshInElement(e) {
|
|
231
|
+
let ret;
|
|
232
|
+
const { THREE } = Externals.getInstance();
|
|
233
|
+
if (e instanceof THREE.Mesh)
|
|
234
|
+
return e;
|
|
235
|
+
if (e) {
|
|
236
|
+
e.traverse((obj) => {
|
|
237
|
+
if (obj instanceof THREE.Mesh) {
|
|
238
|
+
ret = obj;
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
return ret;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
export { PanoramaModelUtil, };
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { NS_THREE } from '../stage/externals';
|
|
2
|
+
import { FloorModel, GroundParameters } from '../element/floor-model';
|
|
3
|
+
declare class PathUtils {
|
|
4
|
+
static PathMeshOffsetZ: number;
|
|
5
|
+
static ArrowMeshOffsetZ: number;
|
|
6
|
+
static getAngle(vec0: NS_THREE.Vector2, vec1: NS_THREE.Vector2): number;
|
|
7
|
+
/**
|
|
8
|
+
* 路径简化
|
|
9
|
+
* @param path 路径点集数组
|
|
10
|
+
* @param ignoreFirst 是否在简化过程中忽略第一个点
|
|
11
|
+
* @param smoothingOptimization 是否针对平滑对路径进行插值
|
|
12
|
+
* @param simplifyDistanceThreshold 简化时路径最短保留的距离, 默认为5
|
|
13
|
+
* @param maximumTurningDegree 简化时三点夹角认定为转弯的最大角度,默认为150
|
|
14
|
+
* @param smoothingDistance 平滑时使用的转角最大距离
|
|
15
|
+
*/
|
|
16
|
+
static simplify(path: {
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
}[], ignoreFirst?: boolean, smoothingOptimization?: boolean, simplifyDistanceThreshold?: number, maximumTurningDegree?: number, smoothingDistance?: number): {
|
|
20
|
+
x: number;
|
|
21
|
+
y: number;
|
|
22
|
+
}[];
|
|
23
|
+
static averageStepLength(path: [number, number][]): number;
|
|
24
|
+
static smoothPath(path: [number, number][], threshold?: number): [number, number][];
|
|
25
|
+
static smoothPathBezier(path: [number, number][], bezierLength: number, segment?: number): [number, number][];
|
|
26
|
+
static getRenderHeight(expression: number[], x: number, y: number): number;
|
|
27
|
+
static getPointHash(x: number, y: number, minX: number, minY: number, dist?: number): [number, number];
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated
|
|
30
|
+
* @param path 路径点二维坐标数组
|
|
31
|
+
* @param params 其它可选参数
|
|
32
|
+
* @param arrowImageRatio 箭头图像的宽高比,用于生成纹理坐标
|
|
33
|
+
* @param arrowImageURL 箭头图像URL
|
|
34
|
+
* @param floorModel FloorModel对象,用于计算地面高度坐标
|
|
35
|
+
* @param groundParams GroundParameters对象,用于计算地面高度坐标
|
|
36
|
+
* @param color 路劲的颜色
|
|
37
|
+
* 当存在groundParams时优先用它计算,忽略floorModel
|
|
38
|
+
*/
|
|
39
|
+
static generatePathMesh(path: {
|
|
40
|
+
x: number;
|
|
41
|
+
y: number;
|
|
42
|
+
}[], params?: {
|
|
43
|
+
viewDistance?: number;
|
|
44
|
+
gradientDistance?: number;
|
|
45
|
+
arrowImageRatio?: number;
|
|
46
|
+
arrowImageURL?: string;
|
|
47
|
+
floorModel?: FloorModel;
|
|
48
|
+
groundParams?: GroundParameters;
|
|
49
|
+
color?: string;
|
|
50
|
+
dynamicPathEnabled?: boolean;
|
|
51
|
+
width?: number;
|
|
52
|
+
}): {
|
|
53
|
+
mesh: NS_THREE.Mesh;
|
|
54
|
+
arrowMeshes: {
|
|
55
|
+
arrowMesh: NS_THREE.Mesh;
|
|
56
|
+
index: number;
|
|
57
|
+
}[];
|
|
58
|
+
newPath: [number, number][];
|
|
59
|
+
pointMap: Map<string, Map<string, number[][]>>;
|
|
60
|
+
pathMinX: number;
|
|
61
|
+
pathMinY: number;
|
|
62
|
+
progressBuffer: Float32Array;
|
|
63
|
+
pathDistance: number[];
|
|
64
|
+
};
|
|
65
|
+
static nearlyEqualsV2(v1: NS_THREE.Vector2, v2: NS_THREE.Vector2, tolerance?: number): boolean;
|
|
66
|
+
static nearlyEqualsV3(v1: NS_THREE.Vector3, v2: NS_THREE.Vector3, tolerance?: number): boolean;
|
|
67
|
+
static mergePathSameVectorPoint3(path: NS_THREE.Vector3[], tolerance?: number): void;
|
|
68
|
+
static mergePathSameVectorPoint2(path: NS_THREE.Vector2[], tolerance?: number): void;
|
|
69
|
+
static mergeSamePoint3(path: NS_THREE.Vector3[], tolerance?: number): void;
|
|
70
|
+
static mergeSamePoint2(path: NS_THREE.Vector2[], tolerance?: number): void;
|
|
71
|
+
static splitPathByPoints(path: NS_THREE.Vector3[], closed: boolean, points: NS_THREE.Vector3[], widths: number | number[], tolerance?: number): {
|
|
72
|
+
paths: NS_THREE.Vector3[][];
|
|
73
|
+
split: boolean;
|
|
74
|
+
};
|
|
75
|
+
static invalidPath(path: NS_THREE.Vector3[]): boolean;
|
|
76
|
+
static getDistances(path: NS_THREE.Vector3[]): number[];
|
|
77
|
+
static findPointIndexByPath(path: NS_THREE.Vector3[], point: NS_THREE.Vector3, tolerance?: number): number[];
|
|
78
|
+
static pointInLine(point: NS_THREE.Vector3, lineP1: NS_THREE.Vector3, lineP2: NS_THREE.Vector3, tolerance?: number): boolean;
|
|
79
|
+
}
|
|
80
|
+
export { PathUtils };
|