All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.geom.MultiLineString.d.ts Maven / Gradle / Ivy

The newest version!
export default MultiLineString;
/**
 * @classdesc
 * Multi-linestring geometry.
 *
 * @api
 */
declare class MultiLineString extends SimpleGeometry {
    /**
     * @param {Array|LineString>|Array} coordinates
     *     Coordinates or LineString geometries. (For internal use, flat coordinates in
     *     combination with `layout` and `ends` are also accepted.)
     * @param {import("./Geometry.js").GeometryLayout} [layout] Layout.
     * @param {Array} [ends] Flat coordinate ends for internal use.
     */
    constructor(coordinates: Array | LineString> | Array, layout?: import("./Geometry.js").GeometryLayout | undefined, ends?: number[] | undefined);
    /**
     * @type {Array}
     * @private
     */
    private ends_;
    /**
     * @private
     * @type {number}
     */
    private maxDelta_;
    /**
     * @private
     * @type {number}
     */
    private maxDeltaRevision_;
    /**
     * Append the passed linestring to the multilinestring.
     * @param {LineString} lineString LineString.
     * @api
     */
    appendLineString(lineString: LineString): void;
    /**
     * Make a complete copy of the geometry.
     * @return {!MultiLineString} Clone.
     * @api
     * @override
     */
    override clone(): MultiLineString;
    /**
     * Returns the coordinate at `m` using linear interpolation, or `null` if no
     * such coordinate exists.
     *
     * `extrapolate` controls extrapolation beyond the range of Ms in the
     * MultiLineString. If `extrapolate` is `true` then Ms less than the first
     * M will return the first coordinate and Ms greater than the last M will
     * return the last coordinate.
     *
     * `interpolate` controls interpolation between consecutive LineStrings
     * within the MultiLineString. If `interpolate` is `true` the coordinates
     * will be linearly interpolated between the last coordinate of one LineString
     * and the first coordinate of the next LineString.  If `interpolate` is
     * `false` then the function will return `null` for Ms falling between
     * LineStrings.
     *
     * @param {number} m M.
     * @param {boolean} [extrapolate] Extrapolate. Default is `false`.
     * @param {boolean} [interpolate] Interpolate. Default is `false`.
     * @return {import("../coordinate.js").Coordinate|null} Coordinate.
     * @api
     */
    getCoordinateAtM(m: number, extrapolate?: boolean | undefined, interpolate?: boolean | undefined): import("../coordinate.js").Coordinate | null;
    /**
     * Return the coordinates of the multilinestring.
     * @return {Array>} Coordinates.
     * @api
     * @override
     */
    override getCoordinates(): Array>;
    /**
     * @return {Array} Ends.
     */
    getEnds(): Array;
    /**
     * Return the linestring at the specified index.
     * @param {number} index Index.
     * @return {LineString} LineString.
     * @api
     */
    getLineString(index: number): LineString;
    /**
     * Return the linestrings of this multilinestring.
     * @return {Array} LineStrings.
     * @api
     */
    getLineStrings(): Array;
    /**
     * @return {Array} Flat midpoints.
     */
    getFlatMidpoints(): Array;
    /**
     * @param {number} squaredTolerance Squared tolerance.
     * @return {MultiLineString} Simplified MultiLineString.
     * @protected
     * @override
     */
    protected override getSimplifiedGeometryInternal(squaredTolerance: number): MultiLineString;
    /**
     * Set the coordinates of the multilinestring.
     * @param {!Array>} coordinates Coordinates.
     * @param {import("./Geometry.js").GeometryLayout} [layout] Layout.
     * @api
     * @override
     */
    override setCoordinates(coordinates: Array>, layout?: import("./Geometry.js").GeometryLayout | undefined): void;
}
import SimpleGeometry from './SimpleGeometry.js';
import LineString from './LineString.js';
//# sourceMappingURL=MultiLineString.d.ts.map




© 2015 - 2024 Weber Informatics LLC | Privacy Policy