@webviz/subsurface-viewer 0.20.8 → 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.
@@ -2,17 +2,11 @@ import React from "react";
2
2
  import type { MjolnirGestureEvent } from "mjolnir.js";
3
3
  import type { Color, LayersList, LayerProps, LayerContext, View, PickingInfo } from "@deck.gl/core/typed";
4
4
  import type { colorTablesArray } from "@emerson-eps/color-tables/";
5
+ import type { BoundingBox2D } from "../utils/BoundingBox2D";
5
6
  import type { BoundingBox3D } from "../utils/BoundingBox3D";
6
7
  import type { Unit } from "convert-units";
7
8
  import type { LightsType, TLayerDefinition } from "../SubsurfaceViewer";
8
- /**
9
- * 3D bounding box defined as [xmin, ymin, zmin, xmax, ymax, zmax].
10
- */
11
- export type { BoundingBox3D };
12
- /**
13
- * 2D bounding box defined as [left, bottom, right, top]
14
- */
15
- export type BoundingBox2D = [number, number, number, number];
9
+ export type { BoundingBox2D, BoundingBox3D };
16
10
  /**
17
11
  * Type of the function returning coordinate boundary for the view defined as [left, bottom, right, top].
18
12
  */
@@ -8,7 +8,8 @@ import { LineLayer } from "@deck.gl/layers/typed";
8
8
  import { Matrix4 } from "@math.gl/core";
9
9
  import { fovyToAltitude } from "@math.gl/web-mercator";
10
10
  import { colorTables } from "@emerson-eps/color-tables";
11
- import { boxCenter, boxUnion } from "../utils/BoundingBox3D";
11
+ import { boxCenter, boxUnion, isEmpty as isEmptyBox3D, } from "../utils/BoundingBox3D";
12
+ import { isEmpty as isEmptyBox2D } from "../utils/BoundingBox2D";
12
13
  import JSON_CONVERTER_CONFIG from "../utils/configuration";
13
14
  import InfoCard from "./InfoCard";
14
15
  import DistanceScale from "./DistanceScale";
@@ -575,10 +576,12 @@ class ViewController {
575
576
  },
576
577
  // Derived state
577
578
  target: undefined,
579
+ readyForInteraction: false,
578
580
  viewStateChanged: false,
579
581
  };
580
582
  this.derivedState_ = {
581
583
  target: undefined,
584
+ readyForInteraction: false,
582
585
  viewStateChanged: false,
583
586
  };
584
587
  this.views_ = undefined;
@@ -618,7 +621,7 @@ class ViewController {
618
621
  const viewsChanged = views != this.views_;
619
622
  const triggerHome = state.triggerHome !== this.state_.triggerHome;
620
623
  const updateTarget = (viewsChanged || state.target !== ((_a = this.state_) === null || _a === void 0 ? void 0 : _a.target)) &&
621
- state.target !== undefined;
624
+ state.target != undefined;
622
625
  const updateZScale = viewsChanged || state.zScale !== ((_b = this.state_) === null || _b === void 0 ? void 0 : _b.zScale) || triggerHome;
623
626
  const updateViewState = viewsChanged ||
624
627
  triggerHome ||
@@ -638,6 +641,7 @@ class ViewController {
638
641
  if (updateViewState || isCacheEmpty) {
639
642
  viewState = buildDeckGlViewStates(views, state.viewPortMargins, state.camera, state.boundingBox3d, state.bounds, state.deckSize);
640
643
  // reset state
644
+ this.derivedState_.readyForInteraction = canCameraBeDefined(state.camera, state.boundingBox3d, state.bounds, state.deckSize);
641
645
  this.derivedState_.viewStateChanged = false;
642
646
  }
643
647
  // check if view state could be computed
@@ -679,6 +683,10 @@ class ViewController {
679
683
  };
680
684
  this.onViewStateChange = (viewId, viewState) => {
681
685
  var _a, _b, _c;
686
+ if (!this.derivedState_.readyForInteraction) {
687
+ // disable interaction if the camera is not defined
688
+ return;
689
+ }
682
690
  const viewports = (_b = (_a = this.views_) === null || _a === void 0 ? void 0 : _a.viewports) !== null && _b !== void 0 ? _b : [];
683
691
  if (viewState.target.length === 2) {
684
692
  // In orthographic mode viewState.target contains only x and y. Add existing z value.
@@ -705,13 +713,27 @@ class ViewController {
705
713
  * Returns the zoom factor allowing to view the complete boundingBox.
706
714
  * @param camera camera defining the view orientation.
707
715
  * @param boundingBox 3D bounding box to visualize.
716
+ * @param size widget size.
708
717
  * @param fov field of view (see deck.gl file orbit-viewports.ts).
709
718
  */
710
719
  function computeCameraZoom(camera, boundingBox, size, fovy = 50) {
720
+ // constants and camera constants
711
721
  const DEGREES_TO_RADIANS = Math.PI / 180;
712
722
  const RADIANS_TO_DEGREES = 180 / Math.PI;
713
723
  const IDENTITY = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
714
724
  const fD = fovyToAltitude(fovy);
725
+ const cameraFovVertical = 50;
726
+ const angle_ver = (cameraFovVertical / 2) * DEGREES_TO_RADIANS;
727
+ const L = size.height / 2 / Math.sin(angle_ver);
728
+ const r = L * Math.cos(angle_ver);
729
+ const cameraFov = 2 * Math.atan(size.width / 2 / r) * RADIANS_TO_DEGREES;
730
+ const angle_hor = (cameraFov / 2) * DEGREES_TO_RADIANS;
731
+ const fwX = fD * Math.tan(angle_hor);
732
+ const fwY = fD * Math.tan(angle_ver);
733
+ const m = new Matrix4(IDENTITY);
734
+ m.rotateX(camera.rotationX * DEGREES_TO_RADIANS);
735
+ m.rotateZ(camera.rotationOrbit * DEGREES_TO_RADIANS);
736
+ // end of constants and camera constants
715
737
  const xMin = boundingBox[0];
716
738
  const yMin = boundingBox[1];
717
739
  const zMin = boundingBox[2];
@@ -723,38 +745,28 @@ function computeCameraZoom(camera, boundingBox, size, fovy = 50) {
723
745
  yMin + (yMax - yMin) / 2,
724
746
  zMin + (zMax - zMin) / 2,
725
747
  ];
726
- const cameraFovVertical = 50;
727
- const angle_ver = (cameraFovVertical / 2) * DEGREES_TO_RADIANS;
728
- const L = size.height / 2 / Math.sin(angle_ver);
729
- const r = L * Math.cos(angle_ver);
730
- const cameraFov = 2 * Math.atan(size.width / 2 / r) * RADIANS_TO_DEGREES;
731
- const angle_hor = (cameraFov / 2) * DEGREES_TO_RADIANS;
732
- const points = [];
733
- points.push([xMin, yMin, zMin]);
734
- points.push([xMin, yMax, zMin]);
735
- points.push([xMax, yMax, zMin]);
736
- points.push([xMax, yMin, zMin]);
737
- points.push([xMin, yMin, zMax]);
738
- points.push([xMin, yMax, zMax]);
739
- points.push([xMax, yMax, zMax]);
740
- points.push([xMax, yMin, zMax]);
748
+ const points = [
749
+ [xMin, yMin, zMin],
750
+ [xMin, yMax, zMin],
751
+ [xMax, yMax, zMin],
752
+ [xMax, yMin, zMin],
753
+ [xMin, yMin, zMax],
754
+ [xMin, yMax, zMax],
755
+ [xMax, yMax, zMax],
756
+ [xMax, yMin, zMax],
757
+ ];
741
758
  let zoom = 999;
742
759
  for (const point of points) {
743
760
  const x_ = (point[0] - target[0]) / size.height;
744
761
  const y_ = (point[1] - target[1]) / size.height;
745
762
  const z_ = (point[2] - target[2]) / size.height;
746
- const m = new Matrix4(IDENTITY);
747
- m.rotateX(camera.rotationX * DEGREES_TO_RADIANS);
748
- m.rotateZ(camera.rotationOrbit * DEGREES_TO_RADIANS);
749
763
  const [x, y, z] = m.transformAsVector([x_, y_, z_]);
750
764
  if (y >= 0) {
751
765
  // These points will actually appear further away when zooming in.
752
766
  continue;
753
767
  }
754
- const fwX = fD * Math.tan(angle_hor);
755
768
  let y_new = fwX / (Math.abs(x) / y - fwX / fD);
756
769
  const zoom_x = Math.log2(y_new / y);
757
- const fwY = fD * Math.tan(angle_ver);
758
770
  y_new = fwY / (Math.abs(z) / y - fwY / fD);
759
771
  const zoom_z = Math.log2(y_new / y);
760
772
  // it needs to be inside view volume in both directions.
@@ -853,8 +865,8 @@ function getViewType(viewport) {
853
865
  }
854
866
  function areViewsValid(views, size) {
855
867
  var _a, _b;
856
- const isInvalid = (views === null || views === void 0 ? void 0 : views.viewports) === undefined ||
857
- (views === null || views === void 0 ? void 0 : views.layout) === undefined ||
868
+ const isInvalid = (views === null || views === void 0 ? void 0 : views.viewports) == undefined ||
869
+ (views === null || views === void 0 ? void 0 : views.layout) == undefined ||
858
870
  !((_a = views === null || views === void 0 ? void 0 : views.layout) === null || _a === void 0 ? void 0 : _a[0]) ||
859
871
  !((_b = views === null || views === void 0 ? void 0 : views.layout) === null || _b === void 0 ? void 0 : _b[1]) ||
860
872
  !size.width ||
@@ -888,7 +900,7 @@ function buildDeckGlViews(views, size) {
888
900
  return [
889
901
  new OrthographicView({
890
902
  id: "main",
891
- controller: { doubleClickZoom: false },
903
+ controller: null,
892
904
  x: "0%",
893
905
  y: "0%",
894
906
  width: "100%",
@@ -934,25 +946,77 @@ function buildDeckGlViews(views, size) {
934
946
  }
935
947
  return result;
936
948
  }
949
+ /**
950
+ * Returns true if the camera zoom is set.
951
+ * @param camera to be tested
952
+ * @returns true if the camera camera zoom is set.
953
+ */
954
+ function cameraHasZoom(camera) {
955
+ return typeof (camera === null || camera === void 0 ? void 0 : camera.zoom) === "number" && !Number.isNaN(camera.zoom);
956
+ }
957
+ /**
958
+ * Returns true if the camera target is set.
959
+ * @param camera to be tested
960
+ * @returns true if the camera camera target is set.
961
+ */
962
+ function cameraHasTarget(camera) {
963
+ return (Array.isArray(camera === null || camera === void 0 ? void 0 : camera.target) &&
964
+ camera.target.length >= 2 &&
965
+ camera.target.length <= 3);
966
+ }
967
+ /**
968
+ * Returns true if the camera is fully defined.
969
+ * This ensures that the corresponding projection matrix is inversible.
970
+ * @param camera to be tested
971
+ * @returns true if the camera is fully defined.
972
+ */
973
+ function isCameraDefined(camera) {
974
+ return cameraHasZoom(camera) && cameraHasTarget(camera);
975
+ }
976
+ /**
977
+ * Returns true if the camera is fully defined.
978
+ * This ensures that the corresponding projection matrix is inversible.
979
+ * @param camera to be tested
980
+ * @returns true if the camera is fully defined.
981
+ */
982
+ function cameraDefinesBoundingBox(camera) {
983
+ return (Array.isArray(camera === null || camera === void 0 ? void 0 : camera.zoom) &&
984
+ !isEmptyBox3D(camera.zoom));
985
+ }
986
+ /**
987
+ * Returns true if the camera can be defined from the parameters.
988
+ * @param camera to be tested
989
+ * @param boundingBox fallback bounding box, if the camera zoom is not a zoom value nor a bounding box.
990
+ * @param size widget size in pixels.
991
+ * @returns true if the camera can be defined from the parameters.
992
+ */
993
+ function canCameraBeDefined(camera, boundingBox, bounds, size) {
994
+ if (isCameraDefined(camera)) {
995
+ return true;
996
+ }
997
+ return (size.height > 0 &&
998
+ size.width > 0 &&
999
+ (cameraDefinesBoundingBox(camera) ||
1000
+ !isEmptyBox3D(boundingBox) ||
1001
+ !isEmptyBox2D(typeof bounds === "function" ? bounds() : bounds)));
1002
+ }
937
1003
  /**
938
1004
  * Returns the camera if it is fully specified (ie. the zoom is a valid number), otherwise computes
939
1005
  * the zoom to visualize the complete camera boundingBox if set, the provided boundingBox otherwise.
940
- * @param camera input camera
941
- * @param boundingBox fallback bounding box, if the camera zoom is not zoom a value nor a bounding box
1006
+ * @param camera input camera.
1007
+ * @param boundingBox fallback bounding box, if the camera zoom is not a zoom value nor a bounding box.
1008
+ * @param size widget size in pixels.
942
1009
  */
943
1010
  function updateViewState(camera, boundingBox, size, is3D = true) {
944
1011
  var _a, _b;
945
- if (typeof camera.zoom === "number" && !Number.isNaN(camera.zoom)) {
1012
+ if (isCameraDefined(camera)) {
946
1013
  return camera;
947
1014
  }
948
1015
  // update the camera to see the whole boundingBox
949
- if (Array.isArray(camera.zoom)) {
1016
+ if (Array.isArray(camera.zoom) &&
1017
+ !isEmptyBox3D(camera.zoom)) {
950
1018
  boundingBox = camera.zoom;
951
1019
  }
952
- // return the camera if the bounding box is undefined
953
- if (boundingBox === undefined) {
954
- return camera;
955
- }
956
1020
  if (!is3D) {
957
1021
  // in 2D, use flat boxes
958
1022
  boundingBox[2] = 0;
@@ -960,8 +1024,12 @@ function updateViewState(camera, boundingBox, size, is3D = true) {
960
1024
  }
961
1025
  // clone the camera in case of triggerHome
962
1026
  const camera_ = cloneDeep(camera);
963
- camera_.zoom = computeCameraZoom(camera, boundingBox, size);
964
- camera_.target = boxCenter(boundingBox);
1027
+ if (!cameraHasZoom(camera_)) {
1028
+ camera_.zoom = computeCameraZoom(camera, boundingBox, size);
1029
+ }
1030
+ if (!cameraHasTarget(camera_)) {
1031
+ camera_.target = boxCenter(boundingBox);
1032
+ }
965
1033
  camera_.minZoom = (_a = camera_.minZoom) !== null && _a !== void 0 ? _a : minZoom3D;
966
1034
  camera_.maxZoom = (_b = camera_.maxZoom) !== null && _b !== void 0 ? _b : maxZoom3D;
967
1035
  return camera_;
@@ -973,8 +1041,13 @@ function updateViewState(camera, boundingBox, size, is3D = true) {
973
1041
  function computeViewState(viewPort, cameraPosition, boundingBox, bounds, viewportMargins, views, size) {
974
1042
  var _a;
975
1043
  // If the camera is defined, use it
976
- const isCameraPositionDefined = cameraPosition !== undefined;
977
- const isBoundsDefined = bounds !== undefined;
1044
+ const isCameraPositionDefined = cameraPosition != undefined;
1045
+ const isBoundsDefined = bounds &&
1046
+ !isEmptyBox2D(typeof bounds == "function" ? bounds() : bounds);
1047
+ // defaults to avoid non invertible matrix issues while picking
1048
+ if (!boundingBox || isEmptyBox3D(boundingBox)) {
1049
+ boundingBox = [-1, -1, -1, 1, 1, 1];
1050
+ }
978
1051
  if ((_a = viewPort.show3D) !== null && _a !== void 0 ? _a : false) {
979
1052
  // If the camera is defined, use it
980
1053
  if (isCameraPositionDefined) {
@@ -982,18 +1055,16 @@ function computeViewState(viewPort, cameraPosition, boundingBox, bounds, viewpor
982
1055
  }
983
1056
  // deprecated in 3D, kept for backward compatibility
984
1057
  if (isBoundsDefined) {
985
- const centerOfData = boundingBox
986
- ? boxCenter(boundingBox)
987
- : [0, 0, 0];
1058
+ const centerOfData = boxCenter(boundingBox);
988
1059
  return getViewStateFromBounds(viewportMargins, bounds, centerOfData, views, viewPort, size);
989
1060
  }
990
1061
  const defaultCamera = {
991
- target: [0, 0, 0],
992
- zoom: NaN,
1062
+ target: [], // force computation from the bounding box 3D
1063
+ zoom: NaN, // force computation from the bounding box 3D
993
1064
  rotationX: 45, // look down z -axis at 45 degrees
994
1065
  rotationOrbit: 0,
995
1066
  };
996
- return updateViewState(defaultCamera, boundingBox !== null && boundingBox !== void 0 ? boundingBox : [0, 0, 0, 1, 1, 1], size);
1067
+ return updateViewState(defaultCamera, boundingBox, size);
997
1068
  }
998
1069
  else {
999
1070
  // If the camera is defined, use it
@@ -1001,23 +1072,14 @@ function computeViewState(viewPort, cameraPosition, boundingBox, bounds, viewpor
1001
1072
  const is3D = false;
1002
1073
  return updateViewState(cameraPosition, boundingBox, size, is3D);
1003
1074
  }
1004
- const centerOfData = boundingBox
1005
- ? boxCenter(boundingBox)
1006
- : [0, 0, 0];
1075
+ const centerOfData = boxCenter(boundingBox);
1007
1076
  // if bounds are defined, use them
1008
1077
  if (isBoundsDefined) {
1009
1078
  return getViewStateFromBounds(viewportMargins, bounds, centerOfData, views, viewPort, size);
1010
1079
  }
1011
- return boundingBox
1012
- ? getViewStateFromBounds(viewportMargins,
1013
- // use the bounding box to extract the 2D bounds
1014
- [
1015
- boundingBox[0],
1016
- boundingBox[1],
1017
- boundingBox[3],
1018
- boundingBox[4],
1019
- ], centerOfData, views, viewPort, size)
1020
- : undefined;
1080
+ return getViewStateFromBounds(viewportMargins,
1081
+ // use the bounding box to extract the 2D bounds
1082
+ [boundingBox[0], boundingBox[1], boundingBox[3], boundingBox[4]], centerOfData, views, viewPort, size);
1021
1083
  }
1022
1084
  }
1023
1085
  function buildDeckGlViewStates(views, viewPortMargins, cameraPosition, boundingBox, bounds, size) {
@@ -1031,7 +1093,7 @@ function buildDeckGlViewStates(views, viewPortMargins, cameraPosition, boundingB
1031
1093
  const singleView = nX === 1 && nY === 1;
1032
1094
  if (singleView) {
1033
1095
  const viewState = computeViewState(views.viewports[0], cameraPosition, boundingBox, bounds, viewPortMargins, views, size);
1034
- return viewState ? { [views.viewports[0].id]: viewState } : {};
1096
+ return { [views.viewports[0].id]: viewState };
1035
1097
  }
1036
1098
  // compute for matrix
1037
1099
  let result = {};
@@ -1 +1 @@
1
- {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/components/Map.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/components/Map.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,5 +2,5 @@ export { default } from "./SubsurfaceViewer";
2
2
  export { default as DashSubsurfaceViewer } from "./DashSubsurfaceViewer";
3
3
  export type { BoundsAccessor, LightsType, MapMouseEvent, SubsurfaceViewerProps, TooltipCallback, ViewStateType, ViewsType, colorTablesArray, } from "./SubsurfaceViewer";
4
4
  export { TGrid3DColoringMode } from "./SubsurfaceViewer";
5
- export type { BoundingBox3D, ViewportType } from "./components/Map";
5
+ export type { BoundingBox2D, BoundingBox3D, ViewportType, } from "./components/Map";
6
6
  export type { ExtendedLayerProps, LayerPickInfo, PropertyDataType, } from "./layers/utils/layerTools";
@@ -0,0 +1,24 @@
1
+ /**
2
+ * 2D bounding box defined as [xmin, ymin, xmax, ymax].
3
+ */
4
+ export type BoundingBox2D = [number, number, number, number];
5
+ /**
6
+ * Returns the bounding box encompassing both boxes.
7
+ * @param box1 first box.
8
+ * @param box2 second box.
9
+ * @param defaultBox in case both boxes are undefined.
10
+ * @returns the bounding box encompassing both boxes.
11
+ */
12
+ export declare const boxUnion: (box1: BoundingBox2D | undefined, box2: BoundingBox2D | undefined, defaultBox?: BoundingBox2D) => BoundingBox2D;
13
+ /**
14
+ * Returns the center of the bounding box.
15
+ * @param box1 bounding box.
16
+ * @returns the center of the bounding box.
17
+ */
18
+ export declare const boxCenter: (box: BoundingBox2D) => [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: BoundingBox2D | undefined) => boolean;
@@ -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":"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"}
1
+ {"version":3,"file":"BoundingBox3D.test.js","sourceRoot":"","sources":["../../src/utils/BoundingBox3D.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webviz/subsurface-viewer",
3
- "version": "0.20.8",
3
+ "version": "0.20.9",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",