UNPKG

@webviz/subsurface-viewer

Version:

3D visualization component for subsurface reservoir data

36 lines (35 loc) 1.99 kB
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];