import { Geometry, Point, Line } from "./internal"; /** * Geometry envelope */ export declare class GeometryEnvelope { /** * Min X */ private _minX; /** * Max X */ private _maxX; /** * Min Y */ private _minY; /** * Max Y */ private _maxY; /** * True if has z coordinates */ private _hasZ; /** * Min Z */ private _minZ; /** * Max Z */ private _maxZ; /** * True if has M measurements */ private _hasM; /** * Min M */ private _minM; /** * Max M */ private _maxM; constructor(); constructor(envelope: GeometryEnvelope); constructor(hasZ: boolean, hasM: boolean); constructor(minX: number, minY: number, maxX: number, maxY: number); constructor(minX: number, minY: number, minZ: number, maxX: number, maxY: number, maxZ: number); constructor(minX: number, minY: number, minZ: number, minM: number, maxX: number, maxY: number, maxZ: number, maxM: number); /** * True if has Z coordinates * * @return has z * @see #hasZ() */ is3D(): boolean; /** * True if has M measurements * @return has m * @see #hasM() */ isMeasured(): boolean; /** * Get min x * @return min x */ get minX(): number; /** * Set min x * @param minX min x */ set minX(minX: number); /** * Get max x * @return max x */ get maxX(): number; /** * Set max x * @param maxX max x */ set maxX(maxX: number); /** * Get min y * @return min y */ get minY(): number; /** * Set min y * @param minY min y */ set minY(minY: number); /** * Get max y * @return max y */ get maxY(): number; /** * Set max y * @param maxY max y */ set maxY(maxY: number); /** * True if has Z coordinates * @return has z */ get hasZ(): boolean; /** * Set has z coordinates * @param hasZ has z */ set hasZ(hasZ: boolean); /** * Get min z * @return min z */ get minZ(): number; /** * Set min z * @param minZ min z */ set minZ(minZ: number); /** * Get max z * @return max z */ get maxZ(): number; /** * Set max z * @param maxZ max z */ set maxZ(maxZ: number); /** * Has m coordinates * @return true if has m coordinates */ get hasM(): boolean; /** * Set has m coordinates * @param hasM has m */ set hasM(hasM: boolean); /** * Get min m * @return min m */ get minM(): number; /** * Set min m * @param minM min m */ set minM(minM: number); /** * Get max m * @return max m */ get maxM(): number; /** * Set max m * @param maxM max m */ set maxM(maxM: number); /** * Get the x range * @return x range */ get xRange(): number; /** * Get the y range * @return y range */ get yRange(): number; /** * Get the z range * @return z range */ get zRange(): number; /** * Get the m range * @return m range */ get mRange(): number; /** * Determine if the envelope is of a single point * @return true if a single point bounds * @since 2.0.5 */ isPoint(): boolean; /** * Get the top left point * * @return top left point * @since 1.1.1 */ getTopLeft(): Point; /** * Get the bottom left point * * @return bottom left point * @since 1.1.1 */ getBottomLeft(): Point; /** * Get the bottom right point * * @return bottom right point * @since 1.1.1 */ getBottomRight(): Point; /** * Get the top right point * * @return top right point * @since 1.1.1 */ getTopRight(): Point; /** * Get the left line * * @return left line * @since 1.1.1 */ getLeft(): Line; /** * Get the bottom line * * @return bottom line * @since 1.1.1 */ getBottom(): Line; /** * Get the right line * * @return right line * @since 1.1.1 */ getRight(): Line; /** * Get the top line * * @return top line * @since 1.1.1 */ getTop(): Line; /** * Get the envelope mid x * * @return mid x * @since 1.0.3 */ getMidX(): number; /** * Get the envelope mid y * * @return mid y * @since 1.0.3 */ getMidY(): number; /** * Get the envelope centroid point * @return centroid point */ get centroid(): Point; /** * Determine if the envelope is empty * * @return true if empty * @since 1.1.1 */ isEmpty(): boolean; /** * Determine if intersects with the provided envelope * @param envelope geometry envelope * @param allowEmpty allow empty ranges when determining intersection * @return true if intersects */ intersects(envelope: GeometryEnvelope, allowEmpty: boolean): boolean; /** * Get the overlapping geometry envelope with the provided envelope * @param envelope geometry envelope * @param allowEmpty allow empty ranges when determining intersection * @return geometry envelope */ overlap(envelope: GeometryEnvelope, allowEmpty?: boolean): GeometryEnvelope; /** * Get the union geometry envelope combined with the provided envelope * @param envelope geometry envelope * @return geometry envelope */ union(envelope: GeometryEnvelope): GeometryEnvelope; /** * Determine if contains the point * * @param point * point * @return true if contains * @since 1.1.1 */ containsPoint(point: Point): boolean; /** * Determine if contains the point * * @param point * point * @param epsilon * epsilon equality tolerance * @return true if contains * @since 1.1.1 */ containsPointWithEpsilon(point: Point, epsilon: number): boolean; /** * Determine if contains the coordinate * * @param x * x value * @param y * y value * @return true if contains * @since 1.1.1 */ containsCoords(x: number, y: number): boolean; /** * Determine if contains the coordinate * * @param x * x value * @param y * y value * @param epsilon * epsilon equality tolerance * @return true if contains * @since 1.1.1 */ containsCoordsWithEpsilon(x: number, y: number, epsilon: number): boolean; /** * Determine if inclusively contains the provided envelope * @param envelope geometry envelope * @return true if contains */ contains(envelope: GeometryEnvelope): boolean; /** * Determine if inclusively contains the provided envelope * * @param envelope * geometry envelope * @param epsilon * epsilon equality tolerance * @return true if contains * @since 1.1.1 */ containsWithEpsilon(envelope: GeometryEnvelope, epsilon: number): boolean; /** * Build a geometry representation of the geometry envelope * @return geometry, polygon or point */ buildGeometry(): Geometry; /** * Copy the geometry envelope * @return geometry envelope copy */ copy(): GeometryEnvelope; /** * {@inheritDoc} */ equals(obj: GeometryEnvelope): boolean; }