@equinor/esv-intersection 3.0.3 → 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.
Files changed (109) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.mjs +1 -2
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/index.umd.js +1 -1
  6. package/dist/index.umd.js.map +1 -1
  7. package/package.json +11 -11
  8. package/dist/components/axis.d.ts +0 -47
  9. package/dist/components/index.d.ts +0 -1
  10. package/dist/control/ExtendedCurveInterpolator.d.ts +0 -58
  11. package/dist/control/IntersectionReferenceSystem.d.ts +0 -96
  12. package/dist/control/LayerManager.d.ts +0 -76
  13. package/dist/control/MainController.d.ts +0 -154
  14. package/dist/control/ZoomPanHandler.d.ts +0 -158
  15. package/dist/control/index.d.ts +0 -5
  16. package/dist/control/interfaces.d.ts +0 -37
  17. package/dist/control/overlay.d.ts +0 -20
  18. package/dist/datautils/colortable.d.ts +0 -1
  19. package/dist/datautils/findsample.d.ts +0 -2
  20. package/dist/datautils/index.d.ts +0 -6
  21. package/dist/datautils/interfaces.d.ts +0 -63
  22. package/dist/datautils/picks.d.ts +0 -74
  23. package/dist/datautils/schematicShapeGenerator.d.ts +0 -59
  24. package/dist/datautils/seismicimage.d.ts +0 -45
  25. package/dist/datautils/surfacedata.d.ts +0 -10
  26. package/dist/datautils/trajectory.d.ts +0 -14
  27. package/dist/layers/CalloutCanvasLayer.d.ts +0 -60
  28. package/dist/layers/CustomDisplayObjects/ComplexRope.d.ts +0 -22
  29. package/dist/layers/CustomDisplayObjects/ComplexRopeGeometry.d.ts +0 -27
  30. package/dist/layers/CustomDisplayObjects/FixedWidthSimpleRope.d.ts +0 -20
  31. package/dist/layers/CustomDisplayObjects/FixedWidthSimpleRopeGeometry.d.ts +0 -26
  32. package/dist/layers/CustomDisplayObjects/UniformTextureStretchRope.d.ts +0 -17
  33. package/dist/layers/CustomDisplayObjects/UniformTextureStretchRopeGeometry.d.ts +0 -24
  34. package/dist/layers/GeomodelCanvasLayer.d.ts +0 -28
  35. package/dist/layers/GeomodelLabelsLayer.d.ts +0 -49
  36. package/dist/layers/GeomodelLayerV2.d.ts +0 -12
  37. package/dist/layers/GridLayer.d.ts +0 -29
  38. package/dist/layers/ImageCanvasLayer.d.ts +0 -20
  39. package/dist/layers/ReferenceLineLayer.d.ts +0 -29
  40. package/dist/layers/SchematicLayer.d.ts +0 -113
  41. package/dist/layers/SeismicCanvasLayer.d.ts +0 -18
  42. package/dist/layers/WellborePathLayer.d.ts +0 -17
  43. package/dist/layers/base/CanvasLayer.d.ts +0 -19
  44. package/dist/layers/base/HTMLLayer.d.ts +0 -13
  45. package/dist/layers/base/Layer.d.ts +0 -69
  46. package/dist/layers/base/PixiLayer.d.ts +0 -32
  47. package/dist/layers/base/SVGLayer.d.ts +0 -13
  48. package/dist/layers/base/index.d.ts +0 -5
  49. package/dist/layers/index.d.ts +0 -16
  50. package/dist/layers/schematicInterfaces.d.ts +0 -209
  51. package/dist/utils/arc-length.d.ts +0 -23
  52. package/dist/utils/binary-search.d.ts +0 -8
  53. package/dist/utils/color.d.ts +0 -5
  54. package/dist/utils/index.d.ts +0 -1
  55. package/dist/utils/root-finder.d.ts +0 -34
  56. package/dist/utils/text.d.ts +0 -14
  57. package/dist/utils/vectorUtils.d.ts +0 -15
  58. package/dist/vendor/pixi-dashed-line/index.d.ts +0 -57
  59. package/src/components/axis.ts +0 -247
  60. package/src/components/index.ts +0 -1
  61. package/src/control/ExtendedCurveInterpolator.ts +0 -155
  62. package/src/control/IntersectionReferenceSystem.ts +0 -391
  63. package/src/control/LayerManager.ts +0 -294
  64. package/src/control/MainController.ts +0 -296
  65. package/src/control/ZoomPanHandler.ts +0 -436
  66. package/src/control/index.ts +0 -5
  67. package/src/control/interfaces.ts +0 -42
  68. package/src/control/overlay.ts +0 -118
  69. package/src/datautils/colortable.ts +0 -14
  70. package/src/datautils/findsample.ts +0 -64
  71. package/src/datautils/index.ts +0 -6
  72. package/src/datautils/interfaces.ts +0 -68
  73. package/src/datautils/picks.ts +0 -328
  74. package/src/datautils/schematicShapeGenerator.ts +0 -1008
  75. package/src/datautils/seismicimage.ts +0 -180
  76. package/src/datautils/surfacedata.ts +0 -318
  77. package/src/datautils/trajectory.ts +0 -206
  78. package/src/layers/CalloutCanvasLayer.ts +0 -338
  79. package/src/layers/CustomDisplayObjects/ComplexRope.ts +0 -45
  80. package/src/layers/CustomDisplayObjects/ComplexRopeGeometry.ts +0 -190
  81. package/src/layers/CustomDisplayObjects/FixedWidthSimpleRope.ts +0 -41
  82. package/src/layers/CustomDisplayObjects/FixedWidthSimpleRopeGeometry.ts +0 -149
  83. package/src/layers/CustomDisplayObjects/UniformTextureStretchRope.ts +0 -39
  84. package/src/layers/CustomDisplayObjects/UniformTextureStretchRopeGeometry.ts +0 -174
  85. package/src/layers/GeomodelCanvasLayer.ts +0 -176
  86. package/src/layers/GeomodelLabelsLayer.ts +0 -619
  87. package/src/layers/GeomodelLayerV2.ts +0 -110
  88. package/src/layers/GridLayer.ts +0 -145
  89. package/src/layers/ImageCanvasLayer.ts +0 -55
  90. package/src/layers/ReferenceLineLayer.ts +0 -185
  91. package/src/layers/SchematicLayer.ts +0 -872
  92. package/src/layers/SeismicCanvasLayer.ts +0 -46
  93. package/src/layers/WellborePathLayer.ts +0 -129
  94. package/src/layers/base/CanvasLayer.ts +0 -102
  95. package/src/layers/base/HTMLLayer.ts +0 -70
  96. package/src/layers/base/Layer.ts +0 -217
  97. package/src/layers/base/PixiLayer.ts +0 -190
  98. package/src/layers/base/SVGLayer.ts +0 -63
  99. package/src/layers/base/index.ts +0 -5
  100. package/src/layers/index.ts +0 -16
  101. package/src/layers/schematicInterfaces.ts +0 -472
  102. package/src/utils/arc-length.ts +0 -66
  103. package/src/utils/binary-search.ts +0 -26
  104. package/src/utils/color.ts +0 -22
  105. package/src/utils/index.ts +0 -1
  106. package/src/utils/root-finder.ts +0 -78
  107. package/src/utils/text.ts +0 -88
  108. package/src/utils/vectorUtils.ts +0 -67
  109. package/src/vendor/pixi-dashed-line/index.ts +0 -394
@@ -1,29 +0,0 @@
1
- import { CanvasLayer, LayerOptions } from './base';
2
- import { OnUpdateEvent, OnRescaleEvent, OnMountEvent } from '../interfaces';
3
- import { ScaleLinear } from 'd3-scale';
4
- export type ReferenceLineType = 'wavy' | 'dashed' | 'solid';
5
- export type ReferenceLine = {
6
- text?: string;
7
- lineType: ReferenceLineType;
8
- color: string;
9
- depth: number;
10
- lineWidth?: number;
11
- textColor?: string;
12
- fontSize?: string;
13
- };
14
- export interface ReferenceLineLayerOptions extends LayerOptions<ReferenceLine[]> {
15
- }
16
- export declare class ReferenceLineLayer extends CanvasLayer<ReferenceLine[]> {
17
- yScale: ScaleLinear<number, number, never> | null;
18
- xScale: ScaleLinear<number, number, never> | null;
19
- onMount(event: OnMountEvent): void;
20
- onUpdate(event: OnUpdateEvent<ReferenceLine[]>): void;
21
- onRescale(event: OnRescaleEvent): void;
22
- private drawDashed;
23
- private drawSolid;
24
- private drawWavy;
25
- private drawText;
26
- private setCtxLineStyle;
27
- private setCtxLineWidth;
28
- private render;
29
- }
@@ -1,113 +0,0 @@
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 {};
@@ -1,18 +0,0 @@
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
- }
@@ -1,17 +0,0 @@
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;
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
- }
@@ -1,19 +0,0 @@
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;
5
- elm: HTMLElement;
6
- canvas: HTMLCanvasElement;
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
- }
@@ -1,13 +0,0 @@
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<HTMLElement, unknown, null, 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
- }
@@ -1,69 +0,0 @@
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;
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;
40
- set referenceSystem(referenceSystem: IntersectionReferenceSystem);
41
- get data(): T;
42
- set data(data: T);
43
- get isVisible(): boolean;
44
- getData(): T;
45
- setData(data: T): 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
- }
@@ -1,32 +0,0 @@
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;
6
- renderer: IRenderer<HTMLCanvasElement>;
7
- constructor(pixiRenderOptions?: IRendererOptionsAuto);
8
- destroy(): void;
9
- get view(): HTMLCanvasElement;
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;
32
- }
@@ -1,13 +0,0 @@
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<SVGElement, unknown, null, 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
- }
@@ -1,5 +0,0 @@
1
- export * from './CanvasLayer';
2
- export * from './HTMLLayer';
3
- export * from './Layer';
4
- export * from './PixiLayer';
5
- export * from './SVGLayer';
@@ -1,16 +0,0 @@
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';
@@ -1,209 +0,0 @@
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 {};
@@ -1,23 +0,0 @@
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 {};
@@ -1,8 +0,0 @@
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
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * Convert color string to number
3
- */
4
- export declare function convertColor(colorStr: string): number;
5
- export declare function colorToCSSColor(color: number | string): string;
@@ -1 +0,0 @@
1
- export * from './text';
@@ -1,34 +0,0 @@
1
- type fx = (n: number) => number;
2
- export declare class RootFinder {
3
- /**
4
- * Find root using newthons method
5
- * @param {Number} func f(x)
6
- * @param {Number} precision Accuracy of result
7
- * @param {Number} maxIterations Max number of iterations to use
8
- * @param {Number} start Starting position
9
- * @param {Number} minLimit Min limit of result
10
- * @param {Number} maxLimit Max limit of result
11
- */
12
- static newton(func: fx, precision?: number, maxIterations?: number, start?: number, minLimit?: number, maxLimit?: number): number;
13
- /**
14
- * Find root using bisect method
15
- * @param {Number} func f(x)
16
- * @param {Number} precision Accuracy of result
17
- * @param {Number} maxIterations Max number of iterations to use
18
- * @param {Number} start Starting position
19
- * @param {Number} minLimit Min limit of result
20
- * @param {Number} maxLimit Max limit of result
21
- */
22
- static bisect(func: fx, precision?: number, maxIterations?: number, start?: number, minLimit?: number, maxLimit?: number): number;
23
- /**
24
- * Find root by trying available methods
25
- * @param {Number} func f(x)
26
- * @param {Number} precision Accuracy of result
27
- * @param {Number} maxIterations Max number of iterations to use
28
- * @param {Number} start Starting position
29
- * @param {Number} minLimit Min limit of result
30
- * @param {Number} maxLimit Max limit of result
31
- */
32
- static findRoot(func: fx, precision?: number, maxIterations?: number, start?: number, minLimit?: number, maxLimit?: number): number;
33
- }
34
- export {};
@@ -1,14 +0,0 @@
1
- import { BoundingBox } from '../interfaces';
2
- import { ScaleLinear } from 'd3-scale';
3
- export declare function pixelsPerUnit(x: ScaleLinear<number, number>): number;
4
- export declare function calcSize(factor: number, min: number, max: number, x: ScaleLinear<number, number>): number;
5
- export declare function isOverlappingHorizontally(r1: BoundingBox, r2: BoundingBox): boolean;
6
- export declare function isOverlapping(r1: BoundingBox, r2: BoundingBox, horizontalPadding?: number, verticalPadding?: number): boolean;
7
- export declare function getOverlap(r1: BoundingBox, r2: BoundingBox): {
8
- dx: number;
9
- dy: number;
10
- };
11
- export declare function getOverlapOffset(r1: BoundingBox, r2: BoundingBox, horizontalPadding?: number, verticalPadding?: number): {
12
- dx: number;
13
- dy: number;
14
- };
@@ -1,15 +0,0 @@
1
- import { IPoint, Point } from 'pixi.js';
2
- import Vector2 from '@equinor/videx-vector2';
3
- export declare const pointToVector: (p: IPoint) => Vector2;
4
- export declare const pointToArray: (p: IPoint) => [number, number];
5
- export declare const vectorToPoint: (v: Vector2) => Point;
6
- export declare const vectorToArray: (v: Vector2) => [number, number];
7
- export declare const arrayToPoint: (a: number[]) => Point;
8
- export declare const arrayToVector: (a: number[]) => Vector2;
9
- export declare const calcDist: (prev: [number, number], point: [number, number]) => number;
10
- export declare const calcDistPoint: (prev: Point, point: Point) => number;
11
- export declare const calcNormal: (p1: Point, p2: Point) => Point;
12
- export declare const convertToUnitVector: (p: Point) => Point;
13
- export declare const createNormals: (points: IPoint[]) => Vector2[];
14
- export declare const offsetPoint: (point: IPoint, vector: Vector2, offset: number) => Point;
15
- export declare const offsetPoints: (points: IPoint[], vectors: Vector2[], offset: number) => Point[];