- bug: exaggeration slicing box
- npm updates
This commit is contained in:
parent
91e43173e5
commit
87496903e6
76
package-lock.json
generated
76
package-lock.json
generated
|
@ -1370,9 +1370,9 @@
|
|||
"peer": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "14.14.32",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.32.tgz",
|
||||
"integrity": "sha512-/Ctrftx/zp4m8JOujM5ZhwzlWLx22nbQJiVqz8/zE15gOeEW+uly3FSX4fGFpcfEvFzXcMCJwq9lGVWgyARXhg==",
|
||||
"version": "14.14.33",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.33.tgz",
|
||||
"integrity": "sha512-oJqcTrgPUF29oUP8AsUqbXGJNuPutsetaa9kTQAQce5Lx5dTYWV02ScBiT/k1BX/Z7pKeqedmvp39Wu4zR7N7g==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/normalize-package-data": {
|
||||
|
@ -1976,9 +1976,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001197",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001197.tgz",
|
||||
"integrity": "sha512-8aE+sqBqtXz4G8g35Eg/XEaFr2N7rd/VQ6eABGBmNtcB8cN6qNJhMi6oSFy4UWWZgqgL3filHT8Nha4meu3tsw==",
|
||||
"version": "1.0.30001198",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001198.tgz",
|
||||
"integrity": "sha512-r5GGgESqOPZzwvdLVER374FpQu2WluCF1Z2DSiFJ89KSmGjT0LVKjgv4NcAqHmGWF9ihNpqRI9KXO9Ex4sKsgA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/caseless": {
|
||||
|
@ -2339,16 +2339,16 @@
|
|||
}
|
||||
},
|
||||
"node_modules/css-loader": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.1.1.tgz",
|
||||
"integrity": "sha512-5FfhpjwtuRgxqmusDidowqmLlcb+1HgnEDMsi2JhiUrZUcoc+cqw+mUtMIF/+OfeMYaaFCLYp1TaIt9H6I/fKA==",
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.1.2.tgz",
|
||||
"integrity": "sha512-T7vTXHSx0KrVEg/xjcl7G01RcVXpcw4OELwDPvkr7izQNny85A84dK3dqrczuEfBcu7Yg7mdTjJLSTibRUoRZg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"camelcase": "^6.2.0",
|
||||
"cssesc": "^3.0.0",
|
||||
"icss-utils": "^5.1.0",
|
||||
"loader-utils": "^2.0.0",
|
||||
"postcss": "^8.2.6",
|
||||
"postcss": "^8.2.8",
|
||||
"postcss-modules-extract-imports": "^3.0.0",
|
||||
"postcss-modules-local-by-default": "^4.0.0",
|
||||
"postcss-modules-scope": "^3.0.0",
|
||||
|
@ -2578,9 +2578,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.3.683",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.683.tgz",
|
||||
"integrity": "sha512-8mFfiAesXdEdE0DhkMKO7W9U6VU/9T3VTWwZ+4g84/YMP4kgwgFtQgUxuu7FUMcvSeKSNhFQNU+WZ68BQTLT5A==",
|
||||
"version": "1.3.685",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.685.tgz",
|
||||
"integrity": "sha512-C3oFZNkJ8lz85ADqr3hzpjBc2ciejMRN2SCd/D0hwcqpr6MGxfdN/j89VN6l+ERTuCUvhg0VYsf40Q4qTz4bhQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
|
@ -4499,9 +4499,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.2.7",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.7.tgz",
|
||||
"integrity": "sha512-DsVLH3xJzut+VT+rYr0mtvOtpTjSyqDwPf5EZWXcb0uAKfitGpTY9Ec+afi2+TgdN8rWS9Cs88UDYehKo/RvOw==",
|
||||
"version": "8.2.8",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.8.tgz",
|
||||
"integrity": "sha512-1F0Xb2T21xET7oQV9eKuctbM9S7BC0fetoHCc4H13z0PT6haiRLP4T0ZY4XWh7iLP0usgqykT6p9B2RtOf4FPw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"colorette": "^1.2.2",
|
||||
|
@ -6527,9 +6527,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/yargs-parser": {
|
||||
"version": "20.2.6",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz",
|
||||
"integrity": "sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA==",
|
||||
"version": "20.2.7",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz",
|
||||
"integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
|
@ -7701,9 +7701,9 @@
|
|||
"peer": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "14.14.32",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.32.tgz",
|
||||
"integrity": "sha512-/Ctrftx/zp4m8JOujM5ZhwzlWLx22nbQJiVqz8/zE15gOeEW+uly3FSX4fGFpcfEvFzXcMCJwq9lGVWgyARXhg==",
|
||||
"version": "14.14.33",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.33.tgz",
|
||||
"integrity": "sha512-oJqcTrgPUF29oUP8AsUqbXGJNuPutsetaa9kTQAQce5Lx5dTYWV02ScBiT/k1BX/Z7pKeqedmvp39Wu4zR7N7g==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/normalize-package-data": {
|
||||
|
@ -8200,9 +8200,9 @@
|
|||
}
|
||||
},
|
||||
"caniuse-lite": {
|
||||
"version": "1.0.30001197",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001197.tgz",
|
||||
"integrity": "sha512-8aE+sqBqtXz4G8g35Eg/XEaFr2N7rd/VQ6eABGBmNtcB8cN6qNJhMi6oSFy4UWWZgqgL3filHT8Nha4meu3tsw==",
|
||||
"version": "1.0.30001198",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001198.tgz",
|
||||
"integrity": "sha512-r5GGgESqOPZzwvdLVER374FpQu2WluCF1Z2DSiFJ89KSmGjT0LVKjgv4NcAqHmGWF9ihNpqRI9KXO9Ex4sKsgA==",
|
||||
"dev": true
|
||||
},
|
||||
"caseless": {
|
||||
|
@ -8506,16 +8506,16 @@
|
|||
}
|
||||
},
|
||||
"css-loader": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.1.1.tgz",
|
||||
"integrity": "sha512-5FfhpjwtuRgxqmusDidowqmLlcb+1HgnEDMsi2JhiUrZUcoc+cqw+mUtMIF/+OfeMYaaFCLYp1TaIt9H6I/fKA==",
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.1.2.tgz",
|
||||
"integrity": "sha512-T7vTXHSx0KrVEg/xjcl7G01RcVXpcw4OELwDPvkr7izQNny85A84dK3dqrczuEfBcu7Yg7mdTjJLSTibRUoRZg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"camelcase": "^6.2.0",
|
||||
"cssesc": "^3.0.0",
|
||||
"icss-utils": "^5.1.0",
|
||||
"loader-utils": "^2.0.0",
|
||||
"postcss": "^8.2.6",
|
||||
"postcss": "^8.2.8",
|
||||
"postcss-modules-extract-imports": "^3.0.0",
|
||||
"postcss-modules-local-by-default": "^4.0.0",
|
||||
"postcss-modules-scope": "^3.0.0",
|
||||
|
@ -8667,9 +8667,9 @@
|
|||
}
|
||||
},
|
||||
"electron-to-chromium": {
|
||||
"version": "1.3.683",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.683.tgz",
|
||||
"integrity": "sha512-8mFfiAesXdEdE0DhkMKO7W9U6VU/9T3VTWwZ+4g84/YMP4kgwgFtQgUxuu7FUMcvSeKSNhFQNU+WZ68BQTLT5A==",
|
||||
"version": "1.3.685",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.685.tgz",
|
||||
"integrity": "sha512-C3oFZNkJ8lz85ADqr3hzpjBc2ciejMRN2SCd/D0hwcqpr6MGxfdN/j89VN6l+ERTuCUvhg0VYsf40Q4qTz4bhQ==",
|
||||
"dev": true
|
||||
},
|
||||
"emoji-regex": {
|
||||
|
@ -10146,9 +10146,9 @@
|
|||
}
|
||||
},
|
||||
"postcss": {
|
||||
"version": "8.2.7",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.7.tgz",
|
||||
"integrity": "sha512-DsVLH3xJzut+VT+rYr0mtvOtpTjSyqDwPf5EZWXcb0uAKfitGpTY9Ec+afi2+TgdN8rWS9Cs88UDYehKo/RvOw==",
|
||||
"version": "8.2.8",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.8.tgz",
|
||||
"integrity": "sha512-1F0Xb2T21xET7oQV9eKuctbM9S7BC0fetoHCc4H13z0PT6haiRLP4T0ZY4XWh7iLP0usgqykT6p9B2RtOf4FPw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"colorette": "^1.2.2",
|
||||
|
@ -11729,9 +11729,9 @@
|
|||
}
|
||||
},
|
||||
"yargs-parser": {
|
||||
"version": "20.2.6",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz",
|
||||
"integrity": "sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA==",
|
||||
"version": "20.2.7",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz",
|
||||
"integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==",
|
||||
"dev": true
|
||||
},
|
||||
"yocto-queue": {
|
||||
|
|
|
@ -12,6 +12,7 @@ export class MyMeshStandardMaterial extends MeshStandardMaterial {
|
|||
|
||||
m_shader.uniforms.clippingLow = this.uniforms.clippingLow; // { type: "v3", value: new Vector3(0, 0, 0) };
|
||||
m_shader.uniforms.clippingHigh = this.uniforms.clippingHigh; // { type: "v3", value: new Vector3(0, 0, 0) };
|
||||
m_shader.uniforms.clippingScale = this.uniforms.clippingScale; // { type: "f", value: 1.0 };
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ export class Selection extends Layer {
|
|||
z1: low.z - 5000,
|
||||
z2: high.z + 5000
|
||||
}
|
||||
this.scale = 1;
|
||||
this.scale = 1.0;
|
||||
|
||||
this.box = new BoxGeometry(1, 1, 1);
|
||||
this.boxMesh = new Mesh(this.box, material.capMaterial);
|
||||
|
@ -113,10 +113,10 @@ export class Selection extends Layer {
|
|||
|
||||
scaleZ(z) {
|
||||
this.scale = z;
|
||||
// this.boxMesh.scale.z = z;
|
||||
// this.displayMeshes.scale.z = z;
|
||||
this.displayMeshes.scale.set(1, 1, z);
|
||||
// this.touchMeshes.scale.z = z;
|
||||
this.boxMesh.scale.z = z;
|
||||
this.displayMeshes.scale.z = z;
|
||||
this.touchMeshes.scale.z = z;
|
||||
this.setUniforms();
|
||||
}
|
||||
|
||||
updateVertices() {
|
||||
|
@ -172,8 +172,11 @@ export class Selection extends Layer {
|
|||
if (this.map.layers) {
|
||||
for (const [key, layer] of Object.entries(this.map.layers)) {
|
||||
if (layer.uniforms) {
|
||||
let scale = Number(this.scale);
|
||||
layer.uniforms.clipping.clippingLow.value.copy(this.limitLow);
|
||||
layer.uniforms.clipping.clippingHigh.value.copy(this.limitHigh);
|
||||
layer.uniforms.clipping.clippingScale.value = scale;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -131,10 +131,11 @@ let shader = {
|
|||
|
||||
vertexMeshStandard: `
|
||||
#define STANDARD
|
||||
|
||||
uniform float scale;
|
||||
varying vec3 vViewPosition;
|
||||
varying vec4 worldPosition;
|
||||
|
||||
|
||||
#include <common>
|
||||
#include <uv_pars_vertex>
|
||||
#include <uv2_pars_vertex>
|
||||
|
@ -170,14 +171,20 @@ let shader = {
|
|||
#include <clipping_planes_vertex>
|
||||
|
||||
vViewPosition = - mvPosition.xyz;
|
||||
worldPosition = modelMatrix * vec4( position, 1.0 );
|
||||
// position.z = position.z * scale;
|
||||
|
||||
worldPosition = modelMatrix * vec4( position, 1.0 );
|
||||
|
||||
#include <worldpos_vertex>
|
||||
#include <shadowmap_vertex>
|
||||
#include <fog_vertex>
|
||||
}`,
|
||||
|
||||
fragmentClippingMeshStandard: `
|
||||
#ifdef GL_ES
|
||||
precision highp float;
|
||||
#endif
|
||||
|
||||
#define STANDARD
|
||||
|
||||
uniform vec3 diffuse;
|
||||
|
@ -186,9 +193,11 @@ let shader = {
|
|||
uniform float metalness;
|
||||
uniform float opacity;
|
||||
|
||||
|
||||
varying vec3 vViewPosition;
|
||||
uniform vec3 clippingLow;
|
||||
uniform vec3 clippingHigh;
|
||||
uniform vec3 clippingHigh;
|
||||
uniform float clippingScale;
|
||||
varying vec4 worldPosition;
|
||||
|
||||
#include <common>
|
||||
|
@ -266,8 +275,8 @@ let shader = {
|
|||
|| worldPosition.x > clippingHigh.x
|
||||
|| worldPosition.y < clippingLow.y
|
||||
|| worldPosition.y > clippingHigh.y
|
||||
|| worldPosition.z < clippingLow.z
|
||||
|| worldPosition.z > clippingHigh.z
|
||||
|| (worldPosition.z) < (clippingLow.z * clippingScale)
|
||||
|| (worldPosition.z) > (clippingHigh.z * clippingScale)
|
||||
) {
|
||||
discard;
|
||||
} else {
|
||||
|
|
|
@ -8,6 +8,7 @@ import { Plane } from 'three/src/math/Plane';
|
|||
import { Vector3 } from 'three/src/math/Vector3';
|
||||
import { Color } from 'three/src/math/Color';
|
||||
import { MyMeshStandardMaterial } from '../clip/MyMeshStandardMaterial';
|
||||
import { Object3D } from 'three/src/core/Object3D';
|
||||
|
||||
|
||||
const POINTURL = 'https://geusegdi01.geus.dk/geom3d/data/nodes/';
|
||||
|
@ -29,6 +30,7 @@ class TinLayer extends Layer {
|
|||
|
||||
this.queryableObjects = [];
|
||||
this.borderVisible = false;
|
||||
this.scale = 1;
|
||||
}
|
||||
|
||||
setWireframeMode(wireframe) {
|
||||
|
@ -46,7 +48,17 @@ class TinLayer extends Layer {
|
|||
}
|
||||
|
||||
scaleZ(z) {
|
||||
this.scale = z;
|
||||
this.mainMesh.scale.z = z;
|
||||
// let highObject = new Object3D();
|
||||
// highObject.position.copy(this.uniforms.clipping.clippingHigh.value);
|
||||
// let lowObject = new Object3D();
|
||||
// lowObject.position.copy(this.uniforms.clipping.clippingLow.value);
|
||||
// highObject.scale.z =z;
|
||||
// lowObject.scale.z = z;
|
||||
// this.uniforms.clipping.clippingHigh.value.z = highObject.position.z;
|
||||
// this.uniforms.clipping.clippingLow.value.z = lowObject.position.z;
|
||||
// this.uniforms.clipping.scale.value = z;
|
||||
}
|
||||
|
||||
async onAdd(map) {
|
||||
|
@ -95,6 +107,7 @@ class TinLayer extends Layer {
|
|||
|
||||
let uniforms = this.uniforms = {
|
||||
clipping: {
|
||||
clippingScale: { type: "f", value: 1.0 },
|
||||
color: { type: "c", value: new Color(color) },
|
||||
clippingLow: { type: "v3", value: new Vector3(0, 0, 0) },
|
||||
clippingHigh: { type: "v3", value: new Vector3(0, 0, 0) }
|
||||
|
@ -103,7 +116,7 @@ class TinLayer extends Layer {
|
|||
this.material = new MyMeshStandardMaterial({
|
||||
color: color,
|
||||
metalness: 0.1,
|
||||
roughness: 0.75,
|
||||
roughness: 0.75,
|
||||
flatShading: true,
|
||||
side: DoubleSide,
|
||||
clippingPlanes: [this.xLocalPlane, this.yLocalPlane],
|
||||
|
|
Loading…
Reference in New Issue
Block a user