@webviz/subsurface-viewer
Version:
3D visualization component for subsurface reservoir data
36 lines (35 loc) • 1.99 kB
TypeScript
import type { FeatureCollection, GeometryCollection } from "geojson";
import type { Point3D } from "../../../utils";
export declare const DEFAULT_TOLERANCE = 0.01;
export declare function removeConsecutiveDuplicates(coords: Point3D[], mds: number[]): [Point3D[], number[]];
export declare function checkWells(data: FeatureCollection): void;
/**
* Given four points P0, P1, P2, P4 and a argument t in the interval [0,1].
* returns function value at t. t == 0 corresponds to P1 and t == 1 corrsponds to P2
*
* See https://qroph.github.io/2018/07/30/smooth-paths-using-catmull-rom-splines.html
*/
export declare function CatmullRom1D(P0: number, P1: number, P2: number, P3: number, t: number): number;
/**
* Given four 3D points P0, P1, P2, P4 and a scalar argument t in the interval [0,1].
* returns function value (3D) at t. t == 0 corresponds to P1 and t == 1 corrsponds to P2
*
* See https://qroph.github.io/2018/07/30/smooth-paths-using-catmull-rom-splines.html
*/
export declare function CatmullRom(P0: Point3D, P1: Point3D, P2: Point3D, P3: Point3D, t: number): Point3D;
/**
* Will interpolate and refine wellpaths using spline interploation resulting
* in smoother curves with more points.
* Assumes 3D data.
*/
export declare function splineRefine<TFeatureCollection extends FeatureCollection<GeometryCollection>>(data_in: TFeatureCollection, stepCount?: number): TFeatureCollection;
/**
* Will reduce/coarse the wellpaths.
*/
export declare function coarsenWells(dataIn: FeatureCollection<GeometryCollection>, tolerance?: number): FeatureCollection<GeometryCollection>;
export declare function flattenPath(data_in: FeatureCollection): FeatureCollection;
export declare function invertPath<TFeatureCollection extends FeatureCollection<GeometryCollection>>(data_in: TFeatureCollection): TFeatureCollection;
/**
* Calculates bounding box of all wells.
*/
export declare function GetBoundingBox(data: FeatureCollection): [number, number, number, number, number, number];