@equinor/videx-map 1.14.7 → 1.14.9

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 (70) hide show
  1. package/README.md +1 -0
  2. package/package.json +5 -11
  3. package/dist/EventHandler.d.ts +0 -21
  4. package/dist/ExplorationLayer.d.ts +0 -38
  5. package/dist/FaultlineModule.d.ts +0 -51
  6. package/dist/FieldModule.d.ts +0 -113
  7. package/dist/GeoJSONModule/GeoJSONModule.d.ts +0 -47
  8. package/dist/GeoJSONModule/constants.d.ts +0 -13
  9. package/dist/GeoJSONModule/index.d.ts +0 -6
  10. package/dist/GeoJSONModule/interfaces.d.ts +0 -15
  11. package/dist/GeoJSONModule/labels.d.ts +0 -46
  12. package/dist/GeoJSONModule/linestring.d.ts +0 -55
  13. package/dist/GeoJSONModule/multipolygon.d.ts +0 -94
  14. package/dist/GeoJSONModule/point.d.ts +0 -26
  15. package/dist/GeoJSONModule/polygon.d.ts +0 -96
  16. package/dist/GeoJSONModule/shader.d.ts +0 -10
  17. package/dist/ModuleInterface.d.ts +0 -26
  18. package/dist/OutlineModule.d.ts +0 -81
  19. package/dist/ResizeConfigInterface.d.ts +0 -14
  20. package/dist/WellboreModule.d.ts +0 -126
  21. package/dist/index.d.ts +0 -8
  22. package/dist/index.esm.js +0 -1
  23. package/dist/index.js +0 -1
  24. package/dist/index.umd.js +0 -1
  25. package/dist/pixiOverlayInterfaces.d.ts +0 -16
  26. package/dist/utils/ComparableArray.d.ts +0 -60
  27. package/dist/utils/LineDictionary.d.ts +0 -89
  28. package/dist/utils/LineInterpolator.d.ts +0 -84
  29. package/dist/utils/Log.d.ts +0 -1
  30. package/dist/utils/Mesh.d.ts +0 -46
  31. package/dist/utils/PointDictionary.d.ts +0 -58
  32. package/dist/utils/Radius.d.ts +0 -2
  33. package/dist/utils/Rect.d.ts +0 -27
  34. package/dist/utils/TriangleDictionary.d.ts +0 -21
  35. package/dist/utils/WellboreMesh.d.ts +0 -51
  36. package/dist/utils/centerOfMass.d.ts +0 -8
  37. package/dist/utils/fields/Highlighter.d.ts +0 -33
  38. package/dist/utils/fields/LabelManager.d.ts +0 -62
  39. package/dist/utils/fields/groupLabels.d.ts +0 -5
  40. package/dist/utils/fields/preprocessFields.d.ts +0 -29
  41. package/dist/utils/generateCircle.d.ts +0 -10
  42. package/dist/utils/linePoint.d.ts +0 -27
  43. package/dist/utils/lineReducer.d.ts +0 -9
  44. package/dist/utils/wellbores/AsyncLoop.d.ts +0 -35
  45. package/dist/utils/wellbores/Colors.d.ts +0 -40
  46. package/dist/utils/wellbores/Config.d.ts +0 -80
  47. package/dist/utils/wellbores/DataManager.d.ts +0 -15
  48. package/dist/utils/wellbores/Highlight.d.ts +0 -18
  49. package/dist/utils/wellbores/LabelType.d.ts +0 -9
  50. package/dist/utils/wellbores/Projector.d.ts +0 -20
  51. package/dist/utils/wellbores/RealtimeWellbore.d.ts +0 -21
  52. package/dist/utils/wellbores/Shader.d.ts +0 -41
  53. package/dist/utils/wellbores/data/Group.d.ts +0 -48
  54. package/dist/utils/wellbores/data/RootData.d.ts +0 -29
  55. package/dist/utils/wellbores/data/SourceData.d.ts +0 -25
  56. package/dist/utils/wellbores/data/WellboreData.d.ts +0 -76
  57. package/dist/utils/wellbores/data/WellboreEventData.d.ts +0 -16
  58. package/dist/utils/wellbores/data/details/Detail.d.ts +0 -20
  59. package/dist/utils/wellbores/data/details/DetailOptions.d.ts +0 -7
  60. package/dist/utils/wellbores/data/details/ShoeDetail.d.ts +0 -14
  61. package/dist/utils/wellbores/data/details/index.d.ts +0 -11
  62. package/dist/utils/wellbores/data/index.d.ts +0 -6
  63. package/dist/utils/wellbores/highlight-helper.d.ts +0 -6
  64. package/dist/utils/wellbores/intervals.d.ts +0 -15
  65. package/dist/utils/wellbores/labels/Label.d.ts +0 -39
  66. package/dist/utils/wellbores/labels/index.d.ts +0 -2
  67. package/dist/utils/wellbores/labels/label-helper.d.ts +0 -3
  68. package/dist/utils/wellbores/registries/CallbackRegistry.d.ts +0 -23
  69. package/dist/utils/wellbores/registries/ColorRegistry.d.ts +0 -22
  70. package/dist/utils/wellbores/registries/index.d.ts +0 -2
@@ -1,84 +0,0 @@
1
- import Vector2 from '@equinor/videx-vector2';
2
- /** Path used by the interpolator. */
3
- interface PathPoint {
4
- /** Point along the line. */
5
- point: Vector2;
6
- /** Normalized direction towards next point. */
7
- direction: Vector2;
8
- /** Distance to point along line. */
9
- distance: number;
10
- /** Relative distance to point along line. */
11
- relative: number;
12
- }
13
- /** Point in returned segment. */
14
- export interface SegmentPoint {
15
- /** Point along line. */
16
- position: Vector2;
17
- /** Normalized direction towards next point. */
18
- direction: Vector2;
19
- /** Distance to point along line. */
20
- distance: number;
21
- }
22
- /** Interpolator for finding points and subsegments on a line defined by a collection of Vector2 or 2D vectors. */
23
- export declare class LineInterpolator {
24
- /** Amount of provided points. */
25
- amount: number;
26
- /** Length of line. */
27
- length: number;
28
- /** True if line is an approximation of a single point. */
29
- singlePoint: boolean;
30
- /** Collection of points along line with distances. */
31
- path: PathPoint[];
32
- /**
33
- * Construct line interpolator from a collection of points
34
- * @param points Collection of points as Vector2
35
- */
36
- constructor(points: Vector2[], radius: number);
37
- /**
38
- * Get point at relative position.
39
- * @param relative Relative position along the line between 0 and 1
40
- * @returns Point at relative position
41
- */
42
- GetPoint(relative: number): SegmentPoint;
43
- /**
44
- * Get section at relative position.
45
- * @param relativeStart Relative position along the line between 0 and 1
46
- * @param relativeEnd Relative position along the line between 0 and 1
47
- * @returns Relative section along the line
48
- */
49
- GetSection(relativeStart: number, relativeEnd: number): SegmentPoint[];
50
- /**
51
- * Get closest point below provided relative position along the line.
52
- * Utilizes divide-and-conquer algorithm to speed up search.
53
- * @param relative Relative position along the line between 0 and 1
54
- * @returns Index of closest point below relative
55
- */
56
- GetClosestPointBelow(relative: number): number;
57
- /**
58
- * Get point with given distance from the start in world space.
59
- * @param distance Real distance from the start
60
- * @returns Point at given distance from start
61
- */
62
- GetPointFromStart(distance: number): SegmentPoint;
63
- /**
64
- * Get point with given distance from the end in world space.
65
- * @param distance Real distance from the end
66
- * @returns Point at given distance from end
67
- */
68
- GetPointFromEnd(distance: number): SegmentPoint;
69
- /**
70
- * Get collection of equally space points with given width in real distance.
71
- * @param relative Start of range
72
- * @param width Width of range in real distance
73
- * @param resolution Amount of points within range
74
- * @returns Collection of equally spaced points within range
75
- */
76
- GetRangeFromStart(relative: number, width: number, resolution?: number): SegmentPoint[];
77
- /**
78
- * Get direction towards next point.
79
- * @param idx Index of point
80
- * @returns Direction as vector
81
- */
82
- GetDirection(points: Vector2[], idx: number): Vector2;
83
- }
84
- export {};
@@ -1 +0,0 @@
1
- export default function log(text: string): void;
@@ -1,46 +0,0 @@
1
- import Vector2 from '@equinor/videx-vector2';
2
- import * as PIXI from 'pixi.js';
3
- import { VectorLike } from '@equinor/videx-linear-algebra';
4
- import { SegmentPoint } from './LineInterpolator';
5
- export interface WellboreSegmentData {
6
- vertices: number[];
7
- triangles: number[];
8
- vertexData: number[];
9
- extraData: number[];
10
- }
11
- export interface MeshData {
12
- vertices: number[];
13
- triangles: number[];
14
- }
15
- export interface MeshNormalData extends MeshData {
16
- normals: number[];
17
- }
18
- export default class Mesh {
19
- /**
20
- * Create mesh for a line.
21
- * @param points Collection of points used to construct mesh
22
- * @param thickness Thickness of line
23
- * @param type 0: Normal, 1: Interval, 2: Tick
24
- * @returns Vertex and triangulation for mesh
25
- */
26
- static WellboreSegment(points: SegmentPoint[], thickness: number, type: number): WellboreSegmentData;
27
- static SimpleLine: (points: VectorLike[], thickness?: number) => MeshNormalData;
28
- /**
29
- * Create mesh for a polygon.
30
- * @param points Collection of points used to construct mesh
31
- * @returns Vertex and triangulation for mesh
32
- */
33
- static Polygon: (points: Vector2[]) => MeshData;
34
- static PolygonOutline: (points: VectorLike[], thickness?: number) => MeshNormalData;
35
- /**
36
- * Create a simple pixi mesh from vertices, triangles and shaders. Vertices are named 'inputVerts' in shader.
37
- * @param vertices Vertices belonging to mesh
38
- * @param triangles Triangulation of mesh
39
- * @param vertexShader Vertex shader as string
40
- * @param fragmentShader Fragment shader as string
41
- * @param uniforms Collection of uniforms
42
- * @param normals UV data
43
- * @returns Created pixi mesh
44
- */
45
- static from(vertices: number[], triangles: number[], vertexShader: string, fragmentShader: string, uniforms?: object, normals?: number[]): PIXI.Mesh;
46
- }
@@ -1,58 +0,0 @@
1
- import Vector2 from '@equinor/videx-vector2';
2
- /** Interface of a single point. */
3
- interface Point<T> {
4
- /** Value stored in point. */
5
- val: T;
6
- /** Position of points. */
7
- pos: Vector2;
8
- /** ID of point. */
9
- id: number;
10
- }
11
- /** Dictionary for points. Also manages overlapping. */
12
- export default class PointDictionary<T> {
13
- /** Threshold to define overlapping. */
14
- distThreshold: number;
15
- /** gridSize of data segmentation. */
16
- gridSize: number;
17
- /** Radius of points. */
18
- radius: number;
19
- /** Mapping tile coordinates, on format 'x.y', to submap of points. */
20
- tiles: Map<string, Map<number, Point<T>>>;
21
- /** Mapping point IDs to values. */
22
- pointValues: Map<number, Point<T>>;
23
- /** User provided function to test if a line is active or not */
24
- testActiveFunction: (value: T) => boolean;
25
- /** Used to assign PointID */
26
- private pointSeq;
27
- /**
28
- * Constructs a new point dictionary.
29
- * @param distThreshold Threshold for what is considered overlapping
30
- * @param gridSize grid cell size used for segmentation
31
- */
32
- constructor(distThreshold: number, gridSize: number, radius: number, testActive?: (value: T) => boolean);
33
- /**
34
- * Add a single point to the dictionary.
35
- * @param pos Position of point
36
- * @param val Value stored within points
37
- * @returns ID of newly added point
38
- */
39
- add(pos: Vector2, val: T): number;
40
- private getKeys;
41
- isActive(point: Point<T>): boolean;
42
- getKey(position: Vector2): string;
43
- /**
44
- * Get overlapping points, if any.
45
- * @param pos Target position
46
- * @returns Overlapping point
47
- */
48
- getOverlapping(pos: Vector2): Point<T>;
49
- /**
50
- * Get closest point under coordinates defined by radius.
51
- * @param pos Target position
52
- * @returns Closest point
53
- */
54
- getClosestUnder(pos: Vector2, radius?: number): Point<T>;
55
- /** Clear point dictionary to prepare for new data. */
56
- clear(filter?: (value: T, id: number) => boolean): void;
57
- }
58
- export {};
@@ -1,2 +0,0 @@
1
- import { ResizeConfig } from '../ResizeConfigInterface';
2
- export declare function getRadius(zoom: number, { min, max }: ResizeConfig): number;
@@ -1,27 +0,0 @@
1
- import Vector2 from '@equinor/videx-vector2';
2
- import { VectorLike } from '@equinor/videx-linear-algebra';
3
- export default class Rect {
4
- lowerLeft: Vector2;
5
- width: number;
6
- height: number;
7
- rotation: number;
8
- constructor(lowerLeft: Vector2, width: number, height: number, rotation: number);
9
- /**
10
- * Check if a point is inside.
11
- * @param vector Vector to evaluate
12
- * @returns True if point is inside rectangle
13
- */
14
- isInside(vector: VectorLike): boolean;
15
- /**
16
- * Check if a point is inside.
17
- * @param x X position to evaluate
18
- * @param y Y position to evaluate
19
- * @returns True if point is inside rectangle
20
- */
21
- isInside(x: number, y: number): boolean;
22
- /**
23
- * Transforms position from world space to local space.
24
- * @param position
25
- */
26
- inverseTransformPoint(x: number, y: number): Vector2;
27
- }
@@ -1,21 +0,0 @@
1
- type vec2 = [number, number];
2
- interface Triangle {
3
- v1: vec2;
4
- v2: vec2;
5
- v3: vec2;
6
- polygonID: number;
7
- }
8
- export default class TriangleDictionary<T> {
9
- /** Resolution of data segmentation. */
10
- resolution: number;
11
- /** Map with collection of triangle IDs. */
12
- tiles: Map<string, number[]>;
13
- /** Triangle IDs to polygon. */
14
- triangles: Triangle[];
15
- /** Mapping polygon IDs to values. */
16
- polygonValues: T[];
17
- constructor(decimals?: number);
18
- add(vertices: vec2[], triangles: number[], value: T): void;
19
- getPolygonAt(target: vec2): T;
20
- }
21
- export {};
@@ -1,51 +0,0 @@
1
- import { SegmentPoint, LineInterpolator } from './LineInterpolator';
2
- import { TickConfig } from './wellbores/Config';
3
- interface meshData {
4
- vertices: number[];
5
- triangles: number[];
6
- vertexData: number[];
7
- extraData: number[];
8
- }
9
- export declare class WellboreMesh {
10
- /** Line interpolator used to construct mesh. */
11
- interp: LineInterpolator;
12
- /** Thickness of line. */
13
- thickness: number;
14
- /** Index of latest vertex, i.e. base for triangulation of new geometry. */
15
- baseTris: number;
16
- /** Width and height of tick. */
17
- tick: TickConfig;
18
- /**
19
- * Constructor for creating a new line interpolator.
20
- * @param interp Interpolator used to generate line
21
- */
22
- constructor(interp: LineInterpolator, thickness: number, tick: TickConfig);
23
- /**
24
- * Generate mesh. Interval positioning should be relative.
25
- * @param intervals Collection of intervals on the format: [ [Start0, End0], ..., [StartN, EndN] ]
26
- */
27
- generate(intervals?: [number, number][]): meshData;
28
- /**
29
- * Append line segment from a section of points.
30
- * @param section Collection of segment points
31
- * @param type Type of segment, applied as vertex color
32
- * @param vertices 1-dimensional array with vertices
33
- * @param triangles 1-dimensional array with triangulation
34
- * @param vertexData 1-dimensional array with vertex data
35
- * @param extraData 1-dimensional array with type-data
36
- * @private
37
- */
38
- appendSegment(section: SegmentPoint[], type: number, vertices: number[], triangles: number[], vertexData: number[], extraData: number[]): void;
39
- /**
40
- * Creates a tick at the given position.
41
- * @param p Position of tick
42
- * @param baseTris Base triangle index
43
- * @param vertices 1-dimensional array with vertices
44
- * @param triangles 1-dimensional array with triangulation
45
- * @param vertexData 1-dimensional array with vertex data
46
- * @param extraData 1-dimensional array with type-data
47
- * @private
48
- */
49
- private generateCrossline;
50
- }
51
- export {};
@@ -1,8 +0,0 @@
1
- import Vector2 from '@equinor/videx-vector2';
2
- /**
3
- * Get the center of mass of a polygon.
4
- * @param vertices Vertices of polygon
5
- * @param triangles Triangles of polygon
6
- * @returns Center of mass and mass of polygon
7
- */
8
- export default function centerOfMass(vertices: Vector2[], triangles: number[]): [Vector2, number];
@@ -1,33 +0,0 @@
1
- import { FieldMesh } from '../../FieldModule';
2
- type vec3 = [number, number, number];
3
- interface Cache {
4
- fillCol1: vec3;
5
- fillCol2: vec3;
6
- outlineCol: vec3;
7
- baseZIndex: number;
8
- field: FieldMesh;
9
- }
10
- /**
11
- * Highlighter class for field layer.
12
- */
13
- export default class Hightlighter {
14
- fields: FieldMesh[][];
15
- cached: Cache[];
16
- fillColor1: vec3;
17
- fillColor2: vec3;
18
- outlineColor: vec3;
19
- constructor(fillColor1: vec3, fillColor2: vec3, outlineColor: vec3);
20
- /**
21
- * Add a new group to highlighter.
22
- * @param group Group of field meshes
23
- */
24
- add(group: FieldMesh[]): void;
25
- /**
26
- * Highlight a group by given index.
27
- * @param index Index of group to highlight
28
- */
29
- highlight(index: number): void;
30
- /** Revert any highlighting. */
31
- revert(): boolean;
32
- }
33
- export {};
@@ -1,62 +0,0 @@
1
- import * as PIXI from 'pixi.js';
2
- import Vector2 from '@equinor/videx-vector2';
3
- /** Data for label. */
4
- export type LabelData = {
5
- position: Vector2;
6
- mass: number;
7
- };
8
- /** Field with connected labels. */
9
- interface Field {
10
- name: string;
11
- position: Vector2;
12
- instance?: PIXI.Text;
13
- }
14
- /** Instance of a multi-label entry. */
15
- export type Label = {
16
- position: Vector2;
17
- mass: number;
18
- instance: PIXI.Text;
19
- active: boolean;
20
- };
21
- export interface MultiField {
22
- name: string;
23
- labels: Label[];
24
- width: number;
25
- height: number;
26
- }
27
- /** Class used to manage field labels. Handles scaling and grouping of labels. */
28
- export default class LabelManager {
29
- /** The textstyle used for labels. */
30
- textStyle: PIXI.TextStyle;
31
- /** Scale of labels when size is set to 1. */
32
- baseScale: number;
33
- /** Collection of single-polygon fields. */
34
- fields: Field[];
35
- /** Collectionh of multi-polygon fields. Labels are grouped when scaling. */
36
- multiFields: MultiField[];
37
- /** Value of previous scale */
38
- prevScale: number;
39
- /** Visibility of labels */
40
- visible: boolean;
41
- /** construct a new label manager. */
42
- constructor(textStyle: PIXI.TextStyle, baseScale: number);
43
- /**
44
- * Add a new field to manage.
45
- * @param name Name of field
46
- * @param entries Data for each label
47
- */
48
- addField(name: string, entries: LabelData[]): void;
49
- /**
50
- * Draw all labels assigned to manager.
51
- * @param root Target root for labels
52
- */
53
- draw(root: PIXI.Container): void;
54
- /**
55
- * Resize all labels.
56
- * @param scale New scale for labels
57
- */
58
- resize(scale: number): void;
59
- hideLabels(): void;
60
- showLabels(): void;
61
- }
62
- export {};
@@ -1,5 +0,0 @@
1
- import { MultiField } from './LabelManager';
2
- /**
3
- * Function for grouping labels.
4
- */
5
- export default function groupLabels(field: MultiField, scale: number): [number, number][];
@@ -1,29 +0,0 @@
1
- import { Field } from '../../FieldModule';
2
- /** Interface for data within a processed field. */
3
- export interface PreprocessedField {
4
- type: string;
5
- geometry: [
6
- {
7
- coordinates: [number, number][];
8
- properties: {
9
- discname: string;
10
- hctype: string;
11
- polygonId: number;
12
- status: string;
13
- };
14
- }
15
- ];
16
- properties: {
17
- group: number;
18
- guid?: number;
19
- label: string;
20
- lat: number;
21
- long: number;
22
- };
23
- }
24
- /**
25
- * Preprocess field data to a more managable format.
26
- * @param data Data to process
27
- * @returns Processed data
28
- */
29
- export default function preprocessFields(data: Field[]): PreprocessedField[];
@@ -1,10 +0,0 @@
1
- import Vector2 from '@equinor/videx-vector2';
2
- import * as PIXI from 'pixi.js';
3
- /**
4
- *
5
- * @param center
6
- * @param radius
7
- * @param uniformRadius Fraction of full radius used by uniform initially
8
- * @return New circle mesh with shader uniforms attached
9
- */
10
- export default function generateCircle(center: Vector2, radius: number, shader: any): PIXI.Mesh;
@@ -1,27 +0,0 @@
1
- import Vector2 from '@equinor/videx-vector2';
2
- import { VectorLike } from '@equinor/videx-linear-algebra';
3
- /**
4
- * Find the position along a line segment closest to a given point.
5
- * @param point Reference point
6
- * @param lineStart Start of line segment
7
- * @param lineEnd End of line segment
8
- * @returns Closest point on line
9
- */
10
- export declare function closestPointOnLine(point: Vector2, lineStart: Vector2, lineEnd: Vector2): Vector2;
11
- /**
12
- * Find the shortest distance from a point to a line segment.
13
- * @param point Reference point
14
- * @param lineStart Start of line segment
15
- * @param lineEnd End of line segment
16
- * @returns Distance to line
17
- */
18
- export declare function distanceToLine(point: Vector2, lineStart: Vector2, lineEnd: Vector2): number;
19
- /**
20
- * Get the relative displacement of the point in respect to lineStart.
21
- * X-component contains displacement along line.
22
- * Y component contains displacement perpendicular to line.
23
- * @param point Reference point
24
- * @param lineStart Start of line segment
25
- * @param lineEnd End of line segment
26
- */
27
- export declare function displacementToLineOrigin(point: VectorLike, lineStart: VectorLike, lineEnd: VectorLike): Vector2;
@@ -1,9 +0,0 @@
1
- import { VectorLike } from '@equinor/videx-linear-algebra';
2
- /**
3
- * Reduce complexity of a line by removing points with little information.
4
- * @param points Collection of points to reduce
5
- * @param maxDeviation Max deviation of a single point
6
- * @param distanceWeight Scale allowed deviatin by distance from last point
7
- * @returns Reduced line
8
- */
9
- export declare function reduce<T extends VectorLike>(points: T[], maxDeviation: number, distanceWeight: number): T[];
@@ -1,35 +0,0 @@
1
- /// <reference types="node" />
2
- interface Config {
3
- /** Total number of iterations. */
4
- iterations: number;
5
- /** Size of each individual batch. */
6
- batchSize: number;
7
- /** Function to call for each iteration. */
8
- func: (i: number) => void;
9
- /** Function to call after each batch. */
10
- postFunc?: () => void;
11
- /** Function to call after finishing loop. */
12
- endFunc?: () => void;
13
- }
14
- /** Class for running non-blocking for loops. */
15
- export default class AsyncLoop {
16
- /** Dictionary with intervals */
17
- timers: {
18
- [key: string]: NodeJS.Timeout;
19
- };
20
- /**
21
- * Start a new asynchronous loop.
22
- * @param key Key of loop
23
- * @param config Configurations for asynchronous loop.
24
- * @param interval Configurations interval between batches
25
- */
26
- Start(key: string, config: Config, interval?: number): void;
27
- /**
28
- * Stop a single loop
29
- * @param key Key of loop
30
- */
31
- Stop(key: string): void;
32
- /** Stop all ongoing loops */
33
- StopAll(): void;
34
- }
35
- export {};
@@ -1,40 +0,0 @@
1
- type vec3 = [number, number, number];
2
- export interface Color {
3
- col1: vec3;
4
- col2: vec3;
5
- labelBg: number;
6
- }
7
- export interface Colors {
8
- fontColor: number;
9
- interactFontColor: number;
10
- default: Color;
11
- highlight: Color;
12
- multiHighlight: Color;
13
- selected: Color;
14
- }
15
- /** Enum for selecting color. [ Default, Highlight, MultiHighlight, Selected ] */
16
- export declare enum ColorType {
17
- Default = 0,
18
- Highlight = 1,
19
- MultiHighlight = 2,
20
- Selected = 3
21
- }
22
- export interface InputColors {
23
- fontColor?: number;
24
- interactFontColor?: number;
25
- defaultColor1?: vec3;
26
- defaultColor2?: vec3;
27
- defaultLabelBg?: number;
28
- highlightColor1?: vec3;
29
- highlightColor2?: vec3;
30
- highlightLabelBg?: number;
31
- multiHighlightColor1?: vec3;
32
- multiHighlightColor2?: vec3;
33
- multiHighlightLabelBg?: number;
34
- selectedColor1?: vec3;
35
- selectedColor2?: vec3;
36
- selectedLabelBg?: number;
37
- }
38
- /** Get default configuration for wellbores. */
39
- export declare function getDefaultColors(input?: InputColors): Colors;
40
- export {};
@@ -1,80 +0,0 @@
1
- import { WellboreEventData } from './data';
2
- import { HighlightEvent } from './data/WellboreEventData';
3
- import { EventHandler } from '../../EventHandler';
4
- import { ResizeConfig } from '../../ResizeConfigInterface';
5
- export interface TickConfig {
6
- width: number;
7
- height: number;
8
- }
9
- /** Interface for wellbore config. */
10
- export interface Config {
11
- /** Relative scale of all components (Default: 1.0). */
12
- scale: number;
13
- /** Amount of wellbores per batch. (Default: 20) */
14
- batchSize: number;
15
- /** Origin zoom level, i.e. where input for scaling function is 0. (Default: 0) */
16
- zoomOrigin: number;
17
- /** Grid size to control resolution of spacial indexing. */
18
- gridSize: number;
19
- /** Resize configurations of wellbores. */
20
- wellboreResize: ResizeConfig;
21
- /** Resize configurations of roots. */
22
- rootResize: ResizeConfig;
23
- /** Settings for ticks along wellbore lines, these do not scale. */
24
- tick: TickConfig;
25
- /** Function to be called when a wellbore is selected. */
26
- onWellboreClick?: (wellbore: WellboreEventData) => void;
27
- /** Function to be called when wellbores are highlighted. */
28
- onHighlightOn?: (event: HighlightEvent) => void;
29
- /** Function to be called when highlight is removed. */
30
- onHighlightOff?: () => void;
31
- }
32
- /** Data from 'InputConfig' not included in 'Config'. */
33
- export interface ExtraConfig {
34
- /** Opacity of label background. (Default: 0.5) */
35
- labelBgOpacity: number;
36
- /** Scale of labels. (Default: 0.011) */
37
- labelScale: number;
38
- /** Size of font. (Default: 24) */
39
- fontSize: number;
40
- /** Zoom event handler. */
41
- scaling: (zoom: number) => number;
42
- /** Size of wellbore dash. (Default: 0.01) */
43
- wellboreDash: number;
44
- }
45
- export interface InputConfig {
46
- /** Relative scale of all components. (Default: 1.0) */
47
- scale?: number;
48
- /** Scale of labels. (Default: 0.011) */
49
- labelScale?: number;
50
- /** Opacity of label background. (Default: 0.5) */
51
- labelBgOpacity?: number;
52
- /** Size of font. (Default: 24) */
53
- fontSize?: number;
54
- /** Amount of wellbores per batch. (Default: 25) */
55
- batchSize?: number;
56
- /** Origin zoom level, i.e. where input for scaling function is 0. (Default: 0) */
57
- zoomOrigin?: number;
58
- /** Size of wellbore dash. (Default: 0.01) */
59
- wellboreDash?: number;
60
- /** Provide your custom event handler. */
61
- customEventHandler?: EventHandler;
62
- /** Zoom event handler. */
63
- scaling?: (zoom: number) => number;
64
- /** Grid size to control resolution of spatial indexing. */
65
- gridSize?: number;
66
- /** Resize configurations of wellbores. */
67
- wellboreResize: ResizeConfig;
68
- /** Resize configurations of roots. */
69
- rootResize?: ResizeConfig;
70
- /** Settings for ticks along wellbore lines, these do not scale. */
71
- tick?: TickConfig;
72
- /** Function to be called when a wellbore is selected. */
73
- onWellboreClick?: (selected: WellboreEventData) => void;
74
- /** Function to be called when wellbores are highlighted. */
75
- onHighlightOn?: (event: HighlightEvent) => void;
76
- /** Function to be called when highlight is removed. */
77
- onHighlightOff?: () => void;
78
- }
79
- /** Get default configuration for wellbores. */
80
- export declare function getDefaultConfig(input?: InputConfig): [Config, ExtraConfig];
@@ -1,15 +0,0 @@
1
- import { SourceData, WellboreData, RootData, Group } from './data';
2
- export default abstract class DataManager {
3
- wellbores: {
4
- [key: number]: WellboreData;
5
- };
6
- roots: {
7
- [key: number]: RootData;
8
- };
9
- /** Map group keys ('Drilled', 'Planned', etc.) to keys in wellbores dictionary. */
10
- groups: {
11
- [key: string]: Group;
12
- };
13
- addWellbore(_key: number, _data: SourceData): void;
14
- removeWellbore(_key: number): void;
15
- }