@webviz/subsurface-viewer 1.11.5 → 1.11.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +10 -10
- package/dist/layers/utils/simplify.test.d.ts +0 -1
- package/dist/layers/utils/simplify.test.js +0 -49
- package/dist/layers/utils/simplify.test.js.map +0 -1
- package/dist/layers/wells/utils/abscissaTransform.test.d.ts +0 -1
- package/dist/layers/wells/utils/abscissaTransform.test.js +0 -56
- package/dist/layers/wells/utils/abscissaTransform.test.js.map +0 -1
- package/dist/layers/wells/utils/spline.test.d.ts +0 -1
- package/dist/layers/wells/utils/spline.test.js +0 -82
- package/dist/layers/wells/utils/spline.test.js.map +0 -1
- package/dist/utils/BoundingBox2D.test.d.ts +0 -1
- package/dist/utils/BoundingBox2D.test.js +0 -49
- package/dist/utils/BoundingBox2D.test.js.map +0 -1
- package/dist/utils/BoundingBox3D.test.d.ts +0 -1
- package/dist/utils/BoundingBox3D.test.js +0 -51
- package/dist/utils/BoundingBox3D.test.js.map +0 -1
- package/dist/utils/camera.test.d.ts +0 -1
- package/dist/utils/camera.test.js +0 -53
- package/dist/utils/camera.test.js.map +0 -1
- package/dist/utils/configTools.test.d.ts +0 -1
- package/dist/utils/configTools.test.js +0 -78
- package/dist/utils/configTools.test.js.map +0 -1
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@webviz/subsurface-viewer",
|
3
|
-
"version": "1.11.
|
3
|
+
"version": "1.11.6",
|
4
4
|
"description": "3D visualization component for subsurface reservoir data",
|
5
5
|
"keywords": [
|
6
6
|
"subsurface",
|
@@ -33,20 +33,20 @@
|
|
33
33
|
"license": "MPL-2.0",
|
34
34
|
"dependencies": {
|
35
35
|
"@deck.gl-community/editable-layers": "^9.1.0-beta.4",
|
36
|
-
"@deck.gl/aggregation-layers": "^9.1.
|
37
|
-
"@deck.gl/core": "^9.1.
|
38
|
-
"@deck.gl/extensions": "^9.1.
|
39
|
-
"@deck.gl/geo-layers": "^9.1.
|
40
|
-
"@deck.gl/json": "^9.1.
|
41
|
-
"@deck.gl/layers": "^9.1.
|
42
|
-
"@deck.gl/mesh-layers": "^9.1.
|
43
|
-
"@deck.gl/react": "^9.1.
|
36
|
+
"@deck.gl/aggregation-layers": "^9.1.12",
|
37
|
+
"@deck.gl/core": "^9.1.12",
|
38
|
+
"@deck.gl/extensions": "^9.1.12",
|
39
|
+
"@deck.gl/geo-layers": "^9.1.12",
|
40
|
+
"@deck.gl/json": "^9.1.12",
|
41
|
+
"@deck.gl/layers": "^9.1.12",
|
42
|
+
"@deck.gl/mesh-layers": "^9.1.12",
|
43
|
+
"@deck.gl/react": "^9.1.12",
|
44
44
|
"@emerson-eps/color-tables": "^0.4.92",
|
45
45
|
"@equinor/eds-core-react": "^0.36.0",
|
46
46
|
"@equinor/eds-icons": "^0.21.0",
|
47
47
|
"@turf/simplify": "^7.1.0",
|
48
48
|
"@vivaxy/png": "^1.3.0",
|
49
|
-
"@webviz/wsc-common": "
|
49
|
+
"@webviz/wsc-common": "1.2.4",
|
50
50
|
"ajv": "^8.16.0",
|
51
51
|
"convert-units": "^2.3.4",
|
52
52
|
"d3": "^7.8.2",
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1,49 +0,0 @@
|
|
1
|
-
import { simplify } from "./simplify";
|
2
|
-
describe("simplify", () => {
|
3
|
-
it("should return the same points and mds if tolerance is undefined", () => {
|
4
|
-
const points = [
|
5
|
-
[0, 0, 0],
|
6
|
-
[1, 1, 1],
|
7
|
-
[2, 2, 2],
|
8
|
-
];
|
9
|
-
const mds = [0, 1, 2];
|
10
|
-
const tolerance = undefined;
|
11
|
-
const [newPoints, newMds] = simplify(points, mds, tolerance);
|
12
|
-
expect(newPoints).toEqual(points);
|
13
|
-
expect(newMds).toEqual(mds);
|
14
|
-
});
|
15
|
-
it("should simplify points based on the given tolerance", () => {
|
16
|
-
const points = [
|
17
|
-
[0, 0, 0],
|
18
|
-
[0.5, 0.5, 0.5],
|
19
|
-
[1, 1, 1],
|
20
|
-
[1.5, 1.5, 1.5],
|
21
|
-
[2, 2, 2],
|
22
|
-
];
|
23
|
-
const mds = [0, 0.5, 1, 1.5, 2];
|
24
|
-
const tolerance = 0.5;
|
25
|
-
const [newPoints, newMds] = simplify(points, mds, tolerance);
|
26
|
-
expect(newPoints).toEqual([
|
27
|
-
[0, 0, 0],
|
28
|
-
[2, 2, 2],
|
29
|
-
]);
|
30
|
-
expect(newMds).toEqual([0, 2]);
|
31
|
-
});
|
32
|
-
it("should handle an empty array of points", () => {
|
33
|
-
const points = [];
|
34
|
-
const mds = [];
|
35
|
-
const tolerance = 1;
|
36
|
-
const [newPoints, newMds] = simplify(points, mds, tolerance);
|
37
|
-
expect(newPoints).toEqual([]);
|
38
|
-
expect(newMds).toEqual([]);
|
39
|
-
});
|
40
|
-
it("should handle a single point", () => {
|
41
|
-
const points = [[0, 0, 0]];
|
42
|
-
const mds = [0];
|
43
|
-
const tolerance = 1;
|
44
|
-
const [newPoints, newMds] = simplify(points, mds, tolerance);
|
45
|
-
expect(newPoints).toEqual([[0, 0, 0]]);
|
46
|
-
expect(newMds).toEqual([0]);
|
47
|
-
});
|
48
|
-
});
|
49
|
-
//# sourceMappingURL=simplify.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"simplify.test.js","sourceRoot":"","sources":["../../../src/layers/utils/simplify.test.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1,56 +0,0 @@
|
|
1
|
-
import { abscissaTransform } from "./abscissaTransform";
|
2
|
-
const MOCK_WELL = {
|
3
|
-
type: "FeatureCollection",
|
4
|
-
features: [
|
5
|
-
{
|
6
|
-
type: "Feature",
|
7
|
-
geometry: {
|
8
|
-
type: "GeometryCollection",
|
9
|
-
geometries: [
|
10
|
-
{
|
11
|
-
type: "Point",
|
12
|
-
coordinates: [50, 50, 0],
|
13
|
-
},
|
14
|
-
{
|
15
|
-
type: "LineString",
|
16
|
-
coordinates: [
|
17
|
-
[500, 0, 0],
|
18
|
-
[1500, 1000, -1000],
|
19
|
-
[2500, 2000, -2000],
|
20
|
-
],
|
21
|
-
},
|
22
|
-
],
|
23
|
-
},
|
24
|
-
properties: {
|
25
|
-
name: "wl6",
|
26
|
-
color: [255, 255, 0, 255],
|
27
|
-
md: [[0, 1, 2, 3, 4, 5, 8, 9]],
|
28
|
-
},
|
29
|
-
},
|
30
|
-
],
|
31
|
-
};
|
32
|
-
describe("Transform well trajectory", () => {
|
33
|
-
it("Empty well", () => {
|
34
|
-
const emptyWell = {
|
35
|
-
type: "FeatureCollection",
|
36
|
-
features: [],
|
37
|
-
};
|
38
|
-
const transformedWell = abscissaTransform(emptyWell);
|
39
|
-
expect(transformedWell).toStrictEqual(emptyWell);
|
40
|
-
});
|
41
|
-
it("Unfold trajectory", () => {
|
42
|
-
const transformedWell = abscissaTransform(MOCK_WELL);
|
43
|
-
const wellHead = transformedWell.features[0].geometry
|
44
|
-
.geometries[0];
|
45
|
-
const trajectory = transformedWell.features[0].geometry
|
46
|
-
.geometries[1];
|
47
|
-
// Check well head projection
|
48
|
-
expect(wellHead.coordinates).toEqual([0, 0, 0]);
|
49
|
-
// Checke unfolded trajectory
|
50
|
-
expect(trajectory.coordinates[0]).toStrictEqual([0, 0, 0]);
|
51
|
-
expect(trajectory.coordinates[1][0]).toBeCloseTo(1414.2135);
|
52
|
-
expect(trajectory.coordinates[1][1]).toStrictEqual(-1000);
|
53
|
-
expect(trajectory.coordinates[2][0]).toBeCloseTo(2828.4271);
|
54
|
-
});
|
55
|
-
});
|
56
|
-
//# sourceMappingURL=abscissaTransform.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"abscissaTransform.test.js","sourceRoot":"","sources":["../../../../src/layers/wells/utils/abscissaTransform.test.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,SAAS,GAA0C;IACrD,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE;QACN;YACI,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE;gBACN,IAAI,EAAE,oBAAoB;gBAC1B,UAAU,EAAE;oBACR;wBACI,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;qBAC3B;oBACD;wBACI,IAAI,EAAE,YAAY;wBAClB,WAAW,EAAE;4BACT,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;4BACX,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC;4BACnB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC;yBACtB;qBACJ;iBACJ;aACJ;YACD,UAAU,EAAE;gBACR,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;gBACzB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aACjC;SACJ;KACJ;CACJ,CAAC;AAEF,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;QAClB,MAAM,SAAS,GAA0C;YACrD,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,EAAE;SACf,CAAC;QACF,MAAM,eAAe,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACzB,MAAM,eAAe,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ;aAChD,UAAU,CAAC,CAAC,CAAU,CAAC;QAC5B,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ;aAClD,UAAU,CAAC,CAAC,CAAe,CAAC;QAEjC,6BAA6B;QAC7B,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEhD,6BAA6B;QAC7B,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1,82 +0,0 @@
|
|
1
|
-
import { removeConsecutiveDuplicates, splineRefine } from "./spline";
|
2
|
-
const testWell = {
|
3
|
-
type: "FeatureCollection",
|
4
|
-
features: [
|
5
|
-
{
|
6
|
-
type: "Feature",
|
7
|
-
geometry: {
|
8
|
-
type: "GeometryCollection",
|
9
|
-
geometries: [
|
10
|
-
{
|
11
|
-
type: "Point",
|
12
|
-
coordinates: [0, 0],
|
13
|
-
},
|
14
|
-
{
|
15
|
-
type: "LineString",
|
16
|
-
coordinates: [
|
17
|
-
[0, 0, 0],
|
18
|
-
[0, 0, -100],
|
19
|
-
[0, 0, -200],
|
20
|
-
[0, 0, -300],
|
21
|
-
[0, 0, -400],
|
22
|
-
[0, 0, -500],
|
23
|
-
[0, 0, -600],
|
24
|
-
[0, 0, -700],
|
25
|
-
[0, 0, -800],
|
26
|
-
],
|
27
|
-
},
|
28
|
-
],
|
29
|
-
},
|
30
|
-
properties: {
|
31
|
-
name: "wl6",
|
32
|
-
color: [255, 255, 0, 255],
|
33
|
-
md: [[0, 1, 2, 3, 4, 5, 8, 9]],
|
34
|
-
},
|
35
|
-
},
|
36
|
-
],
|
37
|
-
};
|
38
|
-
describe("remove duplicates", () => {
|
39
|
-
const coords = [
|
40
|
-
[1, 2, 3],
|
41
|
-
[1, 2, 3],
|
42
|
-
[4, 5, 6],
|
43
|
-
];
|
44
|
-
const coordsRes = [
|
45
|
-
[1, 2, 3],
|
46
|
-
[4, 5, 6],
|
47
|
-
];
|
48
|
-
const mds = [0, 1, 2];
|
49
|
-
const mdsRes = [1, 2];
|
50
|
-
const coordsEmpty = [];
|
51
|
-
const mdsEmpty = [];
|
52
|
-
it("should remove duplicate", () => {
|
53
|
-
expect(removeConsecutiveDuplicates(coords, mds).length).toBe(2);
|
54
|
-
expect(removeConsecutiveDuplicates(coords, mds)[0]).not.toBe(coords);
|
55
|
-
expect(removeConsecutiveDuplicates(coords, mds)[0]).toStrictEqual(coordsRes);
|
56
|
-
});
|
57
|
-
it("should remove corresponding md's", () => {
|
58
|
-
expect(removeConsecutiveDuplicates(coords, mds)[1]).toStrictEqual(mdsRes);
|
59
|
-
});
|
60
|
-
it("should handle empty input (coords)", () => {
|
61
|
-
expect(removeConsecutiveDuplicates(coordsEmpty, mdsEmpty)[0]).toStrictEqual(coordsEmpty);
|
62
|
-
});
|
63
|
-
it("should handle empty input (md's)", () => {
|
64
|
-
expect(removeConsecutiveDuplicates(coordsEmpty, mdsEmpty)[1]).toStrictEqual(mdsEmpty);
|
65
|
-
});
|
66
|
-
// Test splineRefine functions
|
67
|
-
it("should not refine if given invalid input", () => {
|
68
|
-
const refined = splineRefine(testWell, 0);
|
69
|
-
const geometry = refined.features[0].geometry
|
70
|
-
.geometries[1];
|
71
|
-
expect(geometry.coordinates.length).toStrictEqual(9);
|
72
|
-
});
|
73
|
-
it("should refine and output more vertices if given valid input", () => {
|
74
|
-
let refined = splineRefine(testWell);
|
75
|
-
let geometry = refined.features[0].geometry.geometries[1];
|
76
|
-
expect(geometry.coordinates.length).toStrictEqual(33);
|
77
|
-
refined = splineRefine(testWell, 10);
|
78
|
-
geometry = refined.features[0].geometry.geometries[1];
|
79
|
-
expect(geometry.coordinates.length).toStrictEqual(63);
|
80
|
-
});
|
81
|
-
});
|
82
|
-
//# sourceMappingURL=spline.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"spline.test.js","sourceRoot":"","sources":["../../../../src/layers/wells/utils/spline.test.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
import "jest";
|
@@ -1,49 +0,0 @@
|
|
1
|
-
import "jest";
|
2
|
-
import { boxCenter, boxUnion, isEmpty } from "./BoundingBox2D";
|
3
|
-
describe("Test BoundingBox2D", () => {
|
4
|
-
it("boxUnion default box", () => {
|
5
|
-
const unitBox = [0, 0, 1, 1];
|
6
|
-
const defaultBox = [-1, -1, 1, 1];
|
7
|
-
const box1 = [0, 1, 3, 4];
|
8
|
-
const box2 = [1, 2, 3, 4];
|
9
|
-
expect(boxUnion(undefined, undefined)).toEqual(unitBox);
|
10
|
-
expect(boxUnion(undefined, undefined, defaultBox)).toEqual(defaultBox);
|
11
|
-
expect(boxUnion(box1, undefined, defaultBox)).toEqual(box1);
|
12
|
-
expect(boxUnion(undefined, box2, defaultBox)).toEqual(box2);
|
13
|
-
expect(boxUnion(box1, box2, defaultBox)).toEqual(box1);
|
14
|
-
});
|
15
|
-
it("boxUnion without default box", () => {
|
16
|
-
const box1 = [0, 1, 3, 4];
|
17
|
-
const box2 = [1, 2, 3, 4];
|
18
|
-
const box3 = [1, 2, 5, 6];
|
19
|
-
expect(boxUnion(box1, undefined)).toEqual(box1);
|
20
|
-
expect(boxUnion(undefined, box2)).toEqual(box2);
|
21
|
-
expect(boxUnion(box1, box2)).toEqual(box1);
|
22
|
-
expect(boxUnion(box1, box3)).toEqual([0, 1, 5, 6]);
|
23
|
-
});
|
24
|
-
it("boxCenter", () => {
|
25
|
-
const box1 = [0, 1, 3, 4];
|
26
|
-
const box2 = [1, 2, 3, 4];
|
27
|
-
const box3 = [1, 2, 5, 6];
|
28
|
-
expect(boxCenter(box1)).toEqual([1.5, 2.5]);
|
29
|
-
expect(boxCenter(box2)).toEqual([2, 3]);
|
30
|
-
expect(boxCenter(box3)).toEqual([3, 4]);
|
31
|
-
});
|
32
|
-
it("isEmpty", () => {
|
33
|
-
const box1 = [0, 0, 0, 0];
|
34
|
-
const box2 = [1, 2, 3, 2];
|
35
|
-
const box3 = [
|
36
|
-
Number.POSITIVE_INFINITY,
|
37
|
-
Number.POSITIVE_INFINITY,
|
38
|
-
-Number.POSITIVE_INFINITY,
|
39
|
-
-Number.POSITIVE_INFINITY,
|
40
|
-
];
|
41
|
-
expect(isEmpty(undefined)).toBe(true);
|
42
|
-
expect(isEmpty(box1)).toBe(true);
|
43
|
-
expect(isEmpty(box2)).toBe(true);
|
44
|
-
expect(isEmpty(box3)).toBe(true);
|
45
|
-
const box4 = [1, 2, 3, 4];
|
46
|
-
expect(isEmpty(box4)).toBe(false);
|
47
|
-
});
|
48
|
-
});
|
49
|
-
//# sourceMappingURL=BoundingBox2D.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"BoundingBox2D.test.js","sourceRoot":"","sources":["../../src/utils/BoundingBox2D.test.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
import "jest";
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import "jest";
|
2
|
-
import { boxCenter, boxUnion, isEmpty } from "./BoundingBox3D";
|
3
|
-
describe("Test BoundingBox3D", () => {
|
4
|
-
it("boxUnion default box", () => {
|
5
|
-
const unitBox = [0, 0, 0, 1, 1, 1];
|
6
|
-
const defaultBox = [-1, -1, -1, 1, 1, 1];
|
7
|
-
const box1 = [0, 1, 2, 5, 6, 7];
|
8
|
-
const box2 = [1, 2, 3, 4, 5, 6];
|
9
|
-
expect(boxUnion(undefined, undefined)).toEqual(unitBox);
|
10
|
-
expect(boxUnion(undefined, undefined, defaultBox)).toEqual(defaultBox);
|
11
|
-
expect(boxUnion(box1, undefined, defaultBox)).toEqual(box1);
|
12
|
-
expect(boxUnion(undefined, box2, defaultBox)).toEqual(box2);
|
13
|
-
expect(boxUnion(box1, box2, defaultBox)).toEqual(box1);
|
14
|
-
});
|
15
|
-
it("boxUnion without default box", () => {
|
16
|
-
const box1 = [0, 1, 2, 5, 6, 7];
|
17
|
-
const box2 = [1, 2, 3, 4, 5, 6];
|
18
|
-
const box3 = [1, 2, 3, 6, 7, 8];
|
19
|
-
expect(boxUnion(box1, undefined)).toEqual(box1);
|
20
|
-
expect(boxUnion(undefined, box2)).toEqual(box2);
|
21
|
-
expect(boxUnion(box1, box2)).toEqual(box1);
|
22
|
-
expect(boxUnion(box1, box3)).toEqual([0, 1, 2, 6, 7, 8]);
|
23
|
-
});
|
24
|
-
it("boxCenter", () => {
|
25
|
-
const box1 = [0, 1, 2, 5, 6, 7];
|
26
|
-
const box2 = [1, 2, 3, 4, 5, 6];
|
27
|
-
const box3 = [1, 2, 3, 6, 7, 8];
|
28
|
-
expect(boxCenter(box1)).toEqual([2.5, 3.5, 4.5]);
|
29
|
-
expect(boxCenter(box2)).toEqual([2.5, 3.5, 4.5]);
|
30
|
-
expect(boxCenter(box3)).toEqual([3.5, 4.5, 5.5]);
|
31
|
-
});
|
32
|
-
it("isEmpty", () => {
|
33
|
-
const box1 = [0, 0, 0, 0, 0, 0];
|
34
|
-
const box2 = [1, 2, 3, 4, 5, 3];
|
35
|
-
const box3 = [
|
36
|
-
Number.POSITIVE_INFINITY,
|
37
|
-
Number.POSITIVE_INFINITY,
|
38
|
-
Number.POSITIVE_INFINITY,
|
39
|
-
-Number.POSITIVE_INFINITY,
|
40
|
-
-Number.POSITIVE_INFINITY,
|
41
|
-
-Number.POSITIVE_INFINITY,
|
42
|
-
];
|
43
|
-
expect(isEmpty(undefined)).toBe(true);
|
44
|
-
expect(isEmpty(box1)).toBe(true);
|
45
|
-
expect(isEmpty(box2)).toBe(true);
|
46
|
-
expect(isEmpty(box3)).toBe(true);
|
47
|
-
const box4 = [1, 2, 3, 4, 5, 6];
|
48
|
-
expect(isEmpty(box4)).toBe(false);
|
49
|
-
});
|
50
|
-
});
|
51
|
-
//# sourceMappingURL=BoundingBox3D.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"BoundingBox3D.test.js","sourceRoot":"","sources":["../../src/utils/BoundingBox3D.test.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
import "jest";
|
@@ -1,53 +0,0 @@
|
|
1
|
-
import "jest";
|
2
|
-
import { renderHook } from "@testing-library/react";
|
3
|
-
import { getZoom, useLateralZoom } from "./camera";
|
4
|
-
describe("Test zoom", () => {
|
5
|
-
const defaultZoom = 3;
|
6
|
-
it("Test default zoom", () => {
|
7
|
-
const viewport = { id: "" };
|
8
|
-
const zoom = getZoom(viewport, defaultZoom);
|
9
|
-
expect(zoom).toEqual(defaultZoom);
|
10
|
-
});
|
11
|
-
it("Test zoom override", () => {
|
12
|
-
const viewport = { id: "", zoom: 10 };
|
13
|
-
const zoom = getZoom(viewport, defaultZoom);
|
14
|
-
expect(zoom).toEqual(viewport.zoom);
|
15
|
-
});
|
16
|
-
it("Test vertical scale", () => {
|
17
|
-
const viewport = { id: "", zoom: 10, verticalScale: 4 };
|
18
|
-
const zoom = getZoom(viewport, defaultZoom);
|
19
|
-
expect(zoom).toEqual([viewport.zoom, 20]);
|
20
|
-
});
|
21
|
-
it("Test zero scale", () => {
|
22
|
-
const viewport = { id: "", zoom: 10, verticalScale: 0 };
|
23
|
-
const zoom = getZoom(viewport, defaultZoom);
|
24
|
-
expect(zoom).toEqual(viewport.zoom);
|
25
|
-
});
|
26
|
-
it("Test negative scale", () => {
|
27
|
-
const viewport = { id: "", zoom: 10, verticalScale: -1 };
|
28
|
-
const zoom = getZoom(viewport, defaultZoom);
|
29
|
-
expect(zoom).toEqual([viewport.zoom, 10]);
|
30
|
-
});
|
31
|
-
});
|
32
|
-
describe("Test lateral zoom hook", () => {
|
33
|
-
it("Test no zoom", () => {
|
34
|
-
const viewState = {};
|
35
|
-
const { result } = renderHook(() => useLateralZoom(viewState));
|
36
|
-
expect(result.current).toEqual(-5);
|
37
|
-
});
|
38
|
-
it("Test zero zoom", () => {
|
39
|
-
const viewState = {
|
40
|
-
a: { zoom: 0, target: [0, 0], rotationX: 0, rotationOrbit: 0 },
|
41
|
-
};
|
42
|
-
const { result } = renderHook(() => useLateralZoom(viewState));
|
43
|
-
expect(result.current).toEqual(viewState["a"].zoom);
|
44
|
-
});
|
45
|
-
it("Test scaled zoom", () => {
|
46
|
-
const viewState = {
|
47
|
-
a: { zoom: [5, 6], target: [0, 0], rotationX: 0, rotationOrbit: 0 },
|
48
|
-
};
|
49
|
-
const { result } = renderHook(() => useLateralZoom(viewState));
|
50
|
-
expect(result.current).toEqual(5);
|
51
|
-
});
|
52
|
-
});
|
53
|
-
//# sourceMappingURL=camera.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"camera.test.js","sourceRoot":"","sources":["../../src/utils/camera.test.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
import "jest";
|
@@ -1,78 +0,0 @@
|
|
1
|
-
import "jest";
|
2
|
-
import { findConfig } from "./configTools";
|
3
|
-
describe("Test Config tools", () => {
|
4
|
-
it("findConfig on empty config", () => {
|
5
|
-
expect(findConfig({}, "root")).toBe(undefined);
|
6
|
-
expect(findConfig({}, "root/key")).toBe(undefined);
|
7
|
-
expect(findConfig({}, ["root"])).toBe(undefined);
|
8
|
-
expect(findConfig({}, ["root", "key"])).toBe(undefined);
|
9
|
-
// with fallback
|
10
|
-
expect(findConfig({}, "root", "fallback")).toBe(undefined);
|
11
|
-
expect(findConfig({}, "root", ["fallback"])).toBe(undefined);
|
12
|
-
expect(findConfig({}, ["root"], "fallback")).toBe(undefined);
|
13
|
-
expect(findConfig({}, ["root"], ["fallback"])).toBe(undefined);
|
14
|
-
expect(findConfig({}, "root/key", "fallback")).toBe(undefined);
|
15
|
-
expect(findConfig({}, "root/key", ["fallback"])).toBe(undefined);
|
16
|
-
expect(findConfig({}, ["root", "key"], "fallback")).toBe(undefined);
|
17
|
-
expect(findConfig({}, ["root", "key"], ["fallback"])).toBe(undefined);
|
18
|
-
});
|
19
|
-
it("findConfig on config", () => {
|
20
|
-
const config = {
|
21
|
-
root: {
|
22
|
-
key: "root_key",
|
23
|
-
sub: {
|
24
|
-
key: "root_sub_key",
|
25
|
-
},
|
26
|
-
},
|
27
|
-
key: "key",
|
28
|
-
};
|
29
|
-
expect(findConfig(config, "key")).toBe("key");
|
30
|
-
expect(findConfig(config, ["key"])).toBe("key");
|
31
|
-
expect(findConfig(config, "root/key")).toBe("root_key");
|
32
|
-
expect(findConfig(config, ["root", "key"])).toBe("root_key");
|
33
|
-
expect(findConfig(config, "root/sub/key")).toBe("root_sub_key");
|
34
|
-
expect(findConfig(config, ["root", "sub", "key"])).toBe("root_sub_key");
|
35
|
-
expect(findConfig(config, "root/key2")).toBe(undefined);
|
36
|
-
expect(findConfig(config, ["root", "key2"])).toBe(undefined);
|
37
|
-
expect(findConfig(config, "root2/key")).toBe(undefined);
|
38
|
-
expect(findConfig(config, ["root2", "key"])).toBe(undefined);
|
39
|
-
// with fallback
|
40
|
-
expect(findConfig(config, "key", "root/key")).toBe("key");
|
41
|
-
expect(findConfig(config, "key", "root/nokey")).toBe("key");
|
42
|
-
expect(findConfig(config, "root/key", "key")).toBe("root_key");
|
43
|
-
expect(findConfig(config, "root/key", "nokey")).toBe("root_key");
|
44
|
-
expect(findConfig(config, "no/key", "root/key")).toBe("root_key");
|
45
|
-
expect(findConfig(config, "no/key", "root/nokey")).toBe(undefined);
|
46
|
-
});
|
47
|
-
it("findConfig on config with objects", () => {
|
48
|
-
const configValue = {
|
49
|
-
value: "val",
|
50
|
-
other: "other",
|
51
|
-
};
|
52
|
-
const configValue2 = {
|
53
|
-
value: "val2",
|
54
|
-
};
|
55
|
-
const config = {
|
56
|
-
root: {
|
57
|
-
key: configValue,
|
58
|
-
sub: {
|
59
|
-
key: configValue2,
|
60
|
-
},
|
61
|
-
},
|
62
|
-
};
|
63
|
-
expect(findConfig(config, "root/key")).toStrictEqual(configValue);
|
64
|
-
expect(findConfig(config, ["root", "key"])).toStrictEqual(configValue);
|
65
|
-
expect(findConfig(config, "root/sub/key")).toStrictEqual(configValue2);
|
66
|
-
expect(findConfig(config, ["root", "sub", "key"])).toStrictEqual(configValue2);
|
67
|
-
// with fallback
|
68
|
-
expect(findConfig(config, "root/key", "no/key")).toStrictEqual(configValue);
|
69
|
-
expect(findConfig(config, "root/key", "root/sub/key")).toStrictEqual(configValue);
|
70
|
-
expect(findConfig(config, "no/key", "root/key")).toStrictEqual(configValue);
|
71
|
-
expect(findConfig(config, "root/key", "root/sub/key")).toStrictEqual(configValue);
|
72
|
-
expect(findConfig(config, "root/sub/key", "root/key")).toStrictEqual({
|
73
|
-
value: "val2",
|
74
|
-
other: "other",
|
75
|
-
});
|
76
|
-
});
|
77
|
-
});
|
78
|
-
//# sourceMappingURL=configTools.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"configTools.test.js","sourceRoot":"","sources":["../../src/utils/configTools.test.ts"],"names":[],"mappings":"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"}
|