@equinor/videx-map 1.14.8 → 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.
- package/LICENSE +21 -21
- package/README.md +120 -120
- package/package.json +108 -108
- package/dist/EventHandler.d.ts +0 -21
- package/dist/ExplorationLayer.d.ts +0 -38
- package/dist/FaultlineModule.d.ts +0 -52
- package/dist/FieldModule.d.ts +0 -113
- package/dist/GeoJSONModule/GeoJSONModule.d.ts +0 -47
- package/dist/GeoJSONModule/constants.d.ts +0 -13
- package/dist/GeoJSONModule/index.d.ts +0 -6
- package/dist/GeoJSONModule/interfaces.d.ts +0 -15
- package/dist/GeoJSONModule/labels.d.ts +0 -46
- package/dist/GeoJSONModule/linestring.d.ts +0 -55
- package/dist/GeoJSONModule/multipolygon.d.ts +0 -94
- package/dist/GeoJSONModule/point.d.ts +0 -26
- package/dist/GeoJSONModule/polygon.d.ts +0 -96
- package/dist/GeoJSONModule/shader.d.ts +0 -10
- package/dist/ModuleInterface.d.ts +0 -26
- package/dist/OutlineModule.d.ts +0 -81
- package/dist/ResizeConfigInterface.d.ts +0 -14
- package/dist/WellboreModule.d.ts +0 -126
- package/dist/index.d.ts +0 -8
- package/dist/index.esm.js +0 -1
- package/dist/index.js +0 -1
- package/dist/index.umd.js +0 -1
- package/dist/pixiOverlayInterfaces.d.ts +0 -16
- package/dist/utils/ComparableArray.d.ts +0 -60
- package/dist/utils/LineDictionary.d.ts +0 -89
- package/dist/utils/LineInterpolator.d.ts +0 -84
- package/dist/utils/Log.d.ts +0 -1
- package/dist/utils/Mesh.d.ts +0 -46
- package/dist/utils/PointDictionary.d.ts +0 -58
- package/dist/utils/Radius.d.ts +0 -2
- package/dist/utils/Rect.d.ts +0 -27
- package/dist/utils/TriangleDictionary.d.ts +0 -21
- package/dist/utils/WellboreMesh.d.ts +0 -51
- package/dist/utils/centerOfMass.d.ts +0 -8
- package/dist/utils/fields/Highlighter.d.ts +0 -33
- package/dist/utils/fields/LabelManager.d.ts +0 -62
- package/dist/utils/fields/groupLabels.d.ts +0 -5
- package/dist/utils/fields/preprocessFields.d.ts +0 -29
- package/dist/utils/generateCircle.d.ts +0 -10
- package/dist/utils/linePoint.d.ts +0 -27
- package/dist/utils/lineReducer.d.ts +0 -9
- package/dist/utils/wellbores/AsyncLoop.d.ts +0 -35
- package/dist/utils/wellbores/Colors.d.ts +0 -40
- package/dist/utils/wellbores/Config.d.ts +0 -80
- package/dist/utils/wellbores/DataManager.d.ts +0 -15
- package/dist/utils/wellbores/Highlight.d.ts +0 -18
- package/dist/utils/wellbores/LabelType.d.ts +0 -9
- package/dist/utils/wellbores/Projector.d.ts +0 -20
- package/dist/utils/wellbores/RealtimeWellbore.d.ts +0 -21
- package/dist/utils/wellbores/Shader.d.ts +0 -41
- package/dist/utils/wellbores/data/Group.d.ts +0 -48
- package/dist/utils/wellbores/data/RootData.d.ts +0 -29
- package/dist/utils/wellbores/data/SourceData.d.ts +0 -25
- package/dist/utils/wellbores/data/WellboreData.d.ts +0 -76
- package/dist/utils/wellbores/data/WellboreEventData.d.ts +0 -16
- package/dist/utils/wellbores/data/details/Detail.d.ts +0 -20
- package/dist/utils/wellbores/data/details/DetailOptions.d.ts +0 -7
- package/dist/utils/wellbores/data/details/ShoeDetail.d.ts +0 -14
- package/dist/utils/wellbores/data/details/index.d.ts +0 -11
- package/dist/utils/wellbores/data/index.d.ts +0 -6
- package/dist/utils/wellbores/highlight-helper.d.ts +0 -6
- package/dist/utils/wellbores/intervals.d.ts +0 -15
- package/dist/utils/wellbores/labels/Label.d.ts +0 -39
- package/dist/utils/wellbores/labels/index.d.ts +0 -2
- package/dist/utils/wellbores/labels/label-helper.d.ts +0 -3
- package/dist/utils/wellbores/registries/CallbackRegistry.d.ts +0 -23
- package/dist/utils/wellbores/registries/ColorRegistry.d.ts +0 -22
- package/dist/utils/wellbores/registries/index.d.ts +0 -2
|
@@ -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,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
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { WellboreData, RootData } from './data';
|
|
2
|
-
export declare class Highlight {
|
|
3
|
-
active: boolean;
|
|
4
|
-
root: RootData;
|
|
5
|
-
wellbores: WellboreData[];
|
|
6
|
-
/** Return true of highlight is single. */
|
|
7
|
-
get single(): boolean;
|
|
8
|
-
/** Get first wellbore. */
|
|
9
|
-
get first(): WellboreData;
|
|
10
|
-
/** Set highlight */
|
|
11
|
-
set(root: RootData, wellbores: WellboreData[]): void;
|
|
12
|
-
private highlightRoot;
|
|
13
|
-
private highlightWellbores;
|
|
14
|
-
clear(): void;
|
|
15
|
-
private clearRoot;
|
|
16
|
-
private clearWellbores;
|
|
17
|
-
equals(root: RootData, wellbores: WellboreData[]): boolean;
|
|
18
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import Vector2 from '@equinor/videx-vector2';
|
|
2
|
-
type projectFunction = (coord: [number, number], zoom?: number) => {
|
|
3
|
-
x: number;
|
|
4
|
-
y: number;
|
|
5
|
-
};
|
|
6
|
-
export default class Projector {
|
|
7
|
-
project: projectFunction;
|
|
8
|
-
constructor(project: projectFunction);
|
|
9
|
-
get(coord: [number, number], zoom?: number): {
|
|
10
|
-
x: number;
|
|
11
|
-
y: number;
|
|
12
|
-
};
|
|
13
|
-
getVector2(coord: [number, number], zoom?: number): Vector2;
|
|
14
|
-
batch(coords: [number, number][], zoom?: number): {
|
|
15
|
-
x: number;
|
|
16
|
-
y: number;
|
|
17
|
-
}[];
|
|
18
|
-
batchVector2(coords: [number, number][], zoom?: number): Vector2[];
|
|
19
|
-
}
|
|
20
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { WellboreData } from './data/WellboreData';
|
|
2
|
-
import { pixiOverlayBase } from '../../pixiOverlayInterfaces';
|
|
3
|
-
type vec2 = [number, number];
|
|
4
|
-
/** Class for handling realtime position of wellbore. */
|
|
5
|
-
export default class RealtimeWellbore {
|
|
6
|
-
private map;
|
|
7
|
-
private root;
|
|
8
|
-
private prevCoords;
|
|
9
|
-
constructor(pixiOverlay: pixiOverlayBase, wellbore: WellboreData);
|
|
10
|
-
constructor(map: L.Map, wellbore: WellboreData);
|
|
11
|
-
/** Get pixel coordinates of wellbore within map. */
|
|
12
|
-
get pixelCoordinates(): vec2;
|
|
13
|
-
/** Get pixel coordinates and check if value have changed since last call */
|
|
14
|
-
getPixelCoordinates(): {
|
|
15
|
-
coords: vec2;
|
|
16
|
-
changed: boolean;
|
|
17
|
-
};
|
|
18
|
-
/** Returns true, if coordinates are equal with delta precision */
|
|
19
|
-
private coordinatesEqual;
|
|
20
|
-
}
|
|
21
|
-
export {};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import * as PIXI from 'pixi.js';
|
|
2
|
-
import { Color } from './Colors';
|
|
3
|
-
type vec3 = [number, number, number];
|
|
4
|
-
/** Uniforms used by the shader. */
|
|
5
|
-
export interface WellboreUniforms {
|
|
6
|
-
/** Color of lighted wellbore on the format: [R, G, B]. */
|
|
7
|
-
wellboreColor1: vec3;
|
|
8
|
-
/** Color of shaded wellbore on the format: [R, G, B]. */
|
|
9
|
-
wellboreColor2: vec3;
|
|
10
|
-
/** True if completion and ticks should be visible. */
|
|
11
|
-
completionVisible: boolean;
|
|
12
|
-
/** True if wellbore should be visible. */
|
|
13
|
-
wellboreVisible: boolean;
|
|
14
|
-
status: number;
|
|
15
|
-
}
|
|
16
|
-
export declare class WellboreShader {
|
|
17
|
-
private static program;
|
|
18
|
-
/**
|
|
19
|
-
* Get shader for wellbore.
|
|
20
|
-
* @param color Color used for wellbore
|
|
21
|
-
* @param wellboreWidth Width of wellbore
|
|
22
|
-
* @return PIXI shader
|
|
23
|
-
*/
|
|
24
|
-
static get(color: Color, completionVisible: boolean, wellboreVisible: boolean): PIXI.Shader;
|
|
25
|
-
/** Build wellbore shader with assigned variables. */
|
|
26
|
-
static build(maxScale: number, wellboreDash: number): void;
|
|
27
|
-
}
|
|
28
|
-
export interface RootUniforms {
|
|
29
|
-
active: boolean;
|
|
30
|
-
circleColor1: [number, number, number];
|
|
31
|
-
circleColor2: [number, number, number];
|
|
32
|
-
rootRadius: number;
|
|
33
|
-
}
|
|
34
|
-
export declare class RootShader {
|
|
35
|
-
private static program;
|
|
36
|
-
/** Get root shader */
|
|
37
|
-
static get(): PIXI.Shader;
|
|
38
|
-
/** Build vertex shader from given resize configs */
|
|
39
|
-
static build(maxScale: number): void;
|
|
40
|
-
}
|
|
41
|
-
export {};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Colors, InputColors } from '../Colors';
|
|
2
|
-
import { WellboreData } from './WellboreData';
|
|
3
|
-
import { SourceData } from './SourceData';
|
|
4
|
-
import { Detail, DetailOptions } from './details';
|
|
5
|
-
export interface GroupOptions {
|
|
6
|
-
order?: number;
|
|
7
|
-
mirrorLabels?: boolean;
|
|
8
|
-
colors?: InputColors;
|
|
9
|
-
}
|
|
10
|
-
interface WellboreState {
|
|
11
|
-
completionVisible: boolean;
|
|
12
|
-
wellboreVisible: boolean;
|
|
13
|
-
}
|
|
14
|
-
type Filter = (data: SourceData) => boolean;
|
|
15
|
-
export declare class Group {
|
|
16
|
-
key: string;
|
|
17
|
-
colors: Colors;
|
|
18
|
-
order: number;
|
|
19
|
-
mirrorLabels: boolean;
|
|
20
|
-
wellbores: WellboreData[];
|
|
21
|
-
details: {
|
|
22
|
-
[key: string]: Detail;
|
|
23
|
-
};
|
|
24
|
-
active: boolean;
|
|
25
|
-
activeFilter: Filter;
|
|
26
|
-
/** Is active filter soft or hard (Ghost) */
|
|
27
|
-
isHardFilter: boolean;
|
|
28
|
-
/** State of wellbores attached to group */
|
|
29
|
-
state: WellboreState;
|
|
30
|
-
constructor(key: string, options?: GroupOptions);
|
|
31
|
-
registerDetail(key: string, detail: DetailOptions): void;
|
|
32
|
-
setDetailVisibility(key: string, visible: boolean): void;
|
|
33
|
-
resetDetails(): void;
|
|
34
|
-
append(wellbore: WellboreData): void;
|
|
35
|
-
/**
|
|
36
|
-
* Iterate over all wellbores and unique roots.
|
|
37
|
-
* @param wellboreFunc Function to call on wellbores
|
|
38
|
-
* @param rootFunc Function to call on roots
|
|
39
|
-
*/
|
|
40
|
-
private forAll;
|
|
41
|
-
setActive(active: boolean): void;
|
|
42
|
-
softFilter(filter: Filter): void;
|
|
43
|
-
hardFilter(filter: Filter): void;
|
|
44
|
-
clearFilter(): void;
|
|
45
|
-
setCompletionVisibility(visible: boolean): void;
|
|
46
|
-
setWellboreVisibility(visible: boolean): void;
|
|
47
|
-
}
|
|
48
|
-
export {};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import * as PIXI from 'pixi.js';
|
|
2
|
-
import Vector2 from '@equinor/videx-vector2';
|
|
3
|
-
import { WellboreData } from './WellboreData';
|
|
4
|
-
export declare class RootData {
|
|
5
|
-
static state: {
|
|
6
|
-
rootRadius: number;
|
|
7
|
-
maxScale: number;
|
|
8
|
-
};
|
|
9
|
-
mesh: PIXI.Mesh;
|
|
10
|
-
wellbores: WellboreData[];
|
|
11
|
-
position: Vector2;
|
|
12
|
-
labelIndex: number;
|
|
13
|
-
rootLabelsBBox: PIXI.Rectangle;
|
|
14
|
-
/** Target wellbore data for color */
|
|
15
|
-
target: WellboreData;
|
|
16
|
-
constructor(position: Vector2);
|
|
17
|
-
/** Active if */
|
|
18
|
-
get active(): boolean;
|
|
19
|
-
private updateLabelsBBox;
|
|
20
|
-
/** Position wellbore label along wellbore. Should never be called if labels are disabled. */
|
|
21
|
-
private positionLabel;
|
|
22
|
-
append(wellbore: WellboreData): void;
|
|
23
|
-
/** Recalculate target and update uniforms */
|
|
24
|
-
recalculate(labelUpdate?: boolean): void;
|
|
25
|
-
private updateTarget;
|
|
26
|
-
private updateUniforms;
|
|
27
|
-
updateLabels(): void;
|
|
28
|
-
setLabelVisibility(visible: boolean): void;
|
|
29
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/** Date for each interval. */
|
|
2
|
-
export interface Interval {
|
|
3
|
-
/** Type of interval [Screen, Perforation]. */
|
|
4
|
-
type: string;
|
|
5
|
-
/** Start of interval as distance along wellbore. */
|
|
6
|
-
start: number;
|
|
7
|
-
/** End of interval as distance along wellbore. */
|
|
8
|
-
end: number;
|
|
9
|
-
/** Start of interval along wellbore as a value between 0 and 1. */
|
|
10
|
-
l1: number;
|
|
11
|
-
/** End of interval along wellbore as a value between 0 and 1. */
|
|
12
|
-
l2: number;
|
|
13
|
-
}
|
|
14
|
-
/** Wellbore data. */
|
|
15
|
-
export interface SourceData {
|
|
16
|
-
[key: string]: any;
|
|
17
|
-
/** Collection of intervals. */
|
|
18
|
-
intervals: Interval[];
|
|
19
|
-
/** Full label of wellbore. */
|
|
20
|
-
label: string;
|
|
21
|
-
/** Short label of wellbore, ie. no country code. */
|
|
22
|
-
labelShort: string;
|
|
23
|
-
/** Path along wellbore on lat/long format. */
|
|
24
|
-
path: [number, number][];
|
|
25
|
-
}
|