@webviz/subsurface-viewer 0.20.7 → 0.20.9
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/dist/components/Map.d.ts +2 -8
- package/dist/components/Map.js +119 -57
- package/dist/components/Map.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/layers/axes2d/axes2DLayer.d.ts +7 -4
- package/dist/layers/axes2d/axes2DLayer.js +98 -79
- package/dist/layers/axes2d/axes2DLayer.js.map +1 -1
- package/dist/layers/axes2d/label-fragment.glsl.d.ts +1 -1
- package/dist/layers/axes2d/label-fragment.glsl.js +1 -2
- package/dist/layers/axes2d/label-fragment.glsl.js.map +1 -1
- package/dist/layers/axes2d/label-vertex.glsl.d.ts +1 -1
- package/dist/layers/axes2d/label-vertex.glsl.js +4 -6
- package/dist/layers/axes2d/label-vertex.glsl.js.map +1 -1
- package/dist/layers/axes2d/line-fragment.glsl.d.ts +1 -1
- package/dist/layers/axes2d/line-fragment.glsl.js +1 -1
- package/dist/layers/axes2d/line-vertex.glsl.d.ts +1 -1
- package/dist/layers/axes2d/line-vertex.glsl.js +1 -1
- package/dist/storybook/examples/__image_snapshots__/subsurfaceviewer-examples--selectable-feature-example.png +0 -0
- package/dist/storybook/examples/__image_snapshots__/subsurfaceviewer-examples--user-defined-layer-1.png +0 -0
- package/dist/storybook/examples/__image_snapshots__/subsurfaceviewer-examples--user-defined-layer-2.png +0 -0
- package/dist/storybook/examples/__image_snapshots__/subsurfaceviewer-examples-camera--scale-y.png +0 -0
- package/dist/storybook/examples/__image_snapshots__/subsurfaceviewer-examples-mutiview--synced-multi-view.png +0 -0
- package/dist/storybook/examples/__image_snapshots__/subsurfaceviewer-examples-mutiview--view-matrix-margin.png +0 -0
- package/dist/storybook/examples/__image_snapshots__/subsurfaceviewer-examples-mutiview--view-tabs.png +0 -0
- package/dist/storybook/layers/__image_snapshots__/subsurfaceviewer-axes2dlayer--base.png +0 -0
- package/dist/storybook/layers/__image_snapshots__/subsurfaceviewer-axes2dlayer--colored-text-and-back-ground.png +0 -0
- package/dist/storybook/layers/__image_snapshots__/subsurfaceviewer-axes2dlayer--matrix.png +0 -0
- package/dist/storybook/layers/__image_snapshots__/subsurfaceviewer-map-layer--map-layer-2-d.png +0 -0
- package/dist/utils/BoundingBox2D.d.ts +24 -0
- package/dist/utils/BoundingBox2D.js +48 -0
- package/dist/utils/BoundingBox2D.js.map +1 -0
- package/dist/utils/BoundingBox2D.test.d.ts +1 -0
- package/dist/utils/BoundingBox2D.test.js +49 -0
- package/dist/utils/BoundingBox2D.test.js.map +1 -0
- package/dist/utils/BoundingBox3D.d.ts +6 -0
- package/dist/utils/BoundingBox3D.js +18 -0
- package/dist/utils/BoundingBox3D.js.map +1 -1
- package/dist/utils/BoundingBox3D.test.js +19 -1
- package/dist/utils/BoundingBox3D.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the bounding box encompassing both boxes.
|
|
3
|
+
* @param box1 first box.
|
|
4
|
+
* @param box2 second box.
|
|
5
|
+
* @param defaultBox in case both boxes are undefined.
|
|
6
|
+
* @returns the bounding box encompassing both boxes.
|
|
7
|
+
*/
|
|
8
|
+
export const boxUnion = (box1, box2, defaultBox = [0, 0, 1, 1]) => {
|
|
9
|
+
if (box1 === undefined) {
|
|
10
|
+
return box2 !== null && box2 !== void 0 ? box2 : defaultBox;
|
|
11
|
+
}
|
|
12
|
+
if (box2 === undefined) {
|
|
13
|
+
return box1 !== null && box1 !== void 0 ? box1 : defaultBox;
|
|
14
|
+
}
|
|
15
|
+
const xmin = Math.min(box1[0], box2[0]);
|
|
16
|
+
const ymin = Math.min(box1[1], box2[1]);
|
|
17
|
+
const xmax = Math.max(box1[2], box2[2]);
|
|
18
|
+
const ymax = Math.max(box1[3], box2[3]);
|
|
19
|
+
return [xmin, ymin, xmax, ymax];
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Returns the center of the bounding box.
|
|
23
|
+
* @param box1 bounding box.
|
|
24
|
+
* @returns the center of the bounding box.
|
|
25
|
+
*/
|
|
26
|
+
export const boxCenter = (box) => {
|
|
27
|
+
const xmin = box[0];
|
|
28
|
+
const ymin = box[1];
|
|
29
|
+
const xmax = box[2];
|
|
30
|
+
const ymax = box[3];
|
|
31
|
+
return [xmin + 0.5 * (xmax - xmin), ymin + 0.5 * (ymax - ymin)];
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Returns true if the bounding box is not empty.
|
|
35
|
+
* @param box1 bounding box.
|
|
36
|
+
* @returns true if the bounding box is not empty.
|
|
37
|
+
*/
|
|
38
|
+
export const isEmpty = (box) => {
|
|
39
|
+
if (box == undefined) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
const xmin = box[0];
|
|
43
|
+
const ymin = box[1];
|
|
44
|
+
const xmax = box[2];
|
|
45
|
+
const ymax = box[3];
|
|
46
|
+
return !(xmax > xmin && ymax > ymin);
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=BoundingBox2D.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoundingBox2D.js","sourceRoot":"","sources":["../../src/utils/BoundingBox2D.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACpB,IAA+B,EAC/B,IAA+B,EAC/B,aAA4B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC3B,EAAE;IACf,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,UAAU,CAAC;IAC9B,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,UAAU,CAAC;IAC9B,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAExC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAkB,EAAoB,EAAE;IAC9D,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAA8B,EAAW,EAAE;IAC/D,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpB,OAAO,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC;AACzC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "jest";
|
|
@@ -0,0 +1,49 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoundingBox2D.test.js","sourceRoot":"","sources":["../../src/utils/BoundingBox2D.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,3 +16,9 @@ export declare const boxUnion: (box1: BoundingBox3D | undefined, box2: BoundingB
|
|
|
16
16
|
* @returns the center of the bounding box.
|
|
17
17
|
*/
|
|
18
18
|
export declare const boxCenter: (box: BoundingBox3D) => [number, number, number];
|
|
19
|
+
/**
|
|
20
|
+
* Returns true if the bounding box is not empty.
|
|
21
|
+
* @param box1 bounding box.
|
|
22
|
+
* @returns true if the bounding box is not empty.
|
|
23
|
+
*/
|
|
24
|
+
export declare const isEmpty: (box: BoundingBox3D | undefined) => boolean;
|
|
@@ -38,4 +38,22 @@ export const boxCenter = (box) => {
|
|
|
38
38
|
zmin + 0.5 * (zmax - zmin),
|
|
39
39
|
];
|
|
40
40
|
};
|
|
41
|
+
/**
|
|
42
|
+
* Returns true if the bounding box is not empty.
|
|
43
|
+
* @param box1 bounding box.
|
|
44
|
+
* @returns true if the bounding box is not empty.
|
|
45
|
+
*/
|
|
46
|
+
export const isEmpty = (box) => {
|
|
47
|
+
if (box == undefined) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
const xmin = box[0];
|
|
51
|
+
const ymin = box[1];
|
|
52
|
+
const zmin = box[2];
|
|
53
|
+
const xmax = box[3];
|
|
54
|
+
const ymax = box[4];
|
|
55
|
+
const zmax = box[5];
|
|
56
|
+
// the box can be bottom-up in some cases, thus the zmax != zmin
|
|
57
|
+
return !(xmax > xmin && ymax > ymin && zmax != zmin);
|
|
58
|
+
};
|
|
41
59
|
//# sourceMappingURL=BoundingBox3D.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundingBox3D.js","sourceRoot":"","sources":["../../src/utils/BoundingBox3D.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACpB,IAA+B,EAC/B,IAA+B,EAC/B,aAA4B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACjC,EAAE;IACf,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,UAAU,CAAC;IAC9B,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,UAAU,CAAC;IAC9B,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAExC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAkB,EAA4B,EAAE;IACtE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAEpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO;QACH,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;KAC7B,CAAC;AACN,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"BoundingBox3D.js","sourceRoot":"","sources":["../../src/utils/BoundingBox3D.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "jest";
|
|
2
|
-
import { boxCenter, boxUnion } from "./BoundingBox3D";
|
|
2
|
+
import { boxCenter, boxUnion, isEmpty } from "./BoundingBox3D";
|
|
3
3
|
describe("Test BoundingBox3D", () => {
|
|
4
4
|
it("boxUnion default box", () => {
|
|
5
5
|
const unitBox = [0, 0, 0, 1, 1, 1];
|
|
@@ -29,5 +29,23 @@ describe("Test BoundingBox3D", () => {
|
|
|
29
29
|
expect(boxCenter(box2)).toEqual([2.5, 3.5, 4.5]);
|
|
30
30
|
expect(boxCenter(box3)).toEqual([3.5, 4.5, 5.5]);
|
|
31
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
|
+
});
|
|
32
50
|
});
|
|
33
51
|
//# sourceMappingURL=BoundingBox3D.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundingBox3D.test.js","sourceRoot":"","sources":["../../src/utils/BoundingBox3D.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,CAAC;AAGd,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"BoundingBox3D.test.js","sourceRoot":"","sources":["../../src/utils/BoundingBox3D.test.ts"],"names":[],"mappings":"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"}
|