@equinor/esv-intersection 3.0.0-beta.6 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +11 -16
  2. package/dist/components/axis.d.ts +47 -47
  3. package/dist/components/index.d.ts +1 -1
  4. package/dist/constants.d.ts +11 -11
  5. package/dist/control/ExtendedCurveInterpolator.d.ts +58 -58
  6. package/dist/control/IntersectionReferenceSystem.d.ts +96 -96
  7. package/dist/control/LayerManager.d.ts +76 -76
  8. package/dist/control/MainController.d.ts +154 -154
  9. package/dist/control/ZoomPanHandler.d.ts +158 -158
  10. package/dist/control/index.d.ts +5 -5
  11. package/dist/control/interfaces.d.ts +37 -37
  12. package/dist/control/overlay.d.ts +20 -20
  13. package/dist/datautils/colortable.d.ts +1 -1
  14. package/dist/datautils/findsample.d.ts +2 -2
  15. package/dist/datautils/index.d.ts +6 -6
  16. package/dist/datautils/interfaces.d.ts +63 -63
  17. package/dist/datautils/picks.d.ts +74 -74
  18. package/dist/datautils/schematicShapeGenerator.d.ts +59 -61
  19. package/dist/datautils/seismicimage.d.ts +45 -45
  20. package/dist/datautils/surfacedata.d.ts +10 -10
  21. package/dist/datautils/trajectory.d.ts +14 -14
  22. package/dist/index.cjs +15 -0
  23. package/dist/index.cjs.map +1 -0
  24. package/dist/index.d.ts +6 -6
  25. package/dist/index.mjs +7944 -0
  26. package/dist/index.mjs.map +1 -0
  27. package/dist/index.umd.js +15 -1
  28. package/dist/index.umd.js.map +1 -0
  29. package/dist/interfaces.d.ts +86 -86
  30. package/dist/layers/CalloutCanvasLayer.d.ts +60 -60
  31. package/dist/layers/CustomDisplayObjects/ComplexRope.d.ts +22 -22
  32. package/dist/layers/CustomDisplayObjects/ComplexRopeGeometry.d.ts +27 -27
  33. package/dist/layers/CustomDisplayObjects/FixedWidthSimpleRope.d.ts +20 -20
  34. package/dist/layers/CustomDisplayObjects/FixedWidthSimpleRopeGeometry.d.ts +26 -26
  35. package/dist/layers/CustomDisplayObjects/UniformTextureStretchRope.d.ts +17 -17
  36. package/dist/layers/CustomDisplayObjects/UniformTextureStretchRopeGeometry.d.ts +24 -24
  37. package/dist/layers/GeomodelCanvasLayer.d.ts +28 -28
  38. package/dist/layers/GeomodelLabelsLayer.d.ts +49 -49
  39. package/dist/layers/GeomodelLayerV2.d.ts +12 -12
  40. package/dist/layers/GridLayer.d.ts +29 -29
  41. package/dist/layers/ImageCanvasLayer.d.ts +20 -20
  42. package/dist/layers/ReferenceLineLayer.d.ts +29 -29
  43. package/dist/layers/SchematicLayer.d.ts +113 -114
  44. package/dist/layers/SeismicCanvasLayer.d.ts +18 -18
  45. package/dist/layers/WellborePathLayer.d.ts +17 -17
  46. package/dist/layers/base/CanvasLayer.d.ts +19 -19
  47. package/dist/layers/base/HTMLLayer.d.ts +13 -13
  48. package/dist/layers/base/Layer.d.ts +69 -69
  49. package/dist/layers/base/PixiLayer.d.ts +32 -32
  50. package/dist/layers/base/SVGLayer.d.ts +13 -13
  51. package/dist/layers/base/index.d.ts +5 -5
  52. package/dist/layers/index.d.ts +16 -16
  53. package/dist/layers/schematicInterfaces.d.ts +208 -208
  54. package/dist/tubing1.svg +3 -0
  55. package/dist/tubing2.svg +6 -0
  56. package/dist/tubing3.svg +12 -0
  57. package/dist/utils/arc-length.d.ts +23 -23
  58. package/dist/utils/binary-search.d.ts +8 -8
  59. package/dist/utils/color.d.ts +5 -5
  60. package/dist/utils/index.d.ts +1 -1
  61. package/dist/utils/root-finder.d.ts +34 -34
  62. package/dist/utils/text.d.ts +14 -14
  63. package/dist/utils/vectorUtils.d.ts +15 -15
  64. package/dist/vendor/pixi-dashed-line/index.d.ts +57 -0
  65. package/package.json +30 -55
  66. package/src/datautils/schematicShapeGenerator.ts +2 -8
  67. package/src/layers/SchematicLayer.ts +12 -37
  68. package/src/layers/base/PixiLayer.ts +4 -4
  69. package/src/vendor/pixi-dashed-line/index.ts +394 -0
  70. package/dist/datautils/camelcase.d.ts +0 -5
  71. package/dist/index.esm.js +0 -1
  72. package/dist/index.js +0 -1
  73. package/src/datautils/camelcase.ts +0 -28
@@ -1,37 +1,37 @@
1
- import { IntersectionReferenceSystem } from './IntersectionReferenceSystem';
2
- import { ScaleOptions } from '../interfaces';
3
- import { Layer } from '../layers';
4
- export interface AxisOptions {
5
- xLabel: string;
6
- yLabel: string;
7
- unitOfMeasure: string;
8
- }
9
- export interface ControllerOptions {
10
- container: HTMLElement;
11
- axisOptions?: AxisOptions;
12
- scaleOptions?: ScaleOptions;
13
- referenceSystem?: IntersectionReferenceSystem;
14
- layers?: Layer<unknown>[];
15
- path?: number[][];
16
- }
17
- interface OverlayEvent<T> {
18
- target?: Element;
19
- source: Element;
20
- caller: T;
21
- }
22
- export interface OverlayResizeEvent<T> extends OverlayEvent<T> {
23
- width: number;
24
- height: number;
25
- }
26
- export interface OverlayMouseMoveEvent<T> extends OverlayEvent<T> {
27
- x: number;
28
- y: number;
29
- }
30
- export interface OverlayMouseExitEvent<T> extends OverlayEvent<T> {
31
- }
32
- export interface OverlayCallbacks<T> {
33
- onMouseMove?(event: OverlayMouseMoveEvent<T>): void;
34
- onMouseExit?(event: OverlayMouseExitEvent<T>): void;
35
- onResize?(event: OverlayResizeEvent<T>): void;
36
- }
37
- export {};
1
+ import { IntersectionReferenceSystem } from './IntersectionReferenceSystem';
2
+ import { ScaleOptions } from '../interfaces';
3
+ import { Layer } from '../layers';
4
+ export interface AxisOptions {
5
+ xLabel: string;
6
+ yLabel: string;
7
+ unitOfMeasure: string;
8
+ }
9
+ export interface ControllerOptions {
10
+ container: HTMLElement;
11
+ axisOptions?: AxisOptions;
12
+ scaleOptions?: ScaleOptions;
13
+ referenceSystem?: IntersectionReferenceSystem;
14
+ layers?: Layer<unknown>[];
15
+ path?: number[][];
16
+ }
17
+ interface OverlayEvent<T> {
18
+ target?: Element;
19
+ source: Element;
20
+ caller: T;
21
+ }
22
+ export interface OverlayResizeEvent<T> extends OverlayEvent<T> {
23
+ width: number;
24
+ height: number;
25
+ }
26
+ export interface OverlayMouseMoveEvent<T> extends OverlayEvent<T> {
27
+ x: number;
28
+ y: number;
29
+ }
30
+ export interface OverlayMouseExitEvent<T> extends OverlayEvent<T> {
31
+ }
32
+ export interface OverlayCallbacks<T> {
33
+ onMouseMove?(event: OverlayMouseMoveEvent<T>): void;
34
+ onMouseExit?(event: OverlayMouseExitEvent<T>): void;
35
+ onResize?(event: OverlayResizeEvent<T>): void;
36
+ }
37
+ export {};
@@ -1,20 +1,20 @@
1
- import { Selection } from 'd3-selection';
2
- import { OverlayCallbacks } from './interfaces';
3
- export declare class Overlay<T> {
4
- elm: Selection<Element, unknown, null, undefined>;
5
- source: Element;
6
- elements: {
7
- [propName: string]: Element;
8
- };
9
- listeners: {
10
- [propName: string]: OverlayCallbacks<T>;
11
- };
12
- enabled: boolean;
13
- constructor(caller: T, container: HTMLElement);
14
- create(key: string, callbacks?: OverlayCallbacks<T>): HTMLElement;
15
- register(key: string, callbacks: OverlayCallbacks<T>): void;
16
- remove(key: string): void;
17
- setZIndex(zIndex: number): void;
18
- destroy(): void;
19
- }
20
- export declare const overlay: <T>(caller: T, container: HTMLElement) => Overlay<T>;
1
+ import { Selection } from 'd3-selection';
2
+ import { OverlayCallbacks } from './interfaces';
3
+ export declare class Overlay<T> {
4
+ elm: Selection<Element, unknown, null, undefined>;
5
+ source: Element;
6
+ elements: {
7
+ [propName: string]: Element;
8
+ };
9
+ listeners: {
10
+ [propName: string]: OverlayCallbacks<T>;
11
+ };
12
+ enabled: boolean;
13
+ constructor(caller: T, container: HTMLElement);
14
+ create(key: string, callbacks?: OverlayCallbacks<T>): HTMLElement;
15
+ register(key: string, callbacks: OverlayCallbacks<T>): void;
16
+ remove(key: string): void;
17
+ setZIndex(zIndex: number): void;
18
+ destroy(): void;
19
+ }
20
+ export declare const overlay: <T>(caller: T, container: HTMLElement) => Overlay<T>;
@@ -1 +1 @@
1
- export declare function createColorTable(colorMap: string[], size: number): number[][];
1
+ export declare function createColorTable(colorMap: string[], size: number): number[][];
@@ -1,2 +1,2 @@
1
- export declare function findIndexOfSample(data: number[][], pos: number): number;
2
- export declare function findSampleAtPos(data: number[][], pos: number, topLimit?: number, bottomLimit?: number): number;
1
+ export declare function findIndexOfSample(data: number[][], pos: number): number;
2
+ export declare function findSampleAtPos(data: number[][], pos: number, topLimit?: number, bottomLimit?: number): number;
@@ -1,6 +1,6 @@
1
- export * from './findsample';
2
- export * from './interfaces';
3
- export * from './picks';
4
- export * from './seismicimage';
5
- export * from './surfacedata';
6
- export * from './trajectory';
1
+ export * from './findsample';
2
+ export * from './interfaces';
3
+ export * from './picks';
4
+ export * from './seismicimage';
5
+ export * from './surfacedata';
6
+ export * from './trajectory';
@@ -1,63 +1,63 @@
1
- /**
2
- * Survey data from SDMA
3
- */
4
- export interface SurveySample {
5
- md: number;
6
- tvd: number;
7
- easting: number;
8
- northing: number;
9
- }
10
- /**
11
- * Strat unit element as retrieved from SDMA
12
- */
13
- export interface StratUnit {
14
- identifier: string;
15
- stratUnitParent: string;
16
- colorR: null | number;
17
- colorG: null | number;
18
- colorB: null | number;
19
- topAge: number;
20
- baseAge: number;
21
- stratUnitLevel: number;
22
- }
23
- /**
24
- * Surfaces meta data as received from surface API with surface values injected
25
- */
26
- export interface SurfaceMetaAndValues {
27
- data: {
28
- values: number[];
29
- };
30
- visualSettings: {
31
- displayName: string;
32
- crossSection: string;
33
- colors: {
34
- crossSection: string;
35
- };
36
- };
37
- }
38
- /**
39
- * Surfaces lines ready for drawing by geomodel layer
40
- */
41
- export interface SurfaceLine {
42
- id?: string;
43
- label: string;
44
- color: number | string;
45
- data: number[][];
46
- }
47
- /**
48
- * Surfaces areas ready for drawing by geomodel layer
49
- */
50
- export interface SurfaceArea {
51
- id?: string;
52
- label: string;
53
- color: number | string;
54
- data: number[][];
55
- exclude?: boolean;
56
- }
57
- /**
58
- * Surfaces lines and areas ready for drawing by geomodel layer
59
- */
60
- export interface SurfaceData {
61
- lines: SurfaceLine[];
62
- areas: SurfaceArea[];
63
- }
1
+ /**
2
+ * Survey data from SDMA
3
+ */
4
+ export interface SurveySample {
5
+ md: number;
6
+ tvd: number;
7
+ easting: number;
8
+ northing: number;
9
+ }
10
+ /**
11
+ * Strat unit element as retrieved from SDMA
12
+ */
13
+ export interface StratUnit {
14
+ identifier: string;
15
+ stratUnitParent: string;
16
+ colorR: null | number;
17
+ colorG: null | number;
18
+ colorB: null | number;
19
+ topAge: number;
20
+ baseAge: number;
21
+ stratUnitLevel: number;
22
+ }
23
+ /**
24
+ * Surfaces meta data as received from surface API with surface values injected
25
+ */
26
+ export interface SurfaceMetaAndValues {
27
+ data: {
28
+ values: number[];
29
+ };
30
+ visualSettings: {
31
+ displayName: string;
32
+ crossSection: string;
33
+ colors: {
34
+ crossSection: string;
35
+ };
36
+ };
37
+ }
38
+ /**
39
+ * Surfaces lines ready for drawing by geomodel layer
40
+ */
41
+ export interface SurfaceLine {
42
+ id?: string;
43
+ label: string;
44
+ color: number | string;
45
+ data: number[][];
46
+ }
47
+ /**
48
+ * Surfaces areas ready for drawing by geomodel layer
49
+ */
50
+ export interface SurfaceArea {
51
+ id?: string;
52
+ label: string;
53
+ color: number | string;
54
+ data: number[][];
55
+ exclude?: boolean;
56
+ }
57
+ /**
58
+ * Surfaces lines and areas ready for drawing by geomodel layer
59
+ */
60
+ export interface SurfaceData {
61
+ lines: SurfaceLine[];
62
+ areas: SurfaceArea[];
63
+ }
@@ -1,74 +1,74 @@
1
- import { Annotation } from '../interfaces';
2
- type Pick = {
3
- pickIdentifier?: string;
4
- confidence: string | null;
5
- depthReferencePoint: string;
6
- md: number;
7
- mdUnit: string;
8
- tvd: number;
9
- };
10
- type PickWithId = {
11
- identifier: string;
12
- } & Pick;
13
- type Unit = {
14
- identifier: string;
15
- top: string;
16
- base: string;
17
- baseAge: number;
18
- topAge: number;
19
- colorR: number;
20
- colorG: number;
21
- colorB: number;
22
- stratUnitLevel: number;
23
- lithologyType: number;
24
- stratUnitParent: number;
25
- };
26
- type UnitDto = {
27
- unitName: string;
28
- topSurface: string;
29
- baseSurface: string;
30
- ageBase: number;
31
- ageTop: number;
32
- color: {
33
- r: number;
34
- g: number;
35
- b: number;
36
- };
37
- level: number;
38
- lithType: number;
39
- parent: number;
40
- };
41
- type PickAndUnit = PickWithId & UnitDto;
42
- type PairedPickAndUnit = {
43
- name: string;
44
- mdEntry: number;
45
- tvdEntry: number;
46
- color: {
47
- r: number;
48
- g: number;
49
- b: number;
50
- };
51
- level: number;
52
- entryPick: PickAndUnit;
53
- mdExit: number;
54
- tvdExit: number;
55
- exitPick: PickAndUnit;
56
- confidenceEntry: string;
57
- confidenceExit: string;
58
- from?: number;
59
- to?: number;
60
- };
61
- export declare const getPicksData: (picksData: {
62
- unitPicks: PairedPickAndUnit[];
63
- nonUnitPicks: PickWithId[];
64
- }) => Annotation[];
65
- /**
66
- * Transform data for formation track
67
- * @param {Pick[]} picks picks
68
- * @param {Unit[]} stratColumn strat column
69
- */
70
- export declare function transformFormationData(picks: Pick[], stratColumn: Unit[]): {
71
- unitPicks: PairedPickAndUnit[];
72
- nonUnitPicks: PickWithId[];
73
- };
74
- export {};
1
+ import { Annotation } from '../interfaces';
2
+ declare type Pick = {
3
+ pickIdentifier?: string;
4
+ confidence: string | null;
5
+ depthReferencePoint: string;
6
+ md: number;
7
+ mdUnit: string;
8
+ tvd: number;
9
+ };
10
+ declare type PickWithId = {
11
+ identifier: string;
12
+ } & Pick;
13
+ declare type Unit = {
14
+ identifier: string;
15
+ top: string;
16
+ base: string;
17
+ baseAge: number;
18
+ topAge: number;
19
+ colorR: number;
20
+ colorG: number;
21
+ colorB: number;
22
+ stratUnitLevel: number;
23
+ lithologyType: number;
24
+ stratUnitParent: number;
25
+ };
26
+ declare type UnitDto = {
27
+ unitName: string;
28
+ topSurface: string;
29
+ baseSurface: string;
30
+ ageBase: number;
31
+ ageTop: number;
32
+ color: {
33
+ r: number;
34
+ g: number;
35
+ b: number;
36
+ };
37
+ level: number;
38
+ lithType: number;
39
+ parent: number;
40
+ };
41
+ declare type PickAndUnit = PickWithId & UnitDto;
42
+ declare type PairedPickAndUnit = {
43
+ name: string;
44
+ mdEntry: number;
45
+ tvdEntry: number;
46
+ color: {
47
+ r: number;
48
+ g: number;
49
+ b: number;
50
+ };
51
+ level: number;
52
+ entryPick: PickAndUnit;
53
+ mdExit: number;
54
+ tvdExit: number;
55
+ exitPick: PickAndUnit;
56
+ confidenceEntry: string;
57
+ confidenceExit: string;
58
+ from?: number;
59
+ to?: number;
60
+ };
61
+ export declare const getPicksData: (picksData: {
62
+ unitPicks: PairedPickAndUnit[];
63
+ nonUnitPicks: PickWithId[];
64
+ }) => Annotation[];
65
+ /**
66
+ * Transform data for formation track
67
+ * @param {Pick[]} picks picks
68
+ * @param {Unit[]} stratColumn strat column
69
+ */
70
+ export declare function transformFormationData(picks: Pick[], stratColumn: Unit[]): {
71
+ unitPicks: PairedPickAndUnit[];
72
+ nonUnitPicks: PickWithId[];
73
+ };
74
+ export {};
@@ -1,61 +1,59 @@
1
- import { IPoint, Point, Texture } from 'pixi.js';
2
- import { Casing, Cement, CementOptions, CementPlug, CementPlugOptions, CementSqueeze, CementSqueezeOptions, Completion, HoleOptions, HoleSize, ScreenOptions, TubingOptions, Perforation, PerforationOptions, PerforationSubKind } from '../layers/schematicInterfaces';
3
- import { ComplexRopeSegment } from '../layers/CustomDisplayObjects/ComplexRope';
4
- export type PerforationShape = ComplexRopeSegment;
5
- export interface TubularRenderingObject {
6
- leftPath: Point[];
7
- rightPath: Point[];
8
- }
9
- export interface CasingRenderObject {
10
- id: string;
11
- kind: 'casing';
12
- referenceDiameter: number;
13
- referenceRadius: number;
14
- casingWallWidth: number;
15
- hasShoe: boolean;
16
- bottom: number;
17
- zIndex?: number;
18
- sections: {
19
- kind: 'casing' | 'casing-window';
20
- leftPath: Point[];
21
- rightPath: Point[];
22
- pathPoints: Point[];
23
- polygon: IPoint[];
24
- }[];
25
- }
26
- export declare const getEndLines: (rightPath: IPoint[], leftPath: IPoint[]) => {
27
- top: IPoint[];
28
- bottom: IPoint[];
29
- };
30
- export declare const makeTubularPolygon: (rightPath: Point[], leftPath: Point[]) => Point[];
31
- export declare const overlaps: (top1: number, bottom1: number, top2: number, bottom2: number) => boolean;
32
- export declare const strictlyOverlaps: (top1: number, bottom1: number, top2: number, bottom2: number) => boolean;
33
- export declare const uniq: <T>(arr: T[]) => T[];
34
- export declare const getUniqueDiameterChangeDepths: ([intervalStart, intervalEnd]: [number, number], diameterIntervals: {
35
- start: number;
36
- end: number;
37
- }[]) => number[];
38
- export declare const findCementOuterDiameterAtDepth: (attachedStrings: (Casing | Completion)[], nonAttachedStrings: (Casing | Completion)[], holes: HoleSize[], depth: number) => number;
39
- export declare const findPerforationOuterDiameterAtDepth: (nonAttachedStrings: (Casing | Completion)[], holes: HoleSize[], depth: number, perforationSubKind: PerforationSubKind) => number;
40
- export declare const findCementPlugInnerDiameterAtDepth: (attachedStrings: (Casing | Completion)[], nonAttachedStrings: (Casing | Completion)[], holes: HoleSize[], depth: number) => number;
41
- export declare const createComplexRopeSegmentsForCement: (cement: Cement, casings: Casing[], completion: Completion[], holes: HoleSize[], exaggerationFactor: number, getPoints: (start: number, end: number) => Point[]) => ComplexRopeSegment[];
42
- export declare const createComplexRopeSegmentsForCementSqueeze: (squeeze: CementSqueeze, casings: Casing[], completion: Completion[], holes: HoleSize[], exaggerationFactor: number, getPoints: (start: number, end: number) => Point[]) => ComplexRopeSegment[];
43
- export declare const createComplexRopeSegmentsForCementPlug: (plug: CementPlug, casings: Casing[], completion: Completion[], holes: HoleSize[], exaggerationFactor: number, getPoints: (start: number, end: number) => Point[]) => ComplexRopeSegment[];
44
- export declare const createHoleBaseTexture: ({ firstColor, secondColor }: HoleOptions, width: number, height: number) => Texture;
45
- export declare const createScreenTexture: ({ scalingFactor }: ScreenOptions) => Texture;
46
- export declare const createTubingTexture: ({ innerColor, outerColor, scalingFactor }: TubingOptions) => Texture;
47
- export declare const createCementTexture: ({ firstColor, secondColor, scalingFactor }: CementOptions) => Texture;
48
- export declare const createCementPlugTexture: ({ firstColor, secondColor, scalingFactor }: CementPlugOptions) => Texture;
49
- export declare const createCementSqueezeTexture: ({ firstColor, secondColor, scalingFactor }: CementSqueezeOptions) => Texture;
50
- export declare const createTubularRenderingObject: (radius: number, pathPoints: IPoint[]) => TubularRenderingObject;
51
- export type CasingInterval = {
52
- kind: 'casing' | 'casing-window';
53
- start: number;
54
- end: number;
55
- };
56
- export declare const getCasingIntervalsWithWindows: (casing: Casing) => CasingInterval[];
57
- export declare const prepareCasingRenderObject: (exaggerationFactor: number, casing: Casing, getPathPoints: (start: number, end: number) => Point[]) => CasingRenderObject;
58
- export declare const createComplexRopeSegmentsForPerforation: (perforation: Perforation, casings: Casing[], holes: HoleSize[], exaggerationFactor: number, getPoints: (start: number, end: number) => Point[]) => ComplexRopeSegment[];
59
- export declare const createPerforationPackingTexture: (perforation: Perforation, perfShape: ComplexRopeSegment, perforationOptions: PerforationOptions) => Texture;
60
- export declare const createPerforationFracLineTexture: (perforation: Perforation, perfShape: ComplexRopeSegment, perforationOptions: PerforationOptions) => Texture;
61
- export declare const createPerforationSpikeTexture: (perforation: Perforation, otherPerforations: Perforation[], perfShape: ComplexRopeSegment, perforationOptions: PerforationOptions) => Texture;
1
+ import { IPoint, Point, Texture } from 'pixi.js';
2
+ import { Casing, Cement, CementOptions, CementPlug, CementPlugOptions, CementSqueeze, CementSqueezeOptions, Completion, HoleOptions, HoleSize, ScreenOptions, TubingOptions, Perforation, PerforationOptions, PerforationSubKind } from '../layers/schematicInterfaces';
3
+ import { ComplexRopeSegment } from '../layers/CustomDisplayObjects/ComplexRope';
4
+ export declare type PerforationShape = ComplexRopeSegment;
5
+ export interface TubularRenderingObject {
6
+ leftPath: Point[];
7
+ rightPath: Point[];
8
+ }
9
+ export interface CasingRenderObject {
10
+ id: string;
11
+ kind: 'casing';
12
+ referenceDiameter: number;
13
+ referenceRadius: number;
14
+ casingWallWidth: number;
15
+ hasShoe: boolean;
16
+ bottom: number;
17
+ zIndex?: number;
18
+ sections: {
19
+ kind: 'casing' | 'casing-window';
20
+ leftPath: Point[];
21
+ rightPath: Point[];
22
+ pathPoints: Point[];
23
+ }[];
24
+ }
25
+ export declare const getEndLines: (rightPath: IPoint[], leftPath: IPoint[]) => {
26
+ top: IPoint[];
27
+ bottom: IPoint[];
28
+ };
29
+ export declare const overlaps: (top1: number, bottom1: number, top2: number, bottom2: number) => boolean;
30
+ export declare const strictlyOverlaps: (top1: number, bottom1: number, top2: number, bottom2: number) => boolean;
31
+ export declare const uniq: <T>(arr: T[]) => T[];
32
+ export declare const getUniqueDiameterChangeDepths: ([intervalStart, intervalEnd]: [number, number], diameterIntervals: {
33
+ start: number;
34
+ end: number;
35
+ }[]) => number[];
36
+ export declare const findCementOuterDiameterAtDepth: (attachedStrings: (Casing | Completion)[], nonAttachedStrings: (Casing | Completion)[], holes: HoleSize[], depth: number) => number;
37
+ export declare const findPerforationOuterDiameterAtDepth: (nonAttachedStrings: (Casing | Completion)[], holes: HoleSize[], depth: number, perforationSubKind: PerforationSubKind) => number;
38
+ export declare const findCementPlugInnerDiameterAtDepth: (attachedStrings: (Casing | Completion)[], nonAttachedStrings: (Casing | Completion)[], holes: HoleSize[], depth: number) => number;
39
+ export declare const createComplexRopeSegmentsForCement: (cement: Cement, casings: Casing[], completion: Completion[], holes: HoleSize[], exaggerationFactor: number, getPoints: (start: number, end: number) => Point[]) => ComplexRopeSegment[];
40
+ export declare const createComplexRopeSegmentsForCementSqueeze: (squeeze: CementSqueeze, casings: Casing[], completion: Completion[], holes: HoleSize[], exaggerationFactor: number, getPoints: (start: number, end: number) => Point[]) => ComplexRopeSegment[];
41
+ export declare const createComplexRopeSegmentsForCementPlug: (plug: CementPlug, casings: Casing[], completion: Completion[], holes: HoleSize[], exaggerationFactor: number, getPoints: (start: number, end: number) => Point[]) => ComplexRopeSegment[];
42
+ export declare const createHoleBaseTexture: ({ firstColor, secondColor }: HoleOptions, width: number, height: number) => Texture;
43
+ export declare const createScreenTexture: ({ scalingFactor }: ScreenOptions) => Texture;
44
+ export declare const createTubingTexture: ({ innerColor, outerColor, scalingFactor }: TubingOptions) => Texture;
45
+ export declare const createCementTexture: ({ firstColor, secondColor, scalingFactor }: CementOptions) => Texture;
46
+ export declare const createCementPlugTexture: ({ firstColor, secondColor, scalingFactor }: CementPlugOptions) => Texture;
47
+ export declare const createCementSqueezeTexture: ({ firstColor, secondColor, scalingFactor }: CementSqueezeOptions) => Texture;
48
+ export declare const createTubularRenderingObject: (radius: number, pathPoints: IPoint[]) => TubularRenderingObject;
49
+ export declare type CasingInterval = {
50
+ kind: 'casing' | 'casing-window';
51
+ start: number;
52
+ end: number;
53
+ };
54
+ export declare const getCasingIntervalsWithWindows: (casing: Casing) => CasingInterval[];
55
+ export declare const prepareCasingRenderObject: (exaggerationFactor: number, casing: Casing, getPathPoints: (start: number, end: number) => Point[]) => CasingRenderObject;
56
+ export declare const createComplexRopeSegmentsForPerforation: (perforation: Perforation, casings: Casing[], holes: HoleSize[], exaggerationFactor: number, getPoints: (start: number, end: number) => Point[]) => ComplexRopeSegment[];
57
+ export declare const createPerforationPackingTexture: (perforation: Perforation, perfShape: ComplexRopeSegment, perforationOptions: PerforationOptions) => Texture;
58
+ export declare const createPerforationFracLineTexture: (perforation: Perforation, perfShape: ComplexRopeSegment, perforationOptions: PerforationOptions) => Texture;
59
+ export declare const createPerforationSpikeTexture: (perforation: Perforation, otherPerforations: Perforation[], perfShape: ComplexRopeSegment, perforationOptions: PerforationOptions) => Texture;
@@ -1,45 +1,45 @@
1
- import { SeismicCanvasDataOptions } from '../layers/SeismicCanvasLayer';
2
- export type SeismicInfo = {
3
- minX: number;
4
- maxX: number;
5
- minTvdMsl: number;
6
- maxTvdMsl: number;
7
- domain: {
8
- min: number;
9
- max: number;
10
- difference: number;
11
- };
12
- };
13
- export declare const getSeismicOptions: (info: SeismicInfo | null) => SeismicCanvasDataOptions;
14
- /**
15
- * Get key information about the seismic data
16
- * Code originally developed for the REP project
17
- * @param data Seismic data
18
- * @param trajectory Wellbore or freehand trajectory
19
- * @return Key domain and depth information for seismic data
20
- */
21
- export declare function getSeismicInfo(data: {
22
- datapoints: number[][];
23
- yAxisValues: number[];
24
- }, trajectory: number[][]): SeismicInfo | null;
25
- /**
26
- * Generate seismic
27
- * Code originally developed for the REP project
28
- * @param data Seismic data
29
- * @param trajectory Wellbore or freehand trajectory
30
- * @param colormap Color map for rendering
31
- * @param options.isLeftToRight (optional) draw left to right
32
- * @param options.seismicRange (optional) Range for mapping seimic values to color map
33
- * @param options.seismicMin (optional) Min seismic value for mapping seimic values to color map
34
- * @param options.seismicMax (optional) Max seismic value for mapping seimic values to color map
35
- * @return Key domain and depth information for seismic data
36
- */
37
- export declare function generateSeismicSliceImage(data: {
38
- datapoints: number[][];
39
- yAxisValues: number[];
40
- }, trajectory: number[][], colormap: string[], options?: {
41
- isLeftToRight: true;
42
- seismicRange?: number;
43
- seismicMin?: number;
44
- seismicMax?: number;
45
- }): Promise<ImageBitmap>;
1
+ import { SeismicCanvasDataOptions } from '../layers/SeismicCanvasLayer';
2
+ export declare type SeismicInfo = {
3
+ minX: number;
4
+ maxX: number;
5
+ minTvdMsl: number;
6
+ maxTvdMsl: number;
7
+ domain: {
8
+ min: number;
9
+ max: number;
10
+ difference: number;
11
+ };
12
+ };
13
+ export declare const getSeismicOptions: (info: SeismicInfo | null) => SeismicCanvasDataOptions;
14
+ /**
15
+ * Get key information about the seismic data
16
+ * Code originally developed for the REP project
17
+ * @param data Seismic data
18
+ * @param trajectory Wellbore or freehand trajectory
19
+ * @return Key domain and depth information for seismic data
20
+ */
21
+ export declare function getSeismicInfo(data: {
22
+ datapoints: number[][];
23
+ yAxisValues: number[];
24
+ }, trajectory: number[][]): SeismicInfo | null;
25
+ /**
26
+ * Generate seismic
27
+ * Code originally developed for the REP project
28
+ * @param data Seismic data
29
+ * @param trajectory Wellbore or freehand trajectory
30
+ * @param colormap Color map for rendering
31
+ * @param options.isLeftToRight (optional) draw left to right
32
+ * @param options.seismicRange (optional) Range for mapping seimic values to color map
33
+ * @param options.seismicMin (optional) Min seismic value for mapping seimic values to color map
34
+ * @param options.seismicMax (optional) Max seismic value for mapping seimic values to color map
35
+ * @return Key domain and depth information for seismic data
36
+ */
37
+ export declare function generateSeismicSliceImage(data: {
38
+ datapoints: number[][];
39
+ yAxisValues: number[];
40
+ }, trajectory: number[][], colormap: string[], options?: {
41
+ isLeftToRight: true;
42
+ seismicRange?: number;
43
+ seismicMin?: number;
44
+ seismicMax?: number;
45
+ }): Promise<ImageBitmap>;
@@ -1,10 +1,10 @@
1
- import { StratUnit, SurfaceMetaAndValues, SurfaceData } from './interfaces';
2
- /**
3
- * Generate surface data from trajectory, stratcolum and surface data
4
- * Code originally developed for the REP project
5
- * @param trajectory Projected trajectory generated from the poslog used when retrieving surface data from surface API
6
- * @param stratColumn Strat columnd from SMDA
7
- * @param surfaceData - Surfaces meta data with surface values in data section
8
- * @return Surface areas ready for rendering in geolayer
9
- */
10
- export declare function generateSurfaceData(trajectory: number[][], stratColumn: StratUnit[], surfaceData: SurfaceMetaAndValues[]): SurfaceData;
1
+ import { StratUnit, SurfaceMetaAndValues, SurfaceData } from './interfaces';
2
+ /**
3
+ * Generate surface data from trajectory, stratcolum and surface data
4
+ * Code originally developed for the REP project
5
+ * @param trajectory Projected trajectory generated from the poslog used when retrieving surface data from surface API
6
+ * @param stratColumn Strat columnd from SMDA
7
+ * @param surfaceData - Surfaces meta data with surface values in data section
8
+ * @return Surface areas ready for rendering in geolayer
9
+ */
10
+ export declare function generateSurfaceData(trajectory: number[][], stratColumn: StratUnit[], surfaceData: SurfaceMetaAndValues[]): SurfaceData;