Commit 1e1dfc3e by lyc

1

parents
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
{
"recommendations": ["Vue.volar"]
}
# Vue 3 + Vite
This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
Learn more about IDE Support for Vue in the [Vue Docs Scaling up Guide](https://vuejs.org/guide/scaling-up/tooling.html#ide-support).
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + Vue</title>
<script src="../Build/CesiumUnminified/Cesium.js"></script>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>
{
"name": "vite-vue-cesium",
"version": "0.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "vite-vue-cesium",
"version": "0.0.0",
"dependencies": {
"cesium": "1.99",
"element-plus": "^2.7.7",
"vite-plugin-cesium": "^1.2.22",
"vue": "^3.4.29"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.0.5",
"vite": "^5.3.1"
}
},
"node_modules/@babel/parser": {
"version": "7.24.8",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.8.tgz",
"integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==",
"bin": {
"parser": "bin/babel-parser.js"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@ctrl/tinycolor": {
"version": "3.6.1",
"resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
"integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==",
"engines": {
"node": ">=10"
}
},
"node_modules/@element-plus/icons-vue": {
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
"integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
"peerDependencies": {
"vue": "^3.2.0"
}
},
"node_modules/@esbuild/aix-ppc64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
"integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
"cpu": [
"ppc64"
],
"optional": true,
"os": [
"aix"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/android-arm": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
"integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
"cpu": [
"arm"
],
"optional": true,
"os": [
"android"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/android-arm64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
"integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"android"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/android-x64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
"integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"android"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/darwin-arm64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
"integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/darwin-x64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
"integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/freebsd-arm64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
"integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"freebsd"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/freebsd-x64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
"integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"freebsd"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/linux-arm": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
"integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
"cpu": [
"arm"
],
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/linux-arm64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
"integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/linux-ia32": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
"integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
"cpu": [
"ia32"
],
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/linux-loong64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
"integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
"cpu": [
"loong64"
],
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/linux-mips64el": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
"integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
"cpu": [
"mips64el"
],
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/linux-ppc64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
"integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
"cpu": [
"ppc64"
],
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/linux-riscv64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
"integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
"cpu": [
"riscv64"
],
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/linux-s390x": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
"integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
"cpu": [
"s390x"
],
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/linux-x64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
"integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/netbsd-x64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
"integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"netbsd"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/openbsd-x64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
"integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"openbsd"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/sunos-x64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
"integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"sunos"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/win32-arm64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
"integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/win32-ia32": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
"integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
"cpu": [
"ia32"
],
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@esbuild/win32-x64": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
"integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@floating-ui/core": {
"version": "1.6.4",
"resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.6.4.tgz",
"integrity": "sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==",
"dependencies": {
"@floating-ui/utils": "^0.2.4"
}
},
"node_modules/@floating-ui/dom": {
"version": "1.6.7",
"resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.6.7.tgz",
"integrity": "sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng==",
"dependencies": {
"@floating-ui/core": "^1.6.0",
"@floating-ui/utils": "^0.2.4"
}
},
"node_modules/@floating-ui/utils": {
"version": "0.2.4",
"resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.4.tgz",
"integrity": "sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA=="
},
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.5.0",
"resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
},
"node_modules/@popperjs/core": {
"name": "@sxzz/popperjs-es",
"version": "2.11.7",
"resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
"integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
},
"node_modules/@protobufjs/aspromise": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
"integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
},
"node_modules/@protobufjs/base64": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/@protobufjs/base64/-/base64-1.1.2.tgz",
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
},
"node_modules/@protobufjs/codegen": {
"version": "2.0.4",
"resolved": "https://registry.npmmirror.com/@protobufjs/codegen/-/codegen-2.0.4.tgz",
"integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
},
"node_modules/@protobufjs/eventemitter": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
"integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
},
"node_modules/@protobufjs/fetch": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/@protobufjs/fetch/-/fetch-1.1.0.tgz",
"integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
"dependencies": {
"@protobufjs/aspromise": "^1.1.1",
"@protobufjs/inquire": "^1.1.0"
}
},
"node_modules/@protobufjs/float": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/@protobufjs/float/-/float-1.0.2.tgz",
"integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
},
"node_modules/@protobufjs/inquire": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/@protobufjs/inquire/-/inquire-1.1.0.tgz",
"integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
},
"node_modules/@protobufjs/path": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/@protobufjs/path/-/path-1.1.2.tgz",
"integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
},
"node_modules/@protobufjs/pool": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/@protobufjs/pool/-/pool-1.1.0.tgz",
"integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
},
"node_modules/@protobufjs/utf8": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/@protobufjs/utf8/-/utf8-1.1.0.tgz",
"integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
},
"node_modules/@rollup/pluginutils": {
"version": "4.2.1",
"resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz",
"integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==",
"dependencies": {
"estree-walker": "^2.0.1",
"picomatch": "^2.2.2"
},
"engines": {
"node": ">= 8.0.0"
}
},
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.1.tgz",
"integrity": "sha512-lncuC4aHicncmbORnx+dUaAgzee9cm/PbIqgWz1PpXuwc+sa1Ct83tnqUDy/GFKleLiN7ZIeytM6KJ4cAn1SxA==",
"cpu": [
"arm"
],
"optional": true,
"os": [
"android"
]
},
"node_modules/@rollup/rollup-android-arm64": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.1.tgz",
"integrity": "sha512-F/tkdw0WSs4ojqz5Ovrw5r9odqzFjb5LIgHdHZG65dFI1lWTWRVy32KDJLKRISHgJvqUeUhdIvy43fX41znyDg==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"android"
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.1.tgz",
"integrity": "sha512-vk+ma8iC1ebje/ahpxpnrfVQJibTMyHdWpOGZ3JpQ7Mgn/3QNHmPq7YwjZbIE7km73dH5M1e6MRRsnEBW7v5CQ==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@rollup/rollup-darwin-x64": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.1.tgz",
"integrity": "sha512-IgpzXKauRe1Tafcej9STjSSuG0Ghu/xGYH+qG6JwsAUxXrnkvNHcq/NL6nz1+jzvWAnQkuAJ4uIwGB48K9OCGA==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.1.tgz",
"integrity": "sha512-P9bSiAUnSSM7EmyRK+e5wgpqai86QOSv8BwvkGjLwYuOpaeomiZWifEos517CwbG+aZl1T4clSE1YqqH2JRs+g==",
"cpu": [
"arm"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.1.tgz",
"integrity": "sha512-5RnjpACoxtS+aWOI1dURKno11d7krfpGDEn19jI8BuWmSBbUC4ytIADfROM1FZrFhQPSoP+KEa3NlEScznBTyQ==",
"cpu": [
"arm"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.1.tgz",
"integrity": "sha512-8mwmGD668m8WaGbthrEYZ9CBmPug2QPGWxhJxh/vCgBjro5o96gL04WLlg5BA233OCWLqERy4YUzX3bJGXaJgQ==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.1.tgz",
"integrity": "sha512-dJX9u4r4bqInMGOAQoGYdwDP8lQiisWb9et+T84l2WXk41yEej8v2iGKodmdKimT8cTAYt0jFb+UEBxnPkbXEQ==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.1.tgz",
"integrity": "sha512-V72cXdTl4EI0x6FNmho4D502sy7ed+LuVW6Ym8aI6DRQ9hQZdp5sj0a2usYOlqvFBNKQnLQGwmYnujo2HvjCxQ==",
"cpu": [
"ppc64"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.1.tgz",
"integrity": "sha512-f+pJih7sxoKmbjghrM2RkWo2WHUW8UbfxIQiWo5yeCaCM0TveMEuAzKJte4QskBp1TIinpnRcxkquY+4WuY/tg==",
"cpu": [
"riscv64"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.1.tgz",
"integrity": "sha512-qb1hMMT3Fr/Qz1OKovCuUM11MUNLUuHeBC2DPPAWUYYUAOFWaxInaTwTQmc7Fl5La7DShTEpmYwgdt2hG+4TEg==",
"cpu": [
"s390x"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.1.tgz",
"integrity": "sha512-7O5u/p6oKUFYjRbZkL2FLbwsyoJAjyeXHCU3O4ndvzg2OFO2GinFPSJFGbiwFDaCFc+k7gs9CF243PwdPQFh5g==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.1.tgz",
"integrity": "sha512-pDLkYITdYrH/9Cv/Vlj8HppDuLMDUBmgsM0+N+xLtFd18aXgM9Nyqupb/Uw+HeidhfYg2lD6CXvz6CjoVOaKjQ==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.1.tgz",
"integrity": "sha512-W2ZNI323O/8pJdBGil1oCauuCzmVd9lDmWBBqxYZcOqWD6aWqJtVBQ1dFrF4dYpZPks6F+xCZHfzG5hYlSHZ6g==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"win32"
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.1.tgz",
"integrity": "sha512-ELfEX1/+eGZYMaCIbK4jqLxO1gyTSOIlZr6pbC4SRYFaSIDVKOnZNMdoZ+ON0mrFDp4+H5MhwNC1H/AhE3zQLg==",
"cpu": [
"ia32"
],
"optional": true,
"os": [
"win32"
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.1.tgz",
"integrity": "sha512-yjk2MAkQmoaPYCSu35RLJ62+dz358nE83VfTePJRp8CG7aMg25mEJYpXFiD+NcevhX8LxD5OP5tktPXnXN7GDw==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"win32"
]
},
"node_modules/@tweenjs/tween.js": {
"version": "18.6.4",
"resolved": "https://registry.npmmirror.com/@tweenjs/tween.js/-/tween.js-18.6.4.tgz",
"integrity": "sha512-lB9lMjuqjtuJrx7/kOkqQBtllspPIN+96OvTCeJ2j5FEzinoAXTdAMFnDAQT1KVPRlnYfBrqxtqP66vDM40xxQ=="
},
"node_modules/@types/estree": {
"version": "1.0.5",
"resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz",
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
},
"node_modules/@types/lodash": {
"version": "4.17.6",
"resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.6.tgz",
"integrity": "sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA=="
},
"node_modules/@types/lodash-es": {
"version": "4.17.12",
"resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz",
"integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
"dependencies": {
"@types/lodash": "*"
}
},
"node_modules/@types/node": {
"version": "20.14.10",
"resolved": "https://registry.npmmirror.com/@types/node/-/node-20.14.10.tgz",
"integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==",
"dependencies": {
"undici-types": "~5.26.4"
}
},
"node_modules/@types/web-bluetooth": {
"version": "0.0.16",
"resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
"integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
},
"node_modules/@vitejs/plugin-vue": {
"version": "5.0.5",
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.0.5.tgz",
"integrity": "sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==",
"dev": true,
"engines": {
"node": "^18.0.0 || >=20.0.0"
},
"peerDependencies": {
"vite": "^5.0.0",
"vue": "^3.2.25"
}
},
"node_modules/@vue/compiler-core": {
"version": "3.4.31",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.31.tgz",
"integrity": "sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==",
"dependencies": {
"@babel/parser": "^7.24.7",
"@vue/shared": "3.4.31",
"entities": "^4.5.0",
"estree-walker": "^2.0.2",
"source-map-js": "^1.2.0"
}
},
"node_modules/@vue/compiler-dom": {
"version": "3.4.31",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.31.tgz",
"integrity": "sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==",
"dependencies": {
"@vue/compiler-core": "3.4.31",
"@vue/shared": "3.4.31"
}
},
"node_modules/@vue/compiler-sfc": {
"version": "3.4.31",
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.31.tgz",
"integrity": "sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==",
"dependencies": {
"@babel/parser": "^7.24.7",
"@vue/compiler-core": "3.4.31",
"@vue/compiler-dom": "3.4.31",
"@vue/compiler-ssr": "3.4.31",
"@vue/shared": "3.4.31",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.10",
"postcss": "^8.4.38",
"source-map-js": "^1.2.0"
}
},
"node_modules/@vue/compiler-ssr": {
"version": "3.4.31",
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.31.tgz",
"integrity": "sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==",
"dependencies": {
"@vue/compiler-dom": "3.4.31",
"@vue/shared": "3.4.31"
}
},
"node_modules/@vue/reactivity": {
"version": "3.4.31",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.31.tgz",
"integrity": "sha512-VGkTani8SOoVkZNds1PfJ/T1SlAIOf8E58PGAhIOUDYPC4GAmFA2u/E14TDAFcf3vVDKunc4QqCe/SHr8xC65Q==",
"dependencies": {
"@vue/shared": "3.4.31"
}
},
"node_modules/@vue/runtime-core": {
"version": "3.4.31",
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.31.tgz",
"integrity": "sha512-LDkztxeUPazxG/p8c5JDDKPfkCDBkkiNLVNf7XZIUnJ+66GVGkP+TIh34+8LtPisZ+HMWl2zqhIw0xN5MwU1cw==",
"dependencies": {
"@vue/reactivity": "3.4.31",
"@vue/shared": "3.4.31"
}
},
"node_modules/@vue/runtime-dom": {
"version": "3.4.31",
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.31.tgz",
"integrity": "sha512-2Auws3mB7+lHhTFCg8E9ZWopA6Q6L455EcU7bzcQ4x6Dn4cCPuqj6S2oBZgN2a8vJRS/LSYYxwFFq2Hlx3Fsaw==",
"dependencies": {
"@vue/reactivity": "3.4.31",
"@vue/runtime-core": "3.4.31",
"@vue/shared": "3.4.31",
"csstype": "^3.1.3"
}
},
"node_modules/@vue/server-renderer": {
"version": "3.4.31",
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.31.tgz",
"integrity": "sha512-D5BLbdvrlR9PE3by9GaUp1gQXlCNadIZytMIb8H2h3FMWJd4oUfkUTEH2wAr3qxoRz25uxbTcbqd3WKlm9EHQA==",
"dependencies": {
"@vue/compiler-ssr": "3.4.31",
"@vue/shared": "3.4.31"
},
"peerDependencies": {
"vue": "3.4.31"
}
},
"node_modules/@vue/shared": {
"version": "3.4.31",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.31.tgz",
"integrity": "sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA=="
},
"node_modules/@vueuse/core": {
"version": "9.13.0",
"resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz",
"integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==",
"dependencies": {
"@types/web-bluetooth": "^0.0.16",
"@vueuse/metadata": "9.13.0",
"@vueuse/shared": "9.13.0",
"vue-demi": "*"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@vueuse/core/node_modules/vue-demi": {
"version": "0.14.8",
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.8.tgz",
"integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==",
"hasInstallScript": true,
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
"vue-demi-switch": "bin/vue-demi-switch.js"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"@vue/composition-api": "^1.0.0-rc.1",
"vue": "^3.0.0-0 || ^2.6.0"
},
"peerDependenciesMeta": {
"@vue/composition-api": {
"optional": true
}
}
},
"node_modules/@vueuse/metadata": {
"version": "9.13.0",
"resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz",
"integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==",
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@vueuse/shared": {
"version": "9.13.0",
"resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz",
"integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==",
"dependencies": {
"vue-demi": "*"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@vueuse/shared/node_modules/vue-demi": {
"version": "0.14.8",
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.8.tgz",
"integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==",
"hasInstallScript": true,
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
"vue-demi-switch": "bin/vue-demi-switch.js"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"@vue/composition-api": "^1.0.0-rc.1",
"vue": "^3.0.0-0 || ^2.6.0"
},
"peerDependenciesMeta": {
"@vue/composition-api": {
"optional": true
}
}
},
"node_modules/@zip.js/zip.js": {
"version": "2.4.26",
"resolved": "https://registry.npmmirror.com/@zip.js/zip.js/-/zip.js-2.4.26.tgz",
"integrity": "sha512-I9HBO3BHIxEMQmltmHM3iqUW6IHqi3gsL9wTSXvHTRpOrA6q2OxtR58EDSaOGjHhDVJ+wIOAxZyKq2x00AVmqw=="
},
"node_modules/async-validator": {
"version": "4.2.5",
"resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz",
"integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
},
"node_modules/at-least-node": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz",
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
"engines": {
"node": ">= 4.0.0"
}
},
"node_modules/autolinker": {
"version": "3.16.2",
"resolved": "https://registry.npmmirror.com/autolinker/-/autolinker-3.16.2.tgz",
"integrity": "sha512-JiYl7j2Z19F9NdTmirENSUUIIL/9MytEWtmzhfmsKPCp9E+G35Y0UNCMoM9tFigxT59qSc8Ml2dlZXOCVTYwuA==",
"dependencies": {
"tslib": "^2.3.0"
}
},
"node_modules/bitmap-sdf": {
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/bitmap-sdf/-/bitmap-sdf-1.0.4.tgz",
"integrity": "sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg=="
},
"node_modules/cesium": {
"version": "1.99.0",
"resolved": "https://registry.npmmirror.com/cesium/-/cesium-1.99.0.tgz",
"integrity": "sha512-bVN7Bskd9PVhQe9Ak9DEr7wEckbCJc0UPq58MKWGWAkQfiYob8odh6luqY5Yz26trr3tWwni1xWjsCe94y37jw==",
"dependencies": {
"@tweenjs/tween.js": "^18.6.4",
"@zip.js/zip.js": "2.4.x",
"autolinker": "^3.14.3",
"bitmap-sdf": "^1.0.3",
"dompurify": "^2.2.2",
"earcut": "^2.2.4",
"grapheme-splitter": "^1.0.4",
"jsep": "^0.3.1",
"kdbush": "^3.0.0",
"ktx-parse": "^0.4.5",
"lerc": "^2.0.0",
"mersenne-twister": "^1.1.0",
"meshoptimizer": "^0.18.1",
"nosleep.js": "^0.12.0",
"pako": "^2.0.4",
"protobufjs": "^7.1.0",
"rbush": "^3.0.1",
"topojson-client": "^3.1.0",
"urijs": "^1.19.7"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/commander": {
"version": "2.20.3",
"resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
},
"node_modules/csstype": {
"version": "3.1.3",
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz",
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
},
"node_modules/dayjs": {
"version": "1.11.11",
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.11.tgz",
"integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg=="
},
"node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/debug/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
"node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/destroy": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz",
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
"engines": {
"node": ">= 0.8",
"npm": "1.2.8000 || >= 1.4.16"
}
},
"node_modules/dompurify": {
"version": "2.5.6",
"resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-2.5.6.tgz",
"integrity": "sha512-zUTaUBO8pY4+iJMPE1B9XlO2tXVYIcEA4SNGtvDELzTSCQO7RzH+j7S180BmhmJId78lqGU2z19vgVx2Sxs/PQ=="
},
"node_modules/earcut": {
"version": "2.2.4",
"resolved": "https://registry.npmmirror.com/earcut/-/earcut-2.2.4.tgz",
"integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ=="
},
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
},
"node_modules/element-plus": {
"version": "2.7.7",
"resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.7.7.tgz",
"integrity": "sha512-7ucUiDAxevyBE8JbXBTe9ofHhS047VmWMLoksE45zZ08XSnhnyG7WUuk3gmDbAklfVMHedb9sEV3OovPUWt+Sw==",
"dependencies": {
"@ctrl/tinycolor": "^3.4.1",
"@element-plus/icons-vue": "^2.3.1",
"@floating-ui/dom": "^1.0.1",
"@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
"@types/lodash": "^4.14.182",
"@types/lodash-es": "^4.17.6",
"@vueuse/core": "^9.1.0",
"async-validator": "^4.2.5",
"dayjs": "^1.11.3",
"escape-html": "^1.0.3",
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
"lodash-unified": "^1.0.2",
"memoize-one": "^6.0.0",
"normalize-wheel-es": "^1.2.0"
},
"peerDependencies": {
"vue": "^3.2.0"
}
},
"node_modules/encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/entities": {
"version": "4.5.0",
"resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz",
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"engines": {
"node": ">=0.12"
},
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/esbuild": {
"version": "0.21.5",
"resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.21.5.tgz",
"integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
"hasInstallScript": true,
"bin": {
"esbuild": "bin/esbuild"
},
"engines": {
"node": ">=12"
},
"optionalDependencies": {
"@esbuild/aix-ppc64": "0.21.5",
"@esbuild/android-arm": "0.21.5",
"@esbuild/android-arm64": "0.21.5",
"@esbuild/android-x64": "0.21.5",
"@esbuild/darwin-arm64": "0.21.5",
"@esbuild/darwin-x64": "0.21.5",
"@esbuild/freebsd-arm64": "0.21.5",
"@esbuild/freebsd-x64": "0.21.5",
"@esbuild/linux-arm": "0.21.5",
"@esbuild/linux-arm64": "0.21.5",
"@esbuild/linux-ia32": "0.21.5",
"@esbuild/linux-loong64": "0.21.5",
"@esbuild/linux-mips64el": "0.21.5",
"@esbuild/linux-ppc64": "0.21.5",
"@esbuild/linux-riscv64": "0.21.5",
"@esbuild/linux-s390x": "0.21.5",
"@esbuild/linux-x64": "0.21.5",
"@esbuild/netbsd-x64": "0.21.5",
"@esbuild/openbsd-x64": "0.21.5",
"@esbuild/sunos-x64": "0.21.5",
"@esbuild/win32-arm64": "0.21.5",
"@esbuild/win32-ia32": "0.21.5",
"@esbuild/win32-x64": "0.21.5"
}
},
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
},
"node_modules/estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
"node_modules/etag": {
"version": "1.8.1",
"resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz",
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/fs-extra": {
"version": "9.1.0",
"resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz",
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"dependencies": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"hasInstallScript": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
},
"node_modules/grapheme-splitter": {
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
"integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
},
"node_modules/http-errors": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz",
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
"dependencies": {
"depd": "2.0.0",
"inherits": "2.0.4",
"setprototypeof": "1.2.0",
"statuses": "2.0.1",
"toidentifier": "1.0.1"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"node_modules/is-reference": {
"version": "1.2.1",
"resolved": "https://registry.npmmirror.com/is-reference/-/is-reference-1.2.1.tgz",
"integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==",
"dependencies": {
"@types/estree": "*"
}
},
"node_modules/jsep": {
"version": "0.3.5",
"resolved": "https://registry.npmmirror.com/jsep/-/jsep-0.3.5.tgz",
"integrity": "sha512-AoRLBDc6JNnKjNcmonituEABS5bcfqDhQAWWXNTFrqu6nVXBpBAGfcoTGZMFlIrh9FjmE1CQyX9CTNwZrXMMDA==",
"engines": {
"node": ">= 6.0.0"
}
},
"node_modules/jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dependencies": {
"universalify": "^2.0.0"
},
"optionalDependencies": {
"graceful-fs": "^4.1.6"
}
},
"node_modules/kdbush": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/kdbush/-/kdbush-3.0.0.tgz",
"integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew=="
},
"node_modules/ktx-parse": {
"version": "0.4.5",
"resolved": "https://registry.npmmirror.com/ktx-parse/-/ktx-parse-0.4.5.tgz",
"integrity": "sha512-MK3FOody4TXbFf8Yqv7EBbySw7aPvEcPX++Ipt6Sox+/YMFvR5xaTyhfNSk1AEmMy+RYIw81ctN4IMxCB8OAlg=="
},
"node_modules/lerc": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/lerc/-/lerc-2.0.0.tgz",
"integrity": "sha512-7qo1Mq8ZNmaR4USHHm615nEW2lPeeWJ3bTyoqFbd35DLx0LUH7C6ptt5FDCTAlbIzs3+WKrk5SkJvw8AFDE2hg=="
},
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/lodash-es": {
"version": "4.17.21",
"resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz",
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
},
"node_modules/lodash-unified": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz",
"integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==",
"peerDependencies": {
"@types/lodash-es": "*",
"lodash": "*",
"lodash-es": "*"
}
},
"node_modules/long": {
"version": "5.2.3",
"resolved": "https://registry.npmmirror.com/long/-/long-5.2.3.tgz",
"integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
},
"node_modules/magic-string": {
"version": "0.30.10",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.10.tgz",
"integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15"
}
},
"node_modules/memoize-one": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz",
"integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
},
"node_modules/mersenne-twister": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz",
"integrity": "sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA=="
},
"node_modules/meshoptimizer": {
"version": "0.18.1",
"resolved": "https://registry.npmmirror.com/meshoptimizer/-/meshoptimizer-0.18.1.tgz",
"integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw=="
},
"node_modules/mime": {
"version": "1.6.0",
"resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"bin": {
"mime": "cli.js"
},
"engines": {
"node": ">=4"
}
},
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"node_modules/nanoid": {
"version": "3.3.7",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz",
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"bin": {
"nanoid": "bin/nanoid.cjs"
},
"engines": {
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
"node_modules/normalize-wheel-es": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
"integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
},
"node_modules/nosleep.js": {
"version": "0.12.0",
"resolved": "https://registry.npmmirror.com/nosleep.js/-/nosleep.js-0.12.0.tgz",
"integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA=="
},
"node_modules/on-finished": {
"version": "2.4.1",
"resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz",
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
"dependencies": {
"ee-first": "1.1.1"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/pako": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/pako/-/pako-2.1.0.tgz",
"integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug=="
},
"node_modules/parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz",
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/picocolors": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.1.tgz",
"integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew=="
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"engines": {
"node": ">=8.6"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/postcss": {
"version": "8.4.39",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.39.tgz",
"integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
},
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
"nanoid": "^3.3.7",
"picocolors": "^1.0.1",
"source-map-js": "^1.2.0"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/protobufjs": {
"version": "7.3.2",
"resolved": "https://registry.npmmirror.com/protobufjs/-/protobufjs-7.3.2.tgz",
"integrity": "sha512-RXyHaACeqXeqAKGLDl68rQKbmObRsTIn4TYVUUug1KfS47YWCo5MacGITEryugIgZqORCvJWEk4l449POg5Txg==",
"hasInstallScript": true,
"dependencies": {
"@protobufjs/aspromise": "^1.1.2",
"@protobufjs/base64": "^1.1.2",
"@protobufjs/codegen": "^2.0.4",
"@protobufjs/eventemitter": "^1.1.0",
"@protobufjs/fetch": "^1.1.0",
"@protobufjs/float": "^1.0.2",
"@protobufjs/inquire": "^1.1.0",
"@protobufjs/path": "^1.1.2",
"@protobufjs/pool": "^1.1.0",
"@protobufjs/utf8": "^1.1.0",
"@types/node": ">=13.7.0",
"long": "^5.0.0"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/quickselect": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/quickselect/-/quickselect-2.0.0.tgz",
"integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw=="
},
"node_modules/range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz",
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/rbush": {
"version": "3.0.1",
"resolved": "https://registry.npmmirror.com/rbush/-/rbush-3.0.1.tgz",
"integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==",
"dependencies": {
"quickselect": "^2.0.0"
}
},
"node_modules/rollup": {
"version": "4.18.1",
"resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.18.1.tgz",
"integrity": "sha512-Elx2UT8lzxxOXMpy5HWQGZqkrQOtrVDDa/bm9l10+U4rQnVzbL/LgZ4NOM1MPIDyHk69W4InuYDF5dzRh4Kw1A==",
"dependencies": {
"@types/estree": "1.0.5"
},
"bin": {
"rollup": "dist/bin/rollup"
},
"engines": {
"node": ">=18.0.0",
"npm": ">=8.0.0"
},
"optionalDependencies": {
"@rollup/rollup-android-arm-eabi": "4.18.1",
"@rollup/rollup-android-arm64": "4.18.1",
"@rollup/rollup-darwin-arm64": "4.18.1",
"@rollup/rollup-darwin-x64": "4.18.1",
"@rollup/rollup-linux-arm-gnueabihf": "4.18.1",
"@rollup/rollup-linux-arm-musleabihf": "4.18.1",
"@rollup/rollup-linux-arm64-gnu": "4.18.1",
"@rollup/rollup-linux-arm64-musl": "4.18.1",
"@rollup/rollup-linux-powerpc64le-gnu": "4.18.1",
"@rollup/rollup-linux-riscv64-gnu": "4.18.1",
"@rollup/rollup-linux-s390x-gnu": "4.18.1",
"@rollup/rollup-linux-x64-gnu": "4.18.1",
"@rollup/rollup-linux-x64-musl": "4.18.1",
"@rollup/rollup-win32-arm64-msvc": "4.18.1",
"@rollup/rollup-win32-ia32-msvc": "4.18.1",
"@rollup/rollup-win32-x64-msvc": "4.18.1",
"fsevents": "~2.3.2"
}
},
"node_modules/send": {
"version": "0.18.0",
"resolved": "https://registry.npmmirror.com/send/-/send-0.18.0.tgz",
"integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
"dependencies": {
"debug": "2.6.9",
"depd": "2.0.0",
"destroy": "1.2.0",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
"http-errors": "2.0.0",
"mime": "1.6.0",
"ms": "2.1.3",
"on-finished": "2.4.1",
"range-parser": "~1.2.1",
"statuses": "2.0.1"
},
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/serve-static": {
"version": "1.15.0",
"resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz",
"integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
"dependencies": {
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
"send": "0.18.0"
},
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/setprototypeof": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz",
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
},
"node_modules/source-map-js": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz",
"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/sourcemap-codec": {
"version": "1.4.8",
"resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"deprecated": "Please use @jridgewell/sourcemap-codec instead"
},
"node_modules/statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/toidentifier": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz",
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
"engines": {
"node": ">=0.6"
}
},
"node_modules/topojson-client": {
"version": "3.1.0",
"resolved": "https://registry.npmmirror.com/topojson-client/-/topojson-client-3.1.0.tgz",
"integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==",
"dependencies": {
"commander": "2"
},
"bin": {
"topo2geo": "bin/topo2geo",
"topomerge": "bin/topomerge",
"topoquantize": "bin/topoquantize"
}
},
"node_modules/tslib": {
"version": "2.6.3",
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.3.tgz",
"integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
},
"node_modules/undici-types": {
"version": "5.26.5",
"resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz",
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
},
"node_modules/universalify": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz",
"integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
"engines": {
"node": ">= 10.0.0"
}
},
"node_modules/urijs": {
"version": "1.19.11",
"resolved": "https://registry.npmmirror.com/urijs/-/urijs-1.19.11.tgz",
"integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ=="
},
"node_modules/vite": {
"version": "5.3.3",
"resolved": "https://registry.npmmirror.com/vite/-/vite-5.3.3.tgz",
"integrity": "sha512-NPQdeCU0Dv2z5fu+ULotpuq5yfCS1BzKUIPhNbP3YBfAMGJXbt2nS+sbTFu+qchaqWTD+H3JK++nRwr6XIcp6A==",
"dependencies": {
"esbuild": "^0.21.3",
"postcss": "^8.4.39",
"rollup": "^4.13.0"
},
"bin": {
"vite": "bin/vite.js"
},
"engines": {
"node": "^18.0.0 || >=20.0.0"
},
"funding": {
"url": "https://github.com/vitejs/vite?sponsor=1"
},
"optionalDependencies": {
"fsevents": "~2.3.3"
},
"peerDependencies": {
"@types/node": "^18.0.0 || >=20.0.0",
"less": "*",
"lightningcss": "^1.21.0",
"sass": "*",
"stylus": "*",
"sugarss": "*",
"terser": "^5.4.0"
},
"peerDependenciesMeta": {
"@types/node": {
"optional": true
},
"less": {
"optional": true
},
"lightningcss": {
"optional": true
},
"sass": {
"optional": true
},
"stylus": {
"optional": true
},
"sugarss": {
"optional": true
},
"terser": {
"optional": true
}
}
},
"node_modules/vite-plugin-cesium": {
"version": "1.2.22",
"resolved": "https://registry.npmmirror.com/vite-plugin-cesium/-/vite-plugin-cesium-1.2.22.tgz",
"integrity": "sha512-OnS+VKNGck4kUu4/67Fdfhz0/zF9mDVNUp9hUWtX19C38O0mJsJy2MH1ev2QcrVLf6VieJ7vCGxkLchdB1n1HQ==",
"dependencies": {
"fs-extra": "^9.1.0",
"rollup-plugin-external-globals": "^0.6.1",
"serve-static": "^1.14.1"
},
"peerDependencies": {
"cesium": "^1.95.0",
"vite": ">=2.7.1"
}
},
"node_modules/vite-plugin-cesium/node_modules/magic-string": {
"version": "0.25.9",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz",
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
"dependencies": {
"sourcemap-codec": "^1.4.8"
}
},
"node_modules/vite-plugin-cesium/node_modules/rollup": {
"version": "2.79.1",
"resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.79.1.tgz",
"integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
"peer": true,
"bin": {
"rollup": "dist/bin/rollup"
},
"engines": {
"node": ">=10.0.0"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
}
},
"node_modules/vite-plugin-cesium/node_modules/rollup-plugin-external-globals": {
"version": "0.6.1",
"resolved": "https://registry.npmmirror.com/rollup-plugin-external-globals/-/rollup-plugin-external-globals-0.6.1.tgz",
"integrity": "sha512-mlp3KNa5sE4Sp9UUR2rjBrxjG79OyZAh/QC18RHIjM+iYkbBwNXSo8DHRMZWtzJTrH8GxQ+SJvCTN3i14uMXIA==",
"dependencies": {
"@rollup/pluginutils": "^4.0.0",
"estree-walker": "^2.0.1",
"is-reference": "^1.2.1",
"magic-string": "^0.25.7"
},
"peerDependencies": {
"rollup": "^2.25.0"
}
},
"node_modules/vue": {
"version": "3.4.31",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.31.tgz",
"integrity": "sha512-njqRrOy7W3YLAlVqSKpBebtZpDVg21FPoaq1I7f/+qqBThK9ChAIjkRWgeP6Eat+8C+iia4P3OYqpATP21BCoQ==",
"dependencies": {
"@vue/compiler-dom": "3.4.31",
"@vue/compiler-sfc": "3.4.31",
"@vue/runtime-dom": "3.4.31",
"@vue/server-renderer": "3.4.31",
"@vue/shared": "3.4.31"
},
"peerDependencies": {
"typescript": "*"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
}
}
}
{
"name": "vite-vue-cesium",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"cesium": "1.99",
"element-plus": "^2.7.7",
"vite-plugin-cesium": "^1.2.22",
"vue": "^3.4.29"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.0.5",
"vite": "^5.3.1"
}
}
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
\ No newline at end of file
<script lang="ts">
import demo from './components/demo.vue'
import draw from './components/draw.vue'
import moon from './components/moon.vue'
import boom from './components/boom.vue'
import fire from './components/fire.vue'
import selt from './components/selt.vue'
import sun from './components/sun.vue'
import camera from './components/camera.vue'
import dail from './components/dail.vue'
import baozha from './components/baozha.vue'
export default {
name: 'app',
components: { boom, demo ,draw,moon,fire,selt,sun,camera,dail,baozha}
}
</script>
<template>
<!-- <fire/> -->
<!-- <demo/> -->
<boom></boom>
<!-- <baozha/> -->
<!-- <moon></moon> -->
<!-- <sun/> -->
<!-- <selt/> -->
<!-- <draw/> -->
<!-- <camera/> -->
<!-- <dail/> -->
</template>
<style scoped>
</style>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="37.07" height="36" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 198"><path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0h47.36Z"></path><path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z"></path><path fill="#35495E" d="M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0H50.56Z"></path></svg>
\ No newline at end of file
<template>
<div id="cesiumContainer" class="all"></div>
<button id="explodeButton">Explode</button>
</template>
<script setup>
import { onMounted } from 'vue'
import * as Cesium from 'cesium'
import { ref } from 'vue'
onMounted(() => {
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyYTI3MDQxMS1hYzgxLTRlYTQtODExZS00YzdmYjM0YTg3OTAiLCJpZCI6MjI0NzQzLCJpYXQiOjE3MTkzOTcxMDF9._VD-W1rEy7jSUtPmcVytEYbZIZ00_IeHCZm59Kua5aE'
const viewer = new Cesium.Viewer("cesiumContainer", {
})
const modelUrl = '/src/model/卫星.gltf';
const modelEntity = viewer.entities.add({
name: "Cesium Air",
position: Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706, 5000),
model: {
uri: modelUrl,
scale: 2000.0
}
});
// Fly the camera to the model
viewer.flyTo(modelEntity);
// Helper function to generate a random direction vector
function getRandomDirection() {
const theta = Math.random() * 2 * Math.PI;
const phi = Math.acos(2 * Math.random() - 1);
return new Cesium.Cartesian3(
Math.sin(phi) * Math.cos(theta),
Math.sin(phi) * Math.sin(theta),
Math.cos(phi)
);
}
// Function to perform the explosion effect
function explodeModel(entity) {
const duration = 3000; // Explosion duration in milliseconds
const explosionDistance = 500; // Distance to move parts away from the center
const startTime = Cesium.JulianDate.now();
const endTime = Cesium.JulianDate.addSeconds(startTime, duration / 1000, new Cesium.JulianDate());
viewer.clock.shouldAnimate = true; // Ensure the clock is running
viewer.scene.preUpdate.addEventListener(function (scene, time) {
const t = Cesium.JulianDate.secondsDifference(time, startTime) / (duration / 1000);
if (t > 1.0) {
viewer.scene.preUpdate.removeEventListener(this);
return;
}
const distance = explosionDistance * t;
const direction = getRandomDirection();
const offset = Cesium.Cartesian3.multiplyByScalar(direction, distance, new Cesium.Cartesian3());
entity.position = Cesium.Cartesian3.add(
Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706, 5000),
offset,
new Cesium.Cartesian3()
);
});
}
// Add event listener to the explode button
document.getElementById('explodeButton').addEventListener('click', function () {
explodeModel(modelEntity);
});
// const modelUrl = '/src/model/卫星.gltf';
// const model = viewer.entities.add({
// name: "Cesium Air",
// position: Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706, 5000),
// model: {
// uri: modelUrl,
// scale: 2000.0
// }
// });
// // Define explosion parameters
// const explosionDistance = 500; // Distance to move parts away from the center
// const explosionDuration = 3000; // Duration of the explosion in milliseconds
// // Helper function to calculate random direction vector
// function randomDirection() {
// const theta = Math.random() * 2 * Math.PI;
// const phi = Math.acos(2 * Math.random() - 1);
// const x = Math.sin(phi) * Math.cos(theta);
// const y = Math.sin(phi) * Math.sin(theta);
// const z = Math.cos(phi);
// return new Cesium.Cartesian3(x, y, z);
// }
// // Perform explosion effect
// function explodeModel(model) {
// const start = Date.now();
// function update() {
// const now = Date.now();
// const elapsed = now - start;
// const t = Math.min(elapsed / explosionDuration, 1.0);
// const distance = explosionDistance * t;
// // Move the model parts (simple example, entire model moves)
// const direction = randomDirection();
// const translation = Cesium.Cartesian3.multiplyByScalar(direction, distance, new Cesium.Cartesian3());
// model.position = Cesium.Cartesian3.add(model.position.getValue(Cesium.JulianDate.now()), translation, new Cesium.Cartesian3());
// if (t < 1.0) {
// requestAnimationFrame(update);
// }
// }
// update();
// }
// // Add button to trigger explosion
// const button = document.createElement('button');
// button.textContent = 'Explode';
// button.style.position = 'absolute';
// button.style.top = '10px';
// button.style.left = '10px';
// button.onclick = () => explodeModel(model);
// document.body.appendChild(button);
// viewer.zoomTo(model)
})
</script>
<style>
.all {
display: block;
position: absolute;
top: 0;
left: 0;
border: none;
width: 100%;
height: 100%
}
.cesium-viewer-bottom {
display: none;
}
button {
position: absolute;
top: 50px;
left: 50px;
z-index: 88;
}
</style>
<template>
<div id="cesiumContainer" class="all"></div>
<button id="explodeButton">Explode</button>
</template>
<script setup>
import { onMounted } from 'vue'
import * as Cesium from 'cesium'
import { ref } from 'vue'
onMounted(() => {
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyYTI3MDQxMS1hYzgxLTRlYTQtODExZS00YzdmYjM0YTg3OTAiLCJpZCI6MjI0NzQzLCJpYXQiOjE3MTkzOTcxMDF9._VD-W1rEy7jSUtPmcVytEYbZIZ00_IeHCZm59Kua5aE'
const viewer = new Cesium.Viewer("cesiumContainer", {
})
// Add the model entity
const entity = viewer.entities.add({
position: Cesium.Cartesian3.fromDegrees(104, 31),
model: {
uri: '/src/model/卫星.gltf',
minimumPixelSize: 64
},
});
viewer.clock.shouldAnimate = true;
viewer.scene.globe.depthTestAgainstTerrain = false;
let hpr = new Cesium.HeadingPitchRoll();
let trs = new Cesium.TranslationRotationScale();
let particleSystem = "";
const minimum = 10;
const maximum = 20;
particleSystem = viewer.scene.primitives.add(
new Cesium.ParticleSystem({
// ConeEmitter 锥形发射器,BoxEmitter 盒形发射器,SphereEmitter 球形发射器,CircleEmitter圆形发射器
emitter: new Cesium.SphereEmitter(Cesium.Math.toRadians(45.0)),
image: '/src/image/燃脂.png',
startColor: Cesium.Color.RED.withAlpha(0.7),
endColor: Cesium.Color.YELLOW.withAlpha(0.0),
startScale: 1.0,
endScale: 3.0,
particleLife: 1.5,
speed: 10.0,
emissionRate: 5000.0,
loop: false,
imageSize: new Cesium.Cartesian2(15, 15),
bursts: [
new Cesium.ParticleBurst({ time: 0.0, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.1, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.2, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.3, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.4, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.5, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.6, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.7, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.8, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.9, minimum, maximum }),
],
})
);
viewer.scene.preUpdate.addEventListener(function (scene, time) {
particleSystem.modelMatrix = entity.computeModelMatrix(time, new Cesium.Matrix4());
hpr = Cesium.HeadingPitchRoll.fromDegrees(0.0, 0.0, 0.0, hpr);
trs.translation = Cesium.Cartesian3.fromElements(
-4.0,
0.0,
1.4,
new Cesium.Cartesian3()
);
trs.rotation = Cesium.Quaternion.fromHeadingPitchRoll(
hpr,
new Cesium.Quaternion()
);
particleSystem.emitterModelMatrix =
Cesium.Matrix4.fromTranslationRotationScale(
trs,
new Cesium.Matrix4()
)
});
// Add event listener to the explode button
document.getElementById('explodeButton').addEventListener('click', function () {
// Trigger the particle system burst
particleSystem.show = true;
setTimeout(() => {
particleSystem.show = false;
}, 2000);
});
// let hpr = new Cesium.HeadingPitchRoll();
// let trs = new Cesium.TranslationRotationScale();
// let particleSystem = "";
// const entity = viewer.entities.add({
// position: Cesium.Cartesian3.fromDegrees(104, 31),
// model: {
// uri: '/src/model/scene.gltf',
// minimumPixelSize: 64
// },
// });
// viewer.clock.shouldAnimate = true;
// viewer.scene.globe.depthTestAgainstTerrain = false;
// const minimum = 10
// const maximum = 20;
// particleSystem = viewer.scene.primitives.add(
// new Cesium.ParticleSystem({
// //ConeEmitter 锥形发射器,BoxEmitter 盒形发射器,SphereEmitter 球形发射器,CircleEmitter圆形发射器
// emitter: new Cesium.SphereEmitter(Cesium.Math.toRadians(45.0)),
// image:
// "/src/image/燃脂.png",
// startColor: Cesium.Color.RED.withAlpha(0.7),
// endColor: Cesium.Color.YELLOW.withAlpha(0.0),
// startScale: 1.0,
// endScale: 3.0,
// particleLife: 1.5,
// speed: 10.0,
// emissionRate: 5000.0,
// loop :false,
// imageSize: new Cesium.Cartesian2(15, 15),
// bursts: [
// new Cesium.ParticleBurst({ time: 0.0, minimum, maximum }),
// new Cesium.ParticleBurst({ time: 0.1, minimum, maximum }),
// new Cesium.ParticleBurst({ time: 0.2, minimum, maximum }),
// new Cesium.ParticleBurst({ time: 0.3, minimum, maximum }),
// new Cesium.ParticleBurst({ time: 0.4, minimum, maximum }),
// new Cesium.ParticleBurst({ time: 0.5, minimum, maximum }),
// new Cesium.ParticleBurst({ time: 0.6, minimum, maximum }),
// new Cesium.ParticleBurst({ time: 0.7, minimum, maximum }),
// new Cesium.ParticleBurst({ time: 0.8, minimum, maximum }),
// new Cesium.ParticleBurst({ time: 0.9, minimum, maximum }),
// ],
// })
// );
// viewer.scene.preUpdate.addEventListener(function (scene, time) {
// particleSystem.modelMatrix = entity.computeModelMatrix(time, new Cesium.Matrix4())
// hpr = Cesium.HeadingPitchRoll.fromDegrees(0.0, 0.0, 0.0, hpr);
// trs.translation = Cesium.Cartesian3.fromElements(
// -4.0,
// 0.0,
// 1.4,
// new Cesium.Cartesian3()
// );
// trs.rotation = Cesium.Quaternion.fromHeadingPitchRoll(
// hpr,
// new Cesium.Quaternion()
// );
// particleSystem.emitterModelMatrix =
// Cesium.Matrix4.fromTranslationRotationScale(
// trs,
// new Cesium.Matrix4()
// )
// });
// viewer.camera.flyTo({
// destination: Cesium.Cartesian3.fromDegrees(104, 31, 80),
// orientation: {
// heading: 5.916424, //相机绕z轴旋转。左右摇头。
// pitch: -1.265734, //相机绕y轴旋转。上下点头。
// roll: 0.0, //相机绕x轴旋转。左右歪头。
// },
// duration: 3,
// });
})
</script>
<style>
.all {
display: block;
position: absolute;
top: 0;
left: 0;
border: none;
width: 100%;
height: 100%
}
.cesium-viewer-bottom {
display: none;
}
button {
position: absolute;
top: 50px;
left: 50px;
z-index: 88;
}
</style>
<template>
<div id="cesiumContainer" class="all"></div>
<div>
<button @click="viewTrack">viewTrack</button>
</div>
</template>
<script setup>
import { onMounted } from 'vue'
import * as Cesium from 'cesium'
import { ref } from 'vue'
let viewer;
var satelliteEntity
onMounted(() => {
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyYTI3MDQxMS1hYzgxLTRlYTQtODExZS00YzdmYjM0YTg3OTAiLCJpZCI6MjI0NzQzLCJpYXQiOjE3MTkzOTcxMDF9._VD-W1rEy7jSUtPmcVytEYbZIZ00_IeHCZm59Kua5aE'
viewer = new Cesium.Viewer("cesiumContainer", {
})
var start = new Cesium.JulianDate.fromDate(new Date());//把js中的时间转换为儒略时间
start = Cesium.JulianDate.addHours(start, 8, new Cesium.JulianDate());//东八区时间
// 结束时间
var stop = Cesium.JulianDate.addSeconds(start, 360, new Cesium.JulianDate());
//确保查看器处于预期的时间
viewer.clock.startTime = start.clone();
viewer.clock.stopTime = stop.clone();
viewer.clock.currentTime = start.clone();
viewer.clock.clockRange = Cesium.ClockRange.LOOP_STOP; //循环结束时
//时间变化来控制速度 // 时间速率,数字越大时间过的越快
viewer.clock.multiplier = 10;
//给时间线设置边界
viewer.timeline.zoomTo(start, stop);
class mySatePosition {
constructor() {
this.lon = 0;
this.lat = 0;
this.satelliteHeight = 700000; //卫星高度
this.orbitHeight = 700000 / 2; //轨道高度
this.time = 0;
}
}
function getRandState(ifLat, degree) {
var arr = [];
var lat = Math.floor(360);
for (var i = lat; i <= 360 + lat; i += 30) {
var aaa = new mySatePosition();
if (ifLat == 'lon') {
aaa.lon = degree;
aaa.lat = i;
} else {
aaa.lon = i
aaa.lat = degree;
}
aaa.time = i - lat;
arr.push(aaa);
}
return arr
}
function computePosition(source, panduan) {
var property = new Cesium.SampledPositionProperty();
for (var i = 0; i < source.length; i++) {
var time = Cesium.JulianDate.addSeconds(start, source[i].time, new Cesium.JulianDate());
var position = Cesium.Cartesian3.fromDegrees(source[i].lon, source[i].lat, panduan === 1 ? source[i].satelliteHeight : source[i].orbitHeight);
property.addSample(time, position);
}
return property;
}
let ifLat = 'lon'
let degree= 60
//获取路径
let path = getRandState(ifLat, degree);
//扫描圆锥
var entityPath = computePosition(path, 2);
var entity = viewer.entities.add({
//关联时间轴 TimeIntervalCollection管理时间间隔数据的集合 把时间轴的起止时间同步为实体的
availability: new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({
start: start,
stop: stop
})]),
position: entityPath,
orientation: new Cesium.VelocityOrientationProperty(entityPath)
});
entity.position.setInterpolationOptions({
interpolationDegree: 5,
interpolationAlgorithm: Cesium.LagrangePolynomialApproximation
});
//卫星环绕
var satellitePath = computePosition(path, 1);
satelliteEntity = viewer.entities.add({
// 将实体availability设置为与模拟时间相同的时间间隔。
availability: new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({
start: start,
stop: stop
})]),
//计算实体位置属性
position: satellitePath,
//基于位置移动自动计算方向.
orientation: new Cesium.VelocityOrientationProperty(satellitePath),
//加载飞机模型
model: {
uri: '/src/model/空间站.gltf',
minimumPixelSize: 100,
scale: 200.0,
},
//白色路径
path: {
resolution: 1,
material: new Cesium.PolylineGlowMaterialProperty({
glowPower: 0.1,
color: Cesium.Color.PINK
}),
width: 5
}
});
//插值器
satelliteEntity.position.setInterpolationOptions({
interpolationDegree: 5,
interpolationAlgorithm: Cesium.LagrangePolynomialApproximation
});
console.log(satelliteEntity.position._property)
})
function viewTrack() {
viewer.camera.flyTo({
destination: Cesium.Cartesian3.fromDegrees(60, 0, 1000000.0)
})
viewer.trackedEntity = satelliteEntity;
}
</script>
<style>
</style>
<template>
<div id="cesiumContainer" class="all"></div>
<div class="time">
<img src="/src/image/time.png" style="width: 100%; height: 100%;">
</div>
<div>
<button class="button1" v-on:click="forward"></button>
<button class="button2" v-on:click="start"></button>
<button class="button3" v-on:click="back"></button>
<button class="button4" v-on:click="multiplier">×2</button>
<button class="button5" v-on:click="divide">×-2</button>
<button class="button6" v-on:click="reset"></button>
<p class="bei">{{ bei }}X</p>
<p class="time-text"> {{ timetext }}</p>
</div>
</template>
<script setup>
import { onMounted } from 'vue'
import * as Cesium from 'cesium'
import { ref } from 'vue'
let viewer;
var bei = ref(1)
var timetext = ref()
onMounted(() => {
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyYTI3MDQxMS1hYzgxLTRlYTQtODExZS00YzdmYjM0YTg3OTAiLCJpZCI6MjI0NzQzLCJpYXQiOjE3MTkzOTcxMDF9._VD-W1rEy7jSUtPmcVytEYbZIZ00_IeHCZm59Kua5aE'
viewer = new Cesium.Viewer("cesiumContainer", {
animation: false,
baseLayerPicker: false,
fullscreenButton: false,
vrButton: false,
geocoder: false,
homeButton: false,
infoBox: false,
sceneModePicker: false,
selectionIndicator: false,
timeline: true,
navigationHelpButton: false,
})
// 格式化时间轴
viewer.timeline.makeLabel = function (date) {
const julianDT = new Cesium.JulianDate();
Cesium.JulianDate.addHours(date, 8, julianDT);
var gregorianDT = Cesium.JulianDate.toGregorianDate(julianDT);
let hour = gregorianDT.hour + "";
let minute = gregorianDT.minute + "";
let second = gregorianDT.second + "";
timetext = `${gregorianDT.year}${gregorianDT.month}${gregorianDT.day}日`;
return `${gregorianDT.year}${gregorianDT.month}${gregorianDT.day}${hour.padStart(2, "0")}:${minute.padStart(2, "0")}:${second.padStart(2,"0")}`;
};
})
var forward = () => {
let t = viewer.clockViewModel.multiplier;
viewer.clockViewModel.multiplier = Math.abs(t);
viewer.clock.shouldAnimate = true;
}
var flag = false;
var start = () => {
flag = !(flag);
if (flag == true)
viewer.clock.shouldAnimate = true;
else
viewer.clock.shouldAnimate = false;
}
var back = () => {
let t = viewer.clockViewModel.multiplier;
viewer.clockViewModel.multiplier = Math.abs(t);
viewer.clock.shouldAnimate = true;
}
var multiplier = () => {
viewer.clockViewModel.multiplier *= 2;
bei.value = viewer.clockViewModel.multiplier
}
var divide = () => {
viewer.clockViewModel.multiplier /= 2;
bei.value = viewer.clockViewModel.multiplier
}
var reset = () => {
viewer.clock.currentTime = viewer.clock.startTime;
}
</script>
<style>
.time {
width: 180px;
height: 100px;
position: absolute;
bottom: 0px;
left: 0px;
}
.button1 {
position: absolute;
top: 938px;
left: 110px;
}
.button2 {
position: absolute;
top: 938px;
left: 75px;
}
.button3 {
position: absolute;
top: 938px;
left: 40px;
}
.button4 {
position: absolute;
top: 938px;
left: 140px;
}
.button5 {
position: absolute;
top: 938px;
left: 0px;
}
.button6 {
position: absolute;
top: 850px;
left: 0px;
}
.bei {
color: aliceblue;
font-size: 15px;
position: absolute;
top: 877px;
left: 80px;
}
.time-text {
color: aliceblue;
font-size: 15px;
position: absolute;
top: 900px;
left: 40px;
}
</style>
<template>
<div id="cesiumContainer" class="all"></div>
</template>
<script setup >
import { onMounted } from 'vue'
import * as Cesium from 'cesium'
import { ref } from 'vue'
onMounted(() => {
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyYTI3MDQxMS1hYzgxLTRlYTQtODExZS00YzdmYjM0YTg3OTAiLCJpZCI6MjI0NzQzLCJpYXQiOjE3MTkzOTcxMDF9._VD-W1rEy7jSUtPmcVytEYbZIZ00_IeHCZm59Kua5aE'
const viewer = new Cesium.Viewer("cesiumContainer", {
terrainProvider: Cesium.createWorldTerrain(),
})
// 添加太阳
const sun = new Cesium.Sun();
viewer.scene.sun = sun;
// 添加月球
const moon = new Cesium.Moon();
viewer.scene.moon = moon;
moon.textureUrl="/src/image/坐标.png"
console.log(moon.ellipsoid, moon)
var entity = viewer.entities.add({
position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883,3044000),
model: {
uri: '/src/model/moon.gltf',
minimumPixelSize: 100,
scale: 2000.0,
},
});
viewer.zoomTo(entity)
// 让太阳和月球随着时间自动旋转
// viewer.clock.onTick.addEventListener(function () {
// sun.computeDayTime();
// moon.computeDayTime();
// });
// viewer.scene.globe.enableLighting = false;
// viewer.shadows = false;
// viewer.scene.sun.show = false;
// var explodeVertexShader =
// `
// attribute vec3 position;
// attribute vec2 textureCoordinates;
// uniform mat4 modelViewMatrix;
// uniform mat4 projectionMatrix;
// varying vec2 vTextureCoordinates;
// void main() {
// gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
// vTextureCoordinates = textureCoordinates;
// }
// `;
// // 自定义爆炸效果的fragment shader
// var explodeFragmentShader =`precision highp float;
// varying vec2 vTextureCoordinates;
// uniform sampler2D uTexture;
// uniform float explosionFactor;
// void main() {
// vec4 texelColor = texture2D(uTexture, vTextureCoordinates);
// texelColor.rgb *= explosionFactor;
// gl_FragColor = texelColor;
// }`;
// // 创建一个材质
// var material = new Cesium.Material({
// fabric: {
// uniforms: {
// color: new Cesium.Color(1.0, 0.0, 0.0, 0.5), // 爆炸效果的颜色和透明度
// explosionFactor: 0.0 // 初始爆炸因子,控制爆炸效果的强度
// },
// source: {
// vertexShaderSource: explodeVertexShader,
// fragmentShaderSource: explodeFragmentShader
// }
// }
// });
// // 创建一个球体实体
// var entity = viewer.entities.add({
// position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
// ellipsoid: {
// radii: new Cesium.Cartesian3(200000.0, 200000.0, 200000.0),
// material: material
// }
// });
// // 定义动画函数,用于控制爆炸效果
// function explodeAnimation() {
// var startTime = Cesium.JulianDate.now();
// viewer.clock.onTick.addEventListener(function (clock) {
// var currentTime = clock.currentTime;
// var deltaTime = Cesium.JulianDate.secondsDifference(currentTime, startTime);
// if (deltaTime >= 0 && deltaTime <= 5) {
// // 更新爆炸因子,逐步增加爆炸效果的强度
// material.uniforms.explosionFactor = deltaTime * 100000.0; // 调整增长速度和最大爆炸范围
// } else if (deltaTime > 5) {
// // 爆炸效果结束后移除实体
// viewer.entities.remove(entity);
// viewer.clock.onTick.removeEventListener(explodeAnimation);
// }
// });
// }
// // 启动爆炸效果动画
// explodeAnimation()
// viewer.zoomTo(entity)
})
// viewer.scene.postProcessStages.add(new Cesium.PostProcessStage({
// fragmentShader: `
// uniform sampler2D colorTexture;
// in vec2 v_textureCoordinates;
// uniform float tiltAngle;
// uniform float rainSize;
// uniform float rainSpeed;
// float hash(float x) {
// return fract(sin(x * 133.3) * 13.13);
// }
// out vec4 fragColor;
// void main(void) {
// float time = czm_frameNumber / rainSpeed;
// vec2 resolution = czm_viewport.zw;
// vec2 uv = (gl_FragCoord.xy * 2. - resolution.xy) / min(resolution.x, resolution.y);
// vec3 c = vec3(.6, .7, .8);
// float a = tiltAngle;
// float si = sin(a), co = cos(a);
// uv *= mat2(co, -si, si, co);
// uv *= length(uv + vec2(0, 4.9)) * rainSize + 1.;
// float v = 1. - sin(hash(floor(uv.x * 100.)) * 2.);
// float b = clamp(abs(sin(20. * time * v + uv.y * (5. / (2. + v)))) - .95, 0., 1.) * 20.;
// c *= v * b;
// fragColor = mix(texture(colorTexture, v_textureCoordinates), vec4(c, 1), .5);
// }
// `,
// uniforms: {
// tiltAngle: -0.2, //倾斜角度
// rainSize: 0.8, // 雨大小
// rainSpeed: 200.0, // 雨速
// },
// }));
//标注
// const billboard = viewer.entities.add({
// position: Cesium.Cartesian3.fromDegrees(116, 40, 10),
// billboard: {
// image: '/src/assets/坐标.png',
// scale: 0.1,
// }
// })
// const label = viewer.entities.add({
// position: Cesium.Cartesian3.fromDegrees(120, 30),
// label: {
// text: 'waibibabo',
// fillColor: Cesium.Color.RED,
// showBackground: true,
// backgroundColor:new Cesium.Color(120,120,120)
// }
// })
// viewer.zoomTo(label)
// //坐标转换
// const cartesian= Cesium.Cartesian3.fromDegrees(110,20,20) //经度 维度 高度
// console.log(cartesian)
// let Cartographic=Cesium.Cartographic.fromCartesian(cartesian)
// console.log(Cartographic)
// let lon = Cesium.Math.toDegrees(Cartographic.longitude)
// let lat = Cesium.Math.toDegrees(Cartographic.latitude)
// // let lon = 180 / Math.PI * Cartographic.longitude
// // let lat = 180 / Math.PI * Cartographic.latitude
// console.log(lon,lat)
//相机
// const position = Cesium.Cartesian3.fromDegrees(100, 20, 20000)
// //setview通过定义相机目的地,直接调转到目的地
// viewer.camera.setView({
// destination: position,
// orientation: {
// heading: Cesium.Math.toRadians(180),
// pitch: Cesium.Math.toRadians(-20),
// roll: Cesium.Math.toRadians(100),
// }
// })
// //flyTo飞行动画
// viewer.camera.flyTo({
// destination: position,
// duration: 3,//单位s
// orientation: {
// heading: Cesium.Math.toRadians(180),
// pitch: Cesium.Math.toRadians(-20),
// roll: Cesium.Math.toRadians(100),
// }
// })
// //lookAT
// const position2 = Cesium.Cartesian3.fromDegrees(110, 20)
// viewer.camera.lookAt(
// position2,
// new Cesium.HeadingPitchRange(
// Cesium.Math.toRadians(0),
// Cesium.Math.toRadians(-90),
// 20000
// )
// )
//实体dian
// const point = viewer.entities.add({
// id: 'point',
// position: Cesium.Cartesian3.fromDegrees(121, 30),
// point: {
// pixelSize: 20,
// color:Cesium.Color.BLUE
// }
// })
// const polyline = viewer.entities.add({
// id: 'polyline',
// polyline: {
// positions: Cesium.Cartesian3.fromDegreesArray([120, 30, 121, 20,121,30]),
// width:2,
// material:Cesium.Color.YELLOW
// }
// })
// let point0 = Cesium.Cartesian3.fromDegrees(120, 10);
// let point1 = Cesium.Cartesian3.fromDegrees(121, 20);
// let point2 = Cesium.Cartesian3.fromDegrees(121, 30);
// let localToWorldMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(point1);
// let worldToLocalMatrix = Cesium.Matrix4.inverse(localToWorldMatrix, new Cesium.Matrix4());
// console.log(localToWorldMatrix,point1,worldToLocalMatrix)
// // 计算 localVector
// let worldVector = Cesium.Cartesian3.subtract(point0, point1, new Cesium.Cartesian3());
// let localVector = Cesium.Matrix4.multiplyByPointAsVector(worldToLocalMatrix, worldVector, new Cesium.Cartesian3());
// console.log(point0,point1,point2)
// console.log(worldVector,localVector)
// // localVector 向量归一化
// let direction = Cesium.Cartesian3.normalize(localVector, new Cesium.Cartesian3());
// console.log(direction)
// let angleToX = Math.atan2(direction.y, direction.x);
// let heading = Cesium.Math.toDegrees(angleToX);
// if (heading > 0) { }
// else heading=360+heading
// console.log(heading)
// const polygon = viewer.entities.add({
// polygon: {
// hierarchy: {
// positions: Cesium.Cartesian3.fromDegreesArray([122, 18, 123, 18, 123, 20]),
// },
// height: 200000,
// extrudedHeight: 20000,
// fill: false,
// outline: true,
// outlineColor:Cesium.Color.RED
// }
// })
// viewer.zoomTo(polygon)
// let positions = [];
// let p1 = new Cesium.Cartesian3.fromDegrees(120, 20,0);
// let p2 = new Cesium.Cartesian3.fromDegrees (120, 30,0);
// let p3 = new Cesium.Cartesian3.fromDegrees(121, 20,0);
// positions.push(p1)
// positions.push(p2)
// positions.push(p3)
// const measurementLength = (positions) => {
// let distance = 0;
// for (let i = 0; i < positions.length - 1; i++) {
// let point1cartographic = Cesium.Cartographic.fromCartesian(
// positions[i]
// );
// let point2cartographic = Cesium.Cartographic.fromCartesian(
// positions[i + 1]
// );
// /**根据经纬度计算出距离**/
// let geodesic = new Cesium.EllipsoidGeodesic();
// geodesic.setEndPoints(point1cartographic, point2cartographic);
// let s = geodesic.surfaceDistance;
// distance = distance + s;
// }
// console.log(distance)
// return distance.toFixed(2);
// }
// let s = measurementLength(positions)
// console.log(s)
</script>
<style>
.all {
display: block;
position: absolute;
top: 0;
left: 0;
border: none;
width: 100%;
height: 100%
}
.cesium-viewer-bottom {
display: none;
}
button {
position: absolute;
top: 50px;
left: 50px;
z-index: 88;
}
</style>
<template>
<!-- <style>
/* @import url(../templates/bucket.css); */
</style> -->
<!-- <qq class="qq"/> -->
<div id="cesiumContainer" class="all">
<div id="toolbar"></div>
</div>
<div class="qq">
<el-select v-model="value" transfer="false" placeholder="line" style="width: 120px" @change="change"
filterable="true" allow-create="true">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
<el-text class="mx-1" size="large">{{ output }}</el-text>
</div>
<div class="input">
<el-input v-model="input" style="width: 240px" placeholder="示例:8000,8000,8000" />
<el-button>输入</el-button>
</div>
</template>
<script setup lang="ts">
import { onMounted } from 'vue'
import * as Cesium from 'cesium'
import { ref } from 'vue'
let output = []
const input = ref('')
let activeShapePoints = [];
let drawingMode = 'line';
const change = () => {
drawingMode = value.value
}
const value = ref('')
const options = [
{
value: 'line',
label: 'line',
},
{
value: 'polygon',
label: 'polygon',
},
{
value: 'sector',
label: 'sector',
},
{
value: 'ellipse',
label: 'ellipse',
}
]
onMounted(() => {
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyYTI3MDQxMS1hYzgxLTRlYTQtODExZS00YzdmYjM0YTg3OTAiLCJpZCI6MjI0NzQzLCJpYXQiOjE3MTkzOTcxMDF9._VD-W1rEy7jSUtPmcVytEYbZIZ00_IeHCZm59Kua5aE'
const viewer = new Cesium.Viewer("cesiumContainer", {
selectionIndicator: false,
infoBox: false,
// terrain: Cesium.Terrain.fromWorldTerrain(),
// terrainProvider:Cesium.createWorldTerrain(),
});
viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(
Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK
);
function createPoint(worldPosition) {
const point = viewer.entities.add({
position: worldPosition,
point: {
color: Cesium.Color.WHITE,
pixelSize: 5,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
},
});
return point;
}
drawingMode = "line";
function drawShape(positionData) {
let shape;
if (drawingMode === "line") {
shape = viewer.entities.add({
polyline: {
positions: positionData,
clampToGround: true,
width: 3,
},
});
} else if (drawingMode === "polygon") {
shape = viewer.entities.add({
polygon: {
hierarchy: positionData,
material: new Cesium.ColorMaterialProperty(
Cesium.Color.WHITE.withAlpha(0.7)
),
},
});
} else if (drawingMode === "sector") {
let angleone = computerJiao(positionData[0], positionData[1])
let angletwo = computerJiao(positionData[0], positionData[2])
let r = computerR(positionData[0], positionData[1])
shape = viewer.entities.add({
position: positionData[0],
ellipsoid: {
radii: new Cesium.Cartesian3(r, r, 1.0),
minimumClock: Cesium.Math.toRadians(angleone),
maximumClock: Cesium.Math.toRadians(angletwo),
material: Cesium.Color.DARKCYAN.withAlpha(0.3),
outline: false,
},
});
}
else if (drawingMode === "ellipse") {
let r = computerR(positionData[0], positionData[1])
shape = viewer.entities.add({
position: positionData[0],
ellipse: {
semiMajorAxis: r,
semiMinorAxis: r,
material: Cesium.Color.WHITE,
fill: true,
outline: false,
height: 20000,
outerWidth: 10000,
extrudedHeight: 200000.0,
rotation: 0.78539,
},
});
}
return shape;
}
activeShapePoints = [];
let activeShape;
let floatingPoint;
const handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);
handler.setInputAction(function (event) {
const ray = viewer.camera.getPickRay(event.position);
const earthPosition = viewer.scene.globe.pick(ray, viewer.scene);
if (Cesium.defined(earthPosition)) {
if (activeShapePoints.length === 0) {
floatingPoint = createPoint(earthPosition);
activeShapePoints.push(earthPosition);
const dynamicPositions = new Cesium.CallbackProperty(function () {
if (drawingMode === "polygon") {
return new Cesium.PolygonHierarchy(activeShapePoints);
}
return activeShapePoints;
}, false);
console.log(activeShapePoints[0])
activeShape = drawShape(dynamicPositions);
}
activeShapePoints.push(earthPosition);
createPoint(earthPosition);
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
handler.setInputAction(function (event) {
if (Cesium.defined(floatingPoint)) {
const ray = viewer.camera.getPickRay(event.endPosition);
const newPosition = viewer.scene.globe.pick(ray, viewer.scene);
if (Cesium.defined(newPosition)) {
floatingPoint.position.setValue(newPosition);
activeShapePoints.pop();
activeShapePoints.push(newPosition);
}
}
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
// Redraw the shape so it's not dynamic and remove the dynamic shape.
function terminateShape() {
activeShapePoints.pop();
drawShape(activeShapePoints);
viewer.entities.remove(floatingPoint);
viewer.entities.remove(activeShape);
floatingPoint = undefined;
activeShape = undefined;
activeShapePoints = [];
}
handler.setInputAction(function (event) {
terminateShape();
}, Cesium.ScreenSpaceEventType.RIGHT_CLICK);
function computerR(point_one, point_two) {
let r = Math.sqrt((point_one.x - point_two.x) ** 2 + (point_one.y - point_two.y) ** 2 + (point_one.z - point_two.z) ** 2)
return r
}
function computerJiao(point_one, point_two) {
let one = Cesium.Cartographic.fromCartesian(point_one)
let two = Cesium.Cartographic.fromCartesian(point_two)
let onelon = Cesium.Math.toDegrees(one.longitude)
let onelat = Cesium.Math.toDegrees(one.latitude)
let twolon = Cesium.Math.toDegrees(two.longitude)
let twolat = Cesium.Math.toDegrees(two.latitude)
let r = Math.sqrt((twolat - onelat) ** 2 + (twolon - onelon) ** 2)
let jiaorad = Math.asin(((twolon) - (onelon)) / r)
let jiao = jiaorad * (180 / Math.PI)
if ((twolat > onelat) && (twolon > onelon)) { jiao = jiao }
else if ((twolon < onelon) && (twolat > onelat)) { jiao = 180 - jiao }
else if ((twolon < onelon) && (twolat < onelat)) { jiao = jiao + 180 }
else if ((twolon > onelon) && (twolat < onelat)) { jiao = 360 - jiao }
return jiao
}
// Zoom in to an area with mountains
// viewer.camera.lookAt(
// Cesium.Cartesian3.fromDegrees(-122.2058, 46.1955, 1000.0),
// new Cesium.Cartesian3(5000.0, 5000.0, 5000.0)
// );
// viewer.camera.lookAtTransform(Cesium.Matrix4.IDENTITY);
// function setHandler() {
// const handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
// // 注册鼠标按下事件
// handler.setInputAction((e) => {
// const pick = viewer.scene.pick(e.position);
// if (!Cesium.defined(pick)) { return; };// 如果点击空白区域,则不往下执行
// viewer.scene.screenSpaceCameraController.enableRotate = false;// 将相机锁定,不然后续移动实体时相机也会动
// pick.id.model.color = Cesium.Color.fromAlpha(Cesium.Color.RED, 1) //设置颜色
// // 注册鼠标拖拽事件
// viewer.screenSpaceEventHandler.setInputAction((arg) => {// 为viewer绑定MOUSE_MOVE事件监听器(执行函数,监听的事件)
// const position = arg.endPosition;// arg有startPosition与endPosition两个属性,即移动前后的位置信息:Cartesian2对象
// const cartesian = viewer.scene.globe.pick(viewer.camera.getPickRay(position), viewer.scene);//将Cartesian2转为Cartesian3
// pick.id.position._value = cartesian
// }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
// // 绑定鼠标抬起事件
// viewer.screenSpaceEventHandler.setInputAction(({ position }) => {//为viewer绑定LEFT_UP事件监听器(执行函数,监听的事件)
// viewer.scene.screenSpaceCameraController.enableRotate = true;// 取消相机锁定
// pick.id.model.color = null //设置颜色
// viewer.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE);// 解除viewer的MOUSE_MOVE事件监听器
// }, Cesium.ScreenSpaceEventType.LEFT_UP)
// }, Cesium.ScreenSpaceEventType.LEFT_DOWN);}
})
</script>
<style>
.all {
display: block;
position: absolute;
top: 0;
left: 0;
border: none;
width: 100%;
height: 100%
}
.cesium-viewer-bottom {
display: none;
}
.qq {
position: absolute;
top: 50px;
left: 50px;
z-index: 99999999;
}
.input {
position: absolute;
top: 50px;
left: 200px;
}
</style>
<template>
<div id="cesiumContainer" class="all"></div>
</template>
<script setup>
import { onMounted } from 'vue'
import * as Cesium from 'cesium'
import { ref } from 'vue'
onMounted(() => {
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyYTI3MDQxMS1hYzgxLTRlYTQtODExZS00YzdmYjM0YTg3OTAiLCJpZCI6MjI0NzQzLCJpYXQiOjE3MTkzOTcxMDF9._VD-W1rEy7jSUtPmcVytEYbZIZ00_IeHCZm59Kua5aE'
const viewer = new Cesium.Viewer("cesiumContainer", {
})
let hpr = new Cesium.HeadingPitchRoll();
let trs = new Cesium.TranslationRotationScale();
let particleSystem = "";
const entity = viewer.entities.add({
position: Cesium.Cartesian3.fromDegrees(104, 31),
});
viewer.clock.shouldAnimate = true;
viewer.scene.globe.depthTestAgainstTerrain = false;
const minimum = 10
const maximum = 20;
particleSystem = viewer.scene.primitives.add(
new Cesium.ParticleSystem({
//ConeEmitter 锥形发射器,BoxEmitter 盒形发射器,SphereEmitter 球形发射器,CircleEmitter圆形发射器
emitter: new Cesium.CircleEmitter(Cesium.Math.toRadians(45.0)),
image:
"/src/image/燃脂.png",
startColor: Cesium.Color.RED,
endColor: Cesium.Color.YELLOW,
startScale: 1.0,
endScale: 3.0,
particleLife: 1.5,
speed: 10.0,
emissionRate: 200.0,
imageSize: new Cesium.Cartesian2(25, 25),
bursts: [
new Cesium.ParticleBurst({ time: 0.0, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.1, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.2, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.3, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.4, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.5, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.6, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.7, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.8, minimum, maximum }),
new Cesium.ParticleBurst({ time: 0.9, minimum, maximum }),
],
})
);
viewer.scene.preUpdate.addEventListener(function (scene, time) {
particleSystem.modelMatrix = entity.computeModelMatrix(time, new Cesium.Matrix4())
hpr = Cesium.HeadingPitchRoll.fromDegrees(0.0, 0.0, 0.0, hpr);
trs.translation = Cesium.Cartesian3.fromElements(
-4.0,
0.0,
1.4,
new Cesium.Cartesian3()
);
trs.rotation = Cesium.Quaternion.fromHeadingPitchRoll(
hpr,
new Cesium.Quaternion()
);
particleSystem.emitterModelMatrix =
Cesium.Matrix4.fromTranslationRotationScale(
trs,
new Cesium.Matrix4()
)
});
viewer.camera.flyTo({
destination: Cesium.Cartesian3.fromDegrees(104, 31, 80),
orientation: {
heading: 5.916424, //相机绕z轴旋转。左右摇头。
pitch: -1.265734, //相机绕y轴旋转。上下点头。
roll: 0.0, //相机绕x轴旋转。左右歪头。
},
duration: 3,
});
})
</script>
<style>
.all {
display: block;
position: absolute;
top: 0;
left: 0;
border: none;
width: 100%;
height: 100%
}
.cesium-viewer-bottom {
display: none;
}
button {
position: absolute;
top: 50px;
left: 50px;
z-index: 88;
}
</style>
<template>
<div id="cesiumContainer" class="all"></div>
</template>
<script setup>
import { onMounted } from 'vue'
import * as Cesium from 'cesium'
import { ref } from 'vue'
import Cartesian2 from 'cesium/Source/Core/Cartesian2';
var image = '/src/image/moon1.jpg';
onMounted(() => {
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyYTI3MDQxMS1hYzgxLTRlYTQtODExZS00YzdmYjM0YTg3OTAiLCJpZCI6MjI0NzQzLCJpYXQiOjE3MTkzOTcxMDF9._VD-W1rEy7jSUtPmcVytEYbZIZ00_IeHCZm59Kua5aE'
const viewer = new Cesium.Viewer("cesiumContainer", {
baseLayerPicker: false, // 影像切换
animation: true, //是否显示动画控件
infoBox: false, //是否显示点击要素之后显示的信息
geocoder: false, //是否显示地名查找控件
timeline: true, //是否显示时间线控件
fullscreenButton: false,
shouldAnimate: false,
navigationHelpButton: false, //是否显示帮助信息控件
terrainProvider: new Cesium.createWorldTerrain({
requestWaterMask: true,
requestVertexNormals: true
}),
})
var start = new Cesium.JulianDate.fromDate(new Date());
start = Cesium.JulianDate.addHours(start, 8, new Cesium.JulianDate());
var stop = Cesium.JulianDate.addSeconds(start, 360, new Cesium.JulianDate());
viewer.clock.startTime = start.clone();
viewer.clock.stopTime = stop.clone();
viewer.clock.currentTime = start.clone();
viewer.clock.clockRange = Cesium.ClockRange.LOOP_STOP;
viewer.clock.multiplier = 10;
viewer.timeline.zoomTo(start, stop);
const inclination = Cesium.Math.toRadians(28.5); // 轨道倾角(以弧度表示)
const semiMajorAxis = 38440000; // 半长轴(米),大约为月球到地球的平均距离
// const period = 27.321582 * 24 * 60 * 60; // 月球的公转周期(秒)
const period = 360 ;
// 定义轨道上的点数
const numberOfPoints = 100;
function createMoonOrbit(inclination, semiMajorAxis, period, numberOfPoints) {
const positions = [];
// 计算每个点的位置
for (let i = 0; i < numberOfPoints; i++) {
const meanAnomaly = (2 * Math.PI / period) * (i * period / numberOfPoints); // 平均异常
const trueAnomaly = meanAnomaly; // 简化处理,假设轨道是圆的
const radius = semiMajorAxis; // 圆轨道的半径等于半长轴
// 计算笛卡尔坐标
const x = radius * Math.cos(trueAnomaly);
const y = radius * Math.sin(trueAnomaly) * Math.cos(inclination);
const z = radius * Math.sin(trueAnomaly) * Math.sin(inclination);
// 将笛卡尔坐标转换为经纬度坐标
const cartographic = Cesium.Cartographic.fromCartesian(Cesium.Cartesian3.fromElements(x, y, z));
// 添加到位置数组
positions.push(cartographic);
}
positions.push(positions[0])
return positions;
}
// 创建轨道路径
const moonOrbitPositions = createMoonOrbit(inclination, semiMajorAxis, period, numberOfPoints);
// 将轨道位置转换为Cartesian3坐标
const cartesianPositions = moonOrbitPositions.map(position => Cesium.Cartesian3.fromRadians(position.longitude, position.latitude, position.height));
// 创建SampledPositionProperty
const orbitPosition = new Cesium.SampledPositionProperty();
for (let i = 0; i <= numberOfPoints; i++) {
const time = Cesium.JulianDate.addSeconds(viewer.clock.startTime, i * period / numberOfPoints, new Cesium.JulianDate());
orbitPosition.addSample(time, cartesianPositions[i]);
}
const moonEntity = viewer.entities.add({
name: 'Moon',
availability: new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({
start: start,
stop: stop
})]),
position: orbitPosition,
orientation: new Cesium.VelocityOrientationProperty(orbitPosition),
// 设置月球的形状
model: {
uri: '/src/model/moon.gltf',
minimumPixelSize: 100,
scale: 200.0,
},
// 显示月球的运动轨迹
path: {
resolution: 1,
material: new Cesium.PolylineGlowMaterialProperty({
glowPower: 0.1,
color: Cesium.Color.PINK
}),
width: 5
}
});
// 设置插值选项
moonEntity.position.setInterpolationOptions({
interpolationDegree: 5,
interpolationAlgorithm: Cesium.LagrangePolynomialApproximation
});
})
</script>
<style>
.all {
display: block;
position: absolute;
top: 0;
left: 0;
border: none;
width: 100%;
height: 100%
}
.cesium-viewer-bottom {
display: none;
}
button {
position: absolute;
top: 50px;
left: 50px;
z-index: 88;
}
</style>
<template>
<div id="cesiumContainer" class="all"></div>
</template>
<script setup>
import { onMounted } from 'vue'
import * as Cesium from 'cesium'
import { ref } from 'vue'
onMounted(() => {
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyYTI3MDQxMS1hYzgxLTRlYTQtODExZS00YzdmYjM0YTg3OTAiLCJpZCI6MjI0NzQzLCJpYXQiOjE3MTkzOTcxMDF9._VD-W1rEy7jSUtPmcVytEYbZIZ00_IeHCZm59Kua5aE'
const viewer = new Cesium.Viewer("cesiumContainer", {
baseLayerPicker: false, // 影像切换
animation: true, //是否显示动画控件
infoBox: false, //是否显示点击要素之后显示的信息
geocoder: false, //是否显示地名查找控件
timeline: true, //是否显示时间线控件
fullscreenButton: false,
shouldAnimate: false,
navigationHelpButton: false, //是否显示帮助信息控件
terrainProvider: new Cesium.createWorldTerrain({
requestWaterMask: true,
requestVertexNormals: true
}),
})
var start = new Cesium.JulianDate.fromDate(new Date());//把js中的时间转换为儒略时间
start = Cesium.JulianDate.addHours(start, 8, new Cesium.JulianDate());//东八区时间
// 结束时间
var stop = Cesium.JulianDate.addSeconds(start, 360, new Cesium.JulianDate());
//确保查看器处于预期的时间
viewer.clock.startTime = start.clone();
viewer.clock.stopTime = stop.clone();
viewer.clock.currentTime = start.clone();
viewer.clock.clockRange = Cesium.ClockRange.LOOP_STOP; //循环结束时
//时间变化来控制速度 // 时间速率,数字越大时间过的越快
viewer.clock.multiplier = 10;
//给时间线设置边界
viewer.timeline.zoomTo(start, stop);
class mySatePosition {
constructor() {
this.lon = 0;
this.lat = 0;
this.satelliteHeight = 700000; //卫星高度
this.orbitHeight = 700000 / 2; //轨道高度
this.time = 0;
}
}
function getRandState(ifLat, degree) {
var arr = [];
var lat = Math.floor(Math.random() * 360);
for (var i = lat; i <= 360 + lat; i += 30) {
var aaa = new mySatePosition();
if (ifLat == 'lon') {
aaa.lon = degree;
aaa.lat = i;
} else {
aaa.lon = i
aaa.lat = degree;
}
aaa.time = i - lat;
arr.push(aaa);
}
return arr
}
function computePosition(source, panduan) {
var property = new Cesium.SampledPositionProperty();
for (var i = 0; i < source.length; i++) {
var time = Cesium.JulianDate.addSeconds(start, source[i].time, new Cesium.JulianDate());
var position = Cesium.Cartesian3.fromDegrees(source[i].lon, source[i].lat, panduan === 1 ? source[i].satelliteHeight : source[i].orbitHeight);
property.addSample(time, position);
}
return property;
}
function startSimulation(ifLat, degree) {
//获取路径
let path = getRandState(ifLat, degree);
//扫描圆锥
var entityPath = computePosition(path, 2);
var entity = viewer.entities.add({
//关联时间轴 TimeIntervalCollection管理时间间隔数据的集合 把时间轴的起止时间同步为实体的
availability: new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({
start: start,
stop: stop
})]),
position: entityPath,
orientation: new Cesium.VelocityOrientationProperty(entityPath),
cylinder: {
HeightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
length: 700000,
topRadius: 0,
bottomRadius: 700000 / 2,
material: Cesium.Color.RED.withAlpha(0.4),
outline: true,
numberOfVerticalLines: 0,
outlineColor: Cesium.Color.RED.withAlpha(0.8)
},
});
entity.position.setInterpolationOptions({
interpolationDegree: 5,
interpolationAlgorithm: Cesium.LagrangePolynomialApproximation
});
//卫星环绕
var satellitePath = computePosition(path, 1);
var satelliteEntity = viewer.entities.add({
// 将实体availability设置为与模拟时间相同的时间间隔。
availability: new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({
start: start,
stop: stop
})]),
//计算实体位置属性
position: satellitePath,
//基于位置移动自动计算方向.
orientation: new Cesium.VelocityOrientationProperty(satellitePath),
//加载飞机模型
model: {
uri: '/src/model/scene1.gltf',
minimumPixelSize: 32,
scale: 2000.0,
},
//白色路径
path: {
resolution: 1,
material: new Cesium.PolylineGlowMaterialProperty({
glowPower: 0.1,
color: Cesium.Color.PINK
}),
width: 5
}
});
//插值器
satelliteEntity.position.setInterpolationOptions({
interpolationDegree: 5,
interpolationAlgorithm: Cesium.LagrangePolynomialApproximation
});
}
startSimulation('lat', 0)
})
</script>
<style>
.all {
display: block;
position: absolute;
top: 0;
left: 0;
border: none;
width: 100%;
height: 100%
}
.cesium-viewer-bottom {
display: none;
}
button {
position: absolute;
top: 50px;
left: 50px;
z-index: 88;
}
</style>
<template>
<div id="cesiumContainer" class="all"></div>
</template>
<script setup>
import { onMounted } from 'vue'
import * as Cesium from 'cesium'
import { ref } from 'vue'
import Cartesian2 from 'cesium/Source/Core/Cartesian2';
import Camera from 'cesium/Source/Scene/Camera';
var image = '/src/image/moon1.jpg';
onMounted(() => {
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyYTI3MDQxMS1hYzgxLTRlYTQtODExZS00YzdmYjM0YTg3OTAiLCJpZCI6MjI0NzQzLCJpYXQiOjE3MTkzOTcxMDF9._VD-W1rEy7jSUtPmcVytEYbZIZ00_IeHCZm59Kua5aE'
const viewer = new Cesium.Viewer("cesiumContainer", {
})
const scene = viewer.scene;
const globe = scene.globe;
const baseLayer = viewer.scene.imageryLayers.get(0);
globe.showGroundAtmosphere = false;
globe.baseColor = Cesium.Color.TRANSPARENT;
globe.translucency.enabled = true;
globe.undergroundColor = undefined;
scene.screenSpaceCameraController.enableCollisionDetection = false;
// Set oceans on Bing base layer to transparent
baseLayer.colorToAlpha = new Cesium.Color(0.0, 0.016, 0.059);
baseLayer.colorToAlphaThreshold = 0.2;
viewer.scene.globe.enableLighting = false;
viewer.shadows = false;
viewer.scene.sun.show = false;//还可以viewer.scene.sun.destroy();
//月亮
viewer.scene.moon.show = false;
viewer.scene.skyAtmosphere.show = false;
//雾
viewer.scene.fog.enable = false;
var start = new Cesium.JulianDate.fromDate(new Date());
start = Cesium.JulianDate.addHours(start, 8, new Cesium.JulianDate());
var stop = Cesium.JulianDate.addDays(start, 27.321582, new Cesium.JulianDate());
viewer.clock.startTime = start.clone();
viewer.clock.stopTime = stop.clone();
viewer.clock.currentTime = start.clone();
viewer.clock.clockRange = Cesium.ClockRange.LOOP_STOP;
viewer.clock.multiplier = 1;
viewer.timeline.zoomTo(start, stop);
const inclination = Cesium.Math.toRadians(28.5); // 轨道倾角(以弧度表示)
const semiMajorAxis = 38440000; // 半长轴(米),大约为月球到地球的平均距离
// const period = 27.321582 * 24 * 60 * 60; // 月球的公转周期(秒)
const period = 50;
// 定义轨道上的点数
const numberOfPoints = 1000;
function createMoonOrbit(inclination, semiMajorAxis, period, numberOfPoints) {
const positions = [];
// 计算每个点的位置
for (let i = 0; i < numberOfPoints; i++) {
const meanAnomaly = (2 * Math.PI / period) * (i * period / numberOfPoints); // 平均异常
const trueAnomaly = meanAnomaly; // 简化处理,假设轨道是圆的
const radius = semiMajorAxis; // 圆轨道的半径等于半长轴
const x = radius * Math.cos(trueAnomaly);
const y = radius * Math.sin(trueAnomaly) * Math.cos(inclination);
const z = radius * Math.sin(trueAnomaly) * Math.sin(inclination);
const cartographic = Cesium.Cartographic.fromCartesian(Cesium.Cartesian3.fromElements(x, y, z));
positions.push(cartographic);
}
return positions;
}
const moonOrbitPositions = createMoonOrbit(inclination, semiMajorAxis, period, numberOfPoints);
const cartesianPositions = moonOrbitPositions.map(position => Cesium.Cartesian3.fromRadians(position.longitude, position.latitude, position.height));
const orbitPosition = new Cesium.SampledPositionProperty();
for (let i = 0; i < numberOfPoints; i++) {
const time = Cesium.JulianDate.addSeconds(viewer.clock.startTime, i * period / numberOfPoints, new Cesium.JulianDate());
orbitPosition.addSample(time, cartesianPositions[i]);
}
const mantleRadius = 6400000.0;
const sunEntity = viewer.entities.add({
position: Cesium.Cartesian3.ZERO,
ellipsoid: {
radii: new Cesium.Cartesian3(
mantleRadius,
mantleRadius,
mantleRadius
),
material: new Cesium.ImageMaterialProperty({
image: "/src/image/sun.jpg",
repeat: new Cartesian2(1, 1)
})
},
})
const moonEntity = viewer.entities.add({
name: 'Moon',
availability: new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({
start: start,
stop: stop
})]),
position: orbitPosition,
orientation: new Cesium.VelocityOrientationProperty(orbitPosition),
model: {
uri: '/src/model/earth.gltf',
minimumPixelSize: 100,
scale: 200.0,
shadows: Cesium.ShadowMode.DISABLED,
},
path: {
resolution: 1,
material: new Cesium.PolylineGlowMaterialProperty({
glowPower: 0.1,
color: Cesium.Color.PINK
}),
width: 5
}
});
moonEntity.position.setInterpolationOptions({
interpolationDegree: 5,
interpolationAlgorithm: Cesium.LagrangePolynomialApproximation
});
})
</script>
<style>
.all {
display: block;
position: absolute;
top: 0;
left: 0;
border: none;
width: 100%;
height: 100%
}
.cesium-viewer-bottom {
display: none;
}
button {
position: absolute;
top: 50px;
left: 50px;
z-index: 88;
}
</style>
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'
const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"asset":{
"generator":"Khronos glTF Blender I/O v4.1.63",
"version":"2.0"
},
"scene":0,
"scenes":[
{
"name":"Scene",
"nodes":[
56
]
}
],
"nodes":[
{
"mesh":0,
"name":"Object_4"
},
{
"mesh":1,
"name":"Object_5"
},
{
"mesh":2,
"name":"Object_6"
},
{
"children":[
0,
1,
2
],
"name":"Body_2",
"rotation":[
-0.5,
0.5,
-0.5,
0.5
],
"scale":[
0.8754308223724365,
0.8832886219024658,
0.8754308223724365
],
"translation":[
0,
0,
0.18588469922542572
]
},
{
"mesh":3,
"name":"Object_37"
},
{
"children":[
4
],
"name":"Cable1.001_19"
},
{
"mesh":4,
"name":"Object_39"
},
{
"children":[
6
],
"name":"Cable2.001_20",
"translation":[
0,
0,
1.3317279815673828
]
},
{
"mesh":5,
"name":"Object_41"
},
{
"children":[
8
],
"name":"Cable3.001_21",
"rotation":[
0,
0,
0.6429835557937622,
0.7658801078796387
],
"scale":[
0.802657425403595,
0.8026574850082397,
0.8026573657989502
],
"translation":[
0,
0,
2.7800183296203613
]
},
{
"mesh":6,
"name":"Object_18"
},
{
"mesh":7,
"name":"Object_19"
},
{
"children":[
10,
11
],
"name":"CableHolder1_9",
"rotation":[
0,
0,
0.06864654272794724,
0.9976411461830139
],
"scale":[
0.07499401271343231,
0.07499400526285172,
0.07499399036169052
]
},
{
"mesh":8,
"name":"Object_21"
},
{
"mesh":9,
"name":"Object_22"
},
{
"children":[
13,
14
],
"name":"CableHolder2_10",
"rotation":[
0,
0,
-0.1995486170053482,
0.9798879623413086
],
"scale":[
0.07499399036169052,
0.07499399036169052,
0.07499399036169052
],
"translation":[
0,
0,
2.2944564819335938
]
},
{
"mesh":10,
"name":"Object_28",
"translation":[
0,
0,
-2.207350917160511e-06
]
},
{
"mesh":11,
"name":"Object_29",
"translation":[
0,
0,
-2.207350917160511e-06
]
},
{
"children":[
16,
17
],
"name":"CableHolder3_14",
"rotation":[
0,
0,
0.4772215187549591,
0.8787830471992493
],
"scale":[
0.06019448861479759,
0.06019448861479759,
0.06019448861479759
],
"translation":[
0,
0,
3.529550790786743
]
},
{
"mesh":12,
"name":"Object_16"
},
{
"children":[
19
],
"name":"Closings_8",
"rotation":[
0,
0,
0.010711214505136013,
0.9999426603317261
],
"translation":[
0,
-0.01817232184112072,
1.821208119392395
]
},
{
"mesh":13,
"name":"Object_45"
},
{
"children":[
21
],
"name":"Disc.Back_23",
"rotation":[
0,
0.7071068286895752,
0,
0.7071067094802856
],
"translation":[
9.298323675466236e-06,
0,
0
]
},
{
"mesh":14,
"name":"Object_47"
},
{
"children":[
23
],
"name":"Disc.Connector_24",
"rotation":[
0.2705981135368347,
0.6532815098762512,
-0.27059805393218994,
0.6532815098762512
],
"translation":[
9.298034456151072e-06,
0,
-0.5078901648521423
]
},
{
"mesh":15,
"name":"Object_43"
},
{
"children":[
25
],
"name":"Disc_22",
"rotation":[
-0.5,
0.5,
-0.5,
0.5
],
"scale":[
1.4646246433258057,
1.4646247625350952,
1.4646246433258057
]
},
{
"mesh":16,
"name":"Object_8"
},
{
"children":[
27
],
"name":"Grill1_3",
"translation":[
0,
0,
1.395351767539978
]
},
{
"mesh":17,
"name":"Object_12"
},
{
"children":[
29
],
"name":"Grill2_5",
"translation":[
0,
0,
0.5192015767097473
]
},
{
"mesh":18,
"name":"Object_31"
},
{
"children":[
31
],
"name":"Grill3_16",
"rotation":[
0,
0,
-0.3945010006427765,
0.9188954830169678
],
"translation":[
0,
0,
2.830920696258545
]
},
{
"mesh":19,
"name":"Object_51"
},
{
"children":[
33
],
"name":"Lense.Connector_26",
"rotation":[
-0.2705979645252228,
0.6532815098762512,
-0.6532815098762512,
0.27059805393218994
],
"translation":[
9.297587894252501e-06,
0,
-1.236709475517273
]
},
{
"mesh":20,
"name":"Object_53"
},
{
"children":[
35
],
"name":"Lense.Ring_27",
"rotation":[
-0.5,
0.5,
-0.5,
0.5
],
"translation":[
9.297587894252501e-06,
0,
-1.236709475517273
]
},
{
"mesh":21,
"name":"Object_49"
},
{
"children":[
37
],
"name":"Lense_25",
"rotation":[
-0.5,
0.5,
-0.5,
0.5
],
"translation":[
9.726487405714579e-06,
0,
-1.2477765083312988
]
},
{
"mesh":22,
"name":"Object_24"
},
{
"children":[
39
],
"name":"Packings1_12",
"rotation":[
0,
0,
-0.23836329579353333,
0.9711760878562927
],
"translation":[
0,
0,
2.6986136436462402
]
},
{
"mesh":23,
"name":"Object_33"
},
{
"children":[
41
],
"name":"Packings2_17",
"rotation":[
0,
0,
0.6722656488418579,
0.7403100728988647
],
"translation":[
0,
0,
3.03963303565979
]
},
{
"mesh":24,
"name":"Object_35"
},
{
"children":[
43
],
"name":"Packings3_18",
"rotation":[
0,
0,
0.6722656488418579,
0.7403100728988647
],
"translation":[
0,
0,
3.2770607471466064
]
},
{
"mesh":25,
"name":"Object_14"
},
{
"children":[
45
],
"name":"Small Discs_6",
"translation":[
0,
0,
1.584307312965393
]
},
{
"mesh":26,
"name":"Object_26"
},
{
"children":[
47
],
"name":"Small Packings_13",
"translation":[
0,
0,
2.1273856163024902
]
},
{
"mesh":27,
"name":"Object_55"
},
{
"mesh":28,
"name":"Object_56"
},
{
"children":[
49,
50
],
"name":"Solar Panels_28",
"translation":[
0,
0,
2.574504852294922
]
},
{
"mesh":29,
"name":"Object_10"
},
{
"children":[
52
],
"name":"Wings.Connector_4",
"translation":[
0,
0,
1.7812652587890625
]
},
{
"children":[
3,
5,
7,
9,
12,
15,
18,
20,
22,
24,
26,
28,
30,
32,
34,
36,
38,
40,
42,
44,
46,
48,
51,
53
],
"name":"GLTF_SceneRootNode",
"rotation":[
0.70710688829422,
0,
0,
0.7071066498756409
]
},
{
"children":[
54
],
"name":"root"
},
{
"children":[
55
],
"name":"Sketchfab_model",
"rotation":[
0.9999855756759644,
-0.0020827145781368017,
-0.00021417063544504344,
0.004950493108481169
]
}
],
"materials":[
{
"name":"Satellite",
"normalTexture":{
"index":0
},
"pbrMetallicRoughness":{
"baseColorFactor":[
0.5925779938697815,
0.5925779938697815,
0.5925779938697815,
1
],
"roughnessFactor":0.5
}
},
{
"name":"Gold",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.5704690217971802,
0.368927001953125,
0.09330309927463531,
1
],
"metallicFactor":0.6962209343910217,
"roughnessFactor":0
}
},
{
"name":"Satellite_2",
"normalTexture":{
"index":1
},
"pbrMetallicRoughness":{
"baseColorFactor":[
0.057800501585006714,
0.057800501585006714,
0.057800501585006714,
1
],
"roughnessFactor":0.5
}
},
{
"name":"Packs",
"pbrMetallicRoughness":{
"baseColorFactor":[
0.06675779819488525,
0.07131250202655792,
0.08001109957695007,
1
],
"roughnessFactor":0.5
}
},
{
"name":"Solar_Panel",
"normalTexture":{
"index":2
},
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":3
},
"metallicRoughnessTexture":{
"index":4
}
}
}
],
"meshes":[
{
"name":"Object_0",
"primitives":[
{
"attributes":{
"POSITION":0,
"NORMAL":1,
"TEXCOORD_0":2
},
"indices":3,
"material":0
}
]
},
{
"name":"Object_1",
"primitives":[
{
"attributes":{
"POSITION":4,
"NORMAL":5,
"TEXCOORD_0":6
},
"indices":7,
"material":1
}
]
},
{
"name":"Object_2",
"primitives":[
{
"attributes":{
"POSITION":8,
"NORMAL":9,
"TEXCOORD_0":10
},
"indices":11,
"material":2
}
]
},
{
"name":"Object_19",
"primitives":[
{
"attributes":{
"POSITION":12,
"NORMAL":13,
"TEXCOORD_0":14
},
"indices":15,
"material":1
}
]
},
{
"name":"Object_20",
"primitives":[
{
"attributes":{
"POSITION":16,
"NORMAL":17,
"TEXCOORD_0":18
},
"indices":19,
"material":1
}
]
},
{
"name":"Object_21",
"primitives":[
{
"attributes":{
"POSITION":20,
"NORMAL":21,
"TEXCOORD_0":22
},
"indices":19,
"material":1
}
]
},
{
"name":"Object_8",
"primitives":[
{
"attributes":{
"POSITION":23,
"NORMAL":24,
"TEXCOORD_0":25
},
"indices":26,
"material":0
}
]
},
{
"name":"Object_9",
"primitives":[
{
"attributes":{
"POSITION":27,
"NORMAL":28,
"TEXCOORD_0":29
},
"indices":30,
"material":1
}
]
},
{
"name":"Object_10",
"primitives":[
{
"attributes":{
"POSITION":31,
"NORMAL":32,
"TEXCOORD_0":33
},
"indices":34,
"material":0
}
]
},
{
"name":"Object_11",
"primitives":[
{
"attributes":{
"POSITION":35,
"NORMAL":36,
"TEXCOORD_0":37
},
"indices":38,
"material":1
}
]
},
{
"name":"Object_14",
"primitives":[
{
"attributes":{
"POSITION":39,
"NORMAL":40,
"TEXCOORD_0":41
},
"indices":34,
"material":0
}
]
},
{
"name":"Object_15",
"primitives":[
{
"attributes":{
"POSITION":42,
"NORMAL":43,
"TEXCOORD_0":44
},
"indices":38,
"material":1
}
]
},
{
"name":"Object_7",
"primitives":[
{
"attributes":{
"POSITION":45,
"NORMAL":46,
"TEXCOORD_0":47
},
"indices":48,
"material":1
}
]
},
{
"name":"Object_23",
"primitives":[
{
"attributes":{
"POSITION":49,
"NORMAL":50,
"TEXCOORD_0":51
},
"indices":52,
"material":0
}
]
},
{
"name":"Object_24",
"primitives":[
{
"attributes":{
"POSITION":53,
"NORMAL":54,
"TEXCOORD_0":55
},
"indices":56,
"material":0
}
]
},
{
"name":"Object_22",
"primitives":[
{
"attributes":{
"POSITION":57,
"NORMAL":58,
"TEXCOORD_0":59
},
"indices":60,
"material":0
}
]
},
{
"name":"Object_3",
"primitives":[
{
"attributes":{
"POSITION":61,
"NORMAL":62,
"TEXCOORD_0":63
},
"indices":64,
"material":0
}
]
},
{
"name":"Object_5",
"primitives":[
{
"attributes":{
"POSITION":65,
"NORMAL":66,
"TEXCOORD_0":67
},
"indices":68,
"material":0
}
]
},
{
"name":"Object_16",
"primitives":[
{
"attributes":{
"POSITION":69,
"NORMAL":70,
"TEXCOORD_0":71
},
"indices":72,
"material":0
}
]
},
{
"name":"Object_26",
"primitives":[
{
"attributes":{
"POSITION":73,
"NORMAL":74,
"TEXCOORD_0":75
},
"indices":76,
"material":0
}
]
},
{
"name":"Object_27",
"primitives":[
{
"attributes":{
"POSITION":77,
"NORMAL":78,
"TEXCOORD_0":79
},
"indices":80,
"material":0
}
]
},
{
"name":"Object_25",
"primitives":[
{
"attributes":{
"POSITION":81,
"NORMAL":82,
"TEXCOORD_0":83
},
"indices":84,
"material":0
}
]
},
{
"name":"Object_12",
"primitives":[
{
"attributes":{
"POSITION":85,
"NORMAL":86,
"TEXCOORD_0":87
},
"indices":88,
"material":3
}
]
},
{
"name":"Object_17",
"primitives":[
{
"attributes":{
"POSITION":89,
"NORMAL":90,
"TEXCOORD_0":91
},
"indices":92,
"material":3
}
]
},
{
"name":"Object_18",
"primitives":[
{
"attributes":{
"POSITION":93,
"NORMAL":94,
"TEXCOORD_0":95
},
"indices":92,
"material":3
}
]
},
{
"name":"Object_6",
"primitives":[
{
"attributes":{
"POSITION":96,
"NORMAL":97,
"TEXCOORD_0":98
},
"indices":99,
"material":0
}
]
},
{
"name":"Object_13",
"primitives":[
{
"attributes":{
"POSITION":100,
"NORMAL":101,
"TEXCOORD_0":102
},
"indices":103,
"material":3
}
]
},
{
"name":"Object_28",
"primitives":[
{
"attributes":{
"POSITION":104,
"NORMAL":105,
"TEXCOORD_0":106
},
"indices":107,
"material":0
}
]
},
{
"name":"Object_29",
"primitives":[
{
"attributes":{
"POSITION":108,
"NORMAL":109,
"TEXCOORD_0":110
},
"indices":111,
"material":4
}
]
},
{
"name":"Object_4",
"primitives":[
{
"attributes":{
"POSITION":112,
"NORMAL":113,
"TEXCOORD_0":114
},
"indices":115,
"material":0
}
]
}
],
"textures":[
{
"sampler":0,
"source":0
},
{
"sampler":0,
"source":0
},
{
"sampler":0,
"source":1
},
{
"sampler":0,
"source":2
},
{
"sampler":0,
"source":3
}
],
"images":[
{
"mimeType":"image/jpeg",
"name":"Satellite_normal",
"uri":"Satellite_normal.jpg"
},
{
"mimeType":"image/jpeg",
"name":"Solar_Panel_normal",
"uri":"Solar_Panel_normal.jpg"
},
{
"mimeType":"image/jpeg",
"name":"Solar_Panel_baseColor",
"uri":"Solar_Panel_baseColor.jpg"
},
{
"mimeType":"image/png",
"name":"Solar_Panel_metallicRoughness",
"uri":"Solar_Panel_metallicRoughness.png"
}
],
"accessors":[
{
"bufferView":0,
"componentType":5126,
"count":3846,
"max":[
1.2808279991149902,
-0.009033918380737305,
1.2562278509140015
],
"min":[
-1.2808282375335693,
-4.112043857574463,
-1.2562278509140015
],
"type":"VEC3"
},
{
"bufferView":1,
"componentType":5126,
"count":3846,
"type":"VEC3"
},
{
"bufferView":2,
"componentType":5126,
"count":3846,
"type":"VEC2"
},
{
"bufferView":3,
"componentType":5123,
"count":9816,
"type":"SCALAR"
},
{
"bufferView":4,
"componentType":5126,
"count":76,
"max":[
1.2808279991149902,
-0.508188009262085,
1.1144732236862183
],
"min":[
-0.7932072281837463,
-2.9625625610351562,
-1.1144732236862183
],
"type":"VEC3"
},
{
"bufferView":5,
"componentType":5126,
"count":76,
"type":"VEC3"
},
{
"bufferView":6,
"componentType":5126,
"count":76,
"type":"VEC2"
},
{
"bufferView":7,
"componentType":5123,
"count":120,
"type":"SCALAR"
},
{
"bufferView":8,
"componentType":5126,
"count":2175,
"max":[
0.9167066216468811,
-4.112043857574463,
0.9167174100875854
],
"min":[
-0.9167068600654602,
-6.032017230987549,
-0.9167174100875854
],
"type":"VEC3"
},
{
"bufferView":9,
"componentType":5126,
"count":2175,
"type":"VEC3"
},
{
"bufferView":10,
"componentType":5126,
"count":2175,
"type":"VEC2"
},
{
"bufferView":11,
"componentType":5123,
"count":4896,
"type":"SCALAR"
},
{
"bufferView":12,
"componentType":5126,
"count":225,
"max":[
0.9998815655708313,
0.9962453246116638,
0.9812908172607422
],
"min":[
-1.0140560865402222,
-0.028652645647525787,
0.927631139755249
],
"type":"VEC3"
},
{
"bufferView":13,
"componentType":5126,
"count":225,
"type":"VEC3"
},
{
"bufferView":14,
"componentType":5126,
"count":225,
"type":"VEC2"
},
{
"bufferView":15,
"componentType":5123,
"count":1152,
"type":"SCALAR"
},
{
"bufferView":16,
"componentType":5126,
"count":225,
"max":[
1.1517163515090942,
1.1104995012283325,
0.982665479183197
],
"min":[
-1.0015796422958374,
-0.37328052520751953,
0.9198819398880005
],
"type":"VEC3"
},
{
"bufferView":17,
"componentType":5126,
"count":225,
"type":"VEC3"
},
{
"bufferView":18,
"componentType":5126,
"count":225,
"type":"VEC2"
},
{
"bufferView":19,
"componentType":5123,
"count":1152,
"type":"SCALAR"
},
{
"bufferView":20,
"componentType":5126,
"count":225,
"max":[
1.1517163515090942,
1.1104995012283325,
0.982665479183197
],
"min":[
-1.0015796422958374,
-0.37328052520751953,
0.9198819398880005
],
"type":"VEC3"
},
{
"bufferView":21,
"componentType":5126,
"count":225,
"type":"VEC3"
},
{
"bufferView":22,
"componentType":5126,
"count":225,
"type":"VEC2"
},
{
"bufferView":23,
"componentType":5126,
"count":88,
"max":[
14.04509449005127,
1.9052579402923584,
13.60057544708252
],
"min":[
-14.04509449005127,
-2.298413038253784,
11.60057544708252
],
"type":"VEC3"
},
{
"bufferView":24,
"componentType":5126,
"count":88,
"type":"VEC3"
},
{
"bufferView":25,
"componentType":5126,
"count":88,
"type":"VEC2"
},
{
"bufferView":26,
"componentType":5123,
"count":216,
"type":"SCALAR"
},
{
"bufferView":27,
"componentType":5126,
"count":328,
"max":[
13.762471199035645,
-0.4253268241882324,
13.068304061889648
],
"min":[
-13.762471199035645,
-1.4242603778839111,
12.041482925415039
],
"type":"VEC3"
},
{
"bufferView":28,
"componentType":5126,
"count":328,
"type":"VEC3"
},
{
"bufferView":29,
"componentType":5126,
"count":328,
"type":"VEC2"
},
{
"bufferView":30,
"componentType":5123,
"count":852,
"type":"SCALAR"
},
{
"bufferView":31,
"componentType":5126,
"count":102,
"max":[
15.543909072875977,
1.7733864784240723,
1.048768162727356
],
"min":[
-15.543909072875977,
-2.44549298286438,
-0.9512320756912231
],
"type":"VEC3"
},
{
"bufferView":32,
"componentType":5126,
"count":102,
"type":"VEC3"
},
{
"bufferView":33,
"componentType":5126,
"count":102,
"type":"VEC2"
},
{
"bufferView":34,
"componentType":5123,
"count":228,
"type":"SCALAR"
},
{
"bufferView":35,
"componentType":5126,
"count":332,
"max":[
15.123024940490723,
-0.6253689527511597,
0.5164967179298401
],
"min":[
-15.123024940490723,
-1.6044522523880005,
-0.5103245377540588
],
"type":"VEC3"
},
{
"bufferView":36,
"componentType":5126,
"count":332,
"type":"VEC3"
},
{
"bufferView":37,
"componentType":5126,
"count":332,
"type":"VEC2"
},
{
"bufferView":38,
"componentType":5123,
"count":852,
"type":"SCALAR"
},
{
"bufferView":39,
"componentType":5126,
"count":102,
"max":[
15.543909072875977,
1.7733864784240723,
1.048768162727356
],
"min":[
-15.543909072875977,
-2.44549298286438,
-0.9512320756912231
],
"type":"VEC3"
},
{
"bufferView":40,
"componentType":5126,
"count":102,
"type":"VEC3"
},
{
"bufferView":41,
"componentType":5126,
"count":102,
"type":"VEC2"
},
{
"bufferView":42,
"componentType":5126,
"count":332,
"max":[
15.123024940490723,
-0.6253689527511597,
0.5164967179298401
],
"min":[
-15.123024940490723,
-1.6044522523880005,
-0.5103245377540588
],
"type":"VEC3"
},
{
"bufferView":43,
"componentType":5126,
"count":332,
"type":"VEC3"
},
{
"bufferView":44,
"componentType":5126,
"count":332,
"type":"VEC2"
},
{
"bufferView":45,
"componentType":5126,
"count":648,
"max":[
1.0957518815994263,
-0.04963158071041107,
0.2583972215652466
],
"min":[
-1.0957518815994263,
-0.5181597471237183,
-0.345893532037735
],
"type":"VEC3"
},
{
"bufferView":46,
"componentType":5126,
"count":648,
"type":"VEC3"
},
{
"bufferView":47,
"componentType":5126,
"count":648,
"type":"VEC2"
},
{
"bufferView":48,
"componentType":5123,
"count":1704,
"type":"SCALAR"
},
{
"bufferView":49,
"componentType":5126,
"count":472,
"max":[
0.37080246210098267,
1.3747799396514893,
1.3747799396514893
],
"min":[
-0.05755021423101425,
-1.3747799396514893,
-1.3747799396514893
],
"type":"VEC3"
},
{
"bufferView":50,
"componentType":5126,
"count":472,
"type":"VEC3"
},
{
"bufferView":51,
"componentType":5126,
"count":472,
"type":"VEC2"
},
{
"bufferView":52,
"componentType":5123,
"count":720,
"type":"SCALAR"
},
{
"bufferView":53,
"componentType":5126,
"count":384,
"max":[
0.6658505201339722,
0.8484429121017456,
0.8479065299034119
],
"min":[
-0.2095368653535843,
-0.8484429121017456,
-0.8479065299034119
],
"type":"VEC3"
},
{
"bufferView":54,
"componentType":5126,
"count":384,
"type":"VEC3"
},
{
"bufferView":55,
"componentType":5126,
"count":384,
"type":"VEC2"
},
{
"bufferView":56,
"componentType":5123,
"count":864,
"type":"SCALAR"
},
{
"bufferView":57,
"componentType":5126,
"count":1586,
"max":[
1.0124094486236572,
0.30932143330574036,
1.012379765510559
],
"min":[
-1.0123374462127686,
-0.13236448168754578,
-1.0123671293258667
],
"type":"VEC3"
},
{
"bufferView":58,
"componentType":5126,
"count":1586,
"type":"VEC3"
},
{
"bufferView":59,
"componentType":5126,
"count":1586,
"type":"VEC2"
},
{
"bufferView":60,
"componentType":5123,
"count":5466,
"type":"SCALAR"
},
{
"bufferView":61,
"componentType":5126,
"count":556,
"max":[
1.0190391540527344,
0.6776396632194519,
0.6918282508850098
],
"min":[
-1.0190391540527344,
0.08828667551279068,
-0.010464048013091087
],
"type":"VEC3"
},
{
"bufferView":62,
"componentType":5126,
"count":556,
"type":"VEC3"
},
{
"bufferView":63,
"componentType":5126,
"count":556,
"type":"VEC2"
},
{
"bufferView":64,
"componentType":5123,
"count":768,
"type":"SCALAR"
},
{
"bufferView":65,
"componentType":5126,
"count":696,
"max":[
0.7715429663658142,
0.4796540439128876,
0.3822658061981201
],
"min":[
-0.7715429663658142,
0.1997862309217453,
0.06935004889965057
],
"type":"VEC3"
},
{
"bufferView":66,
"componentType":5126,
"count":696,
"type":"VEC3"
},
{
"bufferView":67,
"componentType":5126,
"count":696,
"type":"VEC2"
},
{
"bufferView":68,
"componentType":5123,
"count":960,
"type":"SCALAR"
},
{
"bufferView":69,
"componentType":5126,
"count":548,
"max":[
0.894638180732727,
0.5949155688285828,
0.6073720455169678
],
"min":[
-0.894638180732727,
0.07750892639160156,
-0.009186630137264729
],
"type":"VEC3"
},
{
"bufferView":70,
"componentType":5126,
"count":548,
"type":"VEC3"
},
{
"bufferView":71,
"componentType":5126,
"count":548,
"type":"VEC2"
},
{
"bufferView":72,
"componentType":5123,
"count":768,
"type":"SCALAR"
},
{
"bufferView":73,
"componentType":5126,
"count":444,
"max":[
0.13437534868717194,
0.008085720241069794,
0.13439875841140747
],
"min":[
-0.13437534868717194,
-0.015389882028102875,
-0.13439875841140747
],
"type":"VEC3"
},
{
"bufferView":74,
"componentType":5126,
"count":444,
"type":"VEC3"
},
{
"bufferView":75,
"componentType":5126,
"count":444,
"type":"VEC2"
},
{
"bufferView":76,
"componentType":5123,
"count":936,
"type":"SCALAR"
},
{
"bufferView":77,
"componentType":5126,
"count":402,
"max":[
0.17192448675632477,
0.005207605194300413,
0.17192447185516357
],
"min":[
-0.17192454636096954,
-0.012802640907466412,
-0.17192450165748596
],
"type":"VEC3"
},
{
"bufferView":78,
"componentType":5126,
"count":402,
"type":"VEC3"
},
{
"bufferView":79,
"componentType":5126,
"count":402,
"type":"VEC2"
},
{
"bufferView":80,
"componentType":5123,
"count":1536,
"type":"SCALAR"
},
{
"bufferView":81,
"componentType":5126,
"count":1517,
"max":[
0.13648772239685059,
0.06673302501440048,
0.13648788630962372
],
"min":[
-0.13648894429206848,
-0.11858122050762177,
-0.13648878037929535
],
"type":"VEC3"
},
{
"bufferView":82,
"componentType":5126,
"count":1517,
"type":"VEC3"
},
{
"bufferView":83,
"componentType":5126,
"count":1517,
"type":"VEC2"
},
{
"bufferView":84,
"componentType":5123,
"count":4464,
"type":"SCALAR"
},
{
"bufferView":85,
"componentType":5126,
"count":328,
"max":[
1.1455684900283813,
0.03603440523147583,
0.09152501076459885
],
"min":[
-1.1455684900283813,
-0.32269373536109924,
-0.07733390480279922
],
"type":"VEC3"
},
{
"bufferView":86,
"componentType":5126,
"count":328,
"type":"VEC3"
},
{
"bufferView":87,
"componentType":5126,
"count":328,
"type":"VEC2"
},
{
"bufferView":88,
"componentType":5123,
"count":480,
"type":"SCALAR"
},
{
"bufferView":89,
"componentType":5126,
"count":320,
"max":[
0.8959935307502747,
0.02818390168249607,
0.06066572293639183
],
"min":[
-0.8959935307502747,
-0.2523912787437439,
-0.10770034790039062
],
"type":"VEC3"
},
{
"bufferView":90,
"componentType":5126,
"count":320,
"type":"VEC3"
},
{
"bufferView":91,
"componentType":5126,
"count":320,
"type":"VEC2"
},
{
"bufferView":92,
"componentType":5123,
"count":480,
"type":"SCALAR"
},
{
"bufferView":93,
"componentType":5126,
"count":320,
"max":[
0.8959935307502747,
0.02818390168249607,
0.06066572293639183
],
"min":[
-0.8959935307502747,
-0.2523912787437439,
-0.10770034790039062
],
"type":"VEC3"
},
{
"bufferView":94,
"componentType":5126,
"count":320,
"type":"VEC3"
},
{
"bufferView":95,
"componentType":5126,
"count":320,
"type":"VEC2"
},
{
"bufferView":96,
"componentType":5126,
"count":608,
"max":[
0.7487062215805054,
0.9412931799888611,
0.6007380485534668
],
"min":[
-0.7487062215805054,
0.6752066612243652,
-0.2041023075580597
],
"type":"VEC3"
},
{
"bufferView":97,
"componentType":5126,
"count":608,
"type":"VEC3"
},
{
"bufferView":98,
"componentType":5126,
"count":608,
"type":"VEC2"
},
{
"bufferView":99,
"componentType":5123,
"count":2076,
"type":"SCALAR"
},
{
"bufferView":100,
"componentType":5126,
"count":932,
"max":[
1.0877488851547241,
-0.1153666228055954,
0.053743213415145874
],
"min":[
-1.0877488851547241,
-0.7677185535430908,
-0.7251256108283997
],
"type":"VEC3"
},
{
"bufferView":101,
"componentType":5126,
"count":932,
"type":"VEC3"
},
{
"bufferView":102,
"componentType":5126,
"count":932,
"type":"VEC2"
},
{
"bufferView":103,
"componentType":5123,
"count":1296,
"type":"SCALAR"
},
{
"bufferView":104,
"componentType":5126,
"count":234,
"max":[
1.560777187347412,
1.2545506954193115,
0.0045616417191922665
],
"min":[
-1.560777187347412,
-1.271852731704712,
-0.0062730759382247925
],
"type":"VEC3"
},
{
"bufferView":105,
"componentType":5126,
"count":234,
"type":"VEC3"
},
{
"bufferView":106,
"componentType":5126,
"count":234,
"type":"VEC2"
},
{
"bufferView":107,
"componentType":5123,
"count":408,
"type":"SCALAR"
},
{
"bufferView":108,
"componentType":5126,
"count":48,
"max":[
7.610929012298584,
1.247623324394226,
0.0016901232302188873
],
"min":[
-7.610929012298584,
-1.247623324394226,
-0.0032989121973514557
],
"type":"VEC3"
},
{
"bufferView":109,
"componentType":5126,
"count":48,
"type":"VEC3"
},
{
"bufferView":110,
"componentType":5126,
"count":48,
"type":"VEC2"
},
{
"bufferView":111,
"componentType":5123,
"count":72,
"type":"SCALAR"
},
{
"bufferView":112,
"componentType":5126,
"count":356,
"max":[
1.305681586265564,
0.1804524064064026,
0.8413872718811035
],
"min":[
-1.305681586265564,
-0.1804524064064026,
0.5811535120010376
],
"type":"VEC3"
},
{
"bufferView":113,
"componentType":5126,
"count":356,
"type":"VEC3"
},
{
"bufferView":114,
"componentType":5126,
"count":356,
"type":"VEC2"
},
{
"bufferView":115,
"componentType":5123,
"count":552,
"type":"SCALAR"
}
],
"bufferViews":[
{
"buffer":0,
"byteLength":46152,
"byteOffset":0,
"target":34962
},
{
"buffer":0,
"byteLength":46152,
"byteOffset":46152,
"target":34962
},
{
"buffer":0,
"byteLength":30768,
"byteOffset":92304,
"target":34962
},
{
"buffer":0,
"byteLength":19632,
"byteOffset":123072,
"target":34963
},
{
"buffer":0,
"byteLength":912,
"byteOffset":142704,
"target":34962
},
{
"buffer":0,
"byteLength":912,
"byteOffset":143616,
"target":34962
},
{
"buffer":0,
"byteLength":608,
"byteOffset":144528,
"target":34962
},
{
"buffer":0,
"byteLength":240,
"byteOffset":145136,
"target":34963
},
{
"buffer":0,
"byteLength":26100,
"byteOffset":145376,
"target":34962
},
{
"buffer":0,
"byteLength":26100,
"byteOffset":171476,
"target":34962
},
{
"buffer":0,
"byteLength":17400,
"byteOffset":197576,
"target":34962
},
{
"buffer":0,
"byteLength":9792,
"byteOffset":214976,
"target":34963
},
{
"buffer":0,
"byteLength":2700,
"byteOffset":224768,
"target":34962
},
{
"buffer":0,
"byteLength":2700,
"byteOffset":227468,
"target":34962
},
{
"buffer":0,
"byteLength":1800,
"byteOffset":230168,
"target":34962
},
{
"buffer":0,
"byteLength":2304,
"byteOffset":231968,
"target":34963
},
{
"buffer":0,
"byteLength":2700,
"byteOffset":234272,
"target":34962
},
{
"buffer":0,
"byteLength":2700,
"byteOffset":236972,
"target":34962
},
{
"buffer":0,
"byteLength":1800,
"byteOffset":239672,
"target":34962
},
{
"buffer":0,
"byteLength":2304,
"byteOffset":241472,
"target":34963
},
{
"buffer":0,
"byteLength":2700,
"byteOffset":243776,
"target":34962
},
{
"buffer":0,
"byteLength":2700,
"byteOffset":246476,
"target":34962
},
{
"buffer":0,
"byteLength":1800,
"byteOffset":249176,
"target":34962
},
{
"buffer":0,
"byteLength":1056,
"byteOffset":250976,
"target":34962
},
{
"buffer":0,
"byteLength":1056,
"byteOffset":252032,
"target":34962
},
{
"buffer":0,
"byteLength":704,
"byteOffset":253088,
"target":34962
},
{
"buffer":0,
"byteLength":432,
"byteOffset":253792,
"target":34963
},
{
"buffer":0,
"byteLength":3936,
"byteOffset":254224,
"target":34962
},
{
"buffer":0,
"byteLength":3936,
"byteOffset":258160,
"target":34962
},
{
"buffer":0,
"byteLength":2624,
"byteOffset":262096,
"target":34962
},
{
"buffer":0,
"byteLength":1704,
"byteOffset":264720,
"target":34963
},
{
"buffer":0,
"byteLength":1224,
"byteOffset":266424,
"target":34962
},
{
"buffer":0,
"byteLength":1224,
"byteOffset":267648,
"target":34962
},
{
"buffer":0,
"byteLength":816,
"byteOffset":268872,
"target":34962
},
{
"buffer":0,
"byteLength":456,
"byteOffset":269688,
"target":34963
},
{
"buffer":0,
"byteLength":3984,
"byteOffset":270144,
"target":34962
},
{
"buffer":0,
"byteLength":3984,
"byteOffset":274128,
"target":34962
},
{
"buffer":0,
"byteLength":2656,
"byteOffset":278112,
"target":34962
},
{
"buffer":0,
"byteLength":1704,
"byteOffset":280768,
"target":34963
},
{
"buffer":0,
"byteLength":1224,
"byteOffset":282472,
"target":34962
},
{
"buffer":0,
"byteLength":1224,
"byteOffset":283696,
"target":34962
},
{
"buffer":0,
"byteLength":816,
"byteOffset":284920,
"target":34962
},
{
"buffer":0,
"byteLength":3984,
"byteOffset":285736,
"target":34962
},
{
"buffer":0,
"byteLength":3984,
"byteOffset":289720,
"target":34962
},
{
"buffer":0,
"byteLength":2656,
"byteOffset":293704,
"target":34962
},
{
"buffer":0,
"byteLength":7776,
"byteOffset":296360,
"target":34962
},
{
"buffer":0,
"byteLength":7776,
"byteOffset":304136,
"target":34962
},
{
"buffer":0,
"byteLength":5184,
"byteOffset":311912,
"target":34962
},
{
"buffer":0,
"byteLength":3408,
"byteOffset":317096,
"target":34963
},
{
"buffer":0,
"byteLength":5664,
"byteOffset":320504,
"target":34962
},
{
"buffer":0,
"byteLength":5664,
"byteOffset":326168,
"target":34962
},
{
"buffer":0,
"byteLength":3776,
"byteOffset":331832,
"target":34962
},
{
"buffer":0,
"byteLength":1440,
"byteOffset":335608,
"target":34963
},
{
"buffer":0,
"byteLength":4608,
"byteOffset":337048,
"target":34962
},
{
"buffer":0,
"byteLength":4608,
"byteOffset":341656,
"target":34962
},
{
"buffer":0,
"byteLength":3072,
"byteOffset":346264,
"target":34962
},
{
"buffer":0,
"byteLength":1728,
"byteOffset":349336,
"target":34963
},
{
"buffer":0,
"byteLength":19032,
"byteOffset":351064,
"target":34962
},
{
"buffer":0,
"byteLength":19032,
"byteOffset":370096,
"target":34962
},
{
"buffer":0,
"byteLength":12688,
"byteOffset":389128,
"target":34962
},
{
"buffer":0,
"byteLength":10932,
"byteOffset":401816,
"target":34963
},
{
"buffer":0,
"byteLength":6672,
"byteOffset":412748,
"target":34962
},
{
"buffer":0,
"byteLength":6672,
"byteOffset":419420,
"target":34962
},
{
"buffer":0,
"byteLength":4448,
"byteOffset":426092,
"target":34962
},
{
"buffer":0,
"byteLength":1536,
"byteOffset":430540,
"target":34963
},
{
"buffer":0,
"byteLength":8352,
"byteOffset":432076,
"target":34962
},
{
"buffer":0,
"byteLength":8352,
"byteOffset":440428,
"target":34962
},
{
"buffer":0,
"byteLength":5568,
"byteOffset":448780,
"target":34962
},
{
"buffer":0,
"byteLength":1920,
"byteOffset":454348,
"target":34963
},
{
"buffer":0,
"byteLength":6576,
"byteOffset":456268,
"target":34962
},
{
"buffer":0,
"byteLength":6576,
"byteOffset":462844,
"target":34962
},
{
"buffer":0,
"byteLength":4384,
"byteOffset":469420,
"target":34962
},
{
"buffer":0,
"byteLength":1536,
"byteOffset":473804,
"target":34963
},
{
"buffer":0,
"byteLength":5328,
"byteOffset":475340,
"target":34962
},
{
"buffer":0,
"byteLength":5328,
"byteOffset":480668,
"target":34962
},
{
"buffer":0,
"byteLength":3552,
"byteOffset":485996,
"target":34962
},
{
"buffer":0,
"byteLength":1872,
"byteOffset":489548,
"target":34963
},
{
"buffer":0,
"byteLength":4824,
"byteOffset":491420,
"target":34962
},
{
"buffer":0,
"byteLength":4824,
"byteOffset":496244,
"target":34962
},
{
"buffer":0,
"byteLength":3216,
"byteOffset":501068,
"target":34962
},
{
"buffer":0,
"byteLength":3072,
"byteOffset":504284,
"target":34963
},
{
"buffer":0,
"byteLength":18204,
"byteOffset":507356,
"target":34962
},
{
"buffer":0,
"byteLength":18204,
"byteOffset":525560,
"target":34962
},
{
"buffer":0,
"byteLength":12136,
"byteOffset":543764,
"target":34962
},
{
"buffer":0,
"byteLength":8928,
"byteOffset":555900,
"target":34963
},
{
"buffer":0,
"byteLength":3936,
"byteOffset":564828,
"target":34962
},
{
"buffer":0,
"byteLength":3936,
"byteOffset":568764,
"target":34962
},
{
"buffer":0,
"byteLength":2624,
"byteOffset":572700,
"target":34962
},
{
"buffer":0,
"byteLength":960,
"byteOffset":575324,
"target":34963
},
{
"buffer":0,
"byteLength":3840,
"byteOffset":576284,
"target":34962
},
{
"buffer":0,
"byteLength":3840,
"byteOffset":580124,
"target":34962
},
{
"buffer":0,
"byteLength":2560,
"byteOffset":583964,
"target":34962
},
{
"buffer":0,
"byteLength":960,
"byteOffset":586524,
"target":34963
},
{
"buffer":0,
"byteLength":3840,
"byteOffset":587484,
"target":34962
},
{
"buffer":0,
"byteLength":3840,
"byteOffset":591324,
"target":34962
},
{
"buffer":0,
"byteLength":2560,
"byteOffset":595164,
"target":34962
},
{
"buffer":0,
"byteLength":7296,
"byteOffset":597724,
"target":34962
},
{
"buffer":0,
"byteLength":7296,
"byteOffset":605020,
"target":34962
},
{
"buffer":0,
"byteLength":4864,
"byteOffset":612316,
"target":34962
},
{
"buffer":0,
"byteLength":4152,
"byteOffset":617180,
"target":34963
},
{
"buffer":0,
"byteLength":11184,
"byteOffset":621332,
"target":34962
},
{
"buffer":0,
"byteLength":11184,
"byteOffset":632516,
"target":34962
},
{
"buffer":0,
"byteLength":7456,
"byteOffset":643700,
"target":34962
},
{
"buffer":0,
"byteLength":2592,
"byteOffset":651156,
"target":34963
},
{
"buffer":0,
"byteLength":2808,
"byteOffset":653748,
"target":34962
},
{
"buffer":0,
"byteLength":2808,
"byteOffset":656556,
"target":34962
},
{
"buffer":0,
"byteLength":1872,
"byteOffset":659364,
"target":34962
},
{
"buffer":0,
"byteLength":816,
"byteOffset":661236,
"target":34963
},
{
"buffer":0,
"byteLength":576,
"byteOffset":662052,
"target":34962
},
{
"buffer":0,
"byteLength":576,
"byteOffset":662628,
"target":34962
},
{
"buffer":0,
"byteLength":384,
"byteOffset":663204,
"target":34962
},
{
"buffer":0,
"byteLength":144,
"byteOffset":663588,
"target":34963
},
{
"buffer":0,
"byteLength":4272,
"byteOffset":663732,
"target":34962
},
{
"buffer":0,
"byteLength":4272,
"byteOffset":668004,
"target":34962
},
{
"buffer":0,
"byteLength":2848,
"byteOffset":672276,
"target":34962
},
{
"buffer":0,
"byteLength":1104,
"byteOffset":675124,
"target":34963
}
],
"samplers":[
{
"magFilter":9729,
"minFilter":9987
}
],
"buffers":[
{
"byteLength":676228,
"uri":"scene1.bin"
}
]
}
:root {
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
line-height: 1.5;
font-weight: 400;
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #242424;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
a {
font-weight: 500;
color: #646cff;
text-decoration: inherit;
}
a:hover {
color: #535bf2;
}
body {
margin: 0;
display: flex;
place-items: center;
min-width: 320px;
min-height: 100vh;
}
h1 {
font-size: 3.2em;
line-height: 1.1;
}
button {
border-radius: 8px;
border: 1px solid transparent;
padding: 0.6em 1.2em;
font-size: 1em;
font-weight: 500;
font-family: inherit;
background-color: #1a1a1a;
cursor: pointer;
transition: border-color 0.25s;
}
button:hover {
border-color: #646cff;
}
button:focus,
button:focus-visible {
outline: 4px auto -webkit-focus-ring-color;
}
.card {
padding: 2em;
}
#app {
max-width: 1280px;
margin: 0 auto;
padding: 2rem;
text-align: center;
}
@media (prefers-color-scheme: light) {
:root {
color: #213547;
background-color: #ffffff;
}
a:hover {
color: #747bff;
}
button {
background-color: #f9f9f9;
}
}
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import cesium from "vite-plugin-cesium";
export default defineConfig({
plugins: [vue(),cesium()],
})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment