@equinor/esv-intersection 3.1.3 → 3.1.5
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 +47 -0
- package/dist/components/axis.d.ts.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/constants.d.ts +12 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/control/ExtendedCurveInterpolator.d.ts +59 -0
- package/dist/control/ExtendedCurveInterpolator.d.ts.map +1 -0
- package/dist/control/IntersectionReferenceSystem.d.ts +93 -0
- package/dist/control/IntersectionReferenceSystem.d.ts.map +1 -0
- package/dist/control/LayerManager.d.ts +77 -0
- package/dist/control/LayerManager.d.ts.map +1 -0
- package/dist/control/MainController.d.ts +155 -0
- package/dist/control/MainController.d.ts.map +1 -0
- package/dist/control/ZoomPanHandler.d.ts +160 -0
- package/dist/control/ZoomPanHandler.d.ts.map +1 -0
- package/dist/control/index.d.ts +6 -0
- package/dist/control/index.d.ts.map +1 -0
- package/dist/control/interfaces.d.ts +37 -0
- package/dist/control/interfaces.d.ts.map +1 -0
- package/dist/control/overlay.d.ts +21 -0
- package/dist/control/overlay.d.ts.map +1 -0
- package/dist/datautils/colortable.d.ts +2 -0
- package/dist/datautils/colortable.d.ts.map +1 -0
- package/dist/datautils/findsample.d.ts +3 -0
- package/dist/datautils/findsample.d.ts.map +1 -0
- package/dist/datautils/index.d.ts +7 -0
- package/dist/datautils/index.d.ts.map +1 -0
- package/dist/datautils/interfaces.d.ts +64 -0
- package/dist/datautils/interfaces.d.ts.map +1 -0
- package/dist/datautils/picks.d.ts +75 -0
- package/dist/datautils/picks.d.ts.map +1 -0
- package/dist/datautils/schematicShapeGenerator.d.ts +60 -0
- package/dist/datautils/schematicShapeGenerator.d.ts.map +1 -0
- package/dist/datautils/seismicimage.d.ts +46 -0
- package/dist/datautils/seismicimage.d.ts.map +1 -0
- package/dist/datautils/surfacedata.d.ts +11 -0
- package/dist/datautils/surfacedata.d.ts.map +1 -0
- package/dist/datautils/trajectory.d.ts +15 -0
- package/dist/datautils/trajectory.d.ts.map +1 -0
- package/dist/index.cjs +15 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +8200 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.umd.js +15 -0
- package/dist/index.umd.js.map +1 -0
- package/dist/interfaces.d.ts +86 -0
- package/dist/interfaces.d.ts.map +1 -0
- package/dist/layers/CalloutCanvasLayer.d.ts +72 -0
- package/dist/layers/CalloutCanvasLayer.d.ts.map +1 -0
- package/dist/layers/CustomDisplayObjects/ComplexRope.d.ts +22 -0
- package/dist/layers/CustomDisplayObjects/ComplexRope.d.ts.map +1 -0
- package/dist/layers/CustomDisplayObjects/ComplexRopeGeometry.d.ts +24 -0
- package/dist/layers/CustomDisplayObjects/ComplexRopeGeometry.d.ts.map +1 -0
- package/dist/layers/CustomDisplayObjects/FixedWidthSimpleRope.d.ts +21 -0
- package/dist/layers/CustomDisplayObjects/FixedWidthSimpleRope.d.ts.map +1 -0
- package/dist/layers/CustomDisplayObjects/FixedWidthSimpleRopeGeometry.d.ts +27 -0
- package/dist/layers/CustomDisplayObjects/FixedWidthSimpleRopeGeometry.d.ts.map +1 -0
- package/dist/layers/CustomDisplayObjects/UniformTextureStretchRope.d.ts +18 -0
- package/dist/layers/CustomDisplayObjects/UniformTextureStretchRope.d.ts.map +1 -0
- package/dist/layers/CustomDisplayObjects/UniformTextureStretchRopeGeometry.d.ts +24 -0
- package/dist/layers/CustomDisplayObjects/UniformTextureStretchRopeGeometry.d.ts.map +1 -0
- package/dist/layers/GeomodelCanvasLayer.d.ts +29 -0
- package/dist/layers/GeomodelCanvasLayer.d.ts.map +1 -0
- package/dist/layers/GeomodelLabelsLayer.d.ts +50 -0
- package/dist/layers/GeomodelLabelsLayer.d.ts.map +1 -0
- package/dist/layers/GeomodelLayerV2.d.ts +13 -0
- package/dist/layers/GeomodelLayerV2.d.ts.map +1 -0
- package/dist/layers/GridLayer.d.ts +30 -0
- package/dist/layers/GridLayer.d.ts.map +1 -0
- package/dist/layers/ImageCanvasLayer.d.ts +21 -0
- package/dist/layers/ImageCanvasLayer.d.ts.map +1 -0
- package/dist/layers/ReferenceLineLayer.d.ts +29 -0
- package/dist/layers/ReferenceLineLayer.d.ts.map +1 -0
- package/dist/layers/SchematicLayer.d.ts +114 -0
- package/dist/layers/SchematicLayer.d.ts.map +1 -0
- package/dist/layers/SeismicCanvasLayer.d.ts +19 -0
- package/dist/layers/SeismicCanvasLayer.d.ts.map +1 -0
- package/dist/layers/WellborePathLayer.d.ts +18 -0
- package/dist/layers/WellborePathLayer.d.ts.map +1 -0
- package/dist/layers/base/CanvasLayer.d.ts +20 -0
- package/dist/layers/base/CanvasLayer.d.ts.map +1 -0
- package/dist/layers/base/HTMLLayer.d.ts +14 -0
- package/dist/layers/base/HTMLLayer.d.ts.map +1 -0
- package/dist/layers/base/Layer.d.ts +70 -0
- package/dist/layers/base/Layer.d.ts.map +1 -0
- package/dist/layers/base/PixiLayer.d.ts +33 -0
- package/dist/layers/base/PixiLayer.d.ts.map +1 -0
- package/dist/layers/base/SVGLayer.d.ts +14 -0
- package/dist/layers/base/SVGLayer.d.ts.map +1 -0
- package/dist/layers/base/index.d.ts +6 -0
- package/dist/layers/base/index.d.ts.map +1 -0
- package/dist/layers/index.d.ts +17 -0
- package/dist/layers/index.d.ts.map +1 -0
- package/dist/layers/schematicInterfaces.d.ts +210 -0
- package/dist/layers/schematicInterfaces.d.ts.map +1 -0
- package/dist/utils/arc-length.d.ts +24 -0
- package/dist/utils/arc-length.d.ts.map +1 -0
- package/dist/utils/binary-search.d.ts +9 -0
- package/dist/utils/binary-search.d.ts.map +1 -0
- package/dist/utils/color.d.ts +6 -0
- package/dist/utils/color.d.ts.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/root-finder.d.ts +35 -0
- package/dist/utils/root-finder.d.ts.map +1 -0
- package/dist/utils/text.d.ts +15 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/vectorUtils.d.ts +16 -0
- package/dist/utils/vectorUtils.d.ts.map +1 -0
- package/dist/vendor/pixi-dashed-line/index.d.ts +57 -0
- package/dist/vendor/pixi-dashed-line/index.d.ts.map +1 -0
- package/package.json +23 -25
- package/src/datautils/schematicShapeGenerator.ts +6 -6
- package/src/datautils/surfacedata.ts +0 -1
- package/src/layers/CustomDisplayObjects/ComplexRopeGeometry.ts +5 -2
- package/src/layers/CustomDisplayObjects/FixedWidthSimpleRopeGeometry.ts +5 -2
- package/src/layers/CustomDisplayObjects/UniformTextureStretchRopeGeometry.ts +5 -2
- package/src/layers/SchematicLayer.ts +0 -1
- package/src/tsconfig.tsbuildinfo +1 -1
- package/src/vendor/pixi-dashed-line/index.ts +3 -2
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { ScaleLinear } from 'd3-scale';
|
|
2
|
+
import { IPoint, Point, Texture } from 'pixi.js';
|
|
3
|
+
import { LayerOptions, PixiLayer, PixiRenderApplication } from '.';
|
|
4
|
+
import { CasingOptions, CementOptions, CementPlugOptions, CementSqueezeOptions, HoleOptions, SchematicData, ScreenOptions, TubingOptions, InternalLayerOptions, PerforationOptions, OutlineClosure } from './schematicInterfaces';
|
|
5
|
+
import { OnUpdateEvent, OnRescaleEvent, OnUnmountEvent } from '../interfaces';
|
|
6
|
+
interface ScalingFactors {
|
|
7
|
+
height: number;
|
|
8
|
+
zFactor: number;
|
|
9
|
+
yScale: ScaleLinear<number, number, never>;
|
|
10
|
+
}
|
|
11
|
+
export interface SchematicLayerOptions<T extends SchematicData> extends LayerOptions<T> {
|
|
12
|
+
exaggerationFactor?: number;
|
|
13
|
+
internalLayerOptions?: InternalLayerOptions;
|
|
14
|
+
holeOptions?: HoleOptions;
|
|
15
|
+
casingOptions?: CasingOptions;
|
|
16
|
+
cementOptions?: CementOptions;
|
|
17
|
+
cementSqueezeOptions?: CementSqueezeOptions;
|
|
18
|
+
screenOptions?: ScreenOptions;
|
|
19
|
+
tubingOptions?: TubingOptions;
|
|
20
|
+
cementPlugOptions?: CementPlugOptions;
|
|
21
|
+
perforationOptions?: PerforationOptions;
|
|
22
|
+
}
|
|
23
|
+
export declare class SchematicLayer<T extends SchematicData> extends PixiLayer<T> {
|
|
24
|
+
private internalLayerVisibility;
|
|
25
|
+
private cementTextureCache;
|
|
26
|
+
private cementSqueezeTextureCache;
|
|
27
|
+
private cementPlugTextureCache;
|
|
28
|
+
private holeTextureCache;
|
|
29
|
+
private screenTextureCache;
|
|
30
|
+
private tubingTextureCache;
|
|
31
|
+
private textureSymbolCacheArray;
|
|
32
|
+
protected scalingFactors: ScalingFactors;
|
|
33
|
+
constructor(ctx: PixiRenderApplication, id?: string, options?: SchematicLayerOptions<T>);
|
|
34
|
+
onUnmount(event?: OnUnmountEvent): void;
|
|
35
|
+
onUpdate(event: OnUpdateEvent<T>): void;
|
|
36
|
+
onRescale(event: OnRescaleEvent): void;
|
|
37
|
+
setVisibility(isVisible: boolean, layerId: string): void;
|
|
38
|
+
getInternalLayerIds(): string[];
|
|
39
|
+
/**
|
|
40
|
+
* Calculate yRatio without zFactor
|
|
41
|
+
* TODO consider to move this into ZoomPanHandler
|
|
42
|
+
*/
|
|
43
|
+
protected yRatio(): number;
|
|
44
|
+
protected getZFactorScaledPathForPoints: (start: number, end: number) => Point[];
|
|
45
|
+
protected drawBigPolygon: (coords: IPoint[], color?: number) => void;
|
|
46
|
+
protected drawRope(path: Point[], texture: Texture, tint?: number): void;
|
|
47
|
+
/**
|
|
48
|
+
*
|
|
49
|
+
* @param leftPath Points for line on left side
|
|
50
|
+
* @param rightPath Points for line on right side
|
|
51
|
+
* @param lineColor Color of line
|
|
52
|
+
* @param lineWidth Width of line
|
|
53
|
+
* @param outlineClosure If line should be drawn at top and/or bottom of the paths
|
|
54
|
+
* @param lineAlignment alignment of the line to draw, (0 = inner, 0.5 = middle, 1 = outer).
|
|
55
|
+
*/
|
|
56
|
+
protected drawOutline(leftPath: Point[], rightPath: Point[], lineColor: number, lineWidth?: number, outlineClosure?: OutlineClosure, lineAlignment?: number): void;
|
|
57
|
+
/**
|
|
58
|
+
* Uses a dashed outline on one side to represent casing window
|
|
59
|
+
* The casing window should be visualized at the upper side of the wellbore path
|
|
60
|
+
* @param leftPath Points for line on left side
|
|
61
|
+
* @param pointPath Points for line on right side
|
|
62
|
+
* @param lineColor Color of line
|
|
63
|
+
* @param lineWidth Width of line
|
|
64
|
+
* @param lineAlignment alignment of the line to draw, (0 = inner, 0.5 = middle, 1 = outer).
|
|
65
|
+
*/
|
|
66
|
+
protected drawCasingWindowOutline(leftPath: Point[], rightPath: Point[], { lineColor, windowOptions }: CasingOptions, lineWidth?: number): void;
|
|
67
|
+
private perforationRopeAndTextureReferences;
|
|
68
|
+
preRender(): void;
|
|
69
|
+
private updateSymbolCache;
|
|
70
|
+
private drawCementPlug;
|
|
71
|
+
private createCasingRenderObject;
|
|
72
|
+
private getCementPlugTexture;
|
|
73
|
+
private prepareSymbolRenderObject;
|
|
74
|
+
private drawSymbolComponent;
|
|
75
|
+
private drawSVGRope;
|
|
76
|
+
private getSymbolTexture;
|
|
77
|
+
private drawHoleSize;
|
|
78
|
+
private drawHoleRope;
|
|
79
|
+
private getHoleTexture;
|
|
80
|
+
/**
|
|
81
|
+
* The rendering order of these components needs to be aligned
|
|
82
|
+
* @param casingRenderObjects
|
|
83
|
+
* @param cementRenderObject
|
|
84
|
+
* @param cementSqueezes
|
|
85
|
+
* @returns ordered rendering list
|
|
86
|
+
*/
|
|
87
|
+
private sortCementAndCasingRenderObjects;
|
|
88
|
+
/**
|
|
89
|
+
*
|
|
90
|
+
* @param intervals
|
|
91
|
+
* @param texture
|
|
92
|
+
* optionally fetch the exaggerationFactor from a different options prop
|
|
93
|
+
* options.perforationOptions for example
|
|
94
|
+
* @param getExaggerationFactor
|
|
95
|
+
* @returns
|
|
96
|
+
*/
|
|
97
|
+
private drawComplexRope;
|
|
98
|
+
private static getOutlineClosureType;
|
|
99
|
+
private drawCasing;
|
|
100
|
+
private createCasingTexture;
|
|
101
|
+
private drawShoe;
|
|
102
|
+
private generateShoe;
|
|
103
|
+
private createCementSqueezeShape;
|
|
104
|
+
private getCementTexture;
|
|
105
|
+
private createPerforationShape;
|
|
106
|
+
private getCementSqueezeTexture;
|
|
107
|
+
private drawScreen;
|
|
108
|
+
private drawTubing;
|
|
109
|
+
private getTubingTexture;
|
|
110
|
+
private getScreenTexture;
|
|
111
|
+
private drawCompletionRope;
|
|
112
|
+
}
|
|
113
|
+
export {};
|
|
114
|
+
//# sourceMappingURL=SchematicLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchematicLayer.d.ts","sourceRoot":"","sources":["../../src/layers/SchematicLayer.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAqB,MAAM,EAAE,KAAK,EAAyB,OAAO,EAAE,MAAM,SAAS,CAAC;AAE3F,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,GAAG,CAAC;AAEnE,OAAO,EAGL,aAAa,EAEb,aAAa,EACb,iBAAiB,EAEjB,oBAAoB,EAEpB,WAAW,EAIX,aAAa,EACb,aAAa,EACb,aAAa,EAQb,oBAAoB,EAUpB,kBAAkB,EAGlB,cAAc,EAIf,MAAM,uBAAuB,CAAC;AAoB/B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAO9E,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;CAC5C;AAuCD,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IACrF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAiBD,qBAAa,cAAc,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,uBAAuB,CAO7B;IAEF,OAAO,CAAC,kBAAkB,CAAwB;IAClD,OAAO,CAAC,yBAAyB,CAAwB;IACzD,OAAO,CAAC,sBAAsB,CAAwB;IACtD,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,kBAAkB,CAAwB;IAClD,OAAO,CAAC,kBAAkB,CAAwB;IAClD,OAAO,CAAC,uBAAuB,CAA2C;IAE1E,SAAS,CAAC,cAAc,EAAE,cAAc,CAItC;gBAEU,GAAG,EAAE,qBAAqB,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC;IASvE,SAAS,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI;IAUvC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAOvC,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAkBtC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAmBjD,mBAAmB,IAAI,MAAM,EAAE;IAK/C;;;OAGG;IACH,SAAS,CAAC,MAAM,IAAI,MAAM;IAQ1B,SAAS,CAAC,6BAA6B,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,KAAG,KAAK,EAAE,CAK7E;IAEF,SAAS,CAAC,cAAc,GAAI,QAAQ,MAAM,EAAE,EAAE,cAAgB,UAO5D;IAEF,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAUxE;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,CACnB,QAAQ,EAAE,KAAK,EAAE,EACjB,SAAS,EAAE,KAAK,EAAE,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,SAAI,EACb,cAAc,GAAE,cAAuB,EACvC,aAAa,SAAI,GAChB,IAAI;IAwBP;;;;;;;;OAQG;IACH,SAAS,CAAC,uBAAuB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,SAAS,SAAI,GAAG,IAAI;IA6B1I,OAAO,CAAC,mCAAmC,CAAiD;IAErF,SAAS,IAAI,IAAI;IA2KxB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,yBAAyB,CAY/B;IAEF,OAAO,CAAC,mBAAmB,CAIzB;IAEF,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,YAAY,CAkBlB;IAEF,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;IAmBtB;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAoCxC;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAYlC;IAEF,OAAO,CAAC,UAAU,CAiBhB;IAEF,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,YAAY,CAclB;IAEF,OAAO,CAAC,wBAAwB,CAQ9B;IAEF,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,sBAAsB,CAG5B;IAEF,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;CAQ3B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CanvasLayer } from './base/CanvasLayer';
|
|
2
|
+
import { OnUpdateEvent, OnMountEvent, OnRescaleEvent } from '../interfaces';
|
|
3
|
+
export type SeismicCanvasDataOptions = {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
};
|
|
9
|
+
export type SeismicCanvasData = {
|
|
10
|
+
image: CanvasImageSource | OffscreenCanvas;
|
|
11
|
+
options: SeismicCanvasDataOptions;
|
|
12
|
+
};
|
|
13
|
+
export declare class SeismicCanvasLayer extends CanvasLayer<SeismicCanvasData> {
|
|
14
|
+
onMount(event: OnMountEvent): void;
|
|
15
|
+
onUpdate(event: OnUpdateEvent<SeismicCanvasData>): void;
|
|
16
|
+
onRescale(event: OnRescaleEvent): void;
|
|
17
|
+
render(): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=SeismicCanvasLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SeismicCanvasLayer.d.ts","sourceRoot":"","sources":["../../src/layers/SeismicCanvasLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,MAAM,wBAAwB,GAAG;IACrC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,iBAAiB,GAAG,eAAe,CAAC;IAC3C,OAAO,EAAE,wBAAwB,CAAC;CACnC,CAAC;AAEF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,iBAAiB,CAAC;IAC3D,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAIlC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAQvD,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAM/C,MAAM,IAAI,IAAI;CAWf"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SVGLayer } from './base/SVGLayer';
|
|
2
|
+
import { OnUpdateEvent, OnRescaleEvent } from '../interfaces';
|
|
3
|
+
import { LayerOptions } from '..';
|
|
4
|
+
export interface WellborepathLayerOptions<T extends [number, number][]> extends LayerOptions<T> {
|
|
5
|
+
stroke: string;
|
|
6
|
+
strokeWidth: string;
|
|
7
|
+
curveType?: string;
|
|
8
|
+
tension?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class WellborepathLayer<T extends [number, number][]> extends SVGLayer<T> {
|
|
11
|
+
rescaleEvent: OnRescaleEvent | undefined;
|
|
12
|
+
constructor(id?: string, options?: WellborepathLayerOptions<T>);
|
|
13
|
+
onUpdate(event: OnUpdateEvent<T>): void;
|
|
14
|
+
onRescale(event: OnRescaleEvent): void;
|
|
15
|
+
render(): void;
|
|
16
|
+
private renderWellborePath;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=WellborePathLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WellborePathLayer.d.ts","sourceRoot":"","sources":["../../src/layers/WellborePathLayer.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAMlC,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC7F,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IAC9E,YAAY,EAAE,cAAc,GAAG,SAAS,CAAC;gBAE7B,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC;IASrD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAKvC,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAS/C,MAAM,IAAI,IAAI;IAuBd,OAAO,CAAC,kBAAkB;CAmD3B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Layer } from './Layer';
|
|
2
|
+
import { OnMountEvent, OnUpdateEvent, OnResizeEvent, OnRescaleEvent } from '../../interfaces';
|
|
3
|
+
export declare abstract class CanvasLayer<T> extends Layer<T> {
|
|
4
|
+
ctx: CanvasRenderingContext2D | undefined;
|
|
5
|
+
elm: HTMLElement | undefined;
|
|
6
|
+
canvas: HTMLCanvasElement | undefined;
|
|
7
|
+
onOpacityChanged(_opacity: number): void;
|
|
8
|
+
onOrderChanged(_order: number): void;
|
|
9
|
+
onInteractivityChanged(_interactive: boolean): void;
|
|
10
|
+
setVisibility(visible: boolean): void;
|
|
11
|
+
updateStyle(visible?: boolean): void;
|
|
12
|
+
onMount(event: OnMountEvent): void;
|
|
13
|
+
onUnmount(): void;
|
|
14
|
+
onResize(event: OnResizeEvent): void;
|
|
15
|
+
onUpdate(event: OnUpdateEvent<T>): void;
|
|
16
|
+
resetTransform(): void;
|
|
17
|
+
setTransform(event: OnRescaleEvent): void;
|
|
18
|
+
clearCanvas(): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=CanvasLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CanvasLayer.d.ts","sourceRoot":"","sources":["../../../src/layers/base/CanvasLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG9F,8BAAsB,WAAW,CAAC,CAAC,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;IACnD,GAAG,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC1C,GAAG,EAAE,WAAW,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAEtC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMxC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMpC,sBAAsB,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;IAM1C,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAO9C,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAU3B,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAoBlC,SAAS,IAAI,IAAI;IAMjB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAQpC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAIhD,cAAc,IAAI,IAAI;IAItB,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAQzC,WAAW,IAAI,IAAI;CAOpB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Selection } from 'd3-selection';
|
|
2
|
+
import { Layer } from './Layer';
|
|
3
|
+
import { OnMountEvent, OnResizeEvent } from '../../interfaces';
|
|
4
|
+
export declare abstract class HTMLLayer<T> extends Layer<T> {
|
|
5
|
+
elm: Selection<HTMLDivElement, unknown, null, undefined> | undefined;
|
|
6
|
+
onMount(event: OnMountEvent): void;
|
|
7
|
+
onUnmount(): void;
|
|
8
|
+
onResize(event: OnResizeEvent): void;
|
|
9
|
+
setVisibility(visible: boolean): void;
|
|
10
|
+
onOpacityChanged(opacity: number): void;
|
|
11
|
+
onOrderChanged(order: number): void;
|
|
12
|
+
onInteractivityChanged(shouldBeInteractive: boolean): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=HTMLLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HTMLLayer.d.ts","sourceRoot":"","sources":["../../../src/layers/base/HTMLLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,SAAS,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG/D,8BAAsB,SAAS,CAAC,CAAC,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;IACjD,GAAG,EAAE,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;IAE5D,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAsBlC,SAAS,IAAI,IAAI;IAMjB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAQpC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAO9C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMvC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMnC,sBAAsB,CAAC,mBAAmB,EAAE,OAAO,GAAG,IAAI;CAM3D"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { OnMountEvent, OnUnmountEvent, OnUpdateEvent, OnRescaleEvent, OnResizeEvent } from '../../interfaces';
|
|
2
|
+
import { IntersectionReferenceSystem } from '../../control';
|
|
3
|
+
export interface LayerOptions<T> {
|
|
4
|
+
order?: number;
|
|
5
|
+
layerOpacity?: number;
|
|
6
|
+
referenceSystem?: IntersectionReferenceSystem;
|
|
7
|
+
data?: T;
|
|
8
|
+
interactive?: boolean;
|
|
9
|
+
onMount?(event: OnMountEvent, layer: Layer<T>): void;
|
|
10
|
+
onUnmount?(event: OnUnmountEvent, layer: Layer<T>): void;
|
|
11
|
+
onUpdate?(event: OnUpdateEvent<T>, layer: Layer<T>): void;
|
|
12
|
+
onRescale?(event: OnRescaleEvent, layer: Layer<T>): void;
|
|
13
|
+
onResize?(event: OnResizeEvent, layer: Layer<T>): void;
|
|
14
|
+
}
|
|
15
|
+
export declare abstract class Layer<T> {
|
|
16
|
+
private _id;
|
|
17
|
+
private _order;
|
|
18
|
+
protected _options: LayerOptions<T>;
|
|
19
|
+
private loading;
|
|
20
|
+
private _element;
|
|
21
|
+
private _opacity;
|
|
22
|
+
private _referenceSystem;
|
|
23
|
+
private _data;
|
|
24
|
+
private _visible;
|
|
25
|
+
private _interactive;
|
|
26
|
+
constructor(id?: string, options?: LayerOptions<T>);
|
|
27
|
+
get id(): string;
|
|
28
|
+
get element(): HTMLElement | undefined;
|
|
29
|
+
get options(): LayerOptions<T>;
|
|
30
|
+
set options(options: LayerOptions<T>);
|
|
31
|
+
set isLoading(loading: boolean);
|
|
32
|
+
get isLoading(): boolean;
|
|
33
|
+
set opacity(opacity: number);
|
|
34
|
+
get opacity(): number;
|
|
35
|
+
set order(order: number);
|
|
36
|
+
get order(): number;
|
|
37
|
+
set interactive(shouldBeInteractive: boolean);
|
|
38
|
+
get interactive(): boolean;
|
|
39
|
+
get referenceSystem(): IntersectionReferenceSystem | undefined;
|
|
40
|
+
set referenceSystem(referenceSystem: IntersectionReferenceSystem | undefined);
|
|
41
|
+
get data(): T | undefined;
|
|
42
|
+
set data(data: T | undefined);
|
|
43
|
+
get isVisible(): boolean;
|
|
44
|
+
getData(): T | undefined;
|
|
45
|
+
setData(data: T | undefined): void;
|
|
46
|
+
/**
|
|
47
|
+
* Clears data and (optionally) the reference system
|
|
48
|
+
* @param includeReferenceSystem - (optional) if true also removes reference system, default is true
|
|
49
|
+
*/
|
|
50
|
+
clearData(includeReferenceSystem?: boolean): void;
|
|
51
|
+
setVisibility(visible: boolean, _layerId?: string): void;
|
|
52
|
+
onMount(event: OnMountEvent): void;
|
|
53
|
+
onUnmount(event?: OnUnmountEvent): void;
|
|
54
|
+
onResize(event: OnResizeEvent): void;
|
|
55
|
+
onUpdate(event: OnUpdateEvent<T>): void;
|
|
56
|
+
onRescale(event: OnRescaleEvent): void;
|
|
57
|
+
optionsRescale(event: OnRescaleEvent): void;
|
|
58
|
+
abstract onOpacityChanged(opacity: number): void;
|
|
59
|
+
abstract onOrderChanged(order: number): void;
|
|
60
|
+
abstract onInteractivityChanged(interactive: boolean): void;
|
|
61
|
+
/**
|
|
62
|
+
*
|
|
63
|
+
* Some layers might be built up of several internal layers that should individually be visibility-togglable.
|
|
64
|
+
* Reasons for having multiple internal layers might be tightly related data between layers or need for sharing render context
|
|
65
|
+
*
|
|
66
|
+
* @returns list of internal layer ids
|
|
67
|
+
*/
|
|
68
|
+
getInternalLayerIds(): string[];
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=Layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Layer.d.ts","sourceRoot":"","sources":["../../../src/layers/base/Layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAQ5D,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,2BAA2B,CAAC;IAC9C,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,OAAO,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACrD,SAAS,CAAC,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC1D,SAAS,CAAC,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACxD;AAED,8BAAsB,KAAK,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,YAAY,CAAS;gBAEjB,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IA4BlD,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,OAAO,IAAI,WAAW,GAAG,SAAS,CAErC;IAED,IAAI,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAE7B;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAEnC;IAED,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,EAE7B;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,EAG1B;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAGtB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,WAAW,CAAC,mBAAmB,EAAE,OAAO,EAG3C;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,eAAe,IAAI,2BAA2B,GAAG,SAAS,CAE7D;IAED,IAAI,eAAe,CAAC,eAAe,EAAE,2BAA2B,GAAG,SAAS,EAE3E;IAED,IAAI,IAAI,IAAI,CAAC,GAAG,SAAS,CAExB;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,EAE3B;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,OAAO,IAAI,CAAC,GAAG,SAAS;IAIxB,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI;IAQlC;;;OAGG;IACH,SAAS,CAAC,sBAAsB,UAAO,GAAG,IAAI;IAQ9C,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAIxD,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAOlC,SAAS,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI;IAMvC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAMpC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IASvC,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAItC,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAM3C,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAEhD,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAE5C,QAAQ,CAAC,sBAAsB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAE3D;;;;;;OAMG;IACH,mBAAmB,IAAI,MAAM,EAAE;CAGhC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { IRenderer, Application, Container, DisplayObject, IRendererOptionsAuto, RENDERER_TYPE } from 'pixi.js';
|
|
2
|
+
import { Layer, LayerOptions } from './Layer';
|
|
3
|
+
import { OnMountEvent, OnRescaleEvent, OnResizeEvent, OnUnmountEvent } from '../../interfaces';
|
|
4
|
+
export declare class PixiRenderApplication {
|
|
5
|
+
stage: Container | undefined;
|
|
6
|
+
renderer: IRenderer<HTMLCanvasElement> | undefined;
|
|
7
|
+
constructor(pixiRenderOptions?: IRendererOptionsAuto);
|
|
8
|
+
destroy(): void;
|
|
9
|
+
get view(): HTMLCanvasElement | undefined;
|
|
10
|
+
render(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare abstract class PixiLayer<T> extends Layer<T> {
|
|
13
|
+
private pixiViewContainer;
|
|
14
|
+
private ctx;
|
|
15
|
+
private container;
|
|
16
|
+
constructor(ctx: Application<HTMLCanvasElement> | PixiRenderApplication, id?: string, options?: LayerOptions<T>);
|
|
17
|
+
render(): void;
|
|
18
|
+
addChild(child: DisplayObject): void;
|
|
19
|
+
clearLayer(): void;
|
|
20
|
+
onMount(event: OnMountEvent): void;
|
|
21
|
+
onUnmount(event?: OnUnmountEvent): void;
|
|
22
|
+
onResize(event: OnResizeEvent): void;
|
|
23
|
+
onRescale(event: OnRescaleEvent): void;
|
|
24
|
+
protected setContainerPosition(x?: number, y?: number): void;
|
|
25
|
+
protected setContainerScale(x?: number, y?: number): void;
|
|
26
|
+
updateStyle(visible?: boolean): void;
|
|
27
|
+
setVisibility(visible: boolean, layerId?: string): void;
|
|
28
|
+
onOpacityChanged(_opacity: number): void;
|
|
29
|
+
onOrderChanged(_order: number): void;
|
|
30
|
+
onInteractivityChanged(_interactive: boolean): void;
|
|
31
|
+
renderType(): RENDERER_TYPE | undefined;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=PixiLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PixiLayer.d.ts","sourceRoot":"","sources":["../../../src/layers/base/PixiLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAsB,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAY,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9I,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQ/F,qBAAa,qBAAqB;IAChC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAE7B,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;gBAEvC,iBAAiB,CAAC,EAAE,oBAAoB;IAepD,OAAO;IA0BP,IAAI,IAAI,kCAEP;IAED,MAAM;CAKP;AAED,8BAAsB,SAAS,CAAC,CAAC,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,GAAG,CAAwB;IACnC,OAAO,CAAC,SAAS,CAAY;gBAEjB,GAAG,EAAE,WAAW,CAAC,iBAAiB,CAAC,GAAG,qBAAqB,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IAS/G,MAAM,IAAI,IAAI;IAId,QAAQ,CAAC,KAAK,EAAE,aAAa;IAI7B,UAAU;IAOD,OAAO,CAAC,KAAK,EAAE,YAAY;IAoB3B,SAAS,CAAC,KAAK,CAAC,EAAE,cAAc;IAUhC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKpC,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAS/C,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM;IAIrD,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM;IAIlD,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAiB3B,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAOhE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMxC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMpC,sBAAsB,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;IAMnD,UAAU,IAAI,aAAa,GAAG,SAAS;CAGxC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Selection } from 'd3-selection';
|
|
2
|
+
import { Layer } from './Layer';
|
|
3
|
+
import { OnMountEvent, OnResizeEvent } from '../../interfaces';
|
|
4
|
+
export declare abstract class SVGLayer<T> extends Layer<T> {
|
|
5
|
+
elm: Selection<SVGSVGElement, unknown, null, undefined> | undefined;
|
|
6
|
+
onMount(event: OnMountEvent): void;
|
|
7
|
+
onUnmount(): void;
|
|
8
|
+
onResize(event: OnResizeEvent): void;
|
|
9
|
+
setVisibility(visible: boolean): void;
|
|
10
|
+
onOpacityChanged(opacity: number): void;
|
|
11
|
+
onOrderChanged(order: number): void;
|
|
12
|
+
onInteractivityChanged(shouldBeInteractive: boolean): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=SVGLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SVGLayer.d.ts","sourceRoot":"","sources":["../../../src/layers/base/SVGLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,SAAS,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG/D,8BAAsB,QAAQ,CAAC,CAAC,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;IAChD,GAAG,EAAE,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;IAE3D,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAelC,SAAS,IAAI,IAAI;IAMjB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAQpC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAO9C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMvC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMnC,sBAAsB,CAAC,mBAAmB,EAAE,OAAO,GAAG,IAAI;CAM3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layers/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from './base/CanvasLayer';
|
|
2
|
+
export * from './base/Layer';
|
|
3
|
+
export * from './base/HTMLLayer';
|
|
4
|
+
export * from './base/SVGLayer';
|
|
5
|
+
export * from './base/PixiLayer';
|
|
6
|
+
export * from './schematicInterfaces';
|
|
7
|
+
export * from './CalloutCanvasLayer';
|
|
8
|
+
export * from './GeomodelCanvasLayer';
|
|
9
|
+
export * from './GeomodelLabelsLayer';
|
|
10
|
+
export * from './GeomodelLayerV2';
|
|
11
|
+
export * from './GridLayer';
|
|
12
|
+
export * from './ImageCanvasLayer';
|
|
13
|
+
export * from './SchematicLayer';
|
|
14
|
+
export * from './SeismicCanvasLayer';
|
|
15
|
+
export * from './WellborePathLayer';
|
|
16
|
+
export * from './ReferenceLineLayer';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layers/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
export declare function assertNever(x: never): never;
|
|
2
|
+
/**
|
|
3
|
+
* The closure type of the outline
|
|
4
|
+
*/
|
|
5
|
+
export type OutlineClosure = 'None' | 'TopAndBottom' | 'Top' | 'Bottom';
|
|
6
|
+
export interface HoleSize {
|
|
7
|
+
kind: 'hole';
|
|
8
|
+
id: string;
|
|
9
|
+
diameter: number;
|
|
10
|
+
start: number;
|
|
11
|
+
end: number;
|
|
12
|
+
}
|
|
13
|
+
export interface CasingWindow {
|
|
14
|
+
id: string;
|
|
15
|
+
start: number;
|
|
16
|
+
end: number;
|
|
17
|
+
}
|
|
18
|
+
export interface Casing {
|
|
19
|
+
kind: 'casing';
|
|
20
|
+
id: string;
|
|
21
|
+
diameter: number;
|
|
22
|
+
start: number;
|
|
23
|
+
end: number;
|
|
24
|
+
hasShoe: boolean;
|
|
25
|
+
innerDiameter: number;
|
|
26
|
+
windows?: CasingWindow[];
|
|
27
|
+
}
|
|
28
|
+
interface SymbolComponent {
|
|
29
|
+
id: string;
|
|
30
|
+
diameter: number;
|
|
31
|
+
start: number;
|
|
32
|
+
end: number;
|
|
33
|
+
symbolKey: string;
|
|
34
|
+
}
|
|
35
|
+
export interface PAndASymbol extends SymbolComponent {
|
|
36
|
+
kind: 'pAndASymbol';
|
|
37
|
+
}
|
|
38
|
+
export declare const isPAndASymbol: (item: PAndA) => item is PAndASymbol;
|
|
39
|
+
export interface CementSqueeze {
|
|
40
|
+
kind: 'cementSqueeze';
|
|
41
|
+
id: string;
|
|
42
|
+
start: number;
|
|
43
|
+
end: number;
|
|
44
|
+
/**
|
|
45
|
+
* Referenced Casing and Completion ids
|
|
46
|
+
*/
|
|
47
|
+
referenceIds: string[];
|
|
48
|
+
}
|
|
49
|
+
export declare const isCementSqueeze: (item: PAndA) => item is CementSqueeze;
|
|
50
|
+
export interface CementPlug {
|
|
51
|
+
kind: 'cementPlug';
|
|
52
|
+
id: string;
|
|
53
|
+
start: number;
|
|
54
|
+
end: number;
|
|
55
|
+
/**
|
|
56
|
+
* Referenced Casing, Completion ids
|
|
57
|
+
*/
|
|
58
|
+
referenceIds: string[];
|
|
59
|
+
}
|
|
60
|
+
export declare const isCementPlug: (item: PAndA) => item is CementSqueeze;
|
|
61
|
+
export type PAndA = PAndASymbol | CementSqueeze | CementPlug;
|
|
62
|
+
interface BaseCompletion {
|
|
63
|
+
id: string;
|
|
64
|
+
diameter: number;
|
|
65
|
+
start: number;
|
|
66
|
+
end: number;
|
|
67
|
+
}
|
|
68
|
+
export interface Screen extends BaseCompletion {
|
|
69
|
+
kind: 'screen';
|
|
70
|
+
}
|
|
71
|
+
export interface Tubing extends BaseCompletion {
|
|
72
|
+
kind: 'tubing';
|
|
73
|
+
}
|
|
74
|
+
export interface CompletionSymbol extends BaseCompletion {
|
|
75
|
+
kind: 'completionSymbol';
|
|
76
|
+
symbolKey: string;
|
|
77
|
+
}
|
|
78
|
+
export type Completion = Tubing | Screen | CompletionSymbol;
|
|
79
|
+
export declare const foldCompletion: <T>(fScreen: (obj: Screen) => T, fTubing: (obj: Tubing) => T, fSymbol: (obj: CompletionSymbol) => T) => (completion: Completion) => T;
|
|
80
|
+
export interface Cement {
|
|
81
|
+
kind: 'cement';
|
|
82
|
+
id: string;
|
|
83
|
+
/**
|
|
84
|
+
* Referenced Casing and Completion ids
|
|
85
|
+
*/
|
|
86
|
+
referenceIds: string[];
|
|
87
|
+
toc: number;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* 'Open hole' and 'Open hole screen' are not included as they are not visualized and also not included in the ruleset
|
|
91
|
+
*/
|
|
92
|
+
export type PerforationSubKind = 'Perforation' | 'Open hole gravel pack' | 'Open hole frac pack' | 'Cased hole frac pack' | 'Cased hole gravel pack' | 'Cased hole fracturation';
|
|
93
|
+
export interface Perforation {
|
|
94
|
+
kind: 'perforation';
|
|
95
|
+
subKind: PerforationSubKind;
|
|
96
|
+
id: string;
|
|
97
|
+
start: number;
|
|
98
|
+
end: number;
|
|
99
|
+
/**
|
|
100
|
+
* is the perforation open or sealed?
|
|
101
|
+
*/
|
|
102
|
+
isOpen: boolean;
|
|
103
|
+
}
|
|
104
|
+
export declare const foldPerforationSubKind: <T>(options: {
|
|
105
|
+
Perforation: (kind: "Perforation") => T;
|
|
106
|
+
OpenHoleGravelPack: (kind: "Open hole gravel pack") => T;
|
|
107
|
+
OpenHoleFracPack: (kind: "Open hole frac pack") => T;
|
|
108
|
+
CasedHoleGravelPack: (kind: "Cased hole gravel pack") => T;
|
|
109
|
+
CasedHoleFracPack: (kind: "Cased hole frac pack") => T;
|
|
110
|
+
CasedHoleFracturation: (kind: "Cased hole fracturation") => T;
|
|
111
|
+
}, subKind: PerforationSubKind) => T;
|
|
112
|
+
export declare const shouldPerforationStartAtHoleDiameter: (perf: Perforation) => boolean;
|
|
113
|
+
export declare const shouldPerforationStartAtCasingDiameter: (perf: Perforation) => boolean;
|
|
114
|
+
export declare const hasPacking: (perf: Perforation) => boolean;
|
|
115
|
+
export declare function hasFracLines(perf: Perforation): boolean;
|
|
116
|
+
export declare function hasSpikes(perf: Perforation): boolean;
|
|
117
|
+
export declare function isSubkindCasedHoleGravelPack(perf: Perforation): boolean;
|
|
118
|
+
export declare function isSubKindPerforation(perf: Perforation): boolean;
|
|
119
|
+
export declare function isSubKindCasedHoleFracPack(perf: Perforation): boolean;
|
|
120
|
+
export declare function isOpenHoleFracPack(perf: Perforation): boolean;
|
|
121
|
+
export declare const isSubKindCasedHoleFracturation: (perf: Perforation) => boolean;
|
|
122
|
+
export declare const intersect: (a: Perforation, b: Perforation) => boolean;
|
|
123
|
+
export interface SchematicData {
|
|
124
|
+
holeSizes: HoleSize[];
|
|
125
|
+
casings: Casing[];
|
|
126
|
+
cements: Cement[];
|
|
127
|
+
completion: Completion[];
|
|
128
|
+
pAndA: PAndA[];
|
|
129
|
+
symbols: {
|
|
130
|
+
[key: string]: string;
|
|
131
|
+
};
|
|
132
|
+
perforations: Perforation[];
|
|
133
|
+
}
|
|
134
|
+
export interface InternalLayerOptions {
|
|
135
|
+
holeLayerId: string;
|
|
136
|
+
casingLayerId: string;
|
|
137
|
+
completionLayerId: string;
|
|
138
|
+
cementLayerId: string;
|
|
139
|
+
pAndALayerId: string;
|
|
140
|
+
perforationLayerId: string;
|
|
141
|
+
}
|
|
142
|
+
export declare const defaultInternalLayerOptions: (layerId: string) => InternalLayerOptions;
|
|
143
|
+
export interface HoleOptions {
|
|
144
|
+
firstColor: string;
|
|
145
|
+
secondColor: string;
|
|
146
|
+
lineColor: string;
|
|
147
|
+
}
|
|
148
|
+
export declare const defaultHoleOptions: HoleOptions;
|
|
149
|
+
export interface CasingShoeSize {
|
|
150
|
+
width: number;
|
|
151
|
+
length: number;
|
|
152
|
+
}
|
|
153
|
+
export interface WindowOptions {
|
|
154
|
+
dashColor: string;
|
|
155
|
+
dashLength: number;
|
|
156
|
+
spaceLength: number;
|
|
157
|
+
}
|
|
158
|
+
export interface CasingOptions {
|
|
159
|
+
solidColor: string;
|
|
160
|
+
lineColor: string;
|
|
161
|
+
shoeSize: CasingShoeSize;
|
|
162
|
+
windowOptions: WindowOptions;
|
|
163
|
+
}
|
|
164
|
+
export declare const defaultCasingOptions: CasingOptions;
|
|
165
|
+
export interface PerforationOptions {
|
|
166
|
+
stroke: string;
|
|
167
|
+
yellow: string;
|
|
168
|
+
grey: string;
|
|
169
|
+
red: string;
|
|
170
|
+
outline: string;
|
|
171
|
+
transparent: string;
|
|
172
|
+
spikeWidth: number;
|
|
173
|
+
spikeLength: number;
|
|
174
|
+
packingOpacity: number;
|
|
175
|
+
fracLineLength: number;
|
|
176
|
+
fracLineCurve: number;
|
|
177
|
+
scalingFactor: number;
|
|
178
|
+
}
|
|
179
|
+
export declare const defaultPerforationOptions: PerforationOptions;
|
|
180
|
+
export interface CementOptions {
|
|
181
|
+
firstColor: string;
|
|
182
|
+
secondColor: string;
|
|
183
|
+
scalingFactor: number;
|
|
184
|
+
}
|
|
185
|
+
export declare const defaultCementOptions: CementOptions;
|
|
186
|
+
export interface CementSqueezeOptions {
|
|
187
|
+
firstColor: string;
|
|
188
|
+
secondColor: string;
|
|
189
|
+
scalingFactor: number;
|
|
190
|
+
}
|
|
191
|
+
export declare const defaultCementSqueezeOptions: CementSqueezeOptions;
|
|
192
|
+
export interface ScreenOptions {
|
|
193
|
+
scalingFactor: number;
|
|
194
|
+
lineColor: string;
|
|
195
|
+
}
|
|
196
|
+
export declare const defaultScreenOptions: ScreenOptions;
|
|
197
|
+
export interface TubingOptions {
|
|
198
|
+
innerColor: string;
|
|
199
|
+
outerColor: string;
|
|
200
|
+
scalingFactor: number;
|
|
201
|
+
}
|
|
202
|
+
export declare const defaultTubingOptions: TubingOptions;
|
|
203
|
+
export interface CementPlugOptions {
|
|
204
|
+
firstColor: string;
|
|
205
|
+
secondColor: string;
|
|
206
|
+
scalingFactor: number;
|
|
207
|
+
}
|
|
208
|
+
export declare const defaultCementPlugOptions: CementPlugOptions;
|
|
209
|
+
export {};
|
|
210
|
+
//# sourceMappingURL=schematicInterfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schematicInterfaces.d.ts","sourceRoot":"","sources":["../../src/layers/schematicInterfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Vector } from 'curve-interpolator/dist/src/core/interfaces';
|
|
2
|
+
type fx = (n: number) => Vector;
|
|
3
|
+
export declare class ArcLength {
|
|
4
|
+
/**
|
|
5
|
+
* Calculate using an adaptive bisect method
|
|
6
|
+
* @param {Number} func Curve function returning [x,y]
|
|
7
|
+
* @param {Number} minLimit Min limit
|
|
8
|
+
* @param {Number} maxLimit Max limit
|
|
9
|
+
* @param {Number} tolerance Result tolerance
|
|
10
|
+
* @param {Number} minDepth Min recursive depth before accepting solution
|
|
11
|
+
* @param {Number} maxDepth Max recursive depth
|
|
12
|
+
*/
|
|
13
|
+
static bisect(func: fx, minLimit?: number, maxLimit?: number, tolerance?: number, minDepth?: number, maxDepth?: number): number;
|
|
14
|
+
/**
|
|
15
|
+
* Calculate using trapezoid method
|
|
16
|
+
* @param {Number} func Curve function returning [x,y]
|
|
17
|
+
* @param {Number} minLimit Min limit
|
|
18
|
+
* @param {Number} maxLimit Max limit
|
|
19
|
+
* @param {Number} segments Number of segments
|
|
20
|
+
*/
|
|
21
|
+
static trapezoid(func: fx, minLimit?: number, maxLimit?: number, segments?: number): number;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=arc-length.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arc-length.d.ts","sourceRoot":"","sources":["../../src/utils/arc-length.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAErE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AAKhC,qBAAa,SAAS;IACpB;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,SAAI,EAAE,QAAQ,SAAI,EAAE,SAAS,SAAQ,EAAE,QAAQ,SAAI,EAAE,QAAQ,SAAK,GAAG,MAAM;IAqB3G;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,SAAI,EAAE,QAAQ,SAAI,EAAE,QAAQ,SAAO,GAAG,MAAM;CAYhF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find index where value[index] =< searchValue and value[index+1] >= searchValue using binary search
|
|
3
|
+
* @param {Number} values Array of sorted values
|
|
4
|
+
* @param {Number} searchValue Value to search for
|
|
5
|
+
*/
|
|
6
|
+
export declare class BinarySearch {
|
|
7
|
+
static search(values: number[], searchValue: number): number;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=binary-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-search.d.ts","sourceRoot":"","sources":["../../src/utils/binary-search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,YAAY;IACvB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;CAmB7D"}
|