@equinor/esv-intersection 4.0.0 → 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.
- package/dist/components/axis.d.ts.map +1 -1
- package/dist/control/ExtendedCurveInterpolator.d.ts.map +1 -1
- package/dist/control/IntersectionReferenceSystem.d.ts.map +1 -1
- package/dist/control/LayerManager.d.ts.map +1 -1
- package/dist/control/MainController.d.ts.map +1 -1
- package/dist/control/ZoomPanHandler.d.ts.map +1 -1
- package/dist/control/overlay.d.ts.map +1 -1
- package/dist/datautils/colortable.d.ts.map +1 -1
- package/dist/datautils/findsample.d.ts.map +1 -1
- package/dist/datautils/picks.d.ts.map +1 -1
- package/dist/datautils/schematicShapeGenerator.d.ts +5 -5
- package/dist/datautils/schematicShapeGenerator.d.ts.map +1 -1
- package/dist/datautils/seismicimage.d.ts.map +1 -1
- package/dist/datautils/surfacedata.d.ts.map +1 -1
- package/dist/datautils/trajectory.d.ts.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +1240 -282
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/layers/CalloutCanvasLayer.d.ts.map +1 -1
- package/dist/layers/CustomDisplayObjects/ComplexRope.d.ts.map +1 -1
- package/dist/layers/CustomDisplayObjects/UniformTextureStretchRope.d.ts.map +1 -1
- package/dist/layers/GeomodelCanvasLayer.d.ts.map +1 -1
- package/dist/layers/GeomodelLabelsLayer.d.ts.map +1 -1
- package/dist/layers/GeomodelLayerV2.d.ts.map +1 -1
- package/dist/layers/GridLayer.d.ts.map +1 -1
- package/dist/layers/ImageCanvasLayer.d.ts.map +1 -1
- package/dist/layers/ReferenceLineLayer.d.ts.map +1 -1
- package/dist/layers/SchematicLayer.d.ts.map +1 -1
- package/dist/layers/WellborePathLayer.d.ts.map +1 -1
- package/dist/layers/base/CanvasLayer.d.ts.map +1 -1
- package/dist/layers/base/HTMLLayer.d.ts.map +1 -1
- package/dist/layers/base/Layer.d.ts.map +1 -1
- package/dist/layers/base/PixiLayer.d.ts.map +1 -1
- package/dist/layers/base/SVGLayer.d.ts.map +1 -1
- package/dist/layers/schematicInterfaces.d.ts.map +1 -1
- package/dist/utils/arc-length.d.ts.map +1 -1
- package/dist/utils/root-finder.d.ts.map +1 -1
- package/dist/utils/text.d.ts.map +1 -1
- package/dist/utils/vectorUtils.d.ts.map +1 -1
- package/dist/vendor/pixi-dashed-line/index.d.ts.map +1 -1
- package/package.json +2 -4
- package/src/components/axis.ts +40 -10
- package/src/control/ExtendedCurveInterpolator.ts +47 -9
- package/src/control/IntersectionReferenceSystem.ts +110 -30
- package/src/control/LayerManager.ts +76 -24
- package/src/control/MainController.ts +37 -8
- package/src/control/ZoomPanHandler.ts +76 -14
- package/src/control/overlay.ts +18 -6
- package/src/datautils/colortable.ts +7 -2
- package/src/datautils/findsample.ts +12 -2
- package/src/datautils/picks.ts +66 -18
- package/src/datautils/schematicShapeGenerator.ts +570 -146
- package/src/datautils/seismicimage.ts +36 -10
- package/src/datautils/surfacedata.ts +119 -40
- package/src/datautils/trajectory.ts +56 -17
- package/src/layers/CalloutCanvasLayer.ts +129 -26
- package/src/layers/CustomDisplayObjects/ComplexRope.ts +2 -1
- package/src/layers/CustomDisplayObjects/ComplexRopeGeometry.ts +5 -5
- package/src/layers/CustomDisplayObjects/UniformTextureStretchRope.ts +6 -2
- package/src/layers/GeomodelCanvasLayer.ts +10 -3
- package/src/layers/GeomodelLabelsLayer.ts +212 -87
- package/src/layers/GeomodelLayerV2.ts +8 -3
- package/src/layers/GridLayer.ts +14 -3
- package/src/layers/ImageCanvasLayer.ts +17 -3
- package/src/layers/ReferenceLineLayer.ts +31 -9
- package/src/layers/SchematicLayer.ts +499 -150
- package/src/layers/WellborePathLayer.ts +22 -7
- package/src/layers/base/CanvasLayer.ts +18 -4
- package/src/layers/base/HTMLLayer.ts +11 -3
- package/src/layers/base/Layer.ts +10 -2
- package/src/layers/base/PixiLayer.ts +27 -7
- package/src/layers/base/SVGLayer.ts +13 -3
- package/src/layers/schematicInterfaces.ts +16 -6
- package/src/utils/arc-length.ts +31 -5
- package/src/utils/root-finder.ts +32 -4
- package/src/utils/text.ts +34 -7
- package/src/utils/vectorUtils.ts +23 -6
- package/src/vendor/pixi-dashed-line/index.ts +66 -13
|
@@ -118,7 +118,12 @@ export class DashLine {
|
|
|
118
118
|
this.scale = options.scale;
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
private static distance(
|
|
121
|
+
private static distance(
|
|
122
|
+
x1: number,
|
|
123
|
+
y1: number,
|
|
124
|
+
x2: number,
|
|
125
|
+
y2: number,
|
|
126
|
+
): number {
|
|
122
127
|
return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
|
|
123
128
|
}
|
|
124
129
|
|
|
@@ -143,7 +148,10 @@ export class DashLine {
|
|
|
143
148
|
this.adjustLineStyle(angle);
|
|
144
149
|
if (closed && this.dash.length % 2 === 0) {
|
|
145
150
|
const gap = Math.min(this.dash[this.dash.length - 1], length);
|
|
146
|
-
this.graphics.lineTo(
|
|
151
|
+
this.graphics.lineTo(
|
|
152
|
+
x - Math.cos(angle) * gap,
|
|
153
|
+
y - Math.sin(angle) * gap,
|
|
154
|
+
);
|
|
147
155
|
this.graphics.closePath();
|
|
148
156
|
} else {
|
|
149
157
|
this.graphics.lineTo(x, y);
|
|
@@ -177,10 +185,17 @@ export class DashLine {
|
|
|
177
185
|
const dashSize = this.dash[dashIndex] * this.scale - dashStart;
|
|
178
186
|
const dist = remaining > dashSize ? dashSize : remaining;
|
|
179
187
|
if (closed) {
|
|
180
|
-
const remainingDistance = DashLine.distance(
|
|
188
|
+
const remainingDistance = DashLine.distance(
|
|
189
|
+
x0 + cos * dist,
|
|
190
|
+
y0 + sin * dist,
|
|
191
|
+
this.start.x,
|
|
192
|
+
this.start.y,
|
|
193
|
+
);
|
|
181
194
|
if (remainingDistance <= dist) {
|
|
182
195
|
if (dashIndex % 2 === 0) {
|
|
183
|
-
const lastDash =
|
|
196
|
+
const lastDash =
|
|
197
|
+
DashLine.distance(x0, y0, this.start.x, this.start.y) -
|
|
198
|
+
this.dash[this.dash.length - 1] * this.scale;
|
|
184
199
|
x0 += cos * lastDash;
|
|
185
200
|
y0 += sin * lastDash;
|
|
186
201
|
this.graphics.lineTo(x0, y0);
|
|
@@ -213,23 +228,38 @@ export class DashLine {
|
|
|
213
228
|
this.lineTo(this.start.x, this.start.y, true);
|
|
214
229
|
}
|
|
215
230
|
|
|
216
|
-
drawCircle(
|
|
231
|
+
drawCircle(
|
|
232
|
+
x: number,
|
|
233
|
+
y: number,
|
|
234
|
+
radius: number,
|
|
235
|
+
points = 80,
|
|
236
|
+
matrix?: Matrix,
|
|
237
|
+
): this {
|
|
217
238
|
const interval = (Math.PI * 2) / points;
|
|
218
239
|
let angle = 0,
|
|
219
240
|
first: Point;
|
|
220
241
|
if (matrix) {
|
|
221
|
-
first = new Point(
|
|
242
|
+
first = new Point(
|
|
243
|
+
x + Math.cos(angle) * radius,
|
|
244
|
+
y + Math.sin(angle) * radius,
|
|
245
|
+
);
|
|
222
246
|
matrix.apply(first, first);
|
|
223
247
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
224
248
|
// @ts-ignore
|
|
225
249
|
this.moveTo(first[0], first[1]);
|
|
226
250
|
} else {
|
|
227
|
-
first = new Point(
|
|
251
|
+
first = new Point(
|
|
252
|
+
x + Math.cos(angle) * radius,
|
|
253
|
+
y + Math.sin(angle) * radius,
|
|
254
|
+
);
|
|
228
255
|
this.moveTo(first.x, first.y);
|
|
229
256
|
}
|
|
230
257
|
angle += interval;
|
|
231
258
|
for (let i = 1; i < points + 1; i++) {
|
|
232
|
-
const next =
|
|
259
|
+
const next =
|
|
260
|
+
i === points
|
|
261
|
+
? first
|
|
262
|
+
: [x + Math.cos(angle) * radius, y + Math.sin(angle) * radius];
|
|
233
263
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
234
264
|
// @ts-ignore
|
|
235
265
|
this.lineTo(next[0], next[1]);
|
|
@@ -238,7 +268,14 @@ export class DashLine {
|
|
|
238
268
|
return this;
|
|
239
269
|
}
|
|
240
270
|
|
|
241
|
-
drawEllipse(
|
|
271
|
+
drawEllipse(
|
|
272
|
+
x: number,
|
|
273
|
+
y: number,
|
|
274
|
+
radiusX: number,
|
|
275
|
+
radiusY: number,
|
|
276
|
+
points = 80,
|
|
277
|
+
matrix?: Matrix,
|
|
278
|
+
): this {
|
|
242
279
|
const interval = (Math.PI * 2) / points;
|
|
243
280
|
let first: { x: number; y: number };
|
|
244
281
|
const point = new Point();
|
|
@@ -277,7 +314,11 @@ export class DashLine {
|
|
|
277
314
|
} else {
|
|
278
315
|
this.moveTo(points[0] as number, points[1] as number);
|
|
279
316
|
for (let i = 2; i < points.length; i += 2) {
|
|
280
|
-
this.lineTo(
|
|
317
|
+
this.lineTo(
|
|
318
|
+
points[i] as number,
|
|
319
|
+
points[i + 1] as number,
|
|
320
|
+
i === points.length - 2,
|
|
321
|
+
);
|
|
281
322
|
}
|
|
282
323
|
}
|
|
283
324
|
} else {
|
|
@@ -304,7 +345,13 @@ export class DashLine {
|
|
|
304
345
|
return this;
|
|
305
346
|
}
|
|
306
347
|
|
|
307
|
-
drawRect(
|
|
348
|
+
drawRect(
|
|
349
|
+
x: number,
|
|
350
|
+
y: number,
|
|
351
|
+
width: number,
|
|
352
|
+
height: number,
|
|
353
|
+
matrix?: Matrix,
|
|
354
|
+
): this {
|
|
308
355
|
if (matrix) {
|
|
309
356
|
const p = new Point();
|
|
310
357
|
|
|
@@ -353,12 +400,18 @@ export class DashLine {
|
|
|
353
400
|
lineStyle.matrix.scale(this.scale, this.scale);
|
|
354
401
|
}
|
|
355
402
|
const textureStart = -this.lineLength;
|
|
356
|
-
lineStyle.matrix.translate(
|
|
403
|
+
lineStyle.matrix.translate(
|
|
404
|
+
this.cursor.x + textureStart * Math.cos(angle),
|
|
405
|
+
this.cursor.y + textureStart * Math.sin(angle),
|
|
406
|
+
);
|
|
357
407
|
this.graphics.lineStyle(lineStyle);
|
|
358
408
|
}
|
|
359
409
|
|
|
360
410
|
// creates or uses cached texture
|
|
361
|
-
private static getTexture(
|
|
411
|
+
private static getTexture(
|
|
412
|
+
options: DashLineOptions,
|
|
413
|
+
dashSize: number,
|
|
414
|
+
): Texture | undefined {
|
|
362
415
|
const key = options.dash.toString();
|
|
363
416
|
if (DashLine.dashTextureCache[key]) {
|
|
364
417
|
return DashLine.dashTextureCache[key];
|