@equinor/esv-intersection 3.0.6 → 3.0.8
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/datautils/findsample.d.ts.map +1 -1
- package/dist/datautils/seismicimage.d.ts +1 -1
- package/dist/datautils/seismicimage.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +23 -19
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +3 -2
- package/src/datautils/findsample.ts +19 -11
- package/src/datautils/seismicimage.ts +4 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@equinor/esv-intersection",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.8",
|
|
4
4
|
"description": "Intersection component package with testing and automatic documentation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
"build-storybook": "storybook build",
|
|
30
30
|
"prepare": "husky install",
|
|
31
31
|
"version": "changeset version && npm install --package-lock-only",
|
|
32
|
-
"release": "npm run build && changeset publish"
|
|
32
|
+
"release:npm": "npm run build && changeset publish",
|
|
33
|
+
"release:github": "npm run build && changeset publish --no-git-tag"
|
|
33
34
|
},
|
|
34
35
|
"lint-staged": {
|
|
35
36
|
"*": "prettier --write --ignore-unknown"
|
|
@@ -1,26 +1,34 @@
|
|
|
1
1
|
export function findIndexOfSample(data: number[][], pos: number): number {
|
|
2
|
+
if (data.length < 2) {
|
|
3
|
+
return -1;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
const linearSearchLimit = 20;
|
|
2
7
|
let a = 0;
|
|
3
8
|
let b = data.length - 1;
|
|
4
|
-
|
|
5
|
-
let
|
|
6
|
-
let bPos = data[b][0];
|
|
9
|
+
let aPos = data[a]?.[0];
|
|
10
|
+
let bPos = data[b]?.[0];
|
|
7
11
|
|
|
8
12
|
while (b - a > linearSearchLimit) {
|
|
9
13
|
const splitAt = Math.floor((b + a) / 2);
|
|
10
|
-
const splitPos = data[splitAt][0];
|
|
14
|
+
const splitPos = data[splitAt]?.[0];
|
|
15
|
+
|
|
16
|
+
if (aPos == null || bPos == null || splitPos == null) {
|
|
17
|
+
return -1;
|
|
18
|
+
}
|
|
11
19
|
|
|
12
20
|
if (pos >= aPos && pos < splitPos) {
|
|
13
21
|
b = splitAt;
|
|
14
|
-
bPos = data[b][0];
|
|
22
|
+
bPos = data[b]?.[0];
|
|
15
23
|
} else if (pos >= splitPos && pos <= bPos) {
|
|
16
24
|
a = splitAt;
|
|
17
|
-
aPos = data[a][0];
|
|
25
|
+
aPos = data[a]?.[0];
|
|
18
26
|
} else if (pos <= aPos && pos > splitPos) {
|
|
19
27
|
b = splitAt;
|
|
20
|
-
bPos = data[b][0];
|
|
28
|
+
bPos = data[b]?.[0];
|
|
21
29
|
} else if (pos <= splitPos && pos >= bPos) {
|
|
22
30
|
a = splitAt;
|
|
23
|
-
aPos = data[a][0];
|
|
31
|
+
aPos = data[a]?.[0];
|
|
24
32
|
} else {
|
|
25
33
|
return -1;
|
|
26
34
|
}
|
|
@@ -28,9 +36,9 @@ export function findIndexOfSample(data: number[][], pos: number): number {
|
|
|
28
36
|
|
|
29
37
|
let index = -1;
|
|
30
38
|
for (let i = a; i < b; i++) {
|
|
31
|
-
const v1 = data[i][0];
|
|
32
|
-
const v2 = data[i + 1][0];
|
|
33
|
-
if (Math.min(v1, v2) <= pos && pos <= Math.max(v1, v2)) {
|
|
39
|
+
const v1 = data[i]?.[0];
|
|
40
|
+
const v2 = data[i + 1]?.[0];
|
|
41
|
+
if (v1 != null && v2 != null && Math.min(v1, v2) <= pos && pos <= Math.max(v1, v2)) {
|
|
34
42
|
index = i;
|
|
35
43
|
break;
|
|
36
44
|
}
|
|
@@ -91,12 +91,12 @@ export async function generateSeismicSliceImage(
|
|
|
91
91
|
data: { datapoints: number[][]; yAxisValues: number[] },
|
|
92
92
|
trajectory: number[][],
|
|
93
93
|
colormap: string[],
|
|
94
|
-
options
|
|
95
|
-
isLeftToRight:
|
|
94
|
+
options: {
|
|
95
|
+
isLeftToRight: boolean;
|
|
96
96
|
seismicRange?: number;
|
|
97
97
|
seismicMin?: number;
|
|
98
98
|
seismicMax?: number;
|
|
99
|
-
},
|
|
99
|
+
} = { isLeftToRight: true },
|
|
100
100
|
): Promise<ImageBitmap | undefined> {
|
|
101
101
|
if (!(data && data.datapoints && data.datapoints.length > 0)) {
|
|
102
102
|
return undefined;
|
|
@@ -132,7 +132,7 @@ export async function generateSeismicSliceImage(
|
|
|
132
132
|
let offset = 0;
|
|
133
133
|
const colorFactor = (colorTableSize - 1) / domain.difference;
|
|
134
134
|
|
|
135
|
-
let pos = options?.isLeftToRight ? trajectory[0][0] : trajectory[trajectory.length - 1][0];
|
|
135
|
+
let pos = options?.isLeftToRight == null ? trajectory[0][0] : trajectory[trajectory.length - 1][0];
|
|
136
136
|
|
|
137
137
|
const step = (length / width) * (options?.isLeftToRight ? -1 : 1);
|
|
138
138
|
|