@math.gl/polygon 4.0.0-alpha.1 → 4.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import type { NumericArray } from '@math.gl/core';
2
- export type Polygon = {
2
+ export declare type Polygon = {
3
3
  positions: Readonly<NumericArray>;
4
4
  holeIndices?: Readonly<NumericArray>;
5
5
  edgeTypes?: Readonly<NumericArray>;
@@ -1 +1 @@
1
- {"version":3,"file":"cut-by-grid.d.ts","sourceRoot":"","sources":["../src/cut-by-grid.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,YAAY,EACvB,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAkDvB;AAmBD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,EACjC,WAAW,GAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAW,EACjD,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,EAAE,CAmEX"}
1
+ {"version":3,"file":"cut-by-grid.d.ts","sourceRoot":"","sources":["../src/cut-by-grid.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,oBAAY,OAAO,GAAG;IACpB,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,YAAY,EACvB,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAkDvB;AAmBD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,EACjC,WAAW,GAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAW,EACjD,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,EAAE,CAmEX"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
- export { default as Polygon } from './polygon';
1
+ export { Polygon } from './polygon';
2
2
  export { getPolygonSignedArea, getPolygonWindingDirection, forEachSegmentInPolygon, modifyPolygonWindingDirection, WINDING } from './polygon-utils';
3
3
  export { earcut } from './earcut';
4
4
  export { clipPolygon, clipPolyline } from './lineclip';
5
5
  export { cutPolygonByGrid, cutPolylineByGrid } from './cut-by-grid';
6
6
  export { cutPolylineByMercatorBounds, cutPolygonByMercatorBounds } from './cut-by-mercator-bounds';
7
- export { default as _Polygon } from './polygon';
7
+ /** @deprecated */
8
+ export { Polygon as _Polygon } from './polygon';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,WAAW,CAAC;AAE7C,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,OAAO,EACR,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AAErD,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAElE,OAAO,EAAC,2BAA2B,EAAE,0BAA0B,EAAC,MAAM,0BAA0B,CAAC;AAGjG,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,OAAO,EACR,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AAErD,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAElE,OAAO,EAAC,2BAA2B,EAAE,0BAA0B,EAAC,MAAM,0BAA0B,CAAC;AAEjG,kBAAkB;AAClB,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- export { default as Polygon } from "./polygon.js";
1
+ export { Polygon } from "./polygon.js";
2
2
  export { getPolygonSignedArea, getPolygonWindingDirection, forEachSegmentInPolygon, modifyPolygonWindingDirection, WINDING } from "./polygon-utils.js";
3
3
  export { earcut } from "./earcut.js";
4
4
  export { clipPolygon, clipPolyline } from "./lineclip.js";
5
5
  export { cutPolygonByGrid, cutPolylineByGrid } from "./cut-by-grid.js";
6
6
  export { cutPolylineByMercatorBounds, cutPolygonByMercatorBounds } from "./cut-by-mercator-bounds.js";
7
- export { default as _Polygon } from "./polygon.js";
7
+ export { Polygon as _Polygon } from "./polygon.js";
8
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["default","Polygon","getPolygonSignedArea","getPolygonWindingDirection","forEachSegmentInPolygon","modifyPolygonWindingDirection","WINDING","earcut","clipPolygon","clipPolyline","cutPolygonByGrid","cutPolylineByGrid","cutPolylineByMercatorBounds","cutPolygonByMercatorBounds","_Polygon"],"mappings":"SAAQA,OAAO,IAAIC,O;SAGjBC,oB,EACAC,0B,EACAC,uB,EACAC,6B,EACAC,O;SAGMC,M;SAEAC,W,EAAaC,Y;SAEbC,gB,EAAkBC,iB;SAElBC,2B,EAA6BC,0B;SAG7Bb,OAAO,IAAIc,Q","sourcesContent":["export {default as Polygon} from './polygon';\n\nexport {\n getPolygonSignedArea,\n getPolygonWindingDirection,\n forEachSegmentInPolygon,\n modifyPolygonWindingDirection,\n WINDING\n} from './polygon-utils';\n\nexport {earcut} from './earcut';\n\nexport {clipPolygon, clipPolyline} from './lineclip';\n\nexport {cutPolygonByGrid, cutPolylineByGrid} from './cut-by-grid';\n\nexport {cutPolylineByMercatorBounds, cutPolygonByMercatorBounds} from './cut-by-mercator-bounds';\n\n// DEPRECATED\nexport {default as _Polygon} from './polygon';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["Polygon","getPolygonSignedArea","getPolygonWindingDirection","forEachSegmentInPolygon","modifyPolygonWindingDirection","WINDING","earcut","clipPolygon","clipPolyline","cutPolygonByGrid","cutPolylineByGrid","cutPolylineByMercatorBounds","cutPolygonByMercatorBounds","_Polygon"],"mappings":"SAAQA,O;SAGNC,oB,EACAC,0B,EACAC,uB,EACAC,6B,EACAC,O;SAGMC,M;SAEAC,W,EAAaC,Y;SAEbC,gB,EAAkBC,iB;SAElBC,2B,EAA6BC,0B;SAG7BZ,OAAO,IAAIa,Q","sourcesContent":["export {Polygon} from './polygon';\n\nexport {\n getPolygonSignedArea,\n getPolygonWindingDirection,\n forEachSegmentInPolygon,\n modifyPolygonWindingDirection,\n WINDING\n} from './polygon-utils';\n\nexport {earcut} from './earcut';\n\nexport {clipPolygon, clipPolyline} from './lineclip';\n\nexport {cutPolygonByGrid, cutPolylineByGrid} from './cut-by-grid';\n\nexport {cutPolylineByMercatorBounds, cutPolygonByMercatorBounds} from './cut-by-mercator-bounds';\n\n/** @deprecated */\nexport {Polygon as _Polygon} from './polygon';\n"],"file":"index.js"}
@@ -1,5 +1,5 @@
1
1
  import type { NumericArray } from '@math.gl/core';
2
- export type BoundingBox = [number, number, number, number];
2
+ export declare type BoundingBox = [number, number, number, number];
3
3
  /**
4
4
  * Cohen-Sutherland line clipping algorithm, adapted to efficiently
5
5
  * handle polylines rather than just segments
@@ -1 +1 @@
1
- {"version":3,"file":"lineclip.d.ts","sourceRoot":"","sources":["../src/lineclip.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,EACjC,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,MAAM,EAAE,EAAE,CA0DZ;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,EACjC,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,MAAM,EAAE,CAsCV;AAED,2EAA2E;AAE3E,wBAAgB,SAAS,CACvB,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EAAE,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,EACjB,GAAG,GAAE,MAAM,EAAO,GACjB,MAAM,EAAE,CA6BV;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAY9D"}
1
+ {"version":3,"file":"lineclip.d.ts","sourceRoot":"","sources":["../src/lineclip.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,oBAAY,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,EACjC,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,MAAM,EAAE,EAAE,CA0DZ;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,EACjC,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,MAAM,EAAE,CAsCV;AAED,2EAA2E;AAE3E,wBAAgB,SAAS,CACvB,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EAAE,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,EACjB,GAAG,GAAE,MAAM,EAAO,GACjB,MAAM,EAAE,CA6BV;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAY9D"}
@@ -4,14 +4,14 @@ export declare const WINDING: {
4
4
  readonly COUNTER_CLOCKWISE: -1;
5
5
  };
6
6
  /** Polygon representation where each point is represented as a separate array of positions. */
7
- type PointsArray = NumericArray[];
7
+ declare type PointsArray = NumericArray[];
8
8
  /** Segment visitor callback type for polygons defined with flat arrays, */
9
- type SegmentVisitorFlat = (p1x: number, p1y: number, p2x: number, p2y: number, i1: number, i2: number) => void;
9
+ declare type SegmentVisitorFlat = (p1x: number, p1y: number, p2x: number, p2y: number, i1: number, i2: number) => void;
10
10
  /** Segment visitor callback type for polygons defined with array of points. */
11
- export type SegmentVisitorPoints = (p1: NumericArray, p2: NumericArray, i1: number, i2: number) => void;
12
- export type Plane2D = 'xy' | 'yz' | 'xz';
11
+ export declare type SegmentVisitorPoints = (p1: NumericArray, p2: NumericArray, i1: number, i2: number) => void;
12
+ export declare type Plane2D = 'xy' | 'yz' | 'xz';
13
13
  /** Parameters of a polygon. */
14
- type PolygonParams = {
14
+ declare type PolygonParams = {
15
15
  /**
16
16
  * Start index of the polygon in the array of positions.
17
17
  * @default `0`
@@ -1 +1 @@
1
- {"version":3,"file":"polygon-utils.d.ts","sourceRoot":"","sources":["../src/polygon-utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,OAAO;;;CAGV,CAAC;AAEX,+FAA+F;AAC/F,KAAK,WAAW,GAAG,YAAY,EAAE,CAAC;AAElC,2EAA2E;AAC3E,KAAK,kBAAkB,GAAG,CACxB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,KACP,IAAI,CAAC;AAEV,+EAA+E;AAC/E,MAAM,MAAM,oBAAoB,GAAG,CACjC,EAAE,EAAE,YAAY,EAChB,EAAE,EAAE,YAAY,EAChB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,KACP,IAAI,CAAC;AAEV,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzC,+BAA+B;AAC/B,KAAK,aAAa,GAAG;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAOT;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAER;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIlC,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAY9F;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,aAAkB,GAC1B,IAAI,CA+BN;AAqBD;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAOT;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAER;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAYR;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,GAAE,aAAkB,GAC1B,IAAI,CAUN"}
1
+ {"version":3,"file":"polygon-utils.d.ts","sourceRoot":"","sources":["../src/polygon-utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,OAAO;;;CAGV,CAAC;AAEX,+FAA+F;AAC/F,aAAK,WAAW,GAAG,YAAY,EAAE,CAAC;AAElC,2EAA2E;AAC3E,aAAK,kBAAkB,GAAG,CACxB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,KACP,IAAI,CAAC;AAEV,+EAA+E;AAC/E,oBAAY,oBAAoB,GAAG,CACjC,EAAE,EAAE,YAAY,EAChB,EAAE,EAAE,YAAY,EAChB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,KACP,IAAI,CAAC;AAEV,oBAAY,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzC,+BAA+B;AAC/B,aAAK,aAAa,GAAG;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAOT;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAER;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIlC,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAY9F;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,aAAkB,GAC1B,IAAI,CA+BN;AAqBD;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAOT;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAER;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAYR;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,GAAE,aAAkB,GAC1B,IAAI,CAUN"}
package/dist/polygon.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import type { SegmentVisitorPoints } from './polygon-utils';
2
2
  import type { NumericArray } from '@math.gl/core';
3
- export type PolygonOptions = {
3
+ export declare type PolygonOptions = {
4
4
  start?: number;
5
5
  end?: number;
6
6
  size?: number;
7
7
  isClosed?: boolean;
8
8
  };
9
- export default class Polygon {
9
+ export declare class Polygon {
10
10
  points: NumericArray | number[][];
11
11
  isFlatArray: boolean;
12
12
  options: PolygonOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"polygon.d.ts","sourceRoot":"","sources":["../src/polygon.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAWhD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,EAAE,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;gBAEZ,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,EAAE,EAAE,OAAO,GAAE,cAAmB;IAc3E;;;OAGG;IACH,aAAa,IAAI,MAAM;IAMvB;;;OAGG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAgBnD;;;;OAIG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAMnD"}
1
+ {"version":3,"file":"polygon.d.ts","sourceRoot":"","sources":["../src/polygon.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAWhD,oBAAY,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,qBAAa,OAAO;IAClB,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,EAAE,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;gBAEZ,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,EAAE,EAAE,OAAO,GAAE,cAAmB;IAc3E;;;OAGG;IACH,aAAa,IAAI,MAAM;IAMvB;;;OAGG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAgBnD;;;;OAIG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAMnD"}
package/dist/polygon.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import { isArray } from '@math.gl/core';
3
3
  import { getPolygonSignedArea, forEachSegmentInPolygon, modifyPolygonWindingDirection, getPolygonSignedAreaPoints, forEachSegmentInPolygonPoints, modifyPolygonWindingDirectionPoints } from "./polygon-utils.js";
4
- export default class Polygon {
4
+ export class Polygon {
5
5
  constructor(points, options = {}) {
6
6
  _defineProperty(this, "points", void 0);
7
7
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/polygon.ts"],"names":["isArray","getPolygonSignedArea","forEachSegmentInPolygon","modifyPolygonWindingDirection","getPolygonSignedAreaPoints","forEachSegmentInPolygonPoints","modifyPolygonWindingDirectionPoints","Polygon","constructor","points","options","isFlatArray","start","end","length","size","isClosed","Object","freeze","getSignedArea","getArea","Math","abs","getWindingDirection","sign","forEachSegment","visitor","x1","y1","x2","y2","i1","i2","modifyWindingDirection","direction"],"mappings":";AACA,SAAQA,OAAR,QAAsB,eAAtB;SAKEC,oB,EACAC,uB,EACAC,6B,EACAC,0B,EACAC,6B,EACAC,mC;AAUF,eAAe,MAAMC,OAAN,CAAc;AAK3BC,EAAAA,WAAW,CAACC,MAAD,EAAoCC,OAAuB,GAAG,EAA9D,EAAkE;AAAA;;AAAA;;AAAA;;AAC3E,SAAKD,MAAL,GAAcA,MAAd;AACA,SAAKE,WAAL,GAAmB,CAACX,OAAO,CAACS,MAAM,CAAC,CAAD,CAAP,CAA3B;AAEA,SAAKC,OAAL,GAAe;AACbE,MAAAA,KAAK,EAAEF,OAAO,CAACE,KAAR,IAAiB,CADX;AAEbC,MAAAA,GAAG,EAAEH,OAAO,CAACG,GAAR,IAAeJ,MAAM,CAACK,MAFd;AAGbC,MAAAA,IAAI,EAAEL,OAAO,CAACK,IAAR,IAAgB,CAHT;AAIbC,MAAAA,QAAQ,EAAEN,OAAO,CAACM;AAJL,KAAf;AAOAC,IAAAA,MAAM,CAACC,MAAP,CAAc,IAAd;AACD;;AAMDC,EAAAA,aAAa,GAAW;AACtB,QAAI,KAAKR,WAAT,EAAsB,OAAOV,oBAAoB,CAAC,KAAKQ,MAAN,EAA8B,KAAKC,OAAnC,CAA3B;AAEtB,WAAON,0BAA0B,CAAC,KAAKK,MAAN,EAA4B,KAAKC,OAAjC,CAAjC;AACD;;AAMDU,EAAAA,OAAO,GAAW;AAChB,WAAOC,IAAI,CAACC,GAAL,CAAS,KAAKH,aAAL,EAAT,CAAP;AACD;;AAMDI,EAAAA,mBAAmB,GAAW;AAC5B,WAAOF,IAAI,CAACG,IAAL,CAAU,KAAKL,aAAL,EAAV,CAAP;AACD;;AAMDM,EAAAA,cAAc,CAACC,OAAD,EAAsC;AAClD,QAAI,KAAKf,WAAT,EAAsB;AACpBT,MAAAA,uBAAuB,CACrB,KAAKO,MADgB,EAGrB,CAACkB,EAAD,EAAKC,EAAL,EAASC,EAAT,EAAaC,EAAb,EAAiBC,EAAjB,EAAqBC,EAArB,KAA4B;AAE1BN,QAAAA,OAAO,CAAC,CAACC,EAAD,EAAKC,EAAL,CAAD,EAAW,CAACC,EAAD,EAAKC,EAAL,CAAX,EAAqBC,EAArB,EAAyBC,EAAzB,CAAP;AACD,OANoB,EAOrB,KAAKtB,OAPgB,CAAvB;AASD,KAVD,MAUO;AACLL,MAAAA,6BAA6B,CAAC,KAAKI,MAAN,EAA4BiB,OAA5B,EAAqC,KAAKhB,OAA1C,CAA7B;AACD;AACF;;AAODuB,EAAAA,sBAAsB,CAACC,SAAD,EAA6B;AACjD,QAAI,KAAKvB,WAAT,EAAsB;AACpB,aAAOR,6BAA6B,CAAC,KAAKM,MAAN,EAA8ByB,SAA9B,EAAyC,KAAKxB,OAA9C,CAApC;AACD;;AACD,WAAOJ,mCAAmC,CAAC,KAAKG,MAAN,EAA4ByB,SAA5B,EAAuC,KAAKxB,OAA5C,CAA1C;AACD;;AA3E0B","sourcesContent":["/* eslint-disable no-undef, no-console */\nimport {isArray} from '@math.gl/core';\nimport type {SegmentVisitorPoints} from './polygon-utils';\nimport type {NumericArray} from '@math.gl/core';\n\nimport {\n getPolygonSignedArea,\n forEachSegmentInPolygon,\n modifyPolygonWindingDirection,\n getPolygonSignedAreaPoints,\n forEachSegmentInPolygonPoints,\n modifyPolygonWindingDirectionPoints\n} from './polygon-utils';\n\nexport type PolygonOptions = {\n start?: number;\n end?: number;\n size?: number;\n isClosed?: boolean;\n};\n\nexport default class Polygon {\n points: NumericArray | number[][];\n isFlatArray: boolean;\n options: PolygonOptions;\n\n constructor(points: NumericArray | number[][], options: PolygonOptions = {}) {\n this.points = points;\n this.isFlatArray = !isArray(points[0]);\n\n this.options = {\n start: options.start || 0,\n end: options.end || points.length,\n size: options.size || 2,\n isClosed: options.isClosed\n };\n\n Object.freeze(this);\n }\n\n /**\n * Returns signed area of the polygon.\n * @returns Signed area of the polygon.\n */\n getSignedArea(): number {\n if (this.isFlatArray) return getPolygonSignedArea(this.points as NumericArray, this.options);\n\n return getPolygonSignedAreaPoints(this.points as number[][], this.options);\n }\n\n /**\n * Returns absolute area of the polygon.\n * @returns Absolute area of the polygon.\n */\n getArea(): number {\n return Math.abs(this.getSignedArea());\n }\n\n /**\n * Returns winding direction of the polygon.\n * @returns Winding direction of the polygon. 1 is for clockwise, -1 for counterclockwise winding direction.\n */\n getWindingDirection(): number {\n return Math.sign(this.getSignedArea());\n }\n\n /**\n * Calls the visitor callback for each segment in the polygon.\n * @param visitor A callback to call for each segment.\n */\n forEachSegment(visitor: SegmentVisitorPoints): void {\n if (this.isFlatArray) {\n forEachSegmentInPolygon(\n this.points as NumericArray,\n // eslint-disable-next-line max-params\n (x1, y1, x2, y2, i1, i2) => {\n // TODO @igorDykhta original visitor uses arrays for each point, but with flat arrays performance degrades if we allocate points for each segment\n visitor([x1, y1], [x2, y2], i1, i2);\n },\n this.options\n );\n } else {\n forEachSegmentInPolygonPoints(this.points as number[][], visitor, this.options);\n }\n }\n\n /**\n * Checks winding direction of the polygon and reverses the polygon in case of opposite winding direction.\n * @param direction Requested winding direction. 1 is for clockwise, -1 for counterclockwise winding direction.\n * @return Returns true if the winding direction was changed.\n */\n modifyWindingDirection(direction: number): boolean {\n if (this.isFlatArray) {\n return modifyPolygonWindingDirection(this.points as NumericArray, direction, this.options);\n }\n return modifyPolygonWindingDirectionPoints(this.points as number[][], direction, this.options);\n }\n}\n"],"file":"polygon.js"}
1
+ {"version":3,"sources":["../src/polygon.ts"],"names":["isArray","getPolygonSignedArea","forEachSegmentInPolygon","modifyPolygonWindingDirection","getPolygonSignedAreaPoints","forEachSegmentInPolygonPoints","modifyPolygonWindingDirectionPoints","Polygon","constructor","points","options","isFlatArray","start","end","length","size","isClosed","Object","freeze","getSignedArea","getArea","Math","abs","getWindingDirection","sign","forEachSegment","visitor","x1","y1","x2","y2","i1","i2","modifyWindingDirection","direction"],"mappings":";AACA,SAAQA,OAAR,QAAsB,eAAtB;SAKEC,oB,EACAC,uB,EACAC,6B,EACAC,0B,EACAC,6B,EACAC,mC;AAUF,OAAO,MAAMC,OAAN,CAAc;AAKnBC,EAAAA,WAAW,CAACC,MAAD,EAAoCC,OAAuB,GAAG,EAA9D,EAAkE;AAAA;;AAAA;;AAAA;;AAC3E,SAAKD,MAAL,GAAcA,MAAd;AACA,SAAKE,WAAL,GAAmB,CAACX,OAAO,CAACS,MAAM,CAAC,CAAD,CAAP,CAA3B;AAEA,SAAKC,OAAL,GAAe;AACbE,MAAAA,KAAK,EAAEF,OAAO,CAACE,KAAR,IAAiB,CADX;AAEbC,MAAAA,GAAG,EAAEH,OAAO,CAACG,GAAR,IAAeJ,MAAM,CAACK,MAFd;AAGbC,MAAAA,IAAI,EAAEL,OAAO,CAACK,IAAR,IAAgB,CAHT;AAIbC,MAAAA,QAAQ,EAAEN,OAAO,CAACM;AAJL,KAAf;AAOAC,IAAAA,MAAM,CAACC,MAAP,CAAc,IAAd;AACD;;AAMDC,EAAAA,aAAa,GAAW;AACtB,QAAI,KAAKR,WAAT,EAAsB,OAAOV,oBAAoB,CAAC,KAAKQ,MAAN,EAA8B,KAAKC,OAAnC,CAA3B;AAEtB,WAAON,0BAA0B,CAAC,KAAKK,MAAN,EAA4B,KAAKC,OAAjC,CAAjC;AACD;;AAMDU,EAAAA,OAAO,GAAW;AAChB,WAAOC,IAAI,CAACC,GAAL,CAAS,KAAKH,aAAL,EAAT,CAAP;AACD;;AAMDI,EAAAA,mBAAmB,GAAW;AAC5B,WAAOF,IAAI,CAACG,IAAL,CAAU,KAAKL,aAAL,EAAV,CAAP;AACD;;AAMDM,EAAAA,cAAc,CAACC,OAAD,EAAsC;AAClD,QAAI,KAAKf,WAAT,EAAsB;AACpBT,MAAAA,uBAAuB,CACrB,KAAKO,MADgB,EAGrB,CAACkB,EAAD,EAAKC,EAAL,EAASC,EAAT,EAAaC,EAAb,EAAiBC,EAAjB,EAAqBC,EAArB,KAA4B;AAE1BN,QAAAA,OAAO,CAAC,CAACC,EAAD,EAAKC,EAAL,CAAD,EAAW,CAACC,EAAD,EAAKC,EAAL,CAAX,EAAqBC,EAArB,EAAyBC,EAAzB,CAAP;AACD,OANoB,EAOrB,KAAKtB,OAPgB,CAAvB;AASD,KAVD,MAUO;AACLL,MAAAA,6BAA6B,CAAC,KAAKI,MAAN,EAA4BiB,OAA5B,EAAqC,KAAKhB,OAA1C,CAA7B;AACD;AACF;;AAODuB,EAAAA,sBAAsB,CAACC,SAAD,EAA6B;AACjD,QAAI,KAAKvB,WAAT,EAAsB;AACpB,aAAOR,6BAA6B,CAAC,KAAKM,MAAN,EAA8ByB,SAA9B,EAAyC,KAAKxB,OAA9C,CAApC;AACD;;AACD,WAAOJ,mCAAmC,CAAC,KAAKG,MAAN,EAA4ByB,SAA5B,EAAuC,KAAKxB,OAA5C,CAA1C;AACD;;AA3EkB","sourcesContent":["/* eslint-disable no-undef, no-console */\nimport {isArray} from '@math.gl/core';\nimport type {SegmentVisitorPoints} from './polygon-utils';\nimport type {NumericArray} from '@math.gl/core';\n\nimport {\n getPolygonSignedArea,\n forEachSegmentInPolygon,\n modifyPolygonWindingDirection,\n getPolygonSignedAreaPoints,\n forEachSegmentInPolygonPoints,\n modifyPolygonWindingDirectionPoints\n} from './polygon-utils';\n\nexport type PolygonOptions = {\n start?: number;\n end?: number;\n size?: number;\n isClosed?: boolean;\n};\n\nexport class Polygon {\n points: NumericArray | number[][];\n isFlatArray: boolean;\n options: PolygonOptions;\n\n constructor(points: NumericArray | number[][], options: PolygonOptions = {}) {\n this.points = points;\n this.isFlatArray = !isArray(points[0]);\n\n this.options = {\n start: options.start || 0,\n end: options.end || points.length,\n size: options.size || 2,\n isClosed: options.isClosed\n };\n\n Object.freeze(this);\n }\n\n /**\n * Returns signed area of the polygon.\n * @returns Signed area of the polygon.\n */\n getSignedArea(): number {\n if (this.isFlatArray) return getPolygonSignedArea(this.points as NumericArray, this.options);\n\n return getPolygonSignedAreaPoints(this.points as number[][], this.options);\n }\n\n /**\n * Returns absolute area of the polygon.\n * @returns Absolute area of the polygon.\n */\n getArea(): number {\n return Math.abs(this.getSignedArea());\n }\n\n /**\n * Returns winding direction of the polygon.\n * @returns Winding direction of the polygon. 1 is for clockwise, -1 for counterclockwise winding direction.\n */\n getWindingDirection(): number {\n return Math.sign(this.getSignedArea());\n }\n\n /**\n * Calls the visitor callback for each segment in the polygon.\n * @param visitor A callback to call for each segment.\n */\n forEachSegment(visitor: SegmentVisitorPoints): void {\n if (this.isFlatArray) {\n forEachSegmentInPolygon(\n this.points as NumericArray,\n // eslint-disable-next-line max-params\n (x1, y1, x2, y2, i1, i2) => {\n // TODO @igorDykhta original visitor uses arrays for each point, but with flat arrays performance degrades if we allocate points for each segment\n visitor([x1, y1], [x2, y2], i1, i2);\n },\n this.options\n );\n } else {\n forEachSegmentInPolygonPoints(this.points as number[][], visitor, this.options);\n }\n }\n\n /**\n * Checks winding direction of the polygon and reverses the polygon in case of opposite winding direction.\n * @param direction Requested winding direction. 1 is for clockwise, -1 for counterclockwise winding direction.\n * @return Returns true if the winding direction was changed.\n */\n modifyWindingDirection(direction: number): boolean {\n if (this.isFlatArray) {\n return modifyPolygonWindingDirection(this.points as NumericArray, direction, this.options);\n }\n return modifyPolygonWindingDirectionPoints(this.points as number[][], direction, this.options);\n }\n}\n"],"file":"polygon.js"}
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
9
- "version": "4.0.0-alpha.1",
9
+ "version": "4.0.0-alpha.2",
10
10
  "keywords": [
11
11
  "webgl",
12
12
  "javascript",
@@ -26,7 +26,7 @@
26
26
  "src"
27
27
  ],
28
28
  "dependencies": {
29
- "@math.gl/core": "4.0.0-alpha.1"
29
+ "@math.gl/core": "4.0.0-alpha.2"
30
30
  },
31
- "gitHead": "66f872ea615a3ef81431595727cdf58dcadf3670"
31
+ "gitHead": "2e693639e3cf898fee8e323c93efdd07be7c2ca7"
32
32
  }
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- export {default as Polygon} from './polygon';
1
+ export {Polygon} from './polygon';
2
2
 
3
3
  export {
4
4
  getPolygonSignedArea,
@@ -16,5 +16,5 @@ export {cutPolygonByGrid, cutPolylineByGrid} from './cut-by-grid';
16
16
 
17
17
  export {cutPolylineByMercatorBounds, cutPolygonByMercatorBounds} from './cut-by-mercator-bounds';
18
18
 
19
- // DEPRECATED
20
- export {default as _Polygon} from './polygon';
19
+ /** @deprecated */
20
+ export {Polygon as _Polygon} from './polygon';
package/src/polygon.ts CHANGED
@@ -19,7 +19,7 @@ export type PolygonOptions = {
19
19
  isClosed?: boolean;
20
20
  };
21
21
 
22
- export default class Polygon {
22
+ export class Polygon {
23
23
  points: NumericArray | number[][];
24
24
  isFlatArray: boolean;
25
25
  options: PolygonOptions;