import { FiniteFilterType, GeometryFilter, GeometryType, Geometry } from "../../internal"; /** * Point filter for finite checks on x and y properties, optionally filter on z * and m properties and non finite values (NaN or infinity) */ export declare class PointFiniteFilter implements GeometryFilter { /** * Finite Filter type */ private _type; /** * Include z values in filtering */ _filterZ: boolean; /** * Include m values in filtering */ _filterM: boolean; /** * Default Constructor, filter on x and y, allowing only finite values */ constructor(type: FiniteFilterType, filterZ?: boolean, filterM?: boolean); /** * Get the finite filter type * * @return finite filter type */ getType(): FiniteFilterType; /** * Set the finite filter type, null defaults to * {@link FiniteFilterType#FINITE} * * @param type * finite filter type */ setType(type: FiniteFilterType): void; /** * Is filtering for z values enabled? * * @return true if z filtering */ isFilterZ(): boolean; /** * Set the z value filtering mode * * @param filterZ * true to z filter */ setFilterZ(filterZ: boolean): void; /** * Is filtering for m values enabled? * * @return true if m filtering */ isFilterM(): boolean; /** * Set the m value filtering mode * * @param filterM * true to m filter */ setFilterM(filterM: boolean): void; /** * {@inheritDoc} */ filter(containingType: GeometryType, geometry: Geometry): boolean; /** * Filter the point * * @param point point * @return true if passes filter and point should be included */ private filterPoint; /** * Filter the double value * @param value double value * @return */ private filterValue; /** * Filter the Z value * * @param point * point * @return true if passes */ private filterZ; /** * Filter the M value * * @param point * point * @return true if passes */ private filterM; }