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

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 (76) hide show
  1. package/README.md +0 -1
  2. package/dist/components/axis.d.ts +1 -1
  3. package/dist/control/ZoomPanHandler.d.ts +1 -1
  4. package/dist/datautils/picks.d.ts +6 -6
  5. package/dist/datautils/schematicShapeGenerator.d.ts +7 -8
  6. package/dist/datautils/seismicimage.d.ts +1 -1
  7. package/dist/index.esm.js +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/index.umd.js +1 -272
  10. package/dist/interfaces.d.ts +1 -1
  11. package/dist/layers/CalloutCanvasLayer.d.ts +2 -2
  12. package/dist/layers/CustomDisplayObjects/ComplexRope.d.ts +1 -1
  13. package/dist/layers/GeomodelCanvasLayer.d.ts +1 -1
  14. package/dist/layers/ImageCanvasLayer.d.ts +1 -1
  15. package/dist/layers/ReferenceLineLayer.d.ts +29 -0
  16. package/dist/layers/SchematicLayer.d.ts +10 -1
  17. package/dist/layers/SeismicCanvasLayer.d.ts +2 -3
  18. package/dist/layers/index.d.ts +1 -0
  19. package/dist/layers/schematicInterfaces.d.ts +13 -12
  20. package/dist/utils/arc-length.d.ts +1 -1
  21. package/dist/utils/root-finder.d.ts +1 -1
  22. package/package.json +38 -33
  23. package/src/components/axis.ts +247 -0
  24. package/src/components/index.ts +1 -0
  25. package/src/constants.ts +17 -0
  26. package/src/control/ExtendedCurveInterpolator.ts +155 -0
  27. package/src/control/IntersectionReferenceSystem.ts +391 -0
  28. package/src/control/LayerManager.ts +294 -0
  29. package/src/control/MainController.ts +296 -0
  30. package/src/control/ZoomPanHandler.ts +436 -0
  31. package/src/control/index.ts +5 -0
  32. package/src/control/interfaces.ts +42 -0
  33. package/src/control/overlay.ts +118 -0
  34. package/src/datautils/camelcase.ts +28 -0
  35. package/src/datautils/colortable.ts +14 -0
  36. package/src/datautils/findsample.ts +64 -0
  37. package/src/datautils/index.ts +6 -0
  38. package/src/datautils/interfaces.ts +68 -0
  39. package/src/datautils/picks.ts +328 -0
  40. package/src/datautils/schematicShapeGenerator.ts +1013 -0
  41. package/src/datautils/seismicimage.ts +180 -0
  42. package/src/datautils/surfacedata.ts +318 -0
  43. package/src/datautils/trajectory.ts +206 -0
  44. package/src/index.ts +6 -0
  45. package/src/interfaces.ts +99 -0
  46. package/src/layers/CalloutCanvasLayer.ts +338 -0
  47. package/src/layers/CustomDisplayObjects/ComplexRope.ts +45 -0
  48. package/src/layers/CustomDisplayObjects/ComplexRopeGeometry.ts +190 -0
  49. package/src/layers/CustomDisplayObjects/FixedWidthSimpleRope.ts +41 -0
  50. package/src/layers/CustomDisplayObjects/FixedWidthSimpleRopeGeometry.ts +149 -0
  51. package/src/layers/CustomDisplayObjects/UniformTextureStretchRope.ts +39 -0
  52. package/src/layers/CustomDisplayObjects/UniformTextureStretchRopeGeometry.ts +174 -0
  53. package/src/layers/GeomodelCanvasLayer.ts +176 -0
  54. package/src/layers/GeomodelLabelsLayer.ts +619 -0
  55. package/src/layers/GeomodelLayerV2.ts +110 -0
  56. package/src/layers/GridLayer.ts +145 -0
  57. package/src/layers/ImageCanvasLayer.ts +55 -0
  58. package/src/layers/ReferenceLineLayer.ts +185 -0
  59. package/src/layers/SchematicLayer.ts +896 -0
  60. package/src/layers/SeismicCanvasLayer.ts +46 -0
  61. package/src/layers/WellborePathLayer.ts +129 -0
  62. package/src/layers/base/CanvasLayer.ts +102 -0
  63. package/src/layers/base/HTMLLayer.ts +70 -0
  64. package/src/layers/base/Layer.ts +217 -0
  65. package/src/layers/base/PixiLayer.ts +190 -0
  66. package/src/layers/base/SVGLayer.ts +63 -0
  67. package/src/layers/base/index.ts +5 -0
  68. package/src/layers/index.ts +16 -0
  69. package/src/layers/schematicInterfaces.ts +470 -0
  70. package/src/utils/arc-length.ts +66 -0
  71. package/src/utils/binary-search.ts +26 -0
  72. package/src/utils/color.ts +22 -0
  73. package/src/utils/index.ts +1 -0
  74. package/src/utils/root-finder.ts +78 -0
  75. package/src/utils/text.ts +88 -0
  76. package/src/utils/vectorUtils.ts +67 -0
package/README.md CHANGED
@@ -11,7 +11,6 @@ Part of the [Equinor Subsurface Visualization project](https://github.com/equino
11
11
  - **Documentation (latest)**: https://equinor.github.io/esv-intersection/
12
12
  - **Storybook (latest)**: https://equinor.github.io/esv-intersection/storybook/latest
13
13
  - **Storybook (nightly)**: https://equinor.github.io/esv-intersection/storybook/master
14
- - **React/typescript example**: https://github.com/equinor/react-intersection-example
15
14
 
16
15
  ## Getting started
17
16
 
@@ -1,7 +1,7 @@
1
1
  import { Selection } from 'd3-selection';
2
2
  import { ScaleLinear } from 'd3-scale';
3
3
  import { OnResizeEvent, OnRescaleEvent } from '../interfaces';
4
- export declare type Options = {
4
+ export type Options = {
5
5
  offsetX: number;
6
6
  offsetY: number;
7
7
  visible: boolean;
@@ -2,7 +2,7 @@ import { Selection } from 'd3-selection';
2
2
  import { ScaleLinear } from 'd3-scale';
3
3
  import { ZoomBehavior, ZoomTransform } from 'd3-zoom';
4
4
  import { ZoomAndPanOptions, OnRescaleEvent } from '../interfaces';
5
- export declare type RescaleFunction = (event: OnRescaleEvent) => void;
5
+ export type RescaleFunction = (event: OnRescaleEvent) => void;
6
6
  /**
7
7
  * Handle zoom and pan for intersection layers
8
8
  */
@@ -1,5 +1,5 @@
1
1
  import { Annotation } from '../interfaces';
2
- declare type Pick = {
2
+ type Pick = {
3
3
  pickIdentifier?: string;
4
4
  confidence: string | null;
5
5
  depthReferencePoint: string;
@@ -7,10 +7,10 @@ declare type Pick = {
7
7
  mdUnit: string;
8
8
  tvd: number;
9
9
  };
10
- declare type PickWithId = {
10
+ type PickWithId = {
11
11
  identifier: string;
12
12
  } & Pick;
13
- declare type Unit = {
13
+ type Unit = {
14
14
  identifier: string;
15
15
  top: string;
16
16
  base: string;
@@ -23,7 +23,7 @@ declare type Unit = {
23
23
  lithologyType: number;
24
24
  stratUnitParent: number;
25
25
  };
26
- declare type UnitDto = {
26
+ type UnitDto = {
27
27
  unitName: string;
28
28
  topSurface: string;
29
29
  baseSurface: string;
@@ -38,8 +38,8 @@ declare type UnitDto = {
38
38
  lithType: number;
39
39
  parent: number;
40
40
  };
41
- declare type PickAndUnit = PickWithId & UnitDto;
42
- declare type PairedPickAndUnit = {
41
+ type PickAndUnit = PickWithId & UnitDto;
42
+ type PairedPickAndUnit = {
43
43
  name: string;
44
44
  mdEntry: number;
45
45
  tvdEntry: number;
@@ -1,7 +1,7 @@
1
1
  import { IPoint, Point, Texture } from 'pixi.js';
2
- import { Casing, Cement, CementOptions, CementPlug, CementPlugOptions, CementSqueeze, CementSqueezeOptions, Completion, HoleOptions, HoleSize, ScreenOptions, TubingOptions, Perforation, PerforationOptions } from '../layers/schematicInterfaces';
2
+ import { Casing, Cement, CementOptions, CementPlug, CementPlugOptions, CementSqueeze, CementSqueezeOptions, Completion, HoleOptions, HoleSize, ScreenOptions, TubingOptions, Perforation, PerforationOptions, PerforationSubKind } from '../layers/schematicInterfaces';
3
3
  import { ComplexRopeSegment } from '../layers/CustomDisplayObjects/ComplexRope';
4
- export declare type PerforationShape = ComplexRopeSegment;
4
+ export type PerforationShape = ComplexRopeSegment;
5
5
  export interface TubularRenderingObject {
6
6
  leftPath: Point[];
7
7
  rightPath: Point[];
@@ -36,12 +36,9 @@ export declare const getUniqueDiameterChangeDepths: ([intervalStart, intervalEnd
36
36
  end: number;
37
37
  }[]) => number[];
38
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;
39
40
  export declare const findCementPlugInnerDiameterAtDepth: (attachedStrings: (Casing | Completion)[], nonAttachedStrings: (Casing | Completion)[], holes: HoleSize[], depth: number) => number;
40
41
  export declare const createComplexRopeSegmentsForCement: (cement: Cement, casings: Casing[], completion: Completion[], holes: HoleSize[], exaggerationFactor: number, getPoints: (start: number, end: number) => Point[]) => ComplexRopeSegment[];
41
- export declare const perforationDiameterChangeDepths: (perforation: Perforation, diameterIntervals: {
42
- start: number;
43
- end: number;
44
- }[]) => number[];
45
42
  export declare const createComplexRopeSegmentsForCementSqueeze: (squeeze: CementSqueeze, casings: Casing[], completion: Completion[], holes: HoleSize[], exaggerationFactor: number, getPoints: (start: number, end: number) => Point[]) => ComplexRopeSegment[];
46
43
  export declare const createComplexRopeSegmentsForCementPlug: (plug: CementPlug, casings: Casing[], completion: Completion[], holes: HoleSize[], exaggerationFactor: number, getPoints: (start: number, end: number) => Point[]) => ComplexRopeSegment[];
47
44
  export declare const createHoleBaseTexture: ({ firstColor, secondColor }: HoleOptions, width: number, height: number) => Texture;
@@ -51,7 +48,7 @@ export declare const createCementTexture: ({ firstColor, secondColor, scalingFac
51
48
  export declare const createCementPlugTexture: ({ firstColor, secondColor, scalingFactor }: CementPlugOptions) => Texture;
52
49
  export declare const createCementSqueezeTexture: ({ firstColor, secondColor, scalingFactor }: CementSqueezeOptions) => Texture;
53
50
  export declare const createTubularRenderingObject: (radius: number, pathPoints: IPoint[]) => TubularRenderingObject;
54
- export declare type CasingInterval = {
51
+ export type CasingInterval = {
55
52
  kind: 'casing' | 'casing-window';
56
53
  start: number;
57
54
  end: number;
@@ -59,4 +56,6 @@ export declare type CasingInterval = {
59
56
  export declare const getCasingIntervalsWithWindows: (casing: Casing) => CasingInterval[];
60
57
  export declare const prepareCasingRenderObject: (exaggerationFactor: number, casing: Casing, getPathPoints: (start: number, end: number) => Point[]) => CasingRenderObject;
61
58
  export declare const createComplexRopeSegmentsForPerforation: (perforation: Perforation, casings: Casing[], holes: HoleSize[], exaggerationFactor: number, getPoints: (start: number, end: number) => Point[]) => ComplexRopeSegment[];
62
- export declare const createPerforationTexture: (perforation: Perforation, widestPerfShapeDiameter: number, otherPerforations: Perforation[], perforationOptions: PerforationOptions) => Texture;
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,5 +1,5 @@
1
1
  import { SeismicCanvasDataOptions } from '../layers/SeismicCanvasLayer';
2
- export declare type SeismicInfo = {
2
+ export type SeismicInfo = {
3
3
  minX: number;
4
4
  maxX: number;
5
5
  minTvdMsl: number;