@math.gl/polygon 4.2.0-alpha.5 → 5.0.0-alpha.1

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.
package/dist/index.cjs CHANGED
@@ -41,10 +41,12 @@ var import_core2 = require("@math.gl/core");
41
41
 
42
42
  // dist/polygon-utils.js
43
43
  var import_core = require("@math.gl/core");
44
- var WINDING = {
45
- CLOCKWISE: 1,
46
- COUNTER_CLOCKWISE: -1
47
- };
44
+ var WINDING;
45
+ (function(WINDING2) {
46
+ WINDING2["CLOCKWISE"] = "clockwise";
47
+ WINDING2["COUNTER_CLOCKWISE"] = "counter-clockwise";
48
+ WINDING2["NONE"] = "none";
49
+ })(WINDING || (WINDING = {}));
48
50
  function modifyPolygonWindingDirection(points, direction, options = {}) {
49
51
  const windingDirection = getPolygonWindingDirection(points, options);
50
52
  if (windingDirection !== direction) {
@@ -54,7 +56,7 @@ function modifyPolygonWindingDirection(points, direction, options = {}) {
54
56
  return false;
55
57
  }
56
58
  function getPolygonWindingDirection(points, options = {}) {
57
- return Math.sign(getPolygonSignedArea(points, options));
59
+ return getWindingDirection(getPolygonSignedArea(points, options));
58
60
  }
59
61
  var DimIndex = {
60
62
  x: 0,
@@ -108,7 +110,14 @@ function modifyPolygonWindingDirectionPoints(points, direction, options = {}) {
108
110
  return false;
109
111
  }
110
112
  function getPolygonWindingDirectionPoints(points, options = {}) {
111
- return Math.sign(getPolygonSignedAreaPoints(points, options));
113
+ return getWindingDirection(getPolygonSignedAreaPoints(points, options));
114
+ }
115
+ function getWindingDirection(signedArea) {
116
+ if (signedArea > 0)
117
+ return "clockwise";
118
+ if (signedArea < 0)
119
+ return "counter-clockwise";
120
+ return "none";
112
121
  }
113
122
  function getPolygonSignedAreaPoints(points, options = {}) {
114
123
  const { start = 0, end = points.length, plane = "xy" } = options;
@@ -163,10 +172,15 @@ var Polygon = class {
163
172
  }
164
173
  /**
165
174
  * Returns winding direction of the polygon.
166
- * @returns Winding direction of the polygon. 1 is for clockwise, -1 for counterclockwise winding direction.
175
+ * @returns `'clockwise'`, `'counter-clockwise'`, or `'none'` for a degenerate polygon.
167
176
  */
168
177
  getWindingDirection() {
169
- return Math.sign(this.getSignedArea());
178
+ const signedArea = this.getSignedArea();
179
+ if (signedArea > 0)
180
+ return "clockwise";
181
+ if (signedArea < 0)
182
+ return "counter-clockwise";
183
+ return "none";
170
184
  }
171
185
  /**
172
186
  * Calls the visitor callback for each segment in the polygon.
@@ -188,7 +202,7 @@ var Polygon = class {
188
202
  }
189
203
  /**
190
204
  * Checks winding direction of the polygon and reverses the polygon in case of opposite winding direction.
191
- * @param direction Requested winding direction. 1 is for clockwise, -1 for counterclockwise winding direction.
205
+ * @param direction Requested winding direction.
192
206
  * @return Returns true if the winding direction was changed.
193
207
  */
194
208
  modifyWindingDirection(direction) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/polygon.ts", "../src/polygon-utils.ts", "../src/earcut.ts", "../src/utils.ts", "../src/lineclip.ts", "../src/cut-by-grid.ts", "../src/cut-by-mercator-bounds.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;ACKA,IAAAA,eAAsB;;;ACCtB,kBAAqB;AAGd,IAAM,UAAU;EACrB,WAAW;EACX,mBAAmB;;AA8Df,SAAU,8BACd,QACA,WACA,UAAyB,CAAA,GAAE;AAE3B,QAAM,mBAAmB,2BAA2B,QAAQ,OAAO;AACnE,MAAI,qBAAqB,WAAW;AAClC,mBAAe,QAAQ,OAAO;AAC9B,WAAO;EACT;AACA,SAAO;AACT;AAQM,SAAU,2BACd,QACA,UAAyB,CAAA,GAAE;AAE3B,SAAO,KAAK,KAAK,qBAAqB,QAAQ,OAAO,CAAC;AACxD;AAEO,IAAM,WAAmC;EAC9C,GAAG;EACH,GAAG;EACH,GAAG;;AAUC,SAAU,qBAAqB,QAAsB,UAAyB,CAAA,GAAE;AACpF,QAAM,EAAC,QAAQ,GAAG,MAAM,OAAO,QAAQ,QAAQ,KAAI,IAAI;AACvD,QAAM,MAAM,QAAQ,QAAQ;AAC5B,MAAIC,QAAO;AACX,QAAM,KAAK,SAAS,MAAM,CAAC,CAAC;AAC5B,QAAM,KAAK,SAAS,MAAM,CAAC,CAAC;AAE5B,WAAS,IAAI,OAAO,IAAI,MAAM,KAAK,IAAI,KAAK,KAAK,KAAK;AACpD,IAAAA,UAAS,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,EAAE,MAAM,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,EAAE;AAC3E,QAAI;EACN;AACA,SAAOA,QAAO;AAChB;AAQM,SAAU,wBACd,QACA,SACA,UAAyB,CAAA,GAAE;AAE3B,QAAM,EAAC,QAAQ,GAAG,MAAM,OAAO,QAAQ,OAAO,GAAG,SAAQ,IAAI;AAE7D,QAAM,aAAa,MAAM,SAAS;AAClC,WAAS,IAAI,GAAG,IAAI,YAAY,GAAG,EAAE,GAAG;AACtC,YACE,OAAO,QAAQ,IAAI,IAAI,GACvB,OAAO,QAAQ,IAAI,OAAO,CAAC,GAC3B,OAAO,SAAS,IAAI,KAAK,IAAI,GAC7B,OAAO,SAAS,IAAI,KAAK,OAAO,CAAC,GACjC,GACA,IAAI,CAAC;EAET;AAEA,QAAM,gBAAgB,SAAS,YAAY,KAAK;AAChD,QAAM,aACJ,gBACC,oBAAO,OAAO,KAAK,GAAG,OAAO,aAAa,CAAC,SAC1C,oBAAO,OAAO,QAAQ,CAAC,GAAG,OAAO,gBAAgB,CAAC,CAAC;AAEvD,MAAI,CAAC,YAAY;AACf,YACE,OAAO,aAAa,GACpB,OAAO,gBAAgB,CAAC,GACxB,OAAO,KAAK,GACZ,OAAO,QAAQ,CAAC,GAChB,YAAY,GACZ,CAAC;EAEL;AACF;AAEA,SAAS,eACP,QACA,SAAsD;AAEtD,QAAM,EAAC,QAAQ,GAAG,MAAM,OAAO,QAAQ,OAAO,EAAC,IAAI;AAEnD,QAAM,aAAa,MAAM,SAAS;AAClC,QAAM,WAAW,KAAK,MAAM,YAAY,CAAC;AACzC,WAAS,IAAI,GAAG,IAAI,UAAU,EAAE,GAAG;AACjC,UAAM,KAAK,QAAQ,IAAI;AACvB,UAAM,KAAK,SAAS,YAAY,IAAI,KAAK;AACzC,aAAS,IAAI,GAAG,IAAI,MAAM,EAAE,GAAG;AAC7B,YAAM,MAAM,OAAO,KAAK,CAAC;AACzB,aAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC;AAC9B,aAAO,KAAK,CAAC,IAAI;IACnB;EACF;AACF;AAUM,SAAU,oCACd,QACA,WACA,UAAyB,CAAA,GAAE;AAE3B,QAAM,mBAAmB,iCAAiC,QAAQ,OAAO;AACzE,MAAI,qBAAqB,WAAW;AAClC,WAAO,QAAO;AACd,WAAO;EACT;AACA,SAAO;AACT;AAQM,SAAU,iCACd,QACA,UAAyB,CAAA,GAAE;AAE3B,SAAO,KAAK,KAAK,2BAA2B,QAAQ,OAAO,CAAC;AAC9D;AAQM,SAAU,2BACd,QACA,UAAyB,CAAA,GAAE;AAG3B,QAAM,EAAC,QAAQ,GAAG,MAAM,OAAO,QAAQ,QAAQ,KAAI,IAAI;AACvD,MAAIA,QAAO;AACX,QAAM,KAAK,SAAS,MAAM,CAAC,CAAC;AAC5B,QAAM,KAAK,SAAS,MAAM,CAAC,CAAC;AAE5B,WAAS,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,KAAK,EAAE,GAAG;AAC7C,IAAAA,UAAS,OAAO,CAAC,EAAE,EAAE,IAAI,OAAO,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,EAAE,EAAE,IAAI,OAAO,CAAC,EAAE,EAAE;AACvE,QAAI;EACN;AACA,SAAOA,QAAO;AAChB;AAQM,SAAU,8BACd,QACA,SACA,UAAyB,CAAA,GAAE;AAE3B,QAAM,EAAC,QAAQ,GAAG,MAAM,OAAO,QAAQ,SAAQ,IAAI;AACnD,WAAS,IAAI,OAAO,IAAI,MAAM,GAAG,EAAE,GAAG;AACpC,YAAQ,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;EAC5C;AAEA,QAAM,aAAa,gBAAY,oBAAO,OAAO,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;AAChE,MAAI,CAAC,YAAY;AACf,YAAQ,OAAO,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,MAAM,GAAG,CAAC;EAChD;AACF;;;ADhPM,IAAO,UAAP,MAAc;EAKlB,YAAY,QAAmC,UAA0B,CAAA,GAAE;AACzE,SAAK,SAAS;AACd,SAAK,cAAc,KAAC,sBAAQ,OAAO,CAAC,CAAC;AAErC,SAAK,UAAU;MACb,OAAO,QAAQ,SAAS;MACxB,KAAK,QAAQ,OAAO,OAAO;MAC3B,MAAM,QAAQ,QAAQ;MACtB,UAAU,QAAQ;;AAGpB,WAAO,OAAO,IAAI;EACpB;;;;;EAMA,gBAAa;AACX,QAAI,KAAK;AAAa,aAAO,qBAAqB,KAAK,QAAwB,KAAK,OAAO;AAE3F,WAAO,2BAA2B,KAAK,QAAsB,KAAK,OAAO;EAC3E;;;;;EAMA,UAAO;AACL,WAAO,KAAK,IAAI,KAAK,cAAa,CAAE;EACtC;;;;;EAMA,sBAAmB;AACjB,WAAO,KAAK,KAAK,KAAK,cAAa,CAAE;EACvC;;;;;EAMA,eAAe,SAA6B;AAC1C,QAAI,KAAK,aAAa;AACpB;QACE,KAAK;;QAEL,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,OAAM;AAEzB,kBAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE;QACpC;QACA,KAAK;MAAO;IAEhB,OAAO;AACL,oCAA8B,KAAK,QAAsB,SAAS,KAAK,OAAO;IAChF;EACF;;;;;;EAOA,uBAAuB,WAAiB;AACtC,QAAI,KAAK,aAAa;AACpB,aAAO,8BAA8B,KAAK,QAAwB,WAAW,KAAK,OAAO;IAC3F;AACA,WAAO,oCAAoC,KAAK,QAAsB,WAAW,KAAK,OAAO;EAC/F;;;;AExDI,SAAU,OACd,WACA,aACA,MAAc,GACd,OACA,QAAiB,MAAI;AAErB,QAAM,WAAW,eAAe,YAAY;AAC5C,QAAM,WAAW,WAAW,YAAY,CAAC,IAAI,MAAM,UAAU;AAC7D,MAAI,YAAY,WAAW,WAAW,GAAG,UAAU,KAAK,MAAM,SAAS,MAAM,CAAC,GAAG,KAAK;AACtF,QAAM,YAAY,CAAA;AAElB,MAAI,CAAC,aAAa,UAAU,SAAS,UAAU;AAAM,WAAO;AAE5D,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,MAAI;AAAU,gBAAY,eAAe,WAAW,aAAa,WAAW,KAAK,OAAO,KAAK;AAG7F,MAAI,UAAU,SAAS,KAAK,KAAK;AAC/B,WAAO,OAAO,UAAU,CAAC;AACzB,WAAO,OAAO,UAAU,CAAC;AAEzB,aAAS,IAAI,KAAK,IAAI,UAAU,KAAK,KAAK;AACxC,UAAI,UAAU,CAAC;AACf,UAAI,UAAU,IAAI,CAAC;AACnB,UAAI,IAAI;AAAM,eAAO;AACrB,UAAI,IAAI;AAAM,eAAO;AACrB,UAAI,IAAI;AAAM,eAAO;AACrB,UAAI,IAAI;AAAM,eAAO;IACvB;AAGA,cAAU,KAAK,IAAI,OAAO,MAAM,OAAO,IAAI;AAC3C,cAAU,YAAY,IAAI,QAAQ,UAAU;EAC9C;AAEA,eAAa,WAAW,WAAW,KAAK,MAAM,MAAM,SAAS,CAAC;AAE9D,SAAO;AACT;AAGA,SAAS,WACP,MACA,OACA,KACA,KACA,WACAC,OACA,OAAc;AAEd,MAAI;AACJ,MAAI;AACJ,MAAIA,UAAS,QAAW;AACtB,IAAAA,QAAO,qBAAqB,MAAM,EAAC,OAAO,KAAK,MAAM,KAAK,MAAK,CAAC;EAClE;AAEA,MAAI,KAAK,SAAS,MAAM,CAAC,CAAC;AAC1B,MAAI,KAAK,SAAS,MAAM,CAAC,CAAC;AAI1B,MAAI,cAAcA,QAAO,GAAG;AAC1B,SAAK,IAAI,OAAO,IAAI,KAAK,KAAK;AAAK,aAAO,WAAW,GAAG,KAAK,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,GAAG,IAAI;EAC1F,OAAO;AACL,SAAK,IAAI,MAAM,KAAK,KAAK,OAAO,KAAK;AACnC,aAAO,WAAW,GAAG,KAAK,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,GAAG,IAAI;EACzD;AAEA,MAAI,QAAQC,QAAO,MAAM,KAAK,IAAI,GAAG;AACnC,eAAW,IAAI;AACf,WAAO,KAAK;EACd;AAEA,SAAO;AACT;AAGA,SAAS,aAAa,OAAO,KAAI;AAC/B,MAAI,CAAC;AAAO,WAAO;AACnB,MAAI,CAAC;AAAK,UAAM;AAEhB,MAAI,IAAI;AACR,MAAI;AACJ,KAAG;AACD,YAAQ;AAER,QAAI,CAAC,EAAE,YAAYA,QAAO,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE,IAAI,MAAM,IAAI;AACtE,iBAAW,CAAC;AACZ,UAAI,MAAM,EAAE;AACZ,UAAI,MAAM,EAAE;AAAM;AAClB,cAAQ;IACV,OAAO;AACL,UAAI,EAAE;IACR;EACF,SAAS,SAAS,MAAM;AAExB,SAAO;AACT;AAGA,SAAS,aAAa,KAAK,WAAW,KAAK,MAAM,MAAM,SAAS,MAAK;AACnE,MAAI,CAAC;AAAK;AAGV,MAAI,CAAC,QAAQ;AAAS,eAAW,KAAK,MAAM,MAAM,OAAO;AAEzD,MAAI,OAAO;AACX,MAAI;AACJ,MAAI;AAGJ,SAAO,IAAI,SAAS,IAAI,MAAM;AAC5B,WAAO,IAAI;AACX,WAAO,IAAI;AAEX,QAAI,UAAU,YAAY,KAAK,MAAM,MAAM,OAAO,IAAI,MAAM,GAAG,GAAG;AAEhE,gBAAU,KAAM,KAAK,IAAI,MAAO,CAAC;AACjC,gBAAU,KAAM,IAAI,IAAI,MAAO,CAAC;AAChC,gBAAU,KAAM,KAAK,IAAI,MAAO,CAAC;AAEjC,iBAAW,GAAG;AAGd,YAAM,KAAK;AACX,aAAO,KAAK;AAEZ;IACF;AAEA,UAAM;AAGN,QAAI,QAAQ,MAAM;AAEhB,UAAI,CAAC,MAAM;AACT,qBAAa,aAAa,GAAG,GAAG,WAAW,KAAK,MAAM,MAAM,SAAS,CAAC;MAGxE,WAAW,SAAS,GAAG;AACrB,cAAM,uBAAuB,aAAa,GAAG,GAAG,WAAW,GAAG;AAC9D,qBAAa,KAAK,WAAW,KAAK,MAAM,MAAM,SAAS,CAAC;MAG1D,WAAW,SAAS,GAAG;AACrB,oBAAY,KAAK,WAAW,KAAK,MAAM,MAAM,OAAO;MACtD;AAEA;IACF;EACF;AACF;AAGA,SAAS,MAAM,KAAG;AAChB,QAAM,IAAI,IAAI;AACd,QAAM,IAAI;AACV,QAAM,IAAI,IAAI;AAEd,MAAI,KAAK,GAAG,GAAG,CAAC,KAAK;AAAG,WAAO;AAG/B,QAAM,KAAK,EAAE;AACb,QAAM,KAAK,EAAE;AACb,QAAM,KAAK,EAAE;AACb,QAAM,KAAK,EAAE;AACb,QAAM,KAAK,EAAE;AACb,QAAM,KAAK,EAAE;AAGb,QAAM,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK;AAC1D,QAAM,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK;AAC1D,QAAM,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK;AAC1D,QAAM,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK;AAE1D,MAAI,IAAI,EAAE;AACV,SAAO,MAAM,GAAG;AACd,QACE,EAAE,KAAK,MACP,EAAE,KAAK,MACP,EAAE,KAAK,MACP,EAAE,KAAK,MACP,gBAAgB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,KAChD,KAAK,EAAE,MAAM,GAAG,EAAE,IAAI,KAAK;AAE3B,aAAO;AACT,QAAI,EAAE;EACR;AAEA,SAAO;AACT;AAEA,SAAS,YAAY,KAAK,MAAM,MAAM,SAAO;AAC3C,QAAM,IAAI,IAAI;AACd,QAAM,IAAI;AACV,QAAM,IAAI,IAAI;AAEd,MAAI,KAAK,GAAG,GAAG,CAAC,KAAK;AAAG,WAAO;AAE/B,QAAM,KAAK,EAAE;AACb,QAAM,KAAK,EAAE;AACb,QAAM,KAAK,EAAE;AACb,QAAM,KAAK,EAAE;AACb,QAAM,KAAK,EAAE;AACb,QAAM,KAAK,EAAE;AAGb,QAAM,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK;AAC1D,QAAM,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK;AAC1D,QAAM,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK;AAC1D,QAAM,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK,KAAM,KAAK,KAAK,KAAK;AAG1D,QAAM,OAAO,OAAO,IAAI,IAAI,MAAM,MAAM,OAAO;AAC/C,QAAM,OAAO,OAAO,IAAI,IAAI,MAAM,MAAM,OAAO;AAE/C,MAAI,IAAI,IAAI;AACZ,MAAI,IAAI,IAAI;AAGZ,SAAO,KAAK,EAAE,KAAK,QAAQ,KAAK,EAAE,KAAK,MAAM;AAC3C,QACE,EAAE,KAAK,MACP,EAAE,KAAK,MACP,EAAE,KAAK,MACP,EAAE,KAAK,MACP,MAAM,KACN,MAAM,KACN,gBAAgB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,KAChD,KAAK,EAAE,MAAM,GAAG,EAAE,IAAI,KAAK;AAE3B,aAAO;AACT,QAAI,EAAE;AAEN,QACE,EAAE,KAAK,MACP,EAAE,KAAK,MACP,EAAE,KAAK,MACP,EAAE,KAAK,MACP,MAAM,KACN,MAAM,KACN,gBAAgB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,KAChD,KAAK,EAAE,MAAM,GAAG,EAAE,IAAI,KAAK;AAE3B,aAAO;AACT,QAAI,EAAE;EACR;AAGA,SAAO,KAAK,EAAE,KAAK,MAAM;AACvB,QACE,EAAE,KAAK,MACP,EAAE,KAAK,MACP,EAAE,KAAK,MACP,EAAE,KAAK,MACP,MAAM,KACN,MAAM,KACN,gBAAgB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,KAChD,KAAK,EAAE,MAAM,GAAG,EAAE,IAAI,KAAK;AAE3B,aAAO;AACT,QAAI,EAAE;EACR;AAGA,SAAO,KAAK,EAAE,KAAK,MAAM;AACvB,QACE,EAAE,KAAK,MACP,EAAE,KAAK,MACP,EAAE,KAAK,MACP,EAAE,KAAK,MACP,MAAM,KACN,MAAM,KACN,gBAAgB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,KAChD,KAAK,EAAE,MAAM,GAAG,EAAE,IAAI,KAAK;AAE3B,aAAO;AACT,QAAI,EAAE;EACR;AAEA,SAAO;AACT;AAGA,SAAS,uBAAuB,OAAO,WAAW,KAAG;AACnD,MAAI,IAAI;AACR,KAAG;AACD,UAAM,IAAI,EAAE;AACZ,UAAM,IAAI,EAAE,KAAK;AAEjB,QACE,CAACA,QAAO,GAAG,CAAC,KACZ,WAAW,GAAG,GAAG,EAAE,MAAM,CAAC,KAC1B,cAAc,GAAG,CAAC,KAClB,cAAc,GAAG,CAAC,GAClB;AACA,gBAAU,KAAM,EAAE,IAAI,MAAO,CAAC;AAC9B,gBAAU,KAAM,EAAE,IAAI,MAAO,CAAC;AAC9B,gBAAU,KAAM,EAAE,IAAI,MAAO,CAAC;AAG9B,iBAAW,CAAC;AACZ,iBAAW,EAAE,IAAI;AAEjB,UAAI,QAAQ;IACd;AACA,QAAI,EAAE;EACR,SAAS,MAAM;AAEf,SAAO,aAAa,CAAC;AACvB;AAGA,SAAS,YAAY,OAAO,WAAW,KAAK,MAAM,MAAM,SAAO;AAE7D,MAAI,IAAI;AACR,KAAG;AACD,QAAI,IAAI,EAAE,KAAK;AACf,WAAO,MAAM,EAAE,MAAM;AACnB,UAAI,EAAE,MAAM,EAAE,KAAK,gBAAgB,GAAG,CAAC,GAAG;AAExC,YAAI,IAAI,aAAa,GAAG,CAAC;AAGzB,YAAI,aAAa,GAAG,EAAE,IAAI;AAC1B,YAAI,aAAa,GAAG,EAAE,IAAI;AAG1B,qBAAa,GAAG,WAAW,KAAK,MAAM,MAAM,SAAS,CAAC;AACtD,qBAAa,GAAG,WAAW,KAAK,MAAM,MAAM,SAAS,CAAC;AACtD;MACF;AACA,UAAI,EAAE;IACR;AACA,QAAI,EAAE;EACR,SAAS,MAAM;AACjB;AAGA,SAAS,eACP,MACA,aACA,WACA,KACA,OACA,OAAc;AAEd,QAAM,QAAQ,CAAA;AACd,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,OAAK,IAAI,GAAG,MAAM,YAAY,QAAQ,IAAI,KAAK,KAAK;AAClD,YAAQ,YAAY,CAAC,IAAI;AACzB,UAAM,IAAI,MAAM,IAAI,YAAY,IAAI,CAAC,IAAI,MAAM,KAAK;AACpD,WAAO,WAAW,MAAM,OAAO,KAAK,KAAK,OAAO,SAAS,MAAM,IAAI,CAAC,GAAG,KAAK;AAC5E,QAAI,SAAS,KAAK;AAAM,WAAK,UAAU;AACvC,UAAM,KAAK,YAAY,IAAI,CAAC;EAC9B;AAEA,QAAM,KAAK,QAAQ;AAGnB,OAAK,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACjC,gBAAY,cAAc,MAAM,CAAC,GAAG,SAAS;EAC/C;AAEA,SAAO;AACT;AAEA,SAAS,SAAS,GAAG,GAAC;AACpB,SAAO,EAAE,IAAI,EAAE;AACjB;AAGA,SAAS,cAAc,MAAM,WAAS;AACpC,QAAM,SAAS,eAAe,MAAM,SAAS;AAC7C,MAAI,CAAC,QAAQ;AACX,WAAO;EACT;AAEA,QAAM,gBAAgB,aAAa,QAAQ,IAAI;AAG/C,eAAa,eAAe,cAAc,IAAI;AAC9C,SAAO,aAAa,QAAQ,OAAO,IAAI;AACzC;AAGA,SAAS,eAAe,MAAM,WAAS;AACrC,MAAI,IAAI;AACR,QAAM,KAAK,KAAK;AAChB,QAAM,KAAK,KAAK;AAChB,MAAI,KAAK;AACT,MAAI;AAIJ,KAAG;AACD,QAAI,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,GAAG;AACnD,YAAM,IAAI,EAAE,KAAM,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,MAAO,EAAE,KAAK,IAAI,EAAE;AAChE,UAAI,KAAK,MAAM,IAAI,IAAI;AACrB,aAAK;AACL,YAAI,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE;AAC3B,YAAI,MAAM;AAAI,iBAAO;MACvB;IACF;AACA,QAAI,EAAE;EACR,SAAS,MAAM;AAEf,MAAI,CAAC;AAAG,WAAO;AAMf,QAAM,OAAO;AACb,QAAM,KAAK,EAAE;AACb,QAAM,KAAK,EAAE;AACb,MAAI,SAAS;AACb,MAAI;AAEJ,MAAI;AAEJ,KAAG;AACD,QACE,MAAM,EAAE,KACR,EAAE,KAAK,MACP,OAAO,EAAE,KACT,gBAAgB,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,GAC9E;AACA,YAAM,KAAK,IAAI,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE;AAEnC,UACE,cAAc,GAAG,IAAI,MACpB,MAAM,UACJ,QAAQ,WAAW,EAAE,IAAI,EAAE,KAAM,EAAE,MAAM,EAAE,KAAK,qBAAqB,GAAG,CAAC,KAC5E;AACA,YAAI;AACJ,iBAAS;MACX;IACF;AAEA,QAAI,EAAE;EACR,SAAS,MAAM;AAEf,SAAO;AACT;AAGA,SAAS,qBAAqB,GAAG,GAAC;AAChC,SAAO,KAAK,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI;AAClE;AAGA,SAAS,WAAW,OAAO,MAAM,MAAM,SAAO;AAC5C,MAAI,IAAI;AACR,KAAG;AACD,QAAI,EAAE,MAAM;AAAG,QAAE,IAAI,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,OAAO;AACzD,MAAE,QAAQ,EAAE;AACZ,MAAE,QAAQ,EAAE;AACZ,QAAI,EAAE;EACR,SAAS,MAAM;AAEf,IAAE,MAAM,QAAQ;AAChB,IAAE,QAAQ;AAEV,aAAW,CAAC;AACd;AAIA,SAAS,WAAW,MAAI;AACtB,MAAI;AACJ,MAAI;AACJ,MAAI,SAAS;AACb,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,KAAG;AACD,QAAI;AACJ,WAAO;AACP,WAAO;AACP,gBAAY;AAEZ,WAAO,GAAG;AACR;AACA,UAAI;AACJ,cAAQ;AACR,WAAK,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC3B;AACA,YAAI,EAAE;AACN,YAAI,CAAC;AAAG;MACV;AACA,cAAQ;AAER,aAAO,QAAQ,KAAM,QAAQ,KAAK,GAAI;AACpC,YAAI,UAAU,MAAM,UAAU,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI;AACpD,cAAI;AACJ,cAAI,EAAE;AACN;QACF,OAAO;AACL,cAAI;AACJ,cAAI,EAAE;AACN;QACF;AAEA,YAAI;AAAM,eAAK,QAAQ;;AAClB,iBAAO;AAEZ,UAAE,QAAQ;AACV,eAAO;MACT;AAEA,UAAI;IACN;AAEA,SAAK,QAAQ;AACb,cAAU;EACZ,SAAS,YAAY;AAErB,SAAO;AACT;AAGA,SAAS,OAAO,GAAG,GAAG,MAAM,MAAM,SAAO;AAEvC,OAAM,IAAI,QAAQ,UAAW;AAC7B,OAAM,IAAI,QAAQ,UAAW;AAE7B,OAAK,IAAK,KAAK,KAAM;AACrB,OAAK,IAAK,KAAK,KAAM;AACrB,OAAK,IAAK,KAAK,KAAM;AACrB,OAAK,IAAK,KAAK,KAAM;AAErB,OAAK,IAAK,KAAK,KAAM;AACrB,OAAK,IAAK,KAAK,KAAM;AACrB,OAAK,IAAK,KAAK,KAAM;AACrB,OAAK,IAAK,KAAK,KAAM;AAErB,SAAO,IAAK,KAAK;AACnB;AAGA,SAAS,YAAY,OAAK;AACxB,MAAI,IAAI;AACR,MAAI,WAAW;AACf,KAAG;AACD,QAAI,EAAE,IAAI,SAAS,KAAM,EAAE,MAAM,SAAS,KAAK,EAAE,IAAI,SAAS;AAAI,iBAAW;AAC7E,QAAI,EAAE;EACR,SAAS,MAAM;AAEf,SAAO;AACT;AAGA,SAAS,gBAAgB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAE;AACrD,UACG,KAAK,OAAO,KAAK,QAAQ,KAAK,OAAO,KAAK,QAC1C,KAAK,OAAO,KAAK,QAAQ,KAAK,OAAO,KAAK,QAC1C,KAAK,OAAO,KAAK,QAAQ,KAAK,OAAO,KAAK;AAE/C;AAGA,SAAS,gBAAgB,GAAG,GAAC;AAC3B,SACE,EAAE,KAAK,MAAM,EAAE,KACf,EAAE,KAAK,MAAM,EAAE,KACf,CAAC,kBAAkB,GAAG,CAAC;GACrB,cAAc,GAAG,CAAC,KAClB,cAAc,GAAG,CAAC,KAClB,aAAa,GAAG,CAAC;GAChB,KAAK,EAAE,MAAM,GAAG,EAAE,IAAI,KAAK,KAAK,GAAG,EAAE,MAAM,CAAC;EAC5CA,QAAO,GAAG,CAAC,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI;AAEhF;AAGA,SAAS,KAAK,GAAG,GAAG,GAAC;AACnB,UAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;AAC5D;AAGA,SAASA,QAAO,IAAI,IAAE;AACpB,SAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG;AACtC;AAGA,SAAS,WAAW,IAAI,IAAI,IAAI,IAAE;AAChC,QAAM,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC;AAChC,QAAM,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC;AAChC,QAAM,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC;AAChC,QAAM,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC;AAEhC,MAAI,OAAO,MAAM,OAAO;AAAI,WAAO;AAEnC,MAAI,OAAO,KAAK,UAAU,IAAI,IAAI,EAAE;AAAG,WAAO;AAC9C,MAAI,OAAO,KAAK,UAAU,IAAI,IAAI,EAAE;AAAG,WAAO;AAC9C,MAAI,OAAO,KAAK,UAAU,IAAI,IAAI,EAAE;AAAG,WAAO;AAC9C,MAAI,OAAO,KAAK,UAAU,IAAI,IAAI,EAAE;AAAG,WAAO;AAE9C,SAAO;AACT;AAGA,SAAS,UAAU,GAAG,GAAG,GAAC;AACxB,SACE,EAAE,KAAK,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,KACxB,EAAE,KAAK,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,KACxB,EAAE,KAAK,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,KACxB,EAAE,KAAK,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC;AAE5B;AAEA,SAAS,KAAK,KAAG;AACf,SAAO,MAAM,IAAI,IAAI,MAAM,IAAI,KAAK;AACtC;AAGA,SAAS,kBAAkB,GAAG,GAAC;AAC7B,MAAI,IAAI;AACR,KAAG;AACD,QACE,EAAE,MAAM,EAAE,KACV,EAAE,KAAK,MAAM,EAAE,KACf,EAAE,MAAM,EAAE,KACV,EAAE,KAAK,MAAM,EAAE,KACf,WAAW,GAAG,EAAE,MAAM,GAAG,CAAC;AAE1B,aAAO;AACT,QAAI,EAAE;EACR,SAAS,MAAM;AAEf,SAAO;AACT;AAGA,SAAS,cAAc,GAAG,GAAC;AACzB,SAAO,KAAK,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,IAC7B,KAAK,GAAG,GAAG,EAAE,IAAI,KAAK,KAAK,KAAK,GAAG,EAAE,MAAM,CAAC,KAAK,IACjD,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,MAAM,CAAC,IAAI;AACrD;AAGA,SAAS,aAAa,GAAG,GAAC;AACxB,MAAI,IAAI;AACR,MAAI,SAAS;AACb,QAAM,MAAM,EAAE,IAAI,EAAE,KAAK;AACzB,QAAM,MAAM,EAAE,IAAI,EAAE,KAAK;AACzB,KAAG;AACD,QACE,EAAE,IAAI,OAAO,EAAE,KAAK,IAAI,MACxB,EAAE,KAAK,MAAM,EAAE,KACf,MAAO,EAAE,KAAK,IAAI,EAAE,MAAM,KAAK,EAAE,MAAO,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE;AAE5D,eAAS,CAAC;AACZ,QAAI,EAAE;EACR,SAAS,MAAM;AAEf,SAAO;AACT;AAIA,SAAS,aAAa,GAAG,GAAC;AACxB,QAAM,KAAK,IAAI,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACnC,QAAM,KAAK,IAAI,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACnC,QAAM,KAAK,EAAE;AACb,QAAM,KAAK,EAAE;AAEb,IAAE,OAAO;AACT,IAAE,OAAO;AAET,KAAG,OAAO;AACV,KAAG,OAAO;AAEV,KAAG,OAAO;AACV,KAAG,OAAO;AAEV,KAAG,OAAO;AACV,KAAG,OAAO;AAEV,SAAO;AACT;AAGA,SAAS,WAAW,GAAG,GAAG,GAAG,MAAI;AAC/B,QAAM,IAAI,IAAI,OAAO,GAAG,GAAG,CAAC;AAE5B,MAAI,CAAC,MAAM;AACT,MAAE,OAAO;AACT,MAAE,OAAO;EACX,OAAO;AACL,MAAE,OAAO,KAAK;AACd,MAAE,OAAO;AACT,SAAK,KAAK,OAAO;AACjB,SAAK,OAAO;EACd;AACA,SAAO;AACT;AAEA,SAAS,WAAW,GAAC;AACnB,IAAE,KAAK,OAAO,EAAE;AAChB,IAAE,KAAK,OAAO,EAAE;AAEhB,MAAI,EAAE;AAAO,MAAE,MAAM,QAAQ,EAAE;AAC/B,MAAI,EAAE;AAAO,MAAE,MAAM,QAAQ,EAAE;AACjC;AAEA,IAAM,SAAN,MAAY;EAsBV,YAAY,GAAW,GAAW,GAAS;AAb3C,SAAA,OAAe;AACf,SAAA,OAAe;AAGf,SAAA,IAAY;AAGZ,SAAA,QAAgB;AAChB,SAAA,QAAgB;AAGhB,SAAA,UAAmB;AAGjB,SAAK,IAAI;AACT,SAAK,IAAI;AACT,SAAK,IAAI;EACX;;;;ACpxBI,SAAU,KAAK,QAAkB,QAAgB;AACrD,QAAM,OAAO,OAAO;AACpB,QAAM,aAAa,OAAO;AAG1B,MAAI,aAAa,GAAG;AAClB,QAAI,cAAc;AAClB,aAAS,IAAI,GAAG,IAAI,MAAM,KAAK;AAC7B,UAAI,OAAO,aAAa,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG;AAC/C,sBAAc;AACd;MACF;IACF;AACA,QAAI,aAAa;AACf,aAAO;IACT;EACF;AAEA,WAAS,IAAI,GAAG,IAAI,MAAM,KAAK;AAC7B,WAAO,aAAa,CAAC,IAAI,OAAO,CAAC;EACnC;AACA,SAAO;AACT;AAEM,SAAU,KAAK,QAAkB,QAA8B;AACnE,QAAM,OAAO,OAAO;AACpB,WAAS,IAAI,GAAG,IAAI,MAAM,KAAK;AAC7B,WAAO,CAAC,IAAI,OAAO,CAAC;EACtB;AACF;AAEM,SAAU,gBACd,WACA,OACA,MACA,QACA,MAAgB,CAAA,GAAE;AAElB,QAAM,SAAS,SAAS,QAAQ;AAChC,WAAS,IAAI,GAAG,IAAI,MAAM,KAAK;AAC7B,QAAI,CAAC,IAAI,UAAU,SAAS,CAAC;EAC/B;AACA,SAAO;AACT;;;ACZM,SAAU,aACd,WACA,MACA,SAIC;AAED,QAAM,EAAC,OAAO,GAAG,aAAa,GAAG,WAAW,UAAU,OAAM,IAAI,WAAW,CAAA;AAC3E,QAAM,aAAa,WAAW,cAAc;AAC5C,QAAM,SAAqB,CAAA;AAC3B,MAAI,OAAiB,CAAA;AACrB,MAAI;AACJ,MAAI;AACJ,MAAI,QAAgB;AACpB,MAAI;AACJ,MAAI;AAEJ,WAAS,IAAI,GAAG,IAAI,WAAW,KAAK;AAClC,QAAI,gBAAgB,WAAW,IAAI,GAAG,MAAM,YAAY,CAAC;AACzD,QAAI,gBAAgB,WAAW,GAAG,MAAM,YAAY,CAAC;AACrD,QAAI,QAAQ,GAAG;AACb,cAAQ,QAAQ,GAAG,IAAI;IACzB;AACA,YAAQ,WAAW,QAAQ,GAAG,IAAI;AAGlC,WAAO,MAAM;AACX,UAAI,EAAE,QAAQ,QAAQ;AAEpB,aAAK,MAAM,CAAC;AAEZ,YAAI,UAAU,UAAU;AAEtB,eAAK,MAAM,CAAC;AAEZ,cAAI,IAAI,YAAY,GAAG;AAErB,mBAAO,KAAK,IAAI;AAChB,mBAAO,CAAA;UACT;QACF,WAAW,MAAM,YAAY,GAAG;AAC9B,eAAK,MAAM,CAAC;QACd;AACA;MACF,WAAW,QAAQ,OAAO;AAExB;MACF,WAAW,OAAO;AAEhB,kBAAU,GAAG,GAAG,OAAO,MAAM,CAAC;AAC9B,gBAAQ,QAAQ,GAAG,IAAI;MACzB,OAAO;AAEL,kBAAU,GAAG,GAAG,OAAO,MAAM,CAAC;AAC9B,gBAAQ,QAAQ,GAAG,IAAI;MACzB;IACF;AAEA,YAAQ;EACV;AAEA,MAAI,KAAK;AAAQ,WAAO,KAAK,IAAI;AAEjC,SAAO;AACT;AAMM,SAAU,YACd,WACA,MACA,SAIC;AAED,QAAM,EAAC,OAAO,GAAG,WAAW,UAAU,OAAM,IAAI,WAAW,CAAA;AAC3D,MAAI,EAAC,aAAa,EAAC,IAAI,WAAW,CAAA;AAClC,MAAI,aAAa,WAAW,cAAc;AAC1C,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AAGJ,WAAS,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG;AACvC,aAAS,CAAA;AACT,WAAO,gBAAgB,WAAW,YAAY,GAAG,MAAM,YAAY,IAAI;AACvE,iBAAa,EAAE,QAAQ,MAAM,IAAI,IAAI;AAErC,aAAS,IAAI,GAAG,IAAI,WAAW,KAAK;AAClC,UAAI,gBAAgB,WAAW,GAAG,MAAM,YAAY,CAAC;AACrD,eAAS,EAAE,QAAQ,GAAG,IAAI,IAAI;AAG9B,UAAI,WAAW;AAAY,aAAK,QAAQ,UAAU,MAAM,GAAG,MAAM,IAAI,CAAC;AAEtE,UAAI;AAAQ,aAAK,QAAQ,CAAC;AAE1B,WAAK,MAAM,CAAC;AACZ,mBAAa;IACf;AAGA,gBAAY;AACZ,iBAAa;AACb,gBAAY,OAAO,SAAS;AAE5B,QAAI,CAAC;AAAW;EAClB;AAEA,SAAO;AACT;AAIM,SAAU,UACd,GACA,GACA,MACA,MACA,MAAgB,CAAA,GAAE;AAElB,MAAI;AAIJ,MAAI;AACJ,MAAI,OAAO,GAAG;AAEZ,SAAK,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAClC,WAAO;EACT,WAAW,OAAO,GAAG;AAEnB,SAAK,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAClC,WAAO;EACT,WAAW,OAAO,GAAG;AAEnB,SAAK,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAClC,WAAO;EACT,WAAW,OAAO,GAAG;AAEnB,SAAK,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAClC,WAAO;EACT,OAAO;AACL,WAAO;EACT;AACA,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AACjC,QAAI,CAAC,KAAK,OAAO,OAAO,IAAI,KAAK,IAAI,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;EAClE;AACA,SAAO;AACT;AASM,SAAU,QAAQ,GAAa,MAAiB;AACpD,MAAI,OAAO;AAEX,MAAI,EAAE,CAAC,IAAI,KAAK,CAAC;AAAG,YAAQ;WAEnB,EAAE,CAAC,IAAI,KAAK,CAAC;AAAG,YAAQ;AAEjC,MAAI,EAAE,CAAC,IAAI,KAAK,CAAC;AAAG,YAAQ;WAEnB,EAAE,CAAC,IAAI,KAAK,CAAC;AAAG,YAAQ;AAEjC,SAAO;AACT;;;ACvMM,SAAU,kBACd,WACA,SAOC;AAED,QAAM,EACJ,OAAO,GACP,SAAS,OACT,iBAAiB,IACjB,aAAa,CAAC,GAAG,CAAC,GAClB,aAAa,GACb,WAAW,UAAU,OAAM,IACzB,WAAW,CAAA;AACf,QAAM,aAAa,WAAW,cAAc;AAC5C,MAAI,OAAiB,CAAA;AACrB,QAAM,SAAqB,CAAC,IAAI;AAChC,QAAM,IAAc,gBAAgB,WAAW,GAAG,MAAM,UAAU;AAClE,MAAI;AACJ,MAAI;AACJ,QAAM,OAAoB,YAAY,GAAG,gBAAgB,YAAY,CAAA,CAAE;AACvE,QAAM,eAAyB,CAAA;AAC/B,OAAK,MAAM,CAAC;AAEZ,WAAS,IAAI,GAAG,IAAI,WAAW,KAAK;AAClC,QAAI,gBAAgB,WAAW,GAAG,MAAM,YAAY,CAAC;AACrD,YAAQ,QAAQ,GAAG,IAAI;AAEvB,WAAO,OAAO;AAEZ,gBAAU,GAAG,GAAG,OAAO,MAAM,YAAY;AACzC,YAAM,UAAU,QAAQ,cAAc,IAAI;AAC1C,UAAI,SAAS;AACX,kBAAU,GAAG,cAAc,SAAS,MAAM,YAAY;AACtD,gBAAQ;MACV;AACA,WAAK,MAAM,YAAY;AAEvB,WAAK,GAAG,YAAY;AAEpB,yBAAmB,MAAM,gBAAgB,KAAK;AAC9C,UAAI,UAAU,KAAK,SAAS,MAAM;AAChC,eAAO,CAAA;AACP,eAAO,KAAK,IAAI;AAChB,aAAK,MAAM,CAAC;MACd;AAEA,cAAQ,QAAQ,GAAG,IAAI;IACzB;AAEA,SAAK,MAAM,CAAC;AACZ,SAAK,GAAG,CAAC;EACX;AAEA,SAAO,SAAS,SAAS,OAAO,CAAC;AACnC;AAEA,IAAM,cAAc;AACpB,IAAM,cAAc;AAmBd,SAAU,iBACd,WACA,cAA6C,MAC7C,SAKC;AAED,MAAI,CAAC,UAAU,QAAQ;AAErB,WAAO,CAAA;EACT;AACA,QAAM,EAAC,OAAO,GAAG,iBAAiB,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,YAAY,MAAK,IAAI,WAAW,CAAA;AAC3F,QAAM,SAAoB,CAAA;AAC1B,QAAM,QAAsB;IAC1B;MACE,KAAK;MACL,OAAO,YAAa,IAAI,MAAM,UAAU,SAAS,IAAI,EAAE,KAAK,WAAW,IAAiB;MACxF,OAAO,eAAe,CAAA;;;AAG1B,QAAM,OAAmB,CAAC,CAAA,GAAI,CAAA,CAAE;AAEhC,MAAI,OAAoB,CAAA;AAGxB,SAAO,MAAM,QAAQ;AACnB,UAAM,EAAC,KAAK,OAAO,MAAK,IAAI,MAAM,MAAK;AAGvC,mBAAe,KAAK,MAAM,MAAM,CAAC,KAAK,IAAI,QAAQ,IAAI;AACtD,WAAO,YAAY,KAAK,CAAC,GAAG,gBAAgB,YAAY,IAAI;AAC5D,UAAM,OAAO,QAAQ,KAAK,CAAC,GAAG,IAAI;AAElC,QAAI,MAAM;AAER,UAAI,QAAQ,cAAc,KAAK,OAAO,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,MAAM,IAAI;AACjF,YAAM,aAAgC,EAAC,KAAK,MAAM,CAAC,EAAE,KAAK,OAAO,MAAM,CAAC,EAAE,OAAO,OAAO,CAAA,EAAE;AAC1F,YAAM,cAAiC,EAAC,KAAK,MAAM,CAAC,EAAE,KAAK,OAAO,MAAM,CAAC,EAAE,OAAO,OAAO,CAAA,EAAE;AAC3F,YAAM,KAAK,YAAY,WAAW;AAGlC,eAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,gBAAQ,cAAc,KAAK,OAAO,MAAM,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,IAAI,QAAQ,MAAM,IAAI;AAExF,YAAI,MAAM,CAAC,GAAG;AACZ,qBAAW,MAAM,KAAK,WAAW,IAAI,MAAM;AAC3C,qBAAW,MAAM,cAAc,WAAW,KAAK,MAAM,CAAC,EAAE,GAAG;AAC3D,cAAI,WAAW;AACb,uBAAW,QAAQ,cAAc,WAAW,OAAO,MAAM,CAAC,EAAE,KAAK;UACnE;QACF;AACA,YAAI,MAAM,CAAC,GAAG;AACZ,sBAAY,MAAM,KAAK,YAAY,IAAI,MAAM;AAC7C,sBAAY,MAAM,cAAc,YAAY,KAAK,MAAM,CAAC,EAAE,GAAG;AAC7D,cAAI,WAAW;AACb,wBAAY,QAAQ,cAAc,YAAY,OAAO,MAAM,CAAC,EAAE,KAAK;UACrE;QACF;MACF;IACF,OAAO;AAEL,YAAM,UAAmB,EAAC,WAAW,IAAG;AACxC,UAAI,WAAW;AACb,gBAAQ,YAAY;MACtB;AACA,UAAI,MAAM,QAAQ;AAChB,gBAAQ,cAAc;MACxB;AAEA,aAAO,KAAK,OAAO;IACrB;EACF;AACA,SAAO;AACT;AAMA,SAAS,cACP,WACA,WACA,MACA,YACA,UACA,MACA,MAAY;AAKZ,QAAM,aAAa,WAAW,cAAc;AAC5C,QAAM,YAAsB,CAAA;AAC5B,QAAM,aAAuB,CAAA;AAC7B,QAAM,WAAqB,CAAA;AAC3B,QAAM,YAAsB,CAAA;AAC5B,QAAM,eAAyB,CAAA;AAE/B,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,QAAM,OAAO,gBAAgB,WAAW,YAAY,GAAG,MAAM,UAAU;AACvE,MAAI,WAAW,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;AACzE,MAAI,WAAW,aAAa,UAAU,YAAY,CAAC;AACnD,MAAI,gBAAgB;AACpB,MAAI,iBAAiB;AAErB,WAAS,IAAI,GAAG,IAAI,WAAW,KAAK;AAClC,QAAI,gBAAgB,WAAW,GAAG,MAAM,YAAY,CAAC;AACrD,WAAO,KAAK,KAAK,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC;AAC3D,WAAO,aAAa,UAAU,aAAa,OAAO,CAAC;AAGnD,QAAI,QAAQ,YAAY,aAAa,MAAM;AACzC,gBAAU,MAAM,GAAG,MAAM,MAAM,YAAY;AAC3C,WAAK,WAAW,YAAY,KAAK,SAAS,KAAK,QAAQ;AACvD,WAAK,YAAY,YAAY,KAAK,UAAU,KAAK,QAAQ;IAC3D;AAEA,QAAI,QAAQ,GAAG;AACb,WAAK,WAAW,CAAC,KAAK,SAAS,KAAK,IAAI;AACxC,uBAAiB;IACnB,WAAW,SAAS,QAAQ;AAC1B,eAAS,SAAS,SAAS,CAAC,IAAI;IAClC;AACA,QAAI,QAAQ,GAAG;AACb,WAAK,YAAY,CAAC,KAAK,UAAU,KAAK,IAAI;AAC1C,wBAAkB;IACpB,WAAW,UAAU,QAAQ;AAC3B,gBAAU,UAAU,SAAS,CAAC,IAAI;IACpC;AAEA,SAAK,MAAM,CAAC;AACZ,eAAW;AACX,eAAW;EACb;AAEA,SAAO;IACL,gBAAgB,EAAC,KAAK,WAAW,OAAO,aAAa,SAAQ,IAAI;IACjE,iBAAiB,EAAC,KAAK,YAAY,OAAO,aAAa,UAAS,IAAI;;AAExE;AAEA,SAAS,YACP,GACA,gBACA,YACA,KAAa;AAEb,QAAM,OAAO,KAAK,OAAO,EAAE,CAAC,IAAI,WAAW,CAAC,KAAK,cAAc,IAAI,iBAAiB,WAAW,CAAC;AAChG,QAAM,SACJ,KAAK,OAAO,EAAE,CAAC,IAAI,WAAW,CAAC,KAAK,cAAc,IAAI,iBAAiB,WAAW,CAAC;AACrF,MAAI,CAAC,IAAI;AACT,MAAI,CAAC,IAAI;AACT,MAAI,CAAC,IAAI,OAAO;AAChB,MAAI,CAAC,IAAI,SAAS;AAClB,SAAO;AACT;AAEA,SAAS,mBAAmB,MAAgB,gBAAwB,MAAY;AAC9E,MAAI,OAAO,GAAG;AAEZ,SAAK,CAAC,KAAK;AACX,SAAK,CAAC,KAAK;EACb,WAAW,OAAO,GAAG;AAEnB,SAAK,CAAC,KAAK;AACX,SAAK,CAAC,KAAK;EACb,WAAW,OAAO,GAAG;AAEnB,SAAK,CAAC,KAAK;AACX,SAAK,CAAC,KAAK;EACb,WAAW,OAAO,GAAG;AAEnB,SAAK,CAAC,KAAK;AACX,SAAK,CAAC,KAAK;EACb;AACF;AAEA,SAAS,eACP,WACA,MACA,UACA,KAAe;AAEf,MAAI,OAAO;AACX,MAAI,OAAO;AACX,MAAI,OAAO;AACX,MAAI,OAAO;AAEX,WAAS,IAAI,GAAG,IAAI,UAAU,KAAK,MAAM;AACvC,UAAM,IAAI,UAAU,CAAC;AACrB,UAAM,IAAI,UAAU,IAAI,CAAC;AACzB,WAAO,IAAI,OAAO,IAAI;AACtB,WAAO,IAAI,OAAO,IAAI;AACtB,WAAO,IAAI,OAAO,IAAI;AACtB,WAAO,IAAI,OAAO,IAAI;EACxB;AAEA,MAAI,CAAC,EAAE,CAAC,IAAI;AACZ,MAAI,CAAC,EAAE,CAAC,IAAI;AACZ,MAAI,CAAC,EAAE,CAAC,IAAI;AACZ,MAAI,CAAC,EAAE,CAAC,IAAI;AACZ,SAAO;AACT;AAEA,SAAS,cAAc,MAAgB,MAAc;AACnD,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,SAAK,KAAK,KAAK,CAAC,CAAC;EACnB;AACA,SAAO;AACT;;;AC9SA,IAAM,uBAAuB;AAGvB,SAAU,4BACd,WACA,SAKC;AAED,QAAM,EAAC,OAAO,GAAG,aAAa,GAAG,WAAW,UAAU,QAAQ,YAAY,KAAI,IAAI,WAAW,CAAA;AAG7F,QAAM,eAAe,UAAU,MAAM,YAAY,QAAQ;AACzD,gCAA8B,cAAc,MAAM,GAAG,WAAW,UAAU;AAE1E,QAAM,QAAQ,kBAAkB,cAAc;IAC5C;IACA,QAAQ;IACR,gBAAgB;IAChB,YAAY,CAAC,MAAM,IAAI;GACxB;AAED,MAAI,WAAW;AAGb,eAAW,QAAQ,OAAO;AACxB,+BAAyB,MAAM,IAAI;IACrC;EACF;AACA,SAAO;AACT;AAGM,SAAU,2BACd,WACA,cAA6C,MAC7C,SAKC;AAED,QAAM,EAAC,OAAO,GAAG,YAAY,MAAM,YAAY,MAAK,IAAI,WAAW,CAAA;AACnE,gBAAc,eAAe,CAAA;AAC7B,QAAM,eAAyB,CAAA;AAC/B,QAAM,iBAA2B,CAAA;AACjC,MAAI,gBAAgB;AACpB,MAAI,cAAc;AAElB,WAAS,YAAY,GAAG,aAAa,YAAY,QAAQ,aAAa;AAEpE,UAAM,cAAc,YAAY,SAAS,KAAK,UAAU;AAExD,UAAM,mBAAmB;AAKzB,UAAM,aAAa,eAAe,WAAW,MAAM,eAAe,WAAW;AAC7E,aAAS,IAAI,YAAY,IAAI,aAAa,KAAK;AAC7C,mBAAa,aAAa,IAAI,UAAU,CAAC;IAC3C;AACA,aAAS,IAAI,eAAe,IAAI,YAAY,KAAK;AAC/C,mBAAa,aAAa,IAAI,UAAU,CAAC;IAC3C;AAGA,kCAA8B,cAAc,MAAM,kBAAkB,WAAW;AAG/E,uBAAmB,cAAc,MAAM,kBAAkB,aAAa,mCAAS,WAAW;AAE1F,oBAAgB;AAChB,mBAAe,SAAS,IAAI;EAC9B;AACA,iBAAe,IAAG;AAElB,QAAM,QAAQ,iBAAiB,cAAc,gBAAgB;IAC3D;IACA,gBAAgB;IAChB,YAAY,CAAC,MAAM,IAAI;IACvB;GACD;AAED,MAAI,WAAW;AAGb,eAAW,QAAQ,OAAO;AAExB,+BAAyB,KAAK,WAA2B,IAAI;IAC/D;EACF;AACA,SAAO;AACT;AAKA,SAAS,eACP,WACA,MACA,YACA,UAAgB;AAEhB,MAAI,SAAS;AACb,MAAI,aAAa;AACjB,WAAS,IAAI,aAAa,GAAG,IAAI,UAAU,KAAK,MAAM;AACpD,UAAM,MAAM,KAAK,IAAI,UAAU,CAAC,CAAC;AACjC,QAAI,MAAM,QAAQ;AAChB,eAAS;AACT,mBAAa,IAAI;IACnB;EACF;AACA,SAAO;AACT;AAWA,SAAS,mBACP,WACA,MACA,YACA,UACA,cAAsB,sBAAoB;AAG1C,QAAM,WAAW,UAAU,UAAU;AACrC,QAAM,UAAU,UAAU,WAAW,IAAI;AACzC,MAAI,KAAK,IAAI,WAAW,OAAO,IAAI,KAAK;AAGtC,UAAM,IAAI,gBAAgB,WAAW,GAAG,MAAM,UAAU;AAExD,MAAE,CAAC,KAAK,KAAK,OAAO,UAAU,YAAY,GAAG,IAAI;AACjD,SAAK,WAAW,CAAC;AAEjB,MAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI;AACzB,SAAK,WAAW,CAAC;AAEjB,MAAE,CAAC,IAAI;AACP,SAAK,WAAW,CAAC;EACnB;AACF;AAEA,SAAS,8BACP,WACA,MACA,YACA,UAAgB;AAEhB,MAAI,UAAkB,UAAU,CAAC;AACjC,MAAI;AACJ,WAAS,IAAI,YAAY,IAAI,UAAU,KAAK,MAAM;AAChD,UAAM,UAAU,CAAC;AACjB,UAAM,QAAQ,MAAM;AACpB,QAAI,QAAQ,OAAO,QAAQ,MAAM;AAC/B,aAAO,KAAK,MAAM,QAAQ,GAAG,IAAI;IACnC;AACA,cAAU,CAAC,IAAI,UAAU;EAC3B;AACF;AAEA,SAAS,yBAAyB,WAAyB,MAAY;AACrE,MAAI;AACJ,QAAM,aAAa,UAAU,SAAS;AAItC,WAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AACnC,aAAS,UAAU,IAAI,IAAI;AAC3B,SAAK,SAAS,OAAO,QAAQ,GAAG;AAC9B;IACF;EACF;AAEA,QAAM,QAAQ,CAAC,KAAK,MAAM,SAAS,GAAG,IAAI;AAC1C,MAAI,UAAU,GAAG;AACf;EACF;AACA,WAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AACnC,cAAU,IAAI,IAAI,KAAK;EACzB;AACF;",
5
- "names": ["import_core", "area", "area", "equals"]
4
+ "mappings": "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",
5
+ "names": ["import_core", "WINDING", "area", "area", "equals"]
6
6
  }
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { Polygon } from "./polygon.js";
2
2
  export { getPolygonSignedArea, getPolygonWindingDirection, forEachSegmentInPolygon, modifyPolygonWindingDirection, WINDING } from "./polygon-utils.js";
3
+ export type { PolygonWinding, WindingDirection } from "./polygon-utils.js";
3
4
  export { earcut } from "./earcut.js";
4
5
  export { clipPolygon, clipPolyline } from "./lineclip.js";
5
6
  export { cutPolygonByGrid, cutPolylineByGrid } from "./cut-by-grid.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAC,qBAAkB;AAElC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,OAAO,EACR,2BAAwB;AAEzB,OAAO,EAAC,MAAM,EAAC,oBAAiB;AAEhC,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,sBAAmB;AAErD,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAC,yBAAsB;AAElE,OAAO,EAAC,2BAA2B,EAAE,0BAA0B,EAAC,oCAAiC;AAEjG,kBAAkB;AAClB,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,qBAAkB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAC,qBAAkB;AAElC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,OAAO,EACR,2BAAwB;AACzB,YAAY,EAAC,cAAc,EAAE,gBAAgB,EAAC,2BAAwB;AAEtE,OAAO,EAAC,MAAM,EAAC,oBAAiB;AAEhC,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,sBAAmB;AAErD,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAC,yBAAsB;AAElE,OAAO,EAAC,2BAA2B,EAAE,0BAA0B,EAAC,oCAAiC;AAEjG,kBAAkB;AAClB,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,qBAAkB"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,OAAO,EAAC,qBAAkB;AAElC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,OAAO,EACR,2BAAwB;AAEzB,OAAO,EAAC,MAAM,EAAC,oBAAiB;AAEhC,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,sBAAmB;AAErD,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAC,yBAAsB;AAElE,OAAO,EAAC,2BAA2B,EAAE,0BAA0B,EAAC,oCAAiC;AAEjG,kBAAkB;AAClB,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,qBAAkB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,OAAO,EAAC,qBAAkB;AAElC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,OAAO,EACR,2BAAwB;AAGzB,OAAO,EAAC,MAAM,EAAC,oBAAiB;AAEhC,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,sBAAmB;AAErD,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAC,yBAAsB;AAElE,OAAO,EAAC,2BAA2B,EAAE,0BAA0B,EAAC,oCAAiC;AAEjG,kBAAkB;AAClB,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,qBAAkB"}
@@ -1,8 +1,16 @@
1
1
  import type { NumericArray } from '@math.gl/core';
2
- export declare const WINDING: {
3
- readonly CLOCKWISE: 1;
4
- readonly COUNTER_CLOCKWISE: -1;
5
- };
2
+ /** Direction in which a polygon's vertices are ordered. */
3
+ export type WindingDirection = 'clockwise' | 'counter-clockwise' | 'none';
4
+ /** A non-degenerate polygon winding direction. */
5
+ export type PolygonWinding = Exclude<WindingDirection, 'none'>;
6
+ /**
7
+ * @deprecated Use the string values of {@link WindingDirection} directly.
8
+ */
9
+ export declare enum WINDING {
10
+ CLOCKWISE = "clockwise",
11
+ COUNTER_CLOCKWISE = "counter-clockwise",
12
+ NONE = "none"
13
+ }
6
14
  /** Polygon representation where each point is represented as a separate array of positions. */
7
15
  type PointsArray = NumericArray[];
8
16
  /** Segment visitor callback type for polygons defined with flat arrays, */
@@ -41,18 +49,18 @@ type PolygonParams = {
41
49
  * Checks winding direction of the polygon and reverses the polygon in case of opposite winding direction.
42
50
  * Note: points are modified in-place.
43
51
  * @param points An array that represents points of the polygon.
44
- * @param direction Requested winding direction. 1 is for clockwise, -1 for counterclockwise winding direction.
52
+ * @param direction Requested winding direction.
45
53
  * @param options Parameters of the polygon.
46
54
  * @return Returns true if the winding direction was changed.
47
55
  */
48
- export declare function modifyPolygonWindingDirection(points: NumericArray, direction: number, options?: PolygonParams): boolean;
56
+ export declare function modifyPolygonWindingDirection(points: NumericArray, direction: PolygonWinding, options?: PolygonParams): boolean;
49
57
  /**
50
58
  * Returns winding direction of the polygon.
51
59
  * @param points An array that represents points of the polygon.
52
60
  * @param options Parameters of the polygon.
53
61
  * @returns Winding direction of the polygon.
54
62
  */
55
- export declare function getPolygonWindingDirection(points: NumericArray, options?: PolygonParams): number;
63
+ export declare function getPolygonWindingDirection(points: NumericArray, options?: PolygonParams): WindingDirection;
56
64
  export declare const DimIndex: Record<string, number>;
57
65
  /**
58
66
  * Returns signed area of the polygon.
@@ -73,18 +81,18 @@ export declare function forEachSegmentInPolygon(points: NumericArray, visitor: S
73
81
  * Checks winding direction of the polygon and reverses the polygon in case of opposite winding direction.
74
82
  * Note: points are modified in-place.
75
83
  * @param points Array of points that represent the polygon.
76
- * @param direction Requested winding direction. 1 is for clockwise, -1 for counterclockwise winding direction.
84
+ * @param direction Requested winding direction.
77
85
  * @param options Parameters of the polygon.
78
86
  * @return Returns true if the winding direction was changed.
79
87
  */
80
- export declare function modifyPolygonWindingDirectionPoints(points: PointsArray, direction: number, options?: PolygonParams): boolean;
88
+ export declare function modifyPolygonWindingDirectionPoints(points: PointsArray, direction: PolygonWinding, options?: PolygonParams): boolean;
81
89
  /**
82
90
  * Returns winding direction of the polygon.
83
91
  * @param points Array of points that represent the polygon.
84
92
  * @param options Parameters of the polygon.
85
93
  * @returns Winding direction of the polygon.
86
94
  */
87
- export declare function getPolygonWindingDirectionPoints(points: PointsArray, options?: PolygonParams): number;
95
+ export declare function getPolygonWindingDirectionPoints(points: PointsArray, options?: PolygonParams): WindingDirection;
88
96
  /**
89
97
  * Returns signed area of the polygon.
90
98
  * @param points Array of points that represent the polygon.
@@ -1 +1 @@
1
- {"version":3,"file":"polygon-utils.d.ts","sourceRoot":"","sources":["../src/polygon-utils.ts"],"names":[],"mappings":"AAOA,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":"AAOA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,2DAA2D;AAC3D,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAE1E,kDAAkD;AAClD,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAE/D;;GAEG;AACH,oBAAY,OAAO;IACjB,SAAS,cAAc;IACvB,iBAAiB,sBAAsB;IACvC,IAAI,SAAS;CACd;AAED,+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,cAAc,EACzB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAOT;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,aAAkB,GAC1B,gBAAgB,CAElB;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,cAAc,EACzB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAOT;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,aAAkB,GAC1B,gBAAgB,CAElB;AAQD;;;;;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"}
@@ -3,15 +3,20 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
  /* eslint-disable max-statements, max-depth, complexity, no-unused-expressions */
5
5
  import { equals } from '@math.gl/core';
6
- export const WINDING = {
7
- CLOCKWISE: 1,
8
- COUNTER_CLOCKWISE: -1
9
- };
6
+ /**
7
+ * @deprecated Use the string values of {@link WindingDirection} directly.
8
+ */
9
+ export var WINDING;
10
+ (function (WINDING) {
11
+ WINDING["CLOCKWISE"] = "clockwise";
12
+ WINDING["COUNTER_CLOCKWISE"] = "counter-clockwise";
13
+ WINDING["NONE"] = "none";
14
+ })(WINDING || (WINDING = {}));
10
15
  /**
11
16
  * Checks winding direction of the polygon and reverses the polygon in case of opposite winding direction.
12
17
  * Note: points are modified in-place.
13
18
  * @param points An array that represents points of the polygon.
14
- * @param direction Requested winding direction. 1 is for clockwise, -1 for counterclockwise winding direction.
19
+ * @param direction Requested winding direction.
15
20
  * @param options Parameters of the polygon.
16
21
  * @return Returns true if the winding direction was changed.
17
22
  */
@@ -30,7 +35,7 @@ export function modifyPolygonWindingDirection(points, direction, options = {}) {
30
35
  * @returns Winding direction of the polygon.
31
36
  */
32
37
  export function getPolygonWindingDirection(points, options = {}) {
33
- return Math.sign(getPolygonSignedArea(points, options));
38
+ return getWindingDirection(getPolygonSignedArea(points, options));
34
39
  }
35
40
  export const DimIndex = {
36
41
  x: 0,
@@ -94,7 +99,7 @@ function reversePolygon(points, options) {
94
99
  * Checks winding direction of the polygon and reverses the polygon in case of opposite winding direction.
95
100
  * Note: points are modified in-place.
96
101
  * @param points Array of points that represent the polygon.
97
- * @param direction Requested winding direction. 1 is for clockwise, -1 for counterclockwise winding direction.
102
+ * @param direction Requested winding direction.
98
103
  * @param options Parameters of the polygon.
99
104
  * @return Returns true if the winding direction was changed.
100
105
  */
@@ -113,7 +118,14 @@ export function modifyPolygonWindingDirectionPoints(points, direction, options =
113
118
  * @returns Winding direction of the polygon.
114
119
  */
115
120
  export function getPolygonWindingDirectionPoints(points, options = {}) {
116
- return Math.sign(getPolygonSignedAreaPoints(points, options));
121
+ return getWindingDirection(getPolygonSignedAreaPoints(points, options));
122
+ }
123
+ function getWindingDirection(signedArea) {
124
+ if (signedArea > 0)
125
+ return 'clockwise';
126
+ if (signedArea < 0)
127
+ return 'counter-clockwise';
128
+ return 'none';
117
129
  }
118
130
  /**
119
131
  * Returns signed area of the polygon.
@@ -1 +1 @@
1
- {"version":3,"file":"polygon-utils.js","sourceRoot":"","sources":["../src/polygon-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"polygon-utils.js","sourceRoot":"","sources":["../src/polygon-utils.ts"],"names":[],"mappings":"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"}
package/dist/polygon.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { SegmentVisitorPoints } from "./polygon-utils.js";
1
+ import type { PolygonWinding, SegmentVisitorPoints, WindingDirection } from "./polygon-utils.js";
2
2
  import type { NumericArray } from '@math.gl/core';
3
3
  export type PolygonOptions = {
4
4
  start?: number;
@@ -23,9 +23,9 @@ export declare class Polygon {
23
23
  getArea(): number;
24
24
  /**
25
25
  * Returns winding direction of the polygon.
26
- * @returns Winding direction of the polygon. 1 is for clockwise, -1 for counterclockwise winding direction.
26
+ * @returns `'clockwise'`, `'counter-clockwise'`, or `'none'` for a degenerate polygon.
27
27
  */
28
- getWindingDirection(): number;
28
+ getWindingDirection(): WindingDirection;
29
29
  /**
30
30
  * Calls the visitor callback for each segment in the polygon.
31
31
  * @param visitor A callback to call for each segment.
@@ -33,9 +33,9 @@ export declare class Polygon {
33
33
  forEachSegment(visitor: SegmentVisitorPoints): void;
34
34
  /**
35
35
  * Checks winding direction of the polygon and reverses the polygon in case of opposite winding direction.
36
- * @param direction Requested winding direction. 1 is for clockwise, -1 for counterclockwise winding direction.
36
+ * @param direction Requested winding direction.
37
37
  * @return Returns true if the winding direction was changed.
38
38
  */
39
- modifyWindingDirection(direction: number): boolean;
39
+ modifyWindingDirection(direction: PolygonWinding): boolean;
40
40
  }
41
41
  //# sourceMappingURL=polygon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"polygon.d.ts","sourceRoot":"","sources":["../src/polygon.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,oBAAoB,EAAC,2BAAwB;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,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"}
1
+ {"version":3,"file":"polygon.d.ts","sourceRoot":"","sources":["../src/polygon.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,cAAc,EAAE,oBAAoB,EAAE,gBAAgB,EAAC,2BAAwB;AAC5F,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,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,gBAAgB;IAOvC;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAgBnD;;;;OAIG;IACH,sBAAsB,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO;CAM3D"}
package/dist/polygon.js CHANGED
@@ -34,10 +34,15 @@ export class Polygon {
34
34
  }
35
35
  /**
36
36
  * Returns winding direction of the polygon.
37
- * @returns Winding direction of the polygon. 1 is for clockwise, -1 for counterclockwise winding direction.
37
+ * @returns `'clockwise'`, `'counter-clockwise'`, or `'none'` for a degenerate polygon.
38
38
  */
39
39
  getWindingDirection() {
40
- return Math.sign(this.getSignedArea());
40
+ const signedArea = this.getSignedArea();
41
+ if (signedArea > 0)
42
+ return 'clockwise';
43
+ if (signedArea < 0)
44
+ return 'counter-clockwise';
45
+ return 'none';
41
46
  }
42
47
  /**
43
48
  * Calls the visitor callback for each segment in the polygon.
@@ -58,7 +63,7 @@ export class Polygon {
58
63
  }
59
64
  /**
60
65
  * Checks winding direction of the polygon and reverses the polygon in case of opposite winding direction.
61
- * @param direction Requested winding direction. 1 is for clockwise, -1 for counterclockwise winding direction.
66
+ * @param direction Requested winding direction.
62
67
  * @return Returns true if the winding direction was changed.
63
68
  */
64
69
  modifyWindingDirection(direction) {
@@ -1 +1 @@
1
- {"version":3,"file":"polygon.js","sourceRoot":"","sources":["../src/polygon.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,yCAAyC;AACzC,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAItC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,0BAA0B,EAC1B,6BAA6B,EAC7B,mCAAmC,EACpC,2BAAwB;AASzB,MAAM,OAAO,OAAO;IAKlB,YAAY,MAAiC,EAAE,UAA0B,EAAE;QACzE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,GAAG;YACb,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;YACzB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;YACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7F,OAAO,0BAA0B,CAAC,IAAI,CAAC,MAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,OAA6B;QAC1C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,uBAAuB,CACrB,IAAI,CAAC,MAAsB;YAC3B,sCAAsC;YACtC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;gBACzB,iJAAiJ;gBACjJ,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACtC,CAAC,EACD,IAAI,CAAC,OAAO,CACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,6BAA6B,CAAC,IAAI,CAAC,MAAoB,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,SAAiB;QACtC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,6BAA6B,CAAC,IAAI,CAAC,MAAsB,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,mCAAmC,CAAC,IAAI,CAAC,MAAoB,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjG,CAAC;CACF"}
1
+ {"version":3,"file":"polygon.js","sourceRoot":"","sources":["../src/polygon.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,yCAAyC;AACzC,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAItC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,0BAA0B,EAC1B,6BAA6B,EAC7B,mCAAmC,EACpC,2BAAwB;AASzB,MAAM,OAAO,OAAO;IAKlB,YAAY,MAAiC,EAAE,UAA0B,EAAE;QACzE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,GAAG;YACb,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;YACzB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;YACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7F,OAAO,0BAA0B,CAAC,IAAI,CAAC,MAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,mBAAmB;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,UAAU,GAAG,CAAC;YAAE,OAAO,WAAW,CAAC;QACvC,IAAI,UAAU,GAAG,CAAC;YAAE,OAAO,mBAAmB,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,OAA6B;QAC1C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,uBAAuB,CACrB,IAAI,CAAC,MAAsB;YAC3B,sCAAsC;YACtC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;gBACzB,iJAAiJ;gBACjJ,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACtC,CAAC,EACD,IAAI,CAAC,OAAO,CACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,6BAA6B,CAAC,IAAI,CAAC,MAAoB,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,SAAyB;QAC9C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,6BAA6B,CAAC,IAAI,CAAC,MAAsB,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,mCAAmC,CAAC,IAAI,CAAC,MAAoB,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjG,CAAC;CACF"}
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
9
- "version": "4.2.0-alpha.5",
9
+ "version": "5.0.0-alpha.1",
10
10
  "keywords": [
11
11
  "webgl",
12
12
  "javascript",
@@ -33,7 +33,7 @@
33
33
  "src"
34
34
  ],
35
35
  "dependencies": {
36
- "@math.gl/core": "4.2.0-alpha.5"
36
+ "@math.gl/core": "5.0.0-alpha.1"
37
37
  },
38
- "gitHead": "9c13785761867748e2edb167b5f2749dce803039"
38
+ "gitHead": "0c9bf3e5da10ce0fdafe84f3a8520c5ed9c15211"
39
39
  }
package/src/index.ts CHANGED
@@ -11,6 +11,7 @@ export {
11
11
  modifyPolygonWindingDirection,
12
12
  WINDING
13
13
  } from './polygon-utils';
14
+ export type {PolygonWinding, WindingDirection} from './polygon-utils';
14
15
 
15
16
  export {earcut} from './earcut';
16
17
 
@@ -7,10 +7,20 @@
7
7
  import {equals} from '@math.gl/core';
8
8
  import type {NumericArray} from '@math.gl/core';
9
9
 
10
- export const WINDING = {
11
- CLOCKWISE: 1,
12
- COUNTER_CLOCKWISE: -1
13
- } as const;
10
+ /** Direction in which a polygon's vertices are ordered. */
11
+ export type WindingDirection = 'clockwise' | 'counter-clockwise' | 'none';
12
+
13
+ /** A non-degenerate polygon winding direction. */
14
+ export type PolygonWinding = Exclude<WindingDirection, 'none'>;
15
+
16
+ /**
17
+ * @deprecated Use the string values of {@link WindingDirection} directly.
18
+ */
19
+ export enum WINDING {
20
+ CLOCKWISE = 'clockwise',
21
+ COUNTER_CLOCKWISE = 'counter-clockwise',
22
+ NONE = 'none'
23
+ }
14
24
 
15
25
  /** Polygon representation where each point is represented as a separate array of positions. */
16
26
  type PointsArray = NumericArray[];
@@ -67,13 +77,13 @@ type PolygonParams = {
67
77
  * Checks winding direction of the polygon and reverses the polygon in case of opposite winding direction.
68
78
  * Note: points are modified in-place.
69
79
  * @param points An array that represents points of the polygon.
70
- * @param direction Requested winding direction. 1 is for clockwise, -1 for counterclockwise winding direction.
80
+ * @param direction Requested winding direction.
71
81
  * @param options Parameters of the polygon.
72
82
  * @return Returns true if the winding direction was changed.
73
83
  */
74
84
  export function modifyPolygonWindingDirection(
75
85
  points: NumericArray,
76
- direction: number,
86
+ direction: PolygonWinding,
77
87
  options: PolygonParams = {}
78
88
  ): boolean {
79
89
  const windingDirection = getPolygonWindingDirection(points, options);
@@ -93,8 +103,8 @@ export function modifyPolygonWindingDirection(
93
103
  export function getPolygonWindingDirection(
94
104
  points: NumericArray,
95
105
  options: PolygonParams = {}
96
- ): number {
97
- return Math.sign(getPolygonSignedArea(points, options));
106
+ ): WindingDirection {
107
+ return getWindingDirection(getPolygonSignedArea(points, options));
98
108
  }
99
109
 
100
110
  export const DimIndex: Record<string, number> = {
@@ -190,13 +200,13 @@ function reversePolygon(
190
200
  * Checks winding direction of the polygon and reverses the polygon in case of opposite winding direction.
191
201
  * Note: points are modified in-place.
192
202
  * @param points Array of points that represent the polygon.
193
- * @param direction Requested winding direction. 1 is for clockwise, -1 for counterclockwise winding direction.
203
+ * @param direction Requested winding direction.
194
204
  * @param options Parameters of the polygon.
195
205
  * @return Returns true if the winding direction was changed.
196
206
  */
197
207
  export function modifyPolygonWindingDirectionPoints(
198
208
  points: PointsArray,
199
- direction: number,
209
+ direction: PolygonWinding,
200
210
  options: PolygonParams = {}
201
211
  ): boolean {
202
212
  const currentDirection = getPolygonWindingDirectionPoints(points, options);
@@ -216,8 +226,14 @@ export function modifyPolygonWindingDirectionPoints(
216
226
  export function getPolygonWindingDirectionPoints(
217
227
  points: PointsArray,
218
228
  options: PolygonParams = {}
219
- ): number {
220
- return Math.sign(getPolygonSignedAreaPoints(points, options));
229
+ ): WindingDirection {
230
+ return getWindingDirection(getPolygonSignedAreaPoints(points, options));
231
+ }
232
+
233
+ function getWindingDirection(signedArea: number): WindingDirection {
234
+ if (signedArea > 0) return 'clockwise';
235
+ if (signedArea < 0) return 'counter-clockwise';
236
+ return 'none';
221
237
  }
222
238
 
223
239
  /**
package/src/polygon.ts CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  /* eslint-disable no-undef, no-console */
6
6
  import {isArray} from '@math.gl/core';
7
- import type {SegmentVisitorPoints} from './polygon-utils';
7
+ import type {PolygonWinding, SegmentVisitorPoints, WindingDirection} from './polygon-utils';
8
8
  import type {NumericArray} from '@math.gl/core';
9
9
 
10
10
  import {
@@ -62,10 +62,13 @@ export class Polygon {
62
62
 
63
63
  /**
64
64
  * Returns winding direction of the polygon.
65
- * @returns Winding direction of the polygon. 1 is for clockwise, -1 for counterclockwise winding direction.
65
+ * @returns `'clockwise'`, `'counter-clockwise'`, or `'none'` for a degenerate polygon.
66
66
  */
67
- getWindingDirection(): number {
68
- return Math.sign(this.getSignedArea());
67
+ getWindingDirection(): WindingDirection {
68
+ const signedArea = this.getSignedArea();
69
+ if (signedArea > 0) return 'clockwise';
70
+ if (signedArea < 0) return 'counter-clockwise';
71
+ return 'none';
69
72
  }
70
73
 
71
74
  /**
@@ -90,10 +93,10 @@ export class Polygon {
90
93
 
91
94
  /**
92
95
  * Checks winding direction of the polygon and reverses the polygon in case of opposite winding direction.
93
- * @param direction Requested winding direction. 1 is for clockwise, -1 for counterclockwise winding direction.
96
+ * @param direction Requested winding direction.
94
97
  * @return Returns true if the winding direction was changed.
95
98
  */
96
- modifyWindingDirection(direction: number): boolean {
99
+ modifyWindingDirection(direction: PolygonWinding): boolean {
97
100
  if (this.isFlatArray) {
98
101
  return modifyPolygonWindingDirection(this.points as NumericArray, direction, this.options);
99
102
  }