@equinor/esv-intersection 3.0.1 → 3.0.4
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/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +2241 -1938
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +2 -2
- package/dist/index.umd.js.map +1 -1
- package/package.json +21 -22
- package/dist/components/axis.d.ts +0 -47
- package/dist/components/index.d.ts +0 -1
- package/dist/control/ExtendedCurveInterpolator.d.ts +0 -58
- package/dist/control/IntersectionReferenceSystem.d.ts +0 -96
- package/dist/control/LayerManager.d.ts +0 -76
- package/dist/control/MainController.d.ts +0 -154
- package/dist/control/ZoomPanHandler.d.ts +0 -158
- package/dist/control/index.d.ts +0 -5
- package/dist/control/interfaces.d.ts +0 -37
- package/dist/control/overlay.d.ts +0 -20
- package/dist/datautils/colortable.d.ts +0 -1
- package/dist/datautils/findsample.d.ts +0 -2
- package/dist/datautils/index.d.ts +0 -6
- package/dist/datautils/interfaces.d.ts +0 -63
- package/dist/datautils/picks.d.ts +0 -74
- package/dist/datautils/schematicShapeGenerator.d.ts +0 -59
- package/dist/datautils/seismicimage.d.ts +0 -45
- package/dist/datautils/surfacedata.d.ts +0 -10
- package/dist/datautils/trajectory.d.ts +0 -14
- package/dist/layers/CalloutCanvasLayer.d.ts +0 -60
- package/dist/layers/CustomDisplayObjects/ComplexRope.d.ts +0 -22
- package/dist/layers/CustomDisplayObjects/ComplexRopeGeometry.d.ts +0 -27
- package/dist/layers/CustomDisplayObjects/FixedWidthSimpleRope.d.ts +0 -20
- package/dist/layers/CustomDisplayObjects/FixedWidthSimpleRopeGeometry.d.ts +0 -26
- package/dist/layers/CustomDisplayObjects/UniformTextureStretchRope.d.ts +0 -17
- package/dist/layers/CustomDisplayObjects/UniformTextureStretchRopeGeometry.d.ts +0 -24
- package/dist/layers/GeomodelCanvasLayer.d.ts +0 -28
- package/dist/layers/GeomodelLabelsLayer.d.ts +0 -49
- package/dist/layers/GeomodelLayerV2.d.ts +0 -12
- package/dist/layers/GridLayer.d.ts +0 -29
- package/dist/layers/ImageCanvasLayer.d.ts +0 -20
- package/dist/layers/ReferenceLineLayer.d.ts +0 -29
- package/dist/layers/SchematicLayer.d.ts +0 -113
- package/dist/layers/SeismicCanvasLayer.d.ts +0 -18
- package/dist/layers/WellborePathLayer.d.ts +0 -17
- package/dist/layers/base/CanvasLayer.d.ts +0 -19
- package/dist/layers/base/HTMLLayer.d.ts +0 -13
- package/dist/layers/base/Layer.d.ts +0 -69
- package/dist/layers/base/PixiLayer.d.ts +0 -32
- package/dist/layers/base/SVGLayer.d.ts +0 -13
- package/dist/layers/base/index.d.ts +0 -5
- package/dist/layers/index.d.ts +0 -16
- package/dist/layers/schematicInterfaces.d.ts +0 -208
- package/dist/utils/arc-length.d.ts +0 -23
- package/dist/utils/binary-search.d.ts +0 -8
- package/dist/utils/color.d.ts +0 -5
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/root-finder.d.ts +0 -34
- package/dist/utils/text.d.ts +0 -14
- package/dist/utils/vectorUtils.d.ts +0 -15
- package/dist/vendor/pixi-dashed-line/index.d.ts +0 -57
- package/src/components/axis.ts +0 -247
- package/src/components/index.ts +0 -1
- package/src/control/ExtendedCurveInterpolator.ts +0 -155
- package/src/control/IntersectionReferenceSystem.ts +0 -391
- package/src/control/LayerManager.ts +0 -294
- package/src/control/MainController.ts +0 -296
- package/src/control/ZoomPanHandler.ts +0 -436
- package/src/control/index.ts +0 -5
- package/src/control/interfaces.ts +0 -42
- package/src/control/overlay.ts +0 -118
- package/src/datautils/colortable.ts +0 -14
- package/src/datautils/findsample.ts +0 -64
- package/src/datautils/index.ts +0 -6
- package/src/datautils/interfaces.ts +0 -68
- package/src/datautils/picks.ts +0 -328
- package/src/datautils/schematicShapeGenerator.ts +0 -1007
- package/src/datautils/seismicimage.ts +0 -180
- package/src/datautils/surfacedata.ts +0 -318
- package/src/datautils/trajectory.ts +0 -206
- package/src/layers/CalloutCanvasLayer.ts +0 -338
- package/src/layers/CustomDisplayObjects/ComplexRope.ts +0 -45
- package/src/layers/CustomDisplayObjects/ComplexRopeGeometry.ts +0 -190
- package/src/layers/CustomDisplayObjects/FixedWidthSimpleRope.ts +0 -41
- package/src/layers/CustomDisplayObjects/FixedWidthSimpleRopeGeometry.ts +0 -149
- package/src/layers/CustomDisplayObjects/UniformTextureStretchRope.ts +0 -39
- package/src/layers/CustomDisplayObjects/UniformTextureStretchRopeGeometry.ts +0 -174
- package/src/layers/GeomodelCanvasLayer.ts +0 -176
- package/src/layers/GeomodelLabelsLayer.ts +0 -619
- package/src/layers/GeomodelLayerV2.ts +0 -110
- package/src/layers/GridLayer.ts +0 -145
- package/src/layers/ImageCanvasLayer.ts +0 -55
- package/src/layers/ReferenceLineLayer.ts +0 -185
- package/src/layers/SchematicLayer.ts +0 -871
- package/src/layers/SeismicCanvasLayer.ts +0 -46
- package/src/layers/WellborePathLayer.ts +0 -129
- package/src/layers/base/CanvasLayer.ts +0 -102
- package/src/layers/base/HTMLLayer.ts +0 -70
- package/src/layers/base/Layer.ts +0 -217
- package/src/layers/base/PixiLayer.ts +0 -190
- package/src/layers/base/SVGLayer.ts +0 -63
- package/src/layers/base/index.ts +0 -5
- package/src/layers/index.ts +0 -16
- package/src/layers/schematicInterfaces.ts +0 -470
- package/src/utils/arc-length.ts +0 -66
- package/src/utils/binary-search.ts +0 -26
- package/src/utils/color.ts +0 -22
- package/src/utils/index.ts +0 -1
- package/src/utils/root-finder.ts +0 -78
- package/src/utils/text.ts +0 -88
- package/src/utils/vectorUtils.ts +0 -67
- package/src/vendor/pixi-dashed-line/index.ts +0 -394
|
@@ -1,296 +0,0 @@
|
|
|
1
|
-
import { IntersectionReferenceSystem } from './IntersectionReferenceSystem';
|
|
2
|
-
import { LayerManager } from './LayerManager';
|
|
3
|
-
import { Layer } from '../layers';
|
|
4
|
-
import { ControllerOptions } from './interfaces';
|
|
5
|
-
import { ZoomPanHandler } from './ZoomPanHandler';
|
|
6
|
-
import { LayerOptions, OnRescaleEvent, ReferenceSystemOptions } from '..';
|
|
7
|
-
import { Axis } from '../components';
|
|
8
|
-
import { overlay, Overlay } from './overlay';
|
|
9
|
-
import { HORIZONTAL_AXIS_MARGIN, VERTICAL_AXIS_MARGIN } from '../constants';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* API for controlling data and layers
|
|
13
|
-
*/
|
|
14
|
-
export class Controller {
|
|
15
|
-
private _referenceSystem: IntersectionReferenceSystem;
|
|
16
|
-
|
|
17
|
-
private layerManager: LayerManager;
|
|
18
|
-
private _overlay: Overlay<Controller>;
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Interface to control layers, reference system, axis and overlay. overlay is created on instantiation, does not currently support opt-out.
|
|
22
|
-
* @param options
|
|
23
|
-
* @param options.container (required) Currently only supports HTMLElement
|
|
24
|
-
* @param options.scaleOptions (optional) currently supports formats listed in examples below
|
|
25
|
-
* @example scaleOptions = { xMin: 0, xMax: 100, yMin: 0, yMax: 100 }
|
|
26
|
-
* @example scaleOptions = { xBounds: [0 , 100], yBounds: [0, 100] }
|
|
27
|
-
* @param options.axisOptions (optional) creates axis with supplied labels, currently only supports creating axis on instantiation
|
|
28
|
-
* @param options.layers (optional) list of layers
|
|
29
|
-
* @param options.path (optional) creates a reference system based on an array of 3d coordinates
|
|
30
|
-
* @param options.referenceSystem (optional) sets reference system, takes priority over path if both are supplied
|
|
31
|
-
*/
|
|
32
|
-
constructor(options: ControllerOptions) {
|
|
33
|
-
const { container, axisOptions, scaleOptions, referenceSystem, layers, path } = options;
|
|
34
|
-
|
|
35
|
-
this._referenceSystem = referenceSystem || (path && new IntersectionReferenceSystem(path));
|
|
36
|
-
|
|
37
|
-
this._overlay = overlay(this, container);
|
|
38
|
-
|
|
39
|
-
this.layerManager = new LayerManager(this._overlay.elm.node() as HTMLElement, scaleOptions, axisOptions);
|
|
40
|
-
if (layers) {
|
|
41
|
-
this.layerManager.addLayers(layers);
|
|
42
|
-
this.setOverlayZIndex(layers);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Sets reference system, overrides any existing reference systems in place
|
|
48
|
-
* @param referenceSystem IntersectionReferenceSystem
|
|
49
|
-
*/
|
|
50
|
-
setReferenceSystem(referenceSystem: IntersectionReferenceSystem): Controller {
|
|
51
|
-
this._referenceSystem = referenceSystem;
|
|
52
|
-
this.layerManager.setReferenceSystem(referenceSystem);
|
|
53
|
-
return this;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Creates new reference system based on path, overrides any existing reference systems in place
|
|
58
|
-
* @param path array of coords
|
|
59
|
-
* @param options optional
|
|
60
|
-
* @param options.trajectoryAngle (optional) angle in degrees
|
|
61
|
-
*/
|
|
62
|
-
updatePath(path: number[][], options?: ReferenceSystemOptions): Controller {
|
|
63
|
-
this.setReferenceSystem(new IntersectionReferenceSystem(path, options));
|
|
64
|
-
|
|
65
|
-
return this;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Clears data from all mounted layers
|
|
70
|
-
* @param includeReferenceSystem - (optional) if true also removes reference system, default is true
|
|
71
|
-
*/
|
|
72
|
-
clearAllData(includeReferenceSystem: boolean = true): Controller {
|
|
73
|
-
this.layerManager.clearAllData(includeReferenceSystem);
|
|
74
|
-
return this;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Adds layer to list, and initializes it
|
|
79
|
-
* @param layer layer object
|
|
80
|
-
* @param params (optional) adds additional parameters to the onUpdateEvent
|
|
81
|
-
*/
|
|
82
|
-
addLayer(layer: Layer<unknown>, params?: LayerOptions<unknown>): Controller {
|
|
83
|
-
this.layerManager.addLayer(layer, params);
|
|
84
|
-
this.setOverlayZIndex(this.layerManager.getLayers());
|
|
85
|
-
return this;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Remove and unmount layer from list
|
|
90
|
-
* @param layerId string id
|
|
91
|
-
*/
|
|
92
|
-
removeLayer(layerId: string): Controller {
|
|
93
|
-
this.layerManager.removeLayer(layerId);
|
|
94
|
-
return this;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Remove and unmount all layers from list
|
|
99
|
-
*/
|
|
100
|
-
removeAllLayers(): Controller {
|
|
101
|
-
this.layerManager.removeAllLayers();
|
|
102
|
-
return this;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Find first layer with given id, returns undefined if none are found
|
|
107
|
-
* @param layerId string id
|
|
108
|
-
*/
|
|
109
|
-
getLayer(layerId: string): Layer<unknown> {
|
|
110
|
-
return this.layerManager.getLayer(layerId);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Sets visibility to true and rescales the layer
|
|
115
|
-
* @param layerId string id
|
|
116
|
-
*/
|
|
117
|
-
showLayer(layerId: string): Controller {
|
|
118
|
-
this.layerManager.showLayer(layerId);
|
|
119
|
-
return this;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Sets visibility to false
|
|
124
|
-
* @param layerId string id
|
|
125
|
-
*/
|
|
126
|
-
hideLayer(layerId: string): Controller {
|
|
127
|
-
this.layerManager.hideLayer(layerId);
|
|
128
|
-
return this;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Adjust layers, axis, overlay, and zoom according to inputted dimensions
|
|
133
|
-
* @param width (required)
|
|
134
|
-
* @param height (required)
|
|
135
|
-
*/
|
|
136
|
-
adjustToSize(width: number, height: number): Controller {
|
|
137
|
-
this.layerManager.adjustToSize(width, height);
|
|
138
|
-
|
|
139
|
-
const dimensions = { width: Math.max(width - HORIZONTAL_AXIS_MARGIN, 0), height: Math.max(height - VERTICAL_AXIS_MARGIN, 0) };
|
|
140
|
-
this.overlay.elm.dispatch('resize', { detail: dimensions, bubbles: true, cancelable: true });
|
|
141
|
-
|
|
142
|
-
return this;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Set new viewport
|
|
147
|
-
* @param cx - center X pos
|
|
148
|
-
* @param cy - center Y pos
|
|
149
|
-
* @param displ - displacement
|
|
150
|
-
* @param duration - duration of transition
|
|
151
|
-
*/
|
|
152
|
-
setViewport(cx?: number, cy?: number, displacement?: number, duration?: number): Controller {
|
|
153
|
-
this.zoomPanHandler.setViewport(cx, cy, displacement, duration);
|
|
154
|
-
return this;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Sets bounds for zoom and pan handler
|
|
159
|
-
* @param xBounds - domain in x-direction
|
|
160
|
-
* @param yBounds - domain in y-direction
|
|
161
|
-
*/
|
|
162
|
-
setBounds(xBounds: [number, number], yBounds: [number, number]): Controller {
|
|
163
|
-
this.zoomPanHandler.setBounds(xBounds, yBounds);
|
|
164
|
-
return this;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Display both axes
|
|
169
|
-
*/
|
|
170
|
-
showAxis(): Controller {
|
|
171
|
-
this.layerManager.showAxis();
|
|
172
|
-
return this;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* Hide both axes
|
|
177
|
-
*/
|
|
178
|
-
hideAxis(): Controller {
|
|
179
|
-
this.layerManager.hideAxis();
|
|
180
|
-
return this;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Shows labels in x and y
|
|
185
|
-
*/
|
|
186
|
-
showAxisLabels(): Controller {
|
|
187
|
-
this.layerManager.showAxisLabels();
|
|
188
|
-
return this;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
* Hide labels in x and y
|
|
193
|
-
*/
|
|
194
|
-
hideAxisLabels(): Controller {
|
|
195
|
-
this.layerManager.hideAxisLabels();
|
|
196
|
-
return this;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* Sets domain offset, offset is subtracted from domain
|
|
201
|
-
* @param x
|
|
202
|
-
* @param y
|
|
203
|
-
*/
|
|
204
|
-
setAxisOffset(x: number, y: number): Controller {
|
|
205
|
-
this.layerManager.setAxisOffset(x, y);
|
|
206
|
-
return this;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* Sets domain offset in x-direction, offset is subtracted from domain
|
|
211
|
-
* @param x
|
|
212
|
-
*/
|
|
213
|
-
setXAxisOffset(x: number): Controller {
|
|
214
|
-
this.layerManager.setXAxisOffset(x);
|
|
215
|
-
return this;
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
/**
|
|
219
|
-
* Sets domain offset in y-direction, offset is subtracted from domain
|
|
220
|
-
* @param y
|
|
221
|
-
*/
|
|
222
|
-
setYAxisOffset(y: number): Controller {
|
|
223
|
-
this.layerManager.setYAxisOffset(y);
|
|
224
|
-
return this;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
/**
|
|
228
|
-
* Defines min and max of how much one can zoom
|
|
229
|
-
* @param zoomlevels
|
|
230
|
-
*/
|
|
231
|
-
setZoomLevelBoundary(zoomlevels: [number, number]): Controller {
|
|
232
|
-
this.zoomPanHandler.setZoomLevelBoundary(zoomlevels);
|
|
233
|
-
return this;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
/**
|
|
237
|
-
* Defines how far in one can zoom
|
|
238
|
-
* @param zoomlevel
|
|
239
|
-
*/
|
|
240
|
-
setMaxZoomLevel(zoomlevel: number): Controller {
|
|
241
|
-
this.zoomPanHandler.setMaxZoomLevel(zoomlevel);
|
|
242
|
-
return this;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* Defines how far out one can zoom
|
|
247
|
-
* @param zoomlevel
|
|
248
|
-
*/
|
|
249
|
-
setMinZoomLevel(zoomlevel: number): Controller {
|
|
250
|
-
this.zoomPanHandler.setMinZoomLevel(zoomlevel);
|
|
251
|
-
return this;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
/**
|
|
255
|
-
* Destroy Controller
|
|
256
|
-
* Convenience method for removing from DOM and clearing references
|
|
257
|
-
*/
|
|
258
|
-
destroy(): Controller {
|
|
259
|
-
this.layerManager.destroy();
|
|
260
|
-
this._overlay.destroy();
|
|
261
|
-
this._referenceSystem = undefined;
|
|
262
|
-
this.layerManager = undefined;
|
|
263
|
-
this._overlay = undefined;
|
|
264
|
-
return this;
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
private getHighestZIndex(layers: Layer<unknown>[]): number {
|
|
268
|
-
const highestZIndex = layers.length > 0 ? layers.reduce((max, layers) => (max.order > layers.order ? max : layers)).order : 1;
|
|
269
|
-
return highestZIndex;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
private setOverlayZIndex(layers: Layer<unknown>[]): void {
|
|
273
|
-
const highestZIndex = this.getHighestZIndex(layers);
|
|
274
|
-
this.overlay.setZIndex(highestZIndex + 2);
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
get overlay(): Overlay<Controller> {
|
|
278
|
-
return this._overlay;
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
get referenceSystem(): IntersectionReferenceSystem {
|
|
282
|
-
return this._referenceSystem;
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
get zoomPanHandler(): ZoomPanHandler {
|
|
286
|
-
return this.layerManager.zoomPanHandler;
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
get axis(): Axis {
|
|
290
|
-
return this.layerManager.axis;
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
get currentStateAsEvent(): OnRescaleEvent {
|
|
294
|
-
return this.zoomPanHandler.currentStateAsEvent();
|
|
295
|
-
}
|
|
296
|
-
}
|