Custom Gis Application with Arcgis Javascript API with modern layouting
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

7 lines
1.8 KiB

// All material copyright Esri, All Rights Reserved, unless otherwise specified.
// See https://js.arcgis.com/4.30/esri/copyright.txt for details.
//>>built
define("exports ../../../geometry ../../../geometry/GeometryCursor ../../../geometry/geometryCursorCollectUtils ../../../geometry/support/jsonUtils ../CIMEffects ../CurveHelper ../enums ../../../geometry/SpatialReference".split(" "),function(k,u,e,m,n,p,l,q,r){class c{static local(){null===c.instance&&(c.instance=new c);return c.instance}execute(b,a,d,f,g,h){return new t(b,a,d,f,g,h)}}c.instance=null;class t{constructor(b,a,d,f,g,h){this._inputGeometries=b;this._tileKey=f;this._geometryEngine=g;this._curveHelper=
new l.CurveHelper;this._offset=(a.offset??1)*d;this._method=a.method;this._maxInflateSize=Math.max(Math.abs(h*d),10);this._option=a.option;this._offsetFlattenError=l.pixelTolerance*d}next(){for(var b;b=this._inputGeometries.next();){if(0===this._offset)return b.clone();if("esriGeometryEnvelope"===b.geometryType){if(this._method===q.GeometricEffectOffsetMethod.Rounded&&0<this._offset){var a=m.collectPath(b);if(a=this._curveHelper.offset(a,-this._offset,this._method,4,this._offsetFlattenError))return b=
e.GeometryCursor.createEmptyOptimizedCIM(b.geometryType),b.pushPath(a),b;break}a=b.asJSON();if(n.isExtent(a)&&0<Math.min(a.xmax-a.xmin,a.ymax-a.ymin)+2*this._offset)return e.GeometryCursor.fromJSONCIM({xmin:a.xmin-this._offset,xmax:a.xmax+this._offset,ymin:a.ymin-this._offset,ymax:a.ymax+this._offset})}a=this._geometryEngine;if(null!=a&&(b=this._tileKey?p.clipCursorToTileExtent(b,this._maxInflateSize):b.clone()))return(b=a.offset(r.WebMercator,b.asJSON(),-this._offset,1,this._method,4,this._offsetFlattenError))?
e.GeometryCursor.fromJSONCIM(b):null}return null}}k.EffectOffset=c;Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});