@igo2/geo
Version:
44 lines (43 loc) • 1.82 kB
TypeScript
import BasicEvent from 'ol/events/Event';
import type { default as OlGeometry } from 'ol/geom/Geometry';
import OlLineString from 'ol/geom/LineString';
import OlLinearRing from 'ol/geom/LinearRing';
import OlPolygon from 'ol/geom/Polygon';
import * as olstyle from 'ol/style';
import { Units } from '@turf/helpers';
import { FeatureGeometry } from '../../feature';
/**
* Create a default style for draw and modify interactions
* @param color Style color (R, G, B)
* @returns OL style
*/
export declare function createDrawInteractionStyle(color?: [number, number, number]): olstyle.Circle;
/**
* Create a default style for drawing a hole
* @returns OL style
*/
export declare function createDrawHoleInteractionStyle(): olstyle.Style;
/**
* Slice geometry into two parts
* @param olGeometry OL geometry
* @param olSlicer Slicing line
* @returns New OL geometries
*/
export declare function sliceOlGeometry(olGeometry: OlLineString | OlPolygon, olSlicer: OlLineString): (OlLineString | OlPolygon)[];
/**
* Slice OL Polygon into one or more polygons
* @param olPolygon OL polygon
* @param olSlicer Slicing line
* @returns New OL polygons
*/
export declare function sliceOlPolygon(olPolygon: OlPolygon, olSlicer: OlLineString): OlPolygon[];
/**
* Splice geometry into two parts
* @param olGeometry OL geometry
* @param olSlicer Slicing line
* @returns New OL geometries
*/
export declare function addLinearRingToOlPolygon(olPolygon: OlPolygon, olLinearRing: OlLinearRing): void;
export declare function getMousePositionFromOlGeometryEvent(olEvent: BasicEvent): [number, number];
export declare function doesOlGeometryIntersects(olGeometry1: OlGeometry, olGeometry2: OlGeometry): boolean;
export declare function bufferOlGeometry(olGeometry: OlGeometry, dist: number, units?: Units): FeatureGeometry;