- add camera object into Map.js class

- add dem layer with esri images
This commit is contained in:
Arno Kaimbacher 2021-03-29 15:28:30 +02:00
parent 721a9cdaca
commit 0feef57300
4 changed files with 40551 additions and 181 deletions

213
package-lock.json generated
View File

@ -56,20 +56,20 @@
"dev": true "dev": true
}, },
"node_modules/@babel/core": { "node_modules/@babel/core": {
"version": "7.13.10", "version": "7.13.13",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.10.tgz", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.13.tgz",
"integrity": "sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw==", "integrity": "sha512-1xEs9jZAyKIouOoCmpsgk/I26PoKyvzQ2ixdRpRzfbcp1fL+ozw7TUgdDgwonbTovqRaTfRh50IXuw4QrWO0GA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@babel/code-frame": "^7.12.13", "@babel/code-frame": "^7.12.13",
"@babel/generator": "^7.13.9", "@babel/generator": "^7.13.9",
"@babel/helper-compilation-targets": "^7.13.10", "@babel/helper-compilation-targets": "^7.13.13",
"@babel/helper-module-transforms": "^7.13.0", "@babel/helper-module-transforms": "^7.13.12",
"@babel/helpers": "^7.13.10", "@babel/helpers": "^7.13.10",
"@babel/parser": "^7.13.10", "@babel/parser": "^7.13.13",
"@babel/template": "^7.12.13", "@babel/template": "^7.12.13",
"@babel/traverse": "^7.13.0", "@babel/traverse": "^7.13.13",
"@babel/types": "^7.13.0", "@babel/types": "^7.13.13",
"convert-source-map": "^1.7.0", "convert-source-map": "^1.7.0",
"debug": "^4.1.0", "debug": "^4.1.0",
"gensync": "^1.0.0-beta.2", "gensync": "^1.0.0-beta.2",
@ -117,12 +117,12 @@
} }
}, },
"node_modules/@babel/helper-compilation-targets": { "node_modules/@babel/helper-compilation-targets": {
"version": "7.13.10", "version": "7.13.13",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.10.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz",
"integrity": "sha512-/Xju7Qg1GQO4mHZ/Kcs6Au7gfafgZnwm+a7sy/ow/tV1sHeraRUHbjdat8/UvDor4Tez+siGKDk6zIKtCPKVJA==", "integrity": "sha512-q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@babel/compat-data": "^7.13.8", "@babel/compat-data": "^7.13.12",
"@babel/helper-validator-option": "^7.12.17", "@babel/helper-validator-option": "^7.12.17",
"browserslist": "^4.14.5", "browserslist": "^4.14.5",
"semver": "^6.3.0" "semver": "^6.3.0"
@ -364,9 +364,9 @@
} }
}, },
"node_modules/@babel/parser": { "node_modules/@babel/parser": {
"version": "7.13.12", "version": "7.13.13",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.13.tgz",
"integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", "integrity": "sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==",
"dev": true, "dev": true,
"bin": { "bin": {
"parser": "bin/babel-parser.js" "parser": "bin/babel-parser.js"
@ -1278,26 +1278,25 @@
} }
}, },
"node_modules/@babel/traverse": { "node_modules/@babel/traverse": {
"version": "7.13.0", "version": "7.13.13",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.13.tgz",
"integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", "integrity": "sha512-CblEcwmXKR6eP43oQGG++0QMTtCjAsa3frUuzHoiIJWpaIIi8dwMyEFUJoXRLxagGqCK+jALRwIO+o3R9p/uUg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@babel/code-frame": "^7.12.13", "@babel/code-frame": "^7.12.13",
"@babel/generator": "^7.13.0", "@babel/generator": "^7.13.9",
"@babel/helper-function-name": "^7.12.13", "@babel/helper-function-name": "^7.12.13",
"@babel/helper-split-export-declaration": "^7.12.13", "@babel/helper-split-export-declaration": "^7.12.13",
"@babel/parser": "^7.13.0", "@babel/parser": "^7.13.13",
"@babel/types": "^7.13.0", "@babel/types": "^7.13.13",
"debug": "^4.1.0", "debug": "^4.1.0",
"globals": "^11.1.0", "globals": "^11.1.0"
"lodash": "^4.17.19"
} }
}, },
"node_modules/@babel/types": { "node_modules/@babel/types": {
"version": "7.13.12", "version": "7.13.13",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.13.tgz",
"integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", "integrity": "sha512-kt+EpC6qDfIaqlP+DIbIJOclYy/A1YXs9dAf/ljbi+39Bcbc073H6jKVpXEr/EoIh5anGn5xq/yRVzKl+uIc9w==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@babel/helper-validator-identifier": "^7.12.11", "@babel/helper-validator-identifier": "^7.12.11",
@ -1412,9 +1411,9 @@
"peer": true "peer": true
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "14.14.35", "version": "14.14.37",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz",
"integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==", "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==",
"dev": true "dev": true
}, },
"node_modules/@types/normalize-package-data": { "node_modules/@types/normalize-package-data": {
@ -1570,9 +1569,9 @@
} }
}, },
"node_modules/@webpack-cli/configtest": { "node_modules/@webpack-cli/configtest": {
"version": "1.0.1", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.1.tgz", "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.2.tgz",
"integrity": "sha512-B+4uBUYhpzDXmwuo3V9yBH6cISwxEI4J+NO5ggDaGEEHb0osY/R7MzeKc0bHURXQuZjMM4qD+bSJCKIuI3eNBQ==", "integrity": "sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA==",
"dev": true, "dev": true,
"peerDependencies": { "peerDependencies": {
"webpack": "4.x.x || 5.x.x", "webpack": "4.x.x || 5.x.x",
@ -1580,9 +1579,9 @@
} }
}, },
"node_modules/@webpack-cli/info": { "node_modules/@webpack-cli/info": {
"version": "1.2.2", "version": "1.2.3",
"resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.2.tgz", "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.3.tgz",
"integrity": "sha512-5U9kUJHnwU+FhKH4PWGZuBC1hTEPYyxGSL5jjoBI96Gx8qcYJGOikpiIpFoTq8mmgX3im2zAo2wanv/alD74KQ==", "integrity": "sha512-lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"envinfo": "^7.7.3" "envinfo": "^7.7.3"
@ -1592,9 +1591,9 @@
} }
}, },
"node_modules/@webpack-cli/serve": { "node_modules/@webpack-cli/serve": {
"version": "1.3.0", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.0.tgz", "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.1.tgz",
"integrity": "sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw==", "integrity": "sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw==",
"dev": true, "dev": true,
"peerDependencies": { "peerDependencies": {
"webpack-cli": "4.x.x" "webpack-cli": "4.x.x"
@ -2625,9 +2624,9 @@
} }
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.3.699", "version": "1.3.701",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.699.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.701.tgz",
"integrity": "sha512-fjt43CPXdPYwD9ybmKbNeLwZBmCVdLY2J5fGZub7/eMPuiqQznOGNXv/wurnpXIlE7ScHnvG9Zi+H4/i6uMKmw==", "integrity": "sha512-Zd9ofdIMYHYhG1gvnejQDvC/kqSeXQvtXF0yRURGxgwGqDZm9F9Fm3dYFnm5gyuA7xpXfBlzVLN1sz0FjxpKfw==",
"dev": true "dev": true
}, },
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
@ -3978,9 +3977,9 @@
} }
}, },
"node_modules/mini-css-extract-plugin": { "node_modules/mini-css-extract-plugin": {
"version": "1.3.9", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.9.tgz", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.4.0.tgz",
"integrity": "sha512-Ac4s+xhVbqlyhXS5J/Vh/QXUz3ycXlCqoCPpg0vdfhsIBH9eg/It/9L1r1XhSCH737M1lqcWnMuWL13zcygn5A==", "integrity": "sha512-DyQr5DhXXARKZoc4kwvCvD95kh69dUupfuKOmBUqZ4kBTmRaRZcU32lYu3cLd6nEGXhQ1l7LzZ3F/CjItaY6VQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"loader-utils": "^2.0.0", "loader-utils": "^2.0.0",
@ -5208,9 +5207,9 @@
} }
}, },
"node_modules/rxjs": { "node_modules/rxjs": {
"version": "6.6.6", "version": "6.6.7",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
"integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"tslib": "^1.9.0" "tslib": "^1.9.0"
@ -6271,15 +6270,15 @@
} }
}, },
"node_modules/webpack-cli": { "node_modules/webpack-cli": {
"version": "4.5.0", "version": "4.6.0",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.5.0.tgz", "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.6.0.tgz",
"integrity": "sha512-wXg/ef6Ibstl2f50mnkcHblRPN/P9J4Nlod5Hg9HGFgSeF8rsqDGHJeVe4aR26q9l62TUJi6vmvC2Qz96YJw1Q==", "integrity": "sha512-9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@discoveryjs/json-ext": "^0.5.0", "@discoveryjs/json-ext": "^0.5.0",
"@webpack-cli/configtest": "^1.0.1", "@webpack-cli/configtest": "^1.0.2",
"@webpack-cli/info": "^1.2.2", "@webpack-cli/info": "^1.2.3",
"@webpack-cli/serve": "^1.3.0", "@webpack-cli/serve": "^1.3.1",
"colorette": "^1.2.1", "colorette": "^1.2.1",
"commander": "^7.0.0", "commander": "^7.0.0",
"enquirer": "^2.3.6", "enquirer": "^2.3.6",
@ -6304,9 +6303,6 @@
"@webpack-cli/generators": { "@webpack-cli/generators": {
"optional": true "optional": true
}, },
"@webpack-cli/init": {
"optional": true
},
"@webpack-cli/migrate": { "@webpack-cli/migrate": {
"optional": true "optional": true
}, },
@ -6656,20 +6652,20 @@
"dev": true "dev": true
}, },
"@babel/core": { "@babel/core": {
"version": "7.13.10", "version": "7.13.13",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.10.tgz", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.13.tgz",
"integrity": "sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw==", "integrity": "sha512-1xEs9jZAyKIouOoCmpsgk/I26PoKyvzQ2ixdRpRzfbcp1fL+ozw7TUgdDgwonbTovqRaTfRh50IXuw4QrWO0GA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/code-frame": "^7.12.13", "@babel/code-frame": "^7.12.13",
"@babel/generator": "^7.13.9", "@babel/generator": "^7.13.9",
"@babel/helper-compilation-targets": "^7.13.10", "@babel/helper-compilation-targets": "^7.13.13",
"@babel/helper-module-transforms": "^7.13.0", "@babel/helper-module-transforms": "^7.13.12",
"@babel/helpers": "^7.13.10", "@babel/helpers": "^7.13.10",
"@babel/parser": "^7.13.10", "@babel/parser": "^7.13.13",
"@babel/template": "^7.12.13", "@babel/template": "^7.12.13",
"@babel/traverse": "^7.13.0", "@babel/traverse": "^7.13.13",
"@babel/types": "^7.13.0", "@babel/types": "^7.13.13",
"convert-source-map": "^1.7.0", "convert-source-map": "^1.7.0",
"debug": "^4.1.0", "debug": "^4.1.0",
"gensync": "^1.0.0-beta.2", "gensync": "^1.0.0-beta.2",
@ -6710,12 +6706,12 @@
} }
}, },
"@babel/helper-compilation-targets": { "@babel/helper-compilation-targets": {
"version": "7.13.10", "version": "7.13.13",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.10.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz",
"integrity": "sha512-/Xju7Qg1GQO4mHZ/Kcs6Au7gfafgZnwm+a7sy/ow/tV1sHeraRUHbjdat8/UvDor4Tez+siGKDk6zIKtCPKVJA==", "integrity": "sha512-q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/compat-data": "^7.13.8", "@babel/compat-data": "^7.13.12",
"@babel/helper-validator-option": "^7.12.17", "@babel/helper-validator-option": "^7.12.17",
"browserslist": "^4.14.5", "browserslist": "^4.14.5",
"semver": "^6.3.0" "semver": "^6.3.0"
@ -6945,9 +6941,9 @@
} }
}, },
"@babel/parser": { "@babel/parser": {
"version": "7.13.12", "version": "7.13.13",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.13.tgz",
"integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", "integrity": "sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==",
"dev": true "dev": true
}, },
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
@ -7661,26 +7657,25 @@
} }
}, },
"@babel/traverse": { "@babel/traverse": {
"version": "7.13.0", "version": "7.13.13",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.13.tgz",
"integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", "integrity": "sha512-CblEcwmXKR6eP43oQGG++0QMTtCjAsa3frUuzHoiIJWpaIIi8dwMyEFUJoXRLxagGqCK+jALRwIO+o3R9p/uUg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/code-frame": "^7.12.13", "@babel/code-frame": "^7.12.13",
"@babel/generator": "^7.13.0", "@babel/generator": "^7.13.9",
"@babel/helper-function-name": "^7.12.13", "@babel/helper-function-name": "^7.12.13",
"@babel/helper-split-export-declaration": "^7.12.13", "@babel/helper-split-export-declaration": "^7.12.13",
"@babel/parser": "^7.13.0", "@babel/parser": "^7.13.13",
"@babel/types": "^7.13.0", "@babel/types": "^7.13.13",
"debug": "^4.1.0", "debug": "^4.1.0",
"globals": "^11.1.0", "globals": "^11.1.0"
"lodash": "^4.17.19"
} }
}, },
"@babel/types": { "@babel/types": {
"version": "7.13.12", "version": "7.13.13",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.13.tgz",
"integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", "integrity": "sha512-kt+EpC6qDfIaqlP+DIbIJOclYy/A1YXs9dAf/ljbi+39Bcbc073H6jKVpXEr/EoIh5anGn5xq/yRVzKl+uIc9w==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-validator-identifier": "^7.12.11", "@babel/helper-validator-identifier": "^7.12.11",
@ -7779,9 +7774,9 @@
"peer": true "peer": true
}, },
"@types/node": { "@types/node": {
"version": "14.14.35", "version": "14.14.37",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz",
"integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==", "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==",
"dev": true "dev": true
}, },
"@types/normalize-package-data": { "@types/normalize-package-data": {
@ -7937,25 +7932,25 @@
} }
}, },
"@webpack-cli/configtest": { "@webpack-cli/configtest": {
"version": "1.0.1", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.1.tgz", "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.2.tgz",
"integrity": "sha512-B+4uBUYhpzDXmwuo3V9yBH6cISwxEI4J+NO5ggDaGEEHb0osY/R7MzeKc0bHURXQuZjMM4qD+bSJCKIuI3eNBQ==", "integrity": "sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA==",
"dev": true, "dev": true,
"requires": {} "requires": {}
}, },
"@webpack-cli/info": { "@webpack-cli/info": {
"version": "1.2.2", "version": "1.2.3",
"resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.2.tgz", "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.3.tgz",
"integrity": "sha512-5U9kUJHnwU+FhKH4PWGZuBC1hTEPYyxGSL5jjoBI96Gx8qcYJGOikpiIpFoTq8mmgX3im2zAo2wanv/alD74KQ==", "integrity": "sha512-lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"envinfo": "^7.7.3" "envinfo": "^7.7.3"
} }
}, },
"@webpack-cli/serve": { "@webpack-cli/serve": {
"version": "1.3.0", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.0.tgz", "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.1.tgz",
"integrity": "sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw==", "integrity": "sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw==",
"dev": true, "dev": true,
"requires": {} "requires": {}
}, },
@ -8750,9 +8745,9 @@
} }
}, },
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.3.699", "version": "1.3.701",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.699.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.701.tgz",
"integrity": "sha512-fjt43CPXdPYwD9ybmKbNeLwZBmCVdLY2J5fGZub7/eMPuiqQznOGNXv/wurnpXIlE7ScHnvG9Zi+H4/i6uMKmw==", "integrity": "sha512-Zd9ofdIMYHYhG1gvnejQDvC/kqSeXQvtXF0yRURGxgwGqDZm9F9Fm3dYFnm5gyuA7xpXfBlzVLN1sz0FjxpKfw==",
"dev": true "dev": true
}, },
"emoji-regex": { "emoji-regex": {
@ -9809,9 +9804,9 @@
"dev": true "dev": true
}, },
"mini-css-extract-plugin": { "mini-css-extract-plugin": {
"version": "1.3.9", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.9.tgz", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.4.0.tgz",
"integrity": "sha512-Ac4s+xhVbqlyhXS5J/Vh/QXUz3ycXlCqoCPpg0vdfhsIBH9eg/It/9L1r1XhSCH737M1lqcWnMuWL13zcygn5A==", "integrity": "sha512-DyQr5DhXXARKZoc4kwvCvD95kh69dUupfuKOmBUqZ4kBTmRaRZcU32lYu3cLd6nEGXhQ1l7LzZ3F/CjItaY6VQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"loader-utils": "^2.0.0", "loader-utils": "^2.0.0",
@ -10738,9 +10733,9 @@
} }
}, },
"rxjs": { "rxjs": {
"version": "6.6.6", "version": "6.6.7",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
"integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"tslib": "^1.9.0" "tslib": "^1.9.0"
@ -11583,15 +11578,15 @@
} }
}, },
"webpack-cli": { "webpack-cli": {
"version": "4.5.0", "version": "4.6.0",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.5.0.tgz", "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.6.0.tgz",
"integrity": "sha512-wXg/ef6Ibstl2f50mnkcHblRPN/P9J4Nlod5Hg9HGFgSeF8rsqDGHJeVe4aR26q9l62TUJi6vmvC2Qz96YJw1Q==", "integrity": "sha512-9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@discoveryjs/json-ext": "^0.5.0", "@discoveryjs/json-ext": "^0.5.0",
"@webpack-cli/configtest": "^1.0.1", "@webpack-cli/configtest": "^1.0.2",
"@webpack-cli/info": "^1.2.2", "@webpack-cli/info": "^1.2.3",
"@webpack-cli/serve": "^1.3.0", "@webpack-cli/serve": "^1.3.1",
"colorette": "^1.2.1", "colorette": "^1.2.1",
"commander": "^7.0.0", "commander": "^7.0.0",
"enquirer": "^2.3.6", "enquirer": "^2.3.6",

View File

@ -3,11 +3,11 @@ import { Vector3 } from 'three/src/math/Vector3';
import { Raycaster } from 'three/src/core/Raycaster'; import { Raycaster } from 'three/src/core/Raycaster';
import { PlaneGeometry } from 'three/src/geometries/PlaneGeometry'; import { PlaneGeometry } from 'three/src/geometries/PlaneGeometry';
import { Mesh } from 'three/src/objects/Mesh'; import { Mesh } from 'three/src/objects/Mesh';
import * as material from '../clip/material'; import * as material from './material';
import * as domEvent from '../core/domEvent'; import * as domEvent from '../core/domEvent';
import * as browser from '../core/browser'; import * as browser from '../core/browser';
export class Picking { export class PickingTool {
simulation; simulation;
intersected; intersected;
@ -91,7 +91,7 @@ export class Picking {
let y = -(point.y / height) * 2 + 1; let y = -(point.y / height) * 2 + 1;
this.mouse.set(x, y); this.mouse.set(x, y);
this.ray.setFromCamera(this.mouse, this.simulation.camera); this.ray.setFromCamera(this.mouse, this.simulation.map.camera);
let intersects = this.ray.intersectObjects(this.simulation.selection.selectables); let intersects = this.ray.intersectObjects(this.simulation.selection.selectables);
if (intersects.length > 0) { if (intersects.length > 0) {
@ -135,7 +135,7 @@ export class Picking {
let y = -(point.y / height) * 2 + 1; let y = -(point.y / height) * 2 + 1;
this.mouse.set(x, y); this.mouse.set(x, y);
this.ray.setFromCamera(this.mouse, this.simulation.camera); this.ray.setFromCamera(this.mouse, this.simulation.map.camera);
let intersects = this.ray.intersectObjects(this.simulation.selection.selectables); let intersects = this.ray.intersectObjects(this.simulation.selection.selectables);
if (intersects.length > 0) { if (intersects.length > 0) {
@ -158,8 +158,8 @@ export class Picking {
} }
this.plane.position.copy(intersectionPoint); this.plane.position.copy(intersectionPoint);
let newNormal = this.simulation.camera.position.clone().sub( let newNormal = this.simulation.map.camera.position.clone().sub(
this.simulation.camera.position.clone().projectOnVector(this.normals[axis]) this.simulation.map.camera.position.clone().projectOnVector(this.normals[axis])
); );
this.plane.lookAt(newNormal.add(intersectionPoint)); this.plane.lookAt(newNormal.add(intersectionPoint));
this.simulation.renderer.domElement.style.cursor = 'grab'; this.simulation.renderer.domElement.style.cursor = 'grab';
@ -177,7 +177,7 @@ export class Picking {
let y = -(point.y / height) * 2 + 1; let y = -(point.y / height) * 2 + 1;
this.mouse.set(x, y); this.mouse.set(x, y);
this.ray.setFromCamera(this.mouse, this.simulation.camera); this.ray.setFromCamera(this.mouse, this.simulation.map.camera);
let intersects = this.ray.intersectObject(this.plane); let intersects = this.ray.intersectObject(this.plane);
if (intersects.length > 0) { if (intersects.length > 0) {
let value; let value;

View File

@ -6,6 +6,8 @@ import { BoreholeControl } from '../controls/BoreholeControl';
import { BoreholePopup } from '../controls/BoreholePopup'; import { BoreholePopup } from '../controls/BoreholePopup';
import * as util from './utilities'; import * as util from './utilities';
import { TinLayer } from '../layer/TinLayer'; import { TinLayer } from '../layer/TinLayer';
import { PerspectiveCamera } from 'three/src/cameras/PerspectiveCamera';
import { Vector3 } from 'three/src/math/Vector3';
class Map extends OrbitControls { class Map extends OrbitControls {
@ -24,8 +26,29 @@ class Map extends OrbitControls {
basemaps; basemaps;
title; title;
constructor(x, y, z, center, camera, scene, container) { constructor(x, y, z, scene, container) {
let size = Math.max(x.max - x.min, y.max - y.min, z.max - z.min); let size = Math.max(x.max - x.min, y.max - y.min, z.max - z.min);
let center = new Vector3((x.min + x.max) / 2, (y.min + y.max) / 2, 0);
let width, height;
if (container.clientWidth && container.clientHeight) {
width = container.clientWidth;
height = container.clientHeight;
} else {
width = window.innerWidth;
height = window.innerHeight;
}
let camera = new PerspectiveCamera(30, width / height, 100, 100000);
const camDirection = new Vector3(-0.5, -Math.SQRT1_2, 0.5);
// const camDirection = new Vector3(0, 0, 1);
const camOffset = camDirection.multiplyScalar(size * 2);
camera.position.copy(center);
camera.position.add(camOffset);
camera.near = size * 0.1;
camera.far = size * 25;
camera.updateProjectionMatrix();
// call parent constructor of OrbitControls // call parent constructor of OrbitControls
super(size, center, camera, scene, container); super(size, center, camera, scene, container);
@ -39,6 +62,10 @@ class Map extends OrbitControls {
this.y = y; this.y = y;
this.z = z; this.z = z;
this.center = center; this.center = center;
this.baseExtent = {
x: x,
y: y
};
//init the control corners //init the control corners
if (this._initControlPos) { if (this._initControlPos) {
@ -61,12 +88,18 @@ class Map extends OrbitControls {
}; };
} }
static async build(x, y, z, center, camera, scene, container, serviceUrl) { static async build(scene, container, serviceUrl) {
const modelData = await util.getMetadata(serviceUrl); const modelData = await util.getMetadata(serviceUrl);
let modelarea = modelData.modelarea;
// do your async stuff here // do your async stuff here
// now instantiate and return a class // now instantiate and return a class
let map = new Map(x, y, z, center, camera, scene, container); let map = new Map(modelarea.x, modelarea.y, modelarea.z, scene, container);
map._initDataLayers(modelData.mappedfeatures); map._initDataLayers(modelData.mappedfeatures);
map._initControls(); map._initControls();

File diff suppressed because one or more lines are too long