@equinor/esv-intersection 3.1.9 → 4.1.0

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.
Files changed (97) hide show
  1. package/dist/components/axis.d.ts.map +1 -1
  2. package/dist/control/ExtendedCurveInterpolator.d.ts.map +1 -1
  3. package/dist/control/IntersectionReferenceSystem.d.ts.map +1 -1
  4. package/dist/control/LayerManager.d.ts.map +1 -1
  5. package/dist/control/MainController.d.ts.map +1 -1
  6. package/dist/control/ZoomPanHandler.d.ts.map +1 -1
  7. package/dist/control/overlay.d.ts.map +1 -1
  8. package/dist/datautils/colortable.d.ts.map +1 -1
  9. package/dist/datautils/findsample.d.ts.map +1 -1
  10. package/dist/datautils/picks.d.ts.map +1 -1
  11. package/dist/datautils/schematicShapeGenerator.d.ts +10 -10
  12. package/dist/datautils/schematicShapeGenerator.d.ts.map +1 -1
  13. package/dist/datautils/seismicimage.d.ts.map +1 -1
  14. package/dist/datautils/surfacedata.d.ts.map +1 -1
  15. package/dist/datautils/trajectory.d.ts.map +1 -1
  16. package/dist/index.cjs +2 -2
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.mjs +2533 -1570
  19. package/dist/index.mjs.map +1 -1
  20. package/dist/index.umd.js +2 -2
  21. package/dist/index.umd.js.map +1 -1
  22. package/dist/layers/CalloutCanvasLayer.d.ts.map +1 -1
  23. package/dist/layers/CustomDisplayObjects/ComplexRope.d.ts +2 -3
  24. package/dist/layers/CustomDisplayObjects/ComplexRope.d.ts.map +1 -1
  25. package/dist/layers/CustomDisplayObjects/ComplexRopeGeometry.d.ts.map +1 -1
  26. package/dist/layers/CustomDisplayObjects/FixedWidthSimpleRope.d.ts +3 -4
  27. package/dist/layers/CustomDisplayObjects/FixedWidthSimpleRope.d.ts.map +1 -1
  28. package/dist/layers/CustomDisplayObjects/FixedWidthSimpleRopeGeometry.d.ts +4 -4
  29. package/dist/layers/CustomDisplayObjects/FixedWidthSimpleRopeGeometry.d.ts.map +1 -1
  30. package/dist/layers/CustomDisplayObjects/UniformTextureStretchRope.d.ts +3 -4
  31. package/dist/layers/CustomDisplayObjects/UniformTextureStretchRope.d.ts.map +1 -1
  32. package/dist/layers/CustomDisplayObjects/UniformTextureStretchRopeGeometry.d.ts +4 -4
  33. package/dist/layers/CustomDisplayObjects/UniformTextureStretchRopeGeometry.d.ts.map +1 -1
  34. package/dist/layers/GeomodelCanvasLayer.d.ts.map +1 -1
  35. package/dist/layers/GeomodelLabelsLayer.d.ts.map +1 -1
  36. package/dist/layers/GeomodelLayerV2.d.ts.map +1 -1
  37. package/dist/layers/GridLayer.d.ts.map +1 -1
  38. package/dist/layers/ImageCanvasLayer.d.ts.map +1 -1
  39. package/dist/layers/ReferenceLineLayer.d.ts.map +1 -1
  40. package/dist/layers/SchematicLayer.d.ts +6 -6
  41. package/dist/layers/SchematicLayer.d.ts.map +1 -1
  42. package/dist/layers/WellborePathLayer.d.ts.map +1 -1
  43. package/dist/layers/base/CanvasLayer.d.ts.map +1 -1
  44. package/dist/layers/base/HTMLLayer.d.ts.map +1 -1
  45. package/dist/layers/base/Layer.d.ts.map +1 -1
  46. package/dist/layers/base/PixiLayer.d.ts +7 -8
  47. package/dist/layers/base/PixiLayer.d.ts.map +1 -1
  48. package/dist/layers/base/SVGLayer.d.ts.map +1 -1
  49. package/dist/layers/schematicInterfaces.d.ts.map +1 -1
  50. package/dist/utils/arc-length.d.ts.map +1 -1
  51. package/dist/utils/root-finder.d.ts.map +1 -1
  52. package/dist/utils/text.d.ts.map +1 -1
  53. package/dist/utils/vectorUtils.d.ts +6 -6
  54. package/dist/utils/vectorUtils.d.ts.map +1 -1
  55. package/dist/vendor/pixi-dashed-line/index.d.ts +13 -13
  56. package/dist/vendor/pixi-dashed-line/index.d.ts.map +1 -1
  57. package/package.json +4 -6
  58. package/src/components/axis.ts +40 -10
  59. package/src/control/ExtendedCurveInterpolator.ts +47 -9
  60. package/src/control/IntersectionReferenceSystem.ts +110 -30
  61. package/src/control/LayerManager.ts +76 -24
  62. package/src/control/MainController.ts +37 -8
  63. package/src/control/ZoomPanHandler.ts +76 -14
  64. package/src/control/overlay.ts +18 -6
  65. package/src/datautils/colortable.ts +7 -2
  66. package/src/datautils/findsample.ts +12 -2
  67. package/src/datautils/picks.ts +66 -18
  68. package/src/datautils/schematicShapeGenerator.ts +591 -165
  69. package/src/datautils/seismicimage.ts +36 -10
  70. package/src/datautils/surfacedata.ts +119 -40
  71. package/src/datautils/trajectory.ts +56 -17
  72. package/src/layers/CalloutCanvasLayer.ts +129 -26
  73. package/src/layers/CustomDisplayObjects/ComplexRope.ts +11 -13
  74. package/src/layers/CustomDisplayObjects/ComplexRopeGeometry.ts +14 -13
  75. package/src/layers/CustomDisplayObjects/FixedWidthSimpleRope.ts +11 -14
  76. package/src/layers/CustomDisplayObjects/FixedWidthSimpleRopeGeometry.ts +13 -12
  77. package/src/layers/CustomDisplayObjects/UniformTextureStretchRope.ts +16 -17
  78. package/src/layers/CustomDisplayObjects/UniformTextureStretchRopeGeometry.ts +11 -11
  79. package/src/layers/GeomodelCanvasLayer.ts +10 -3
  80. package/src/layers/GeomodelLabelsLayer.ts +212 -87
  81. package/src/layers/GeomodelLayerV2.ts +11 -7
  82. package/src/layers/GridLayer.ts +14 -3
  83. package/src/layers/ImageCanvasLayer.ts +17 -3
  84. package/src/layers/ReferenceLineLayer.ts +31 -9
  85. package/src/layers/SchematicLayer.ts +533 -173
  86. package/src/layers/WellborePathLayer.ts +22 -7
  87. package/src/layers/base/CanvasLayer.ts +18 -4
  88. package/src/layers/base/HTMLLayer.ts +11 -3
  89. package/src/layers/base/Layer.ts +10 -2
  90. package/src/layers/base/PixiLayer.ts +36 -43
  91. package/src/layers/base/SVGLayer.ts +13 -3
  92. package/src/layers/schematicInterfaces.ts +16 -6
  93. package/src/utils/arc-length.ts +31 -5
  94. package/src/utils/root-finder.ts +32 -4
  95. package/src/utils/text.ts +34 -7
  96. package/src/utils/vectorUtils.ts +27 -10
  97. package/src/vendor/pixi-dashed-line/index.ts +93 -39
@@ -87,24 +87,43 @@ function getEntryPicks(formationPicks: PairedPickAndUnit[]): Annotation[] {
87
87
  .map((p: PairedPickAndUnit) => mapPick(p.entryPick, 'strat-picks'));
88
88
  }
89
89
 
90
- function getFilteredExitPicks(formationPicks: PairedPickAndUnit[]): Annotation[] {
90
+ function getFilteredExitPicks(
91
+ formationPicks: PairedPickAndUnit[],
92
+ ): Annotation[] {
91
93
  if (!formationPicks) {
92
94
  return [];
93
95
  }
94
96
 
95
97
  return (
96
98
  formationPicks
97
- .filter((d: PairedPickAndUnit) => formationPicks.findIndex((p: PairedPickAndUnit) => Math.abs(p.entryPick.md - d.exitPick.md) < 0.5) === -1)
99
+ .filter(
100
+ (d: PairedPickAndUnit) =>
101
+ formationPicks.findIndex(
102
+ (p: PairedPickAndUnit) =>
103
+ Math.abs(p.entryPick.md - d.exitPick.md) < 0.5,
104
+ ) === -1,
105
+ )
98
106
  .map((p: PairedPickAndUnit) => mapPick(p.exitPick, 'strat-picks'))
99
107
  // Remove duplicates from unitpicks filling in gaps in formation
100
- .filter((obj: Annotation, i: number, array: Annotation[]) => i === array.findIndex((v: Annotation) => v.title === obj.title && v.md === obj.md))
108
+ .filter(
109
+ (obj: Annotation, i: number, array: Annotation[]) =>
110
+ i ===
111
+ array.findIndex(
112
+ (v: Annotation) => v.title === obj.title && v.md === obj.md,
113
+ ),
114
+ )
101
115
  );
102
116
  }
103
117
 
104
- export const getPicksData = (picksData: { unitPicks: PairedPickAndUnit[]; nonUnitPicks: PickWithId[] }): Annotation[] =>
105
- [...getReferencePicks(picksData.nonUnitPicks), ...getEntryPicks(picksData.unitPicks), ...getFilteredExitPicks(picksData.unitPicks)].sort(
106
- (a, b) => a.md! - b.md!,
107
- );
118
+ export const getPicksData = (picksData: {
119
+ unitPicks: PairedPickAndUnit[];
120
+ nonUnitPicks: PickWithId[];
121
+ }): Annotation[] =>
122
+ [
123
+ ...getReferencePicks(picksData.nonUnitPicks),
124
+ ...getEntryPicks(picksData.unitPicks),
125
+ ...getFilteredExitPicks(picksData.unitPicks),
126
+ ].sort((a, b) => a.md! - b.md!);
108
127
 
109
128
  /**
110
129
  * @param {Unit} u
@@ -134,7 +153,11 @@ const unitDto = (u: Unit): UnitDto => ({
134
153
  * @param {number} arr.from
135
154
  * @returns {[number, number][]}
136
155
  */
137
- function findGaps(from: number, to: number, arr: { from: number; to: number; itm: PairedPickAndUnit }[]): [number, number][] {
156
+ function findGaps(
157
+ from: number,
158
+ to: number,
159
+ arr: { from: number; to: number; itm: PairedPickAndUnit }[],
160
+ ): [number, number][] {
138
161
  if (arr.length === 0) {
139
162
  return [[from, to]];
140
163
  }
@@ -166,12 +189,20 @@ const transformStratColumn = (units: Unit[]): UnitDto[] => units.map(unitDto);
166
189
  * @param {Pick[]} picks picks
167
190
  * @param {Unit[]} stratColumn strat column
168
191
  */
169
- function joinPicksAndStratColumn(picks: Pick[], stratColumn: Unit[]): { joined: PickAndUnit[]; nonUnitPicks: PickWithId[] } {
192
+ function joinPicksAndStratColumn(
193
+ picks: Pick[],
194
+ stratColumn: Unit[],
195
+ ): { joined: PickAndUnit[]; nonUnitPicks: PickWithId[] } {
170
196
  const transformed = transformStratColumn(stratColumn);
171
197
  const nonUnitPicks: PickWithId[] = [];
172
198
  const joined: PickAndUnit[] = [];
173
199
  picks.forEach((p: Pick) => {
174
- const matches = transformed.filter((u: UnitDto) => p.pickIdentifier?.search(new RegExp(`(${u.topSurface}|${u.baseSurface})`, 'i')) !== -1);
200
+ const matches = transformed.filter(
201
+ (u: UnitDto) =>
202
+ p.pickIdentifier?.search(
203
+ new RegExp(`(${u.topSurface}|${u.baseSurface})`, 'i'),
204
+ ) !== -1,
205
+ );
175
206
  if (matches.length > 0) {
176
207
  matches.forEach((u: UnitDto) =>
177
208
  joined.push({
@@ -203,7 +234,12 @@ function pairJoinedPicks(joined: PickAndUnit[]): PairedPickAndUnit[] {
203
234
 
204
235
  const sorted = joined
205
236
  .filter((d: PickAndUnit) => d.level)
206
- .sort((a: PickAndUnit, b: PickAndUnit) => a.unitName.localeCompare(b.unitName) || a.md - b.md || a.ageTop - b.ageTop);
237
+ .sort(
238
+ (a: PickAndUnit, b: PickAndUnit) =>
239
+ a.unitName.localeCompare(b.unitName) ||
240
+ a.md - b.md ||
241
+ a.ageTop - b.ageTop,
242
+ );
207
243
 
208
244
  while (sorted.length > 0) {
209
245
  current = sorted.shift()!;
@@ -225,7 +261,9 @@ function pairJoinedPicks(joined: PickAndUnit[]): PairedPickAndUnit[] {
225
261
  let top: PickAndUnit | undefined;
226
262
  let base: PickAndUnit | undefined;
227
263
 
228
- const pairWith = sorted.find((p: PickAndUnit) => p.identifier === pairWithName);
264
+ const pairWith = sorted.find(
265
+ (p: PickAndUnit) => p.identifier === pairWithName,
266
+ );
229
267
  if (!pairWith) {
230
268
  console.warn(`Unable to find ${pairWithName} pick for ${name}`);
231
269
  if (isTop) {
@@ -237,7 +275,9 @@ function pairJoinedPicks(joined: PickAndUnit[]): PairedPickAndUnit[] {
237
275
  if (base) {
238
276
  console.warn(`Using ${base.identifier} as base for ${name}`);
239
277
  } else {
240
- console.warn(`Unable to find a base pick for ${name} pick at ${top.md}, ignored`);
278
+ console.warn(
279
+ `Unable to find a base pick for ${name} pick at ${top.md}, ignored`,
280
+ );
241
281
  continue;
242
282
  }
243
283
  } else if (isBase) {
@@ -249,7 +289,9 @@ function pairJoinedPicks(joined: PickAndUnit[]): PairedPickAndUnit[] {
249
289
  if (top) {
250
290
  console.warn(`Using ${top.identifier} as top for ${name}`);
251
291
  } else {
252
- console.warn(`Unable to find a top pick for ${name} pick at ${base.md}, ignored`);
292
+ console.warn(
293
+ `Unable to find a top pick for ${name} pick at ${base.md}, ignored`,
294
+ );
253
295
  continue;
254
296
  }
255
297
  } else {
@@ -290,7 +332,10 @@ function pairJoinedPicks(joined: PickAndUnit[]): PairedPickAndUnit[] {
290
332
  * @param {Pick[]} picks picks
291
333
  * @param {Unit[]} stratColumn strat column
292
334
  */
293
- export function transformFormationData(picks: Pick[], stratColumn: Unit[]): { unitPicks: PairedPickAndUnit[]; nonUnitPicks: PickWithId[] } {
335
+ export function transformFormationData(
336
+ picks: Pick[],
337
+ stratColumn: Unit[],
338
+ ): { unitPicks: PairedPickAndUnit[]; nonUnitPicks: PickWithId[] } {
294
339
  const { joined, nonUnitPicks } = joinPicksAndStratColumn(picks, stratColumn);
295
340
  const pairs = pairJoinedPicks(joined);
296
341
 
@@ -305,7 +350,10 @@ export function transformFormationData(picks: Pick[], stratColumn: Unit[]): { un
305
350
  while (itemstack.length > 0) {
306
351
  const first = itemstack.pop()!;
307
352
  const group: PairedPickAndUnit[] = [];
308
- while (itemstack.length > 0 && itemstack[itemstack.length - 1]?.level! > first.level) {
353
+ while (
354
+ itemstack.length > 0 &&
355
+ itemstack[itemstack.length - 1]?.level! > first.level
356
+ ) {
309
357
  group.push(itemstack.pop()!);
310
358
  }
311
359
  group.reverse();
@@ -313,11 +361,11 @@ export function transformFormationData(picks: Pick[], stratColumn: Unit[]): { un
313
361
  const arr: { from: number; to: number; itm: PairedPickAndUnit }[] = [];
314
362
  group.forEach((itm: PairedPickAndUnit) => {
315
363
  const gaps = findGaps(itm.mdEntry, itm.mdExit, arr);
316
- arr.push(...gaps.map((g) => ({ from: g[0], to: g[1], itm })));
364
+ arr.push(...gaps.map(g => ({ from: g[0], to: g[1], itm })));
317
365
  });
318
366
  arr.sort((a, b) => a.from - b.from);
319
367
  unitPicks.push(
320
- ...arr.map((d) => ({
368
+ ...arr.map(d => ({
321
369
  from: d.from,
322
370
  to: d.to,
323
371
  ...d.itm,