@arcgis/core 5.2.0-next.80 → 5.2.0-next.81
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/applications/Components/imageryUtils.d.ts +5 -3
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/004966b5bf60a8a80b8c.js +1 -0
- package/assets/esri/core/workers/chunks/03cf74b2e488eb144ad5.js +1 -0
- package/assets/esri/core/workers/chunks/055802283f7e01ee87fb.js +1 -0
- package/assets/esri/core/workers/chunks/06df9ce870360cda06c7.js +1 -0
- package/assets/esri/core/workers/chunks/{08ec5461af74356e7570.js → 075eb62465edb9cbf907.js} +1 -1
- package/assets/esri/core/workers/chunks/09f0805b32e6cab980e6.js +1 -0
- package/assets/esri/core/workers/chunks/{5fe9eea35ddb428efd8b.js → 0b26c01a1190e8fd63fb.js} +1 -1
- package/assets/esri/core/workers/chunks/0fd7590e545864f5fff4.js +1 -0
- package/assets/esri/core/workers/chunks/{b9d1bb106737a05290e1.js → 104d74bc36c28c519396.js} +1 -1
- package/assets/esri/core/workers/chunks/14be79c4cc6137c7db95.js +1 -0
- package/assets/esri/core/workers/chunks/{ef47a5da641cb0d33fdf.js → 197a6d561f77ac74283a.js} +1 -1
- package/assets/esri/core/workers/chunks/{e4e5a171a4874c5af4a4.js → 1a7d2912c8eac8c83c70.js} +1 -1
- package/assets/esri/core/workers/chunks/{b9c61b20bbc91cb63036.js → 1c3861297f65ee1ca5d0.js} +1 -1
- package/assets/esri/core/workers/chunks/1d1cfe0bee506d34268e.js +1 -0
- package/assets/esri/core/workers/chunks/1ed6a8bb415999c4e8a6.js +1 -0
- package/assets/esri/core/workers/chunks/2161cf64601f28bbe72d.js +1 -0
- package/assets/esri/core/workers/chunks/218ddad849745d652a28.js +1 -0
- package/assets/esri/core/workers/chunks/{5b70295da76d9227f64b.js → 22c477147421e68f7f00.js} +1 -1
- package/assets/esri/core/workers/chunks/24944b625ed8dcd904f0.js +1 -0
- package/assets/esri/core/workers/chunks/25696c194457e42b3bdc.js +1 -0
- package/assets/esri/core/workers/chunks/25f6d5604a7959afd5a5.js +1 -0
- package/assets/esri/core/workers/chunks/{c1e5ffe9a251be5a0744.js → 278760d194203dd27fc3.js} +1 -1
- package/assets/esri/core/workers/chunks/28b576663ed4570ec825.js +1 -0
- package/assets/esri/core/workers/chunks/{841c81c280114412c95b.js → 2a4c91b006de1ceba539.js} +1 -1
- package/assets/esri/core/workers/chunks/2b299aec2a758bcd9731.js +1 -0
- package/assets/esri/core/workers/chunks/2b79b376b0d60d2f0d5c.js +1 -0
- package/assets/esri/core/workers/chunks/{b084829a3fd709dc47a8.js → 2d683ac4a993ec5fd6f6.js} +1 -1
- package/assets/esri/core/workers/chunks/2f3525df00fb265661fc.js +1 -0
- package/assets/esri/core/workers/chunks/{a8ec5b85c2fa6fb4f391.js → 30b40ee875d46e6fde02.js} +1 -1
- package/assets/esri/core/workers/chunks/31b3744f71750e512d4e.js +1 -0
- package/assets/esri/core/workers/chunks/3239c7994019f15e261d.js +1 -0
- package/assets/esri/core/workers/chunks/{d520d407043bc52e5410.js → 3336ad383c184dd07bb3.js} +1 -1
- package/assets/esri/core/workers/chunks/36265e5f6d396eadf0be.js +1 -0
- package/assets/esri/core/workers/chunks/{0ae0483b72f5e8d00d55.js → 3715d6b295016eeb5031.js} +1 -1
- package/assets/esri/core/workers/chunks/37a121316d114999ac70.js +1 -0
- package/assets/esri/core/workers/chunks/37fb38db03cb39e3c342.js +1 -0
- package/assets/esri/core/workers/chunks/3851ebf3548e2763b24f.js +1 -0
- package/assets/esri/core/workers/chunks/{9230ad807020fc2bbf8e.js → 388b71211a0ad5cbd6b9.js} +1 -1
- package/assets/esri/core/workers/chunks/3a4b117af89dab5153eb.js +1 -0
- package/assets/esri/core/workers/chunks/3a9ef47122e10cecd3a4.js +1 -0
- package/assets/esri/core/workers/chunks/3adba34224cba869a39c.js +1 -0
- package/assets/esri/core/workers/chunks/40b842d055b87e442156.js +1 -0
- package/assets/esri/core/workers/chunks/40ebe69b08ea54e0e780.js +1 -0
- package/assets/esri/core/workers/chunks/{c37b28f200b704ae6002.js → 4239d64f067417e0643c.js} +1 -1
- package/assets/esri/core/workers/chunks/453c69879f4b82ba13a1.js +1 -0
- package/assets/esri/core/workers/chunks/{bd88228f781a0399d8bd.js → 49e37f653b81f9e4f7cc.js} +1 -1
- package/assets/esri/core/workers/chunks/4a537054c99cbc492715.js +1 -0
- package/assets/esri/core/workers/chunks/4a6158994a8cc8b8664f.js +1 -0
- package/assets/esri/core/workers/chunks/4c15551e33a3c6cda61d.js +1 -0
- package/assets/esri/core/workers/chunks/4c5200e22b8a723f53f9.js +1 -0
- package/assets/esri/core/workers/chunks/{2bcb7e43578124538c3c.js → 4d672110aee304692f60.js} +1 -1
- package/assets/esri/core/workers/chunks/{fb12d3c63fcac8391e06.js → 4eaa93859ceec1b38530.js} +1 -1
- package/assets/esri/core/workers/chunks/4f36596280142be1c666.js +1 -0
- package/assets/esri/core/workers/chunks/50e6e43ea98cb0d05d91.js +1 -0
- package/assets/esri/core/workers/chunks/{8e374ce47256a567ae11.js → 519745cf844c76452a46.js} +1 -1
- package/assets/esri/core/workers/chunks/{3b14ed3184743df336a6.js → 53d80202b5f43542d45b.js} +1 -1
- package/assets/esri/core/workers/chunks/{345510a95e893fa8040a.js → 540a3685e614bb006744.js} +1 -1
- package/assets/esri/core/workers/chunks/54524cc4328f31d8c25d.js +1 -0
- package/assets/esri/core/workers/chunks/5515005e8893bd551aaf.js +1 -0
- package/assets/esri/core/workers/chunks/{eee1fd629619021ea279.js → 56a6c7abfb4d88ea1bb5.js} +1 -1
- package/assets/esri/core/workers/chunks/{24729603dcdbd95fd01e.js → 578904043e873424904c.js} +1 -1
- package/assets/esri/core/workers/chunks/58d10928959ae1e2e8d9.js +1 -0
- package/assets/esri/core/workers/chunks/59f0a2bd40b033ce77e4.js +1 -0
- package/assets/esri/core/workers/chunks/5a67bd724aa7fcdebe16.js +1 -0
- package/assets/esri/core/workers/chunks/{087bd698b80ca0cea71e.js → 5aadfd11df6618883c5d.js} +1 -1
- package/assets/esri/core/workers/chunks/{1f888f026b004447772c.js → 5c9a398e659ecd427fb5.js} +1 -1
- package/assets/esri/core/workers/chunks/{e421dee5d8b030e79ffb.js → 5d50a030bf9f4e94f69d.js} +1 -1
- package/assets/esri/core/workers/chunks/6065caa7981cef255277.js +1 -0
- package/assets/esri/core/workers/chunks/61190c833791f0833a39.js +1 -0
- package/assets/esri/core/workers/chunks/61312d3b5477ed9d87d9.js +2 -0
- package/assets/esri/core/workers/chunks/61f230e50787abbfc8ba.js +1 -0
- package/assets/esri/core/workers/chunks/6270acb7545be2c5126f.js +1 -0
- package/assets/esri/core/workers/chunks/{f3bbebedad51f776bb98.js → 62992c3d98c20f611b7b.js} +1 -1
- package/assets/esri/core/workers/chunks/{ac87be2210f868524996.js → 629f60ee49e0dcfb7165.js} +1 -1
- package/assets/esri/core/workers/chunks/645d5db85f84b1f19b59.js +1 -0
- package/assets/esri/core/workers/chunks/{913fb883455aeac8582b.js → 694216224d5fd3a8956d.js} +1 -1
- package/assets/esri/core/workers/chunks/6c372d85b5783dd2a793.js +1 -0
- package/assets/esri/core/workers/chunks/{702b2381acf4d1f90094.js → 6f08c8a1e8e3ffd0a96a.js} +1 -1
- package/assets/esri/core/workers/chunks/6f4ee60e89d154e7b1c4.js +1 -0
- package/assets/esri/core/workers/chunks/{c29df43817278f674707.js → 7028671ffdaafe2725bc.js} +1 -1
- package/assets/esri/core/workers/chunks/{40693ee558a1eb1e93f4.js → 70c371c9f133ab9f7925.js} +1 -1
- package/assets/esri/core/workers/chunks/7230d74ef720431cc75e.js +1 -0
- package/assets/esri/core/workers/chunks/73a8a3baf0fed803ef4f.js +1 -0
- package/assets/esri/core/workers/chunks/74cd17aca5f7e0caac90.js +1 -0
- package/assets/esri/core/workers/chunks/{4d7a3b3aaf876da0891b.js → 76e6d894c33221369895.js} +1 -1
- package/assets/esri/core/workers/chunks/7833a82d5bac2aed565e.js +1 -0
- package/assets/esri/core/workers/chunks/7a05f5b0848dd11d2f4f.js +1 -0
- package/assets/esri/core/workers/chunks/{4c82f5f23004f905a18f.js → 7b605ed92e65083da35f.js} +1 -1
- package/assets/esri/core/workers/chunks/7eb94fc75926bc739233.js +1 -0
- package/assets/esri/core/workers/chunks/{67ebde34377f98d17cda.js → 8006ffa263fb8016afdb.js} +1 -1
- package/assets/esri/core/workers/chunks/809349086117f199b7a5.js +1 -0
- package/assets/esri/core/workers/chunks/82da6d98bd4980a3d454.js +1 -0
- package/assets/esri/core/workers/chunks/82e62a54b350e7a325f7.js +1 -0
- package/assets/esri/core/workers/chunks/836c458a7eb96391cfda.js +1 -0
- package/assets/esri/core/workers/chunks/851a5a0262dc8dcb67eb.js +1 -0
- package/assets/esri/core/workers/chunks/856dba96332509fb1d7a.js +2 -0
- package/assets/esri/core/workers/chunks/{d7b6985984071e78c764.js → 86035e46777ed896c658.js} +1 -1
- package/assets/esri/core/workers/chunks/88d6a7ebded4d359deb0.js +1 -0
- package/assets/esri/core/workers/chunks/{38660a8cc3623c854d88.js → 89df303abcbc0167e4d2.js} +1 -1
- package/assets/esri/core/workers/chunks/8cfe817299eb16cb2664.js +1 -0
- package/assets/esri/core/workers/chunks/8d16d53643dd8d489c25.js +1 -0
- package/assets/esri/core/workers/chunks/{619aa1381296172ff47b.js → 8e19b2ce9868a9a08da0.js} +1 -1
- package/assets/esri/core/workers/chunks/8ea28a4b1afe8bb2d313.js +1 -0
- package/assets/esri/core/workers/chunks/8fff4a41a54d39db470a.js +1 -0
- package/assets/esri/core/workers/chunks/{fe71a0604f0928113419.js → 958e161634b5bfd50625.js} +1 -1
- package/assets/esri/core/workers/chunks/95b9eaf7a49eeb17e62f.js +1 -0
- package/assets/esri/core/workers/chunks/95ff342e5c29bf91a765.js +1 -0
- package/assets/esri/core/workers/chunks/97162bbbedb02e42d0b8.js +1 -0
- package/assets/esri/core/workers/chunks/973440553c9e058b0132.js +1 -0
- package/assets/esri/core/workers/chunks/{680dd7b7638465eb33de.js → 98739b6e7904045edbab.js} +1 -1
- package/assets/esri/core/workers/chunks/9a5894e8ebdf0e97b98f.js +1 -0
- package/assets/esri/core/workers/chunks/9aa41d098eeda01ded3a.js +1 -0
- package/assets/esri/core/workers/chunks/9bd4cda90daf90189bfc.js +1 -0
- package/assets/esri/core/workers/chunks/{315031323e11a18154e3.js → 9c04233d18a9585b5bfe.js} +1 -1
- package/assets/esri/core/workers/chunks/9c17bfbfc347ac289b6e.js +1 -0
- package/assets/esri/core/workers/chunks/9c7afe90495766bba37f.js +1 -0
- package/assets/esri/core/workers/chunks/{69b9a327f23e052fced7.js → 9d5d7289a9e23efc7f73.js} +1 -1
- package/assets/esri/core/workers/chunks/9e49a6ce4a133476092f.js +1 -0
- package/assets/esri/core/workers/chunks/9e840a71906c4deef776.js +1 -0
- package/assets/esri/core/workers/chunks/a1bf2111fee455b16e6a.js +29 -0
- package/assets/esri/core/workers/chunks/{910c93bbbf8113a4a51f.js → a2a231a671ff578b7b01.js} +1 -1
- package/assets/esri/core/workers/chunks/{e9e4b27ba06a29e6340c.js → a3cbd3e983e21f40b253.js} +1 -1
- package/assets/esri/core/workers/chunks/{16929524565a677db4dc.js → a406a41a2f117247f1ef.js} +1 -1
- package/assets/esri/core/workers/chunks/a4b63162615a485b08dc.js +1 -0
- package/assets/esri/core/workers/chunks/a9e944f28bd573c8230d.js +1 -0
- package/assets/esri/core/workers/chunks/{6c982779d6d47ec99899.js → b0a9a770b735440846cd.js} +1 -1
- package/assets/esri/core/workers/chunks/b2d6fd436981c890152f.js +1 -0
- package/assets/esri/core/workers/chunks/b3034fbcbe77ef9e7c20.js +1 -0
- package/assets/esri/core/workers/chunks/b3081c0b037abc49d09b.js +1 -0
- package/assets/esri/core/workers/chunks/b4b4fe06364bea9b0750.js +1 -0
- package/assets/esri/core/workers/chunks/b661aae7e3ce955a783e.js +1 -0
- package/assets/esri/core/workers/chunks/{75fc0b1db8e2e3fd2458.js → b8548eb7680abeaf3cd1.js} +1 -1
- package/assets/esri/core/workers/chunks/b9db8d059c2ea39518e7.js +1 -0
- package/assets/esri/core/workers/chunks/ba8777844fef6ed3ac2b.js +1 -0
- package/assets/esri/core/workers/chunks/ba99a650ea64f5024185.js +1 -0
- package/assets/esri/core/workers/chunks/bbfd2b4af8e498b61af9.js +1 -0
- package/assets/esri/core/workers/chunks/{24006cea112d657f053a.js → bc30c0de6dcb106b24a1.js} +1 -1
- package/assets/esri/core/workers/chunks/bf5831a7c12b1e42c669.js +1 -0
- package/assets/esri/core/workers/chunks/bfac0f47e81055585002.js +1 -0
- package/assets/esri/core/workers/chunks/bfd532e33800755b1f48.js +1 -0
- package/assets/esri/core/workers/chunks/c30b6bbabd05e4976fba.js +1 -0
- package/assets/esri/core/workers/chunks/c336f300fe6100e36592.js +1 -0
- package/assets/esri/core/workers/chunks/c5853fbb975e169c44c5.js +1 -0
- package/assets/esri/core/workers/chunks/c71368cd64f240da1743.js +1 -0
- package/assets/esri/core/workers/chunks/c899457f19b749516275.js +1 -0
- package/assets/esri/core/workers/chunks/c9653a15324ca53d50e7.js +1 -0
- package/assets/esri/core/workers/chunks/{9937920e7993814d0b2c.js → ca695ab000a1e8765d69.js} +1 -1
- package/assets/esri/core/workers/chunks/{b792857a178da2dd77d6.js → cc419e1c5c1dee7ec972.js} +1 -1
- package/assets/esri/core/workers/chunks/{2ce845c990bb4d701362.js → cc817c9d3f8e8f8c56e4.js} +1 -1
- package/assets/esri/core/workers/chunks/ce81f29134ab3971bd54.js +1 -0
- package/assets/esri/core/workers/chunks/cf6799fd008d0d7016f7.js +1 -0
- package/assets/esri/core/workers/chunks/cfcb258b7e464f219434.js +1 -0
- package/assets/esri/core/workers/chunks/d0aaa4ad7f76f577f117.js +1 -0
- package/assets/esri/core/workers/chunks/{ac59218847e5ef4c4160.js → d0e00f0bb7b9435e170d.js} +1 -1
- package/assets/esri/core/workers/chunks/{33e293836f5d28dc5d62.js → d13eeff678972a245d5d.js} +1 -1
- package/assets/esri/core/workers/chunks/d1aa87d846a884492b47.js +1 -0
- package/assets/esri/core/workers/chunks/{7529c0fcfb83998e63db.js → d1baf17f3219f70106f7.js} +1 -1
- package/assets/esri/core/workers/chunks/{2b3f76e03b7a28fc4453.js → d2448e26e19005ef9ab2.js} +1 -1
- package/assets/esri/core/workers/chunks/{0179949495c87466b428.js → d3a183d90f1ccc8da2bb.js} +10 -10
- package/assets/esri/core/workers/chunks/d433bfa2abf2ca8239ba.js +1 -0
- package/assets/esri/core/workers/chunks/d4b78d11a5ce4320a29a.js +1 -0
- package/assets/esri/core/workers/chunks/d4cc8eef64b8c84217a5.js +1 -0
- package/assets/esri/core/workers/chunks/d62a5a33a24418a3e283.js +1 -0
- package/assets/esri/core/workers/chunks/{2740f755c3a322cbd477.js → d672c2a1c8eddd235171.js} +1 -1
- package/assets/esri/core/workers/chunks/d845f2115848b56c0369.js +1 -0
- package/assets/esri/core/workers/chunks/d8b38c196b06e801c4e6.js +1 -0
- package/assets/esri/core/workers/chunks/da6134c7883531f21afe.js +1 -0
- package/assets/esri/core/workers/chunks/dbc36b85413fae52b56d.js +1 -0
- package/assets/esri/core/workers/chunks/{cada52d719c35d40958a.js → dbca32f0e0c2c2e2ccf3.js} +1 -1
- package/assets/esri/core/workers/chunks/dcec7fc66385c12ecdf0.js +1 -0
- package/assets/esri/core/workers/chunks/dd9af4ddefa0b998aa4b.js +1 -0
- package/assets/esri/core/workers/chunks/e2473de49189d93714d3.js +1 -0
- package/assets/esri/core/workers/chunks/e2ceddd6bcdabec77cc7.js +1 -0
- package/assets/esri/core/workers/chunks/e3eab61815ef1c521a6c.js +1 -0
- package/assets/esri/core/workers/chunks/e63f94c8097555b266ad.js +2 -0
- package/assets/esri/core/workers/chunks/e72fa08b0bd324514a0e.js +1 -0
- package/assets/esri/core/workers/chunks/e8a9a686a3c23afc9d1f.js +1 -0
- package/assets/esri/core/workers/chunks/eca0736953a20cfc64ad.js +2 -0
- package/assets/esri/core/workers/chunks/efaa455beeefbf97a4c5.js +1 -0
- package/assets/esri/core/workers/chunks/efd176c5ac35f313e7a2.js +1 -0
- package/assets/esri/core/workers/chunks/f16b6cd6b325eb600e82.js +1 -0
- package/assets/esri/core/workers/chunks/f1d0208c6b09c1c4b248.js +1 -0
- package/assets/esri/core/workers/chunks/f1fa377e8fa53b02876f.js +1 -0
- package/assets/esri/core/workers/chunks/f2d99f693a590f384315.js +1 -0
- package/assets/esri/core/workers/chunks/f57e5e7d0748d9a370f7.js +1 -0
- package/assets/esri/core/workers/chunks/f71a3fe5f30aa782193a.js +1 -0
- package/assets/esri/core/workers/chunks/{b9bdb1f05e904c3655e4.js → f834aa732c3f06525089.js} +1 -1
- package/assets/esri/core/workers/chunks/f9e9e79f78be32e5d475.js +1 -0
- package/assets/esri/core/workers/chunks/fa7a6906598d1002abfd.js +1 -0
- package/assets/esri/core/workers/chunks/{ebb722118a220c92efc3.js → fae32c9ce811934b6a64.js} +1 -1
- package/assets/esri/core/workers/chunks/fb86b334bfca4670dcfa.js +1 -0
- package/assets/esri/core/workers/chunks/fbb0b2f4ec0ba458ddeb.js +1 -0
- package/assets/esri/core/workers/chunks/{2d1ae18a28491b00091d.js → fbcc346fa603d6edac98.js} +1 -1
- package/assets/esri/core/workers/chunks/{1ef28d4457c8c943ad19.js → fbede01a363895b6381f.js} +1 -1
- package/assets/esri/core/workers/chunks/{073f1d5f89875c6aefb1.js → fc1aeea22f8c9d63864a.js} +1 -1
- package/assets/esri/core/workers/chunks/fc2234e0d202631f3abf.js +2 -0
- package/assets/esri/core/workers/chunks/fcb943c3b31b1bf62e65.js +2 -0
- package/assets/esri/core/workers/chunks/{8a3289e15e0ce92e3813.js → fe335441ea233cb0fad5.js} +1 -1
- package/assets/esri/core/workers/chunks/ffe2cbfea38b92a231d6.js +1 -0
- package/chunks/Bufferer-CclWhXVb.js +1 -1
- package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
- package/chunks/EmissionComposite.glsl.js +1 -1
- package/chunks/Envelope.js +1 -1
- package/chunks/GaussianSplat.glsl.js +8 -8
- package/chunks/GaussianSplatDepth.glsl.js +4 -4
- package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
- package/chunks/GeodeticUtils.js +1 -1
- package/chunks/Geometry.js +1 -1
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/OperatorCrosses.js +1 -1
- package/chunks/OperatorCut.js +1 -1
- package/chunks/OperatorGeodesicBuffer.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
- package/chunks/OperatorGeodeticLength.js +1 -1
- package/chunks/OperatorGraphicBuffer.js +1 -1
- package/chunks/OperatorIntegrate.js +1 -1
- package/chunks/OperatorIntersects.js +1 -1
- package/chunks/OperatorMultiPartToSinglePart.js +1 -1
- package/chunks/OperatorOverlaps.js +1 -1
- package/chunks/OperatorProject.js +1 -1
- package/chunks/OperatorProximity.js +1 -1
- package/chunks/OperatorProximityGeodesic.js +1 -1
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/OperatorSimplifyOGC.js +1 -1
- package/chunks/OperatorTouches.js +1 -1
- package/chunks/OperatorWithin.js +1 -1
- package/chunks/Point2D.js +1 -1
- package/chunks/ProjectionTransformation.js +1 -1
- package/chunks/SideCalculator2D-DX0718xq.js +1 -1
- package/chunks/SpatialReference.js +1 -1
- package/chunks/UnitFactory.js +2 -0
- package/chunks/containsOperator.js +1 -1
- package/chunks/disjointOperator.js +1 -1
- package/chunks/equalsOperator.js +1 -1
- package/chunks/relateOperator.js +1 -1
- package/config.js +1 -1
- package/geometry/operators/containsOperator.js +1 -1
- package/geometry/operators/disjointOperator.js +1 -1
- package/geometry/operators/gx/geodeticUtils.js +1 -1
- package/geometry/operators/gx/operatorAutoComplete.js +1 -1
- package/geometry/operators/gx/operatorBuffer.js +1 -1
- package/geometry/operators/gx/operatorDifference.js +1 -1
- package/geometry/operators/gx/operatorGeodesicBuffer.js +1 -1
- package/geometry/operators/gx/operatorGeodeticArea.js +1 -1
- package/geometry/operators/gx/operatorGeodeticDensify.js +1 -1
- package/geometry/operators/gx/operatorGeodeticDistance.js +1 -1
- package/geometry/operators/gx/operatorGeodeticLength.js +1 -1
- package/geometry/operators/gx/operatorIntersection.js +1 -1
- package/geometry/operators/gx/operatorLabelPoint.js +1 -1
- package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
- package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
- package/geometry/operators/gx/operatorProject.js +1 -1
- package/geometry/operators/gx/operatorProximityGeodesic.js +1 -1
- package/geometry/operators/gx/operatorShapePreservingProject.js +1 -1
- package/geometry/operators/gx/operatorSimplify.js +1 -1
- package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
- package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
- package/geometry/operators/gx/operatorUnion.js +1 -1
- package/geometry/operators/json/containsOperator.js +1 -1
- package/geometry/operators/json/disjointOperator.js +1 -1
- package/geometry/operators/projectOperator.js +1 -1
- package/geometry/operators/reshapeOperator.js +1 -1
- package/geometry/operators/support/geographicTransformationUtils.js +1 -1
- package/geometry/operators/support/initNoPeFactory.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/geometry/operators/support/projectionTransformation.js +1 -1
- package/geometry/projection/projectionUtilsState.js +2 -0
- package/geometry/projectionUtils.js +1 -1
- package/geometry/support/geometryUtils.js +1 -1
- package/kernel.js +1 -1
- package/layers/raster/datasets/MRFRaster.js +1 -1
- package/layers/raster/formats/JpgPlus.js +1 -1
- package/layers/raster/formats/RasterCodec.js +1 -1
- package/layers/raster/types.d.ts +65 -0
- package/package.json +2 -2
- package/support/revision.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/effects/EffectRadial.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/SymbolRepository.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/segmentUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
- package/views/3d/GroundView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
- package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
- package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
- package/views/3d/state/controllers/ZoomControllerLocal.js +1 -1
- package/views/3d/state/controllers/ZoomStepControllerLocal.js +1 -1
- package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
- package/views/3d/support/QualityProfile.js +1 -1
- package/views/3d/support/QualitySettings.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
- package/views/3d/terrain/PlanarPatch.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/webgl-engine/lib/BasisUtil.js +1 -1
- package/views/3d/webgl-engine/lib/EmissionComposite.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/EmissionComposite.js +1 -1
- package/views/3d/webgl-engine/lib/EmissionCompositeTechnique.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatRenderUtils.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatRenderer.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +50 -22
- package/views/analysis/ElevationProfile/ElevationProfileController.js +1 -1
- package/views/support/GroundElevationSampler.js +1 -1
- package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
- package/widgets/BatchAttributeForm/expressions/expressionUtils.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageLocationViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/assets/esri/core/workers/chunks/04105d83556409489835.js +0 -1
- package/assets/esri/core/workers/chunks/05b6b2c0b76afb100e33.js +0 -1
- package/assets/esri/core/workers/chunks/0909816f13d25cacf250.js +0 -1
- package/assets/esri/core/workers/chunks/0933203eee15ea50e123.js +0 -1
- package/assets/esri/core/workers/chunks/0b18de5147d76b68896f.js +0 -1
- package/assets/esri/core/workers/chunks/0d9d33f29124d464a4cb.js +0 -1
- package/assets/esri/core/workers/chunks/0d9fe49812554e7d7ba7.js +0 -1
- package/assets/esri/core/workers/chunks/0da5b27b070ab780f8b3.js +0 -1
- package/assets/esri/core/workers/chunks/0e333aced8b23aa49a0e.js +0 -1
- package/assets/esri/core/workers/chunks/0eaa8265a4cd64297545.js +0 -1
- package/assets/esri/core/workers/chunks/1142f8e9c80207d6bdae.js +0 -1
- package/assets/esri/core/workers/chunks/118ccfa2d685764752ee.js +0 -1
- package/assets/esri/core/workers/chunks/12a64eca4c571926d9d4.js +0 -1
- package/assets/esri/core/workers/chunks/1642fa1263d8f4a45101.js +0 -1
- package/assets/esri/core/workers/chunks/16a04fc184728d66e6e1.js +0 -1
- package/assets/esri/core/workers/chunks/18e0e993c0c39c962e61.js +0 -1
- package/assets/esri/core/workers/chunks/19233d0016e5b154c5ce.js +0 -1
- package/assets/esri/core/workers/chunks/1a467da4c0b33f655199.js +0 -1
- package/assets/esri/core/workers/chunks/1ac8a7a129ba33e05a24.js +0 -1
- package/assets/esri/core/workers/chunks/1d92d53186debd52e753.js +0 -1
- package/assets/esri/core/workers/chunks/1dba93abe84d30f05d8d.js +0 -1
- package/assets/esri/core/workers/chunks/2033e6d42453e4e67048.js +0 -1
- package/assets/esri/core/workers/chunks/20b54e7872d967f3be32.js +0 -1
- package/assets/esri/core/workers/chunks/2501d9459f6d14c797e5.js +0 -1
- package/assets/esri/core/workers/chunks/253c231b5a52f1d2d3a5.js +0 -1
- package/assets/esri/core/workers/chunks/257f1e8316877f611e11.js +0 -1
- package/assets/esri/core/workers/chunks/28924f31f5ba8ebdc60a.js +0 -1
- package/assets/esri/core/workers/chunks/28b09fe50b855a1d8a3f.js +0 -1
- package/assets/esri/core/workers/chunks/2b0558c1716425974563.js +0 -2
- package/assets/esri/core/workers/chunks/2e7c830b5b1fe406169f.js +0 -1
- package/assets/esri/core/workers/chunks/2f4ed8a63d57636a4ebe.js +0 -1
- package/assets/esri/core/workers/chunks/393f79843d5a78c1cc37.js +0 -1
- package/assets/esri/core/workers/chunks/3958d92c737b3a2a3bc2.js +0 -1
- package/assets/esri/core/workers/chunks/3978f00a03e97645b276.js +0 -1
- package/assets/esri/core/workers/chunks/3b5c5356353f1a2303a0.js +0 -1
- package/assets/esri/core/workers/chunks/40e48b720d89cd067892.js +0 -1
- package/assets/esri/core/workers/chunks/436d51b9f1b1b5abc4bc.js +0 -1
- package/assets/esri/core/workers/chunks/44a786aba84918f2b247.js +0 -1
- package/assets/esri/core/workers/chunks/463747a822499dd933ef.js +0 -1
- package/assets/esri/core/workers/chunks/484b251fbcbffcb58323.js +0 -1
- package/assets/esri/core/workers/chunks/495f90fe3d0ad32bb82d.js +0 -1
- package/assets/esri/core/workers/chunks/49a3888bf9e2481642ac.js +0 -1
- package/assets/esri/core/workers/chunks/4ce57dd39075e8fb357c.js +0 -1
- package/assets/esri/core/workers/chunks/5459ba8fdeb2370bb52b.js +0 -1
- package/assets/esri/core/workers/chunks/55924fb0de05e727f5e3.js +0 -1
- package/assets/esri/core/workers/chunks/55dda957c79fb285185f.js +0 -1
- package/assets/esri/core/workers/chunks/56e6d8c4a9ed893ce951.js +0 -1
- package/assets/esri/core/workers/chunks/57159bcac86d660dcceb.js +0 -1
- package/assets/esri/core/workers/chunks/58026fc30d8a0ded4102.js +0 -1
- package/assets/esri/core/workers/chunks/5eb29f0068f1c839d05e.js +0 -1
- package/assets/esri/core/workers/chunks/5f553da48d0ccbbfcd3c.js +0 -2
- package/assets/esri/core/workers/chunks/5fb76575575fe8cfb1f0.js +0 -1
- package/assets/esri/core/workers/chunks/6072c63a5da4366e9942.js +0 -1
- package/assets/esri/core/workers/chunks/626a715fdec93e188e0c.js +0 -1
- package/assets/esri/core/workers/chunks/6525c925bb91facb3575.js +0 -1
- package/assets/esri/core/workers/chunks/6529b5cc3ac6baa29fff.js +0 -2
- package/assets/esri/core/workers/chunks/65d1e338612e59063eba.js +0 -1
- package/assets/esri/core/workers/chunks/66e60351aacbd162775f.js +0 -1
- package/assets/esri/core/workers/chunks/694371f51c52a7a94da4.js +0 -1
- package/assets/esri/core/workers/chunks/69b0dcd7bcd8ec42e2c3.js +0 -1
- package/assets/esri/core/workers/chunks/7260e63252fa5452dc22.js +0 -1
- package/assets/esri/core/workers/chunks/72eb0ac55026a4f5d6a7.js +0 -1
- package/assets/esri/core/workers/chunks/79429c8be5da85713200.js +0 -1
- package/assets/esri/core/workers/chunks/79c0a966f7d11d3c217f.js +0 -1
- package/assets/esri/core/workers/chunks/7b470d6ad182548b9e95.js +0 -1
- package/assets/esri/core/workers/chunks/7b862a074816c099b9ff.js +0 -1
- package/assets/esri/core/workers/chunks/7baa363b3b0a442a63d2.js +0 -1
- package/assets/esri/core/workers/chunks/7d8eb4dbea1916320f74.js +0 -1
- package/assets/esri/core/workers/chunks/7ddf9b2718dd047f15e6.js +0 -1
- package/assets/esri/core/workers/chunks/835af7b4fd92cb4e7af0.js +0 -1
- package/assets/esri/core/workers/chunks/8566449c39eba55147f5.js +0 -1
- package/assets/esri/core/workers/chunks/864691186c449ca2c3db.js +0 -1
- package/assets/esri/core/workers/chunks/88d5541679e77117bf03.js +0 -1
- package/assets/esri/core/workers/chunks/88fd698b940dadcc6dc5.js +0 -1
- package/assets/esri/core/workers/chunks/894ebc64b698e5d7604b.js +0 -1
- package/assets/esri/core/workers/chunks/8be707044d992ef5f1d8.js +0 -1
- package/assets/esri/core/workers/chunks/8c1bddc88cc5f4251021.js +0 -1
- package/assets/esri/core/workers/chunks/8eecc6df6511c8830f5d.js +0 -1
- package/assets/esri/core/workers/chunks/8f0d4aec8bd3cbfefc40.js +0 -1
- package/assets/esri/core/workers/chunks/8fea514aada1195c8f30.js +0 -1
- package/assets/esri/core/workers/chunks/94bf7f0da6ad3f7ea277.js +0 -1
- package/assets/esri/core/workers/chunks/987594539981483a7c5e.js +0 -1
- package/assets/esri/core/workers/chunks/995a433936fc90d41634.js +0 -2
- package/assets/esri/core/workers/chunks/9bbff8237540409610b3.js +0 -1
- package/assets/esri/core/workers/chunks/9e1392a0c608a13ab036.js +0 -1
- package/assets/esri/core/workers/chunks/9f1211d2267fb7673c4d.js +0 -1
- package/assets/esri/core/workers/chunks/a486d99f9879f94151ba.js +0 -1
- package/assets/esri/core/workers/chunks/a50421fe79f264ae3619.js +0 -1
- package/assets/esri/core/workers/chunks/a5c115fc53edb52ce1de.js +0 -1
- package/assets/esri/core/workers/chunks/a739e617fc461014ad1f.js +0 -1
- package/assets/esri/core/workers/chunks/aa21031c8f12ca438eaa.js +0 -1
- package/assets/esri/core/workers/chunks/ad27689b231e282b7620.js +0 -1
- package/assets/esri/core/workers/chunks/aed16c3e26652960ad3f.js +0 -1
- package/assets/esri/core/workers/chunks/af6e8c961fd768fa7be3.js +0 -1
- package/assets/esri/core/workers/chunks/b3a1a93c6dc9247cb048.js +0 -1
- package/assets/esri/core/workers/chunks/b4abf82b8ac974a55ae1.js +0 -1
- package/assets/esri/core/workers/chunks/b8cd81d8fcc78d272130.js +0 -1
- package/assets/esri/core/workers/chunks/b9a1046ca2cd0cca5da5.js +0 -1
- package/assets/esri/core/workers/chunks/b9d6f89f9b8e9d1bc787.js +0 -1
- package/assets/esri/core/workers/chunks/bab5f4b2424b487b87ac.js +0 -1
- package/assets/esri/core/workers/chunks/c02b3b8b71205f6ce290.js +0 -1
- package/assets/esri/core/workers/chunks/c17dda6fadb8bfad0d51.js +0 -1
- package/assets/esri/core/workers/chunks/c21212c356f65244e34e.js +0 -1
- package/assets/esri/core/workers/chunks/c374e5d5980db74c4aca.js +0 -1
- package/assets/esri/core/workers/chunks/c6bf17b5ff6ec4b980a1.js +0 -1
- package/assets/esri/core/workers/chunks/c99dcc17fbd7acd2ad2e.js +0 -1
- package/assets/esri/core/workers/chunks/ce481eeb27ea9c1782ae.js +0 -1
- package/assets/esri/core/workers/chunks/cec1c87eb3749276ced4.js +0 -1
- package/assets/esri/core/workers/chunks/cef02ed3942c010da2e8.js +0 -29
- package/assets/esri/core/workers/chunks/cfdbc48f58433a3d5fc3.js +0 -1
- package/assets/esri/core/workers/chunks/d456520e4b119a2816b6.js +0 -1
- package/assets/esri/core/workers/chunks/d8da31bfe2bc4174e5aa.js +0 -1
- package/assets/esri/core/workers/chunks/da1c9257793c2817f40f.js +0 -1
- package/assets/esri/core/workers/chunks/dc0c3109b7558b4fe016.js +0 -1
- package/assets/esri/core/workers/chunks/ddd8f6154e265dbb6f9f.js +0 -1
- package/assets/esri/core/workers/chunks/de601f0d5a2a282d2efd.js +0 -1
- package/assets/esri/core/workers/chunks/e227eb44cd139fe2bc1b.js +0 -1
- package/assets/esri/core/workers/chunks/e2ddfc96ddba92302e0c.js +0 -1
- package/assets/esri/core/workers/chunks/e61ab8ef30bbe788b9d7.js +0 -1
- package/assets/esri/core/workers/chunks/e89e6eea380ca2c13b64.js +0 -1
- package/assets/esri/core/workers/chunks/e9d352d030dcad1619a6.js +0 -1
- package/assets/esri/core/workers/chunks/eb95464bd017fb839510.js +0 -1
- package/assets/esri/core/workers/chunks/ed4ac5568dc2815b066d.js +0 -1
- package/assets/esri/core/workers/chunks/ed564358cc7b3ee463a3.js +0 -1
- package/assets/esri/core/workers/chunks/ee63c693f2539f3bfa17.js +0 -2
- package/assets/esri/core/workers/chunks/ef2e0a014c982d9c7ca4.js +0 -1
- package/assets/esri/core/workers/chunks/ef9489d1dccb817460bb.js +0 -2
- package/assets/esri/core/workers/chunks/f086c6d229fb34a9d7f9.js +0 -1
- package/assets/esri/core/workers/chunks/f35e749bb5be39880cbe.js +0 -1
- package/assets/esri/core/workers/chunks/f4bc563c71c478d3912f.js +0 -1
- package/assets/esri/core/workers/chunks/f6150b51a9430691a040.js +0 -1
- package/assets/esri/core/workers/chunks/f6f7d885b4d6080e3f58.js +0 -1
- package/assets/esri/core/workers/chunks/f95870bb4d8e4e13e69e.js +0 -1
- package/assets/esri/core/workers/chunks/fa59f10ed0f182a2a7f3.js +0 -1
- package/assets/esri/core/workers/chunks/fc9065d0cd6285fe0f0d.js +0 -1
- /package/assets/esri/core/workers/chunks/{ee63c693f2539f3bfa17.js.LICENSE.txt → 61312d3b5477ed9d87d9.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{6529b5cc3ac6baa29fff.js.LICENSE.txt → 856dba96332509fb1d7a.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{995a433936fc90d41634.js.LICENSE.txt → e63f94c8097555b266ad.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{5f553da48d0ccbbfcd3c.js.LICENSE.txt → eca0736953a20cfc64ad.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{ef9489d1dccb817460bb.js.LICENSE.txt → fc2234e0d202631f3abf.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{2b0558c1716425974563.js.LICENSE.txt → fcb943c3b31b1bf62e65.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{G as s,a as i,k as n,t as r,l as m,f as o,m as a,n as h,h as l,d as c,g as u}from"./Geometry.js";import{G as f}from"./GeometryCursor.js";import{C as _,c as g,P as d,E as p,s as b}from"./Envelope.js";import{i as y,m as P,P as x,k as C,h as D,d as w,a as T}from"./Point2D.js";import{L as v,D as S,P as I,a as M,i as E,E as V,n as k}from"./MultiPathImpl.js";import{Envelope2D as R}from"./Envelope2D.js";import{T as A}from"./Transformation2D.js";import{c as B}from"./GeometryCleaner-CIE8Wfmb.js";import{z as X,f as Y,H as F}from"./SpatialReference.js";import{O as L}from"./OperatorSimplifyOGC.js";import{O as z}from"./OperatorGeneralize.js";function q(e){return e>=0?e>C?C:e:0}var j;function G(e,t,s,i,n,r){return{m_from:e.clone(),m_to:t.clone(),m_center:s.clone(),m_next:n,m_type:i}}function N(e,t,s,i,n){return{m_from:e.clone(),m_to:t.clone(),m_next:s,m_type:4,m_center:new x}}!function(e){e[e.enumDummy=256]="enumDummy",e[e.enumLine=1]="enumLine",e[e.enumArc=2]="enumArc",e[e.enumMiter=8]="enumMiter",e[e.enumBevel=16]="enumBevel",e[e.enumJoinMask=26]="enumJoinMask",e[e.enumConnectionMask=27]="enumConnectionMask"}(j||(j={}));class O extends f{m_parent;m_index=0;m_bufferedPolygon=null;m_mp;m_spatialReference;m_distance;m_densifyDist;m_x=0;m_y=0;m_miterLimit;m_joins;m_caps;m_maxVertexInCompleteCircle;m_progressTracker;constructor(e,t,s,i,n,r,m,o,a,h){super(),this.m_progressTracker=h,this.m_parent=e,this.m_mp=t,this.m_distance=s,this.m_spatialReference=i,this.m_densifyDist=o,this.m_maxVertexInCompleteCircle=a,this.m_joins=n,this.m_caps=r,this.m_miterLimit=m}next(){const e=new d;for(;;){if(this.m_index===this.m_mp.getPointCount())return null;if(1===this.m_caps)return this.m_index=this.m_mp.getPointCount(),new I({vd:this.m_mp.getDescription()});if(this.m_mp.getPointByVal(this.m_index,e),this.m_index++,!e.isEmpty())break}let t,s=!1;if(null===this.m_bufferedPolygon&&(this.m_x=e.getX(),this.m_y=e.getY(),this.m_bufferedPolygon=this.m_parent.buffer(e,this.m_distance,this.m_spatialReference,this.m_joins,this.m_caps,this.m_miterLimit,this.m_densifyDist,this.m_maxVertexInCompleteCircle),s=!0),t=this.m_index<this.m_mp.getPointCount()?this.m_bufferedPolygon.clone():this.m_bufferedPolygon,!s){const s=new A,i=e.getX()-this.m_x,n=e.getY()-this.m_y;s.setShiftCoords(i,n),t.applyTransformation(s)}return b(t,0),t}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class U extends f{m_polyline;m_currentPathIndex=0;constructor(e){super(),this.m_polyline=e}next(){if(!this.m_polyline)return null;const e=this.m_polyline.getImpl(),t=e.getPathCount();if(this.m_currentPathIndex<t){const t=this.m_currentPathIndex;if(this.m_currentPathIndex++,!e.isClosedPathInXYPlane(t)){let s=e.getXY(e.getPathEnd(t)-1);for(;this.m_currentPathIndex<e.getPathCount();){const t=e.getXY(e.getPathStart(this.m_currentPathIndex));if(e.isClosedPathInXYPlane(this.m_currentPathIndex))break;if(!t.equals(s))break;s=e.getXY(e.getPathEnd(this.m_currentPathIndex)-1),this.m_currentPathIndex++}}if(0===t&&this.m_currentPathIndex===this.m_polyline.getPathCount()){const e=this.m_polyline;return this.m_polyline=null,e}const s=new M({vd:this.m_polyline.getDescription()});s.addPath(this.m_polyline,t,!0);for(let i=t+1;i<this.m_currentPathIndex;i++)s.addSegmentsFromPath(this.m_polyline,i,0,e.getSegmentCountPath(i),!1);return this.m_currentPathIndex===this.m_polyline.getPathCount()&&(this.m_polyline=null),s}return null}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class J extends f{m_bufferer;m_geoms;m_geometry=null;m_index=0;m_bFilter;constructor(e,t,s){super(),this.m_bufferer=e,this.m_geoms=t,this.m_index=0,this.m_bFilter=s}next(){if(null===this.m_geometry&&(this.m_index=0,this.m_geometry=this.m_geoms.next(),!this.m_geometry))return null;const e=this.m_geometry.getImpl();if(this.m_index<e.getPathCount()){const e=this.m_index;this.m_index++;return this.m_bufferer.bufferPolylinePath(this.m_geometry,e,this.m_bFilter)}return this.m_geometry=null,this.next()}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class H extends f{m_bufferer;m_index=0;constructor(e){super(),this.m_bufferer=e}next(){const e=this.m_bufferer.m_geometry;if(this.m_index<e.getPathCount()){const t=this.m_index,s=e.calculateRingArea2D(this.m_index);for(u(s>0),this.m_index++;this.m_index<e.getPathCount();){if(e.calculateRingArea2D(this.m_index)>0)break;this.m_index++}let i;return i=0===t&&this.m_index===e.getPathCount()?this.m_bufferer.bufferPolygonImpl(e,0,e.getPathCount()):this.m_bufferer.bufferPolygonImpl(e,t,this.m_index),i}return null}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class W{m_geometry=null;m_densificator;m_bufferCommands=[];m_originalGeomType=s.enumUnknown;m_progressTracker;m_maxVertexInCompleteCircle=-1;m_circleTemplateSize=-1;m_oldCircleTemplateSize=0;m_spatialReference=null;m_tolerance=new _(0,0);m_smallTolerance=new _(0,0);m_filterTolerance=0;m_densifyDist=-1;m_distance=Number.NaN;m_absDistance=0;m_absDistanceReversed=0;m_dA=-1;m_miterLimit=4;m_joins=0;m_caps=0;m_bRoundBuffer=!0;m_bOutputLoops=!0;m_bFilter=!0;m_circleTemplate=[];m_leftStack=[];m_middleStack=[];m_helperLine1=new v;m_helperLine2=new v;m_helperArray=[];m_progressCounter=0;constructor(e){this.m_densificator=S.constructDefault(e),this.m_progressTracker=e}buffer(e,t,s,l,c,u,f,_){if(e||i("Geometry.Bufferer.Impl.Buffer"),f<0&&i("Geometry.Bufferer.Impl.Buffer"),n(e.getGeometryType())&&r("Unsupported geometry type."),e.isEmpty())return new I({vd:e.getDescription()});if(this.m_joins=l,this.m_caps=c,this.m_bRoundBuffer=!1,this.m_miterLimit=u,this.m_originalGeomType=e.getGeometryType(),m(this.m_originalGeomType)?this.m_bRoundBuffer=0===this.m_joins:o(this.m_originalGeomType)?this.m_bRoundBuffer=0===this.m_caps:a(this.m_originalGeomType)&&(this.m_bRoundBuffer=0===this.m_joins&&0===this.m_caps),this.m_bFilter=this.m_bRoundBuffer,this.m_geometry=B(e),this.m_geometry.isEmpty())return new I({vd:e.getDescription()});const d=new R;this.m_geometry.queryLooseEnvelope(d),t>0&&d.inflateCoords(t,t),this.m_tolerance=g(s,d,!0),this.m_smallTolerance=g(null,d,!0),_<=0&&(_=96),this.m_spatialReference=s,this.m_distance=t,this.m_absDistance=Math.abs(this.m_distance),this.m_absDistanceReversed=0!==this.m_absDistance?1/this.m_absDistance:0,Number.isNaN(f)||0===f?f=1e-5*this.m_absDistance:f>.5*this.m_absDistance&&(f=.5*this.m_absDistance),_<12&&(_=12);const p=Math.abs(t)*(1-Math.cos(Math.PI/_));if(p>f)f=p;else if(0!==t){const e=Math.PI/Math.acos(1-f/Math.abs(t));e<_-1&&(_=Math.trunc(e))<12&&(_=12,f=Math.abs(t)*(1-Math.cos(Math.PI/_)))}this.m_densifyDist=f,this.m_maxVertexInCompleteCircle=_,this.m_filterTolerance=this.m_bRoundBuffer?Math.min(this.m_smallTolerance.total(),.25*this.m_densifyDist):0,this.m_circleTemplateSize=this.calcN(),this.m_circleTemplateSize!==this.m_oldCircleTemplateSize&&(this.m_circleTemplate.length=0,this.m_oldCircleTemplateSize=this.m_circleTemplateSize),this.m_densifyDist>0&&h(this.m_geometry)&&(this.m_geometry=this.m_densificator.densifyEx(this.m_geometry,0,this.m_densifyDist,0,0!==this.m_joins,y()));const b=this.bufferImpl();return this.m_geometry=null,b}generateCircleTemplate(){if(this.m_circleTemplate.length)return;const e=this.m_circleTemplateSize,t=Math.trunc((e+3)/4),s=.5*Math.PI/t;this.m_dA=s,this.m_circleTemplate=P(x,4*t);const i=Math.cos(s),n=Math.sin(s),r=x.construct(0,1);for(let m=0;m<t;m++)this.m_circleTemplate[m+0*t].setCoords(r.y,-r.x),this.m_circleTemplate[m+1*t].setCoords(-r.x,-r.y),this.m_circleTemplate[m+2*t].setCoords(-r.y,r.x),this.m_circleTemplate[m+3*t].setCoords(r.x,r.y),r.rotateReverse(i,n)}bufferImpl(){const e=this.m_geometry.getGeometryType();if(l(e)){const e=new M({vd:this.m_geometry.getDescription()});return e.addSegment(this.m_geometry,!0),this.m_geometry=e,this.bufferImpl()}if(this.m_distance<=this.m_tolerance.total()){if(!m(e))return new I({vd:this.m_geometry.getDescription()});if(this.m_distance<0){const e=new R;if(this.m_geometry.queryEnvelope(e),e.width()<=2*this.m_absDistance||e.height()<=2*this.m_absDistance)return new I({vd:this.m_geometry.getDescription()})}}switch(this.m_geometry.getGeometryType()){case s.enumPoint:return this.bufferPoint();case s.enumMultiPoint:return this.bufferMultiPoint();case s.enumPolyline:return this.bufferPolyline();case s.enumPolygon:return this.bufferPolygon();case s.enumEnvelope:return this.bufferEnvelope();default:c("")}}bufferPolyline(){if(this.isDegenerateGeometry(this.m_geometry)){const e=new d;this.m_geometry.getPointByVal(0,e);const t=new R;return this.m_geometry.queryEnvelope(t),e.setXY(t.getCenter()),this.bufferDegeneratePath(e,!0)}const e=this.m_geometry,t=this.m_geometry.getDescription();this.m_geometry=null;const s=new U(e);let i,n;i=0===this.m_joins?(new z).executeMany(s,.25*this.m_densifyDist,!1,this.m_progressTracker):s,n=this.m_bRoundBuffer?(new L).executeMany(i,null,!0,this.m_progressTracker):i;const r=new J(this,n,this.m_bFilter),m=(new X).executeMany(r,this.m_spatialReference,this.m_progressTracker,2),o=(new Y).executeMany(m,this.m_spatialReference,!1,this.m_progressTracker).next();return null!==o?o:new I({vd:t})}bufferPolygon(){if(0===this.m_distance)return this.m_geometry;this.generateCircleTemplate();const e=(new Y).execute(this.m_geometry,null,!1,this.m_progressTracker);if(this.m_distance<0){if(this.m_geometry=e,this.m_geometry.isEmpty())return this.m_geometry;const t=this.m_geometry,s=this.bufferPolygonImpl(t,0,t.getPathCount());return(new Y).execute(s,this.m_spatialReference,!1,this.m_progressTracker)}{if(this.m_geometry=e,this.isDegenerateGeometry(this.m_geometry)){const e=new d;this.m_geometry.getPointByVal(0,e);const t=new R;return this.m_geometry.queryEnvelope(t),e.setXY(t.getCenter()),this.bufferDegeneratePath(e,!0)}const t=new H(this),s=(new X).executeMany(t,this.m_spatialReference,this.m_progressTracker,2),i=(new Y).executeMany(s,this.m_spatialReference,!1,this.m_progressTracker).next();return null!==i?i:new I({vd:this.m_geometry.getDescription()})}}bufferPolygonImpl(e,t,s){const i=e,n=i.getImpl();let r=new I({vd:e.getDescription()});for(let m=t;m<s;m++){if(n.getPathSize(m)<1)continue;const t=n.calculateRingArea2D(m),s=new R;if(n.queryPathEnvelope(m,s),this.m_distance>0)if(t>0)if(this.isDegeneratePath(n,m)){const e=new d;n.getPointByVal(n.getPathStart(m),e),e.setXY(s.getCenter()),r.add(this.bufferDegeneratePath(e,!0),!1)}else{const t=new M({vd:e.getDescription()}),s=t.getImpl();if(E(this.m_geometry,m)){const e=this.bufferConvexPath(i,m);r.add(e,!1)}else{this.bufferClosedPath(this.m_geometry,m,s,this.m_bRoundBuffer,1);const e=this.bufferCleanup(t);r.add(e,!1)}}else{if(s.width()+this.m_tolerance.total()<=2*this.m_absDistance||s.height()+this.m_tolerance.total()<=2*this.m_absDistance)continue;const t=new M({vd:e.getDescription()}),i=t.getImpl();if(this.bufferClosedPath(this.m_geometry,m,i,this.m_bRoundBuffer,1),!t.isEmpty()){const e=s,n=Math.max(1,this.m_absDistance),m=e.clone();m.inflateCoords(n,n),i.addEnvelope(m,!1);const o=this.bufferCleanup(t);r.reserve(r.getPointCount()+o.getPointCount()-4),se(o,r,m,!0)}}else if(t>0){if(s.width()+this.m_tolerance.total()<=2*this.m_absDistance||s.height()+this.m_tolerance.total()<=2*this.m_absDistance)continue;const t=new M({vd:e.getDescription()}),i=t.getImpl();if(this.bufferClosedPath(this.m_geometry,m,i,this.m_bRoundBuffer,-1),!t.isEmpty()){const e=new R;i.queryLooseEnvelope(e);const s=Math.max(1,this.m_absDistance),n=e.clone();n.inflateCoords(s,s),i.addEnvelope(n,!1);se(this.bufferCleanup(t),r,n,!0)}}else{const t=new M({vd:e.getDescription()}),s=t.getImpl();this.bufferClosedPath(this.m_geometry,m,s,this.m_bRoundBuffer,-1);const i=this.bufferCleanup(t);for(let e=0,n=i.getPathCount();e<n;e++)r.addPath(i,e,!0)}}if(this.m_distance>0){if(r.getPathCount()>1){return this.bufferCleanup(r)}return K(r)}{const e=new R;if(r.queryLooseEnvelope(e),r.isEmpty())return K(r);{const t=Math.max(1,this.m_absDistance),s=e.clone();s.inflateCoords(t,t),r.addEnvelope(s,!1);const i=this.bufferCleanup(r);r=new I;const n=new I({vd:i.getDescription()});return se(i,n,s,!1),K(n)}}}bufferPoint(){return this.bufferPointImpl(this.m_geometry)}bufferPointImpl(e){const t=new I({vd:e.getDescription()});return 0===this.m_caps?(this.addCircle(t.getImpl(),e),this.setStrongSimple(t)):2===this.m_caps?(this.addSquare(t.getImpl(),e),this.setStrongSimple(t)):t}bufferDegeneratePath(e,t){const s=new I({vd:e.getDescription()});return t&&0===this.m_joins||!t&&0===this.m_caps?(this.addCircle(s.getImpl(),e),this.setStrongSimple(s)):t||2!==this.m_caps?s:(this.addSquare(s.getImpl(),e),this.setStrongSimple(s))}bufferMultiPoint(){const e=new O(this,this.m_geometry,this.m_distance,this.m_spatialReference,this.m_joins,this.m_caps,this.m_miterLimit,this.m_densifyDist,this.m_maxVertexInCompleteCircle,this.m_progressTracker);return(new X).executeMany(e,this.m_spatialReference,this.m_progressTracker,2).next()}bufferEnvelope(){let e=new I({vd:this.m_geometry.getDescription()});if(this.m_distance<=0){if(0===this.m_distance)e.addEnvelope(this.m_geometry,!1),Q(this.m_geometry,this.m_tolerance.total())&&(e=this.setStrongSimple(e));else{const t=new p;this.m_geometry.queryEnvelope(t),t.inflateCoords(this.m_distance,this.m_distance),e.addEnvelope(t,!1),Q(t,this.m_tolerance.total())&&(e=this.setStrongSimple(e))}return e}if(1===this.m_joins){const t=new p({copy:this.m_geometry});return t.inflateCoords(this.m_absDistance,this.m_absDistance),e.addEnvelope(t,!1),e}const t=this.m_geometry.clone();if(0===t.width()||0===t.height()){if(0===t.width()&&0===t.height()){const e=new d({vd:this.m_geometry.getDescription()});return t.queryCornerByVal(0,e),this.m_geometry=e,this.bufferImpl()}const e=new M({vd:this.m_geometry.getDescription()}),s=new d;return t.queryCornerByVal(0,s),e.startPathPoint(s),t.queryCornerByVal(2,s),e.lineToPoint(s),this.m_geometry=e,this.bufferImpl()}return e.addEnvelope(this.m_geometry,!1),this.m_geometry=e,this.bufferConvexPath(e,0)}bufferConvexPath(e,t){this.generateCircleTemplate();const s=e.hasAttribute(10),i=new I({vd:e.getDescription()}),n=i.getImpl();i.reserve((this.m_circleTemplate.length/10+4)*e.getPathSize(t));const r=new x,m=new x,o=new x,a=new x(0,0),h=new x,l=new x,u=e.getImpl(),f=e.getPathSize(t),_=e.getPathStart(t);for(let g=0,d=e.getPathSize(t);g<d;g++){const e=u.getXY(_+g),t=u.getXY(_+(g+1)%f),i=u.getXY(_+(g+2)%f);h.setSub(t,e),0===h.length()&&c("");const d=s&&!!(1&u.getAttributeAsInt(10,(g+1)%f,0));h.normalize();const p=h.clone();h.leftPerpendicularThis(),h.scale(this.m_absDistance),r.setAdd(h,e),m.setAdd(h,t),0===g?n.startPath(r):n.lineTo(r),n.lineTo(m),l.setSub(i,t),0===l.length()&&c(""),l.normalize();const b=l.clone();l.leftPerpendicularThis(),l.scale(this.m_absDistance),o.setAdd(l,t);let y=j.enumArc;const P=d?0:this.m_joins;if(2===P)y=j.enumBevel;else if(1===P){const e=-p.crossProduct(b);a.setSub(p,b),a.scale(this.m_absDistance/e),a.length()<this.m_miterLimit*this.m_absDistance?(a.addThis(t),y=j.enumMiter):y=j.enumBevel}else a.assign(t);this.addJoin(y,n,a,m,o,!1,!1)}return K(i)}bufferPolylinePath(e,t,s){this.generateCircleTemplate();const i=e,n=i.getImpl();if(n.getPathSize(t)<1)return null;let r;if(r=this.m_bRoundBuffer?n.isClosedPathInXYPlane(t):n.isClosedPath(t),this.isDegeneratePath(n,t)&&this.m_distance>0){const e=new d;n.getPointByVal(n.getPathStart(t),e);const s=new R;return n.queryPathEnvelope(t,s),e.setXY(s.getCenter()),this.bufferDegeneratePath(e,r)}const m=new M({vd:e.getDescription()});m.reserve((Math.trunc(this.m_circleTemplate.length/10)+4)*n.getPathSize(t));const o=m.getImpl();return r?2!==this.bufferClosedPath(i,t,o,s,1)&&this.bufferClosedPath(i,t,o,s,-1):this.bufferOpenPath(i,t,o,s),this.bufferCleanup(m)}progress_(){}bufferCleanup(e,t=!1){const s=t?this.m_tolerance:this.m_smallTolerance;return F(e,s,!0,!t,-1,this.m_progressTracker,0,!1)}calcN(){const e=4;if(0===this.m_densifyDist)return this.m_maxVertexInCompleteCircle;const t=1-this.m_densifyDist*Math.abs(this.m_absDistanceReversed);let s=e;return s=t<-1?e:2*Math.PI/Math.acos(t)+.5,s<e?s=e:s>this.m_maxVertexInCompleteCircle&&(s=this.m_maxVertexInCompleteCircle),Math.trunc(s)}addJoin(e,t,s,i,n,r,m){if(this.generateCircleTemplate(),r&&(t.startPath(i),r=!1),e===j.enumBevel)return void(m&&t.lineTo(n));if(e===j.enumMiter){const e=s.clone();return t.lineTo(e),void(m&&t.lineTo(n))}const o=new x;o.setSub(i,s),o.scale(this.m_absDistanceReversed);const a=new x;a.setSub(n,s),a.scale(this.m_absDistanceReversed);let h=Math.atan2(o.y,o.x)/this.m_dA;h<0&&(h=this.m_circleTemplate.length+h),h=this.m_circleTemplate.length-h;let l=Math.atan2(a.y,a.x)/this.m_dA;l<0&&(l=this.m_circleTemplate.length+l),l=this.m_circleTemplate.length-l,l<h&&(l+=this.m_circleTemplate.length);let c=Math.trunc(l),u=Math.ceil(h),f=this.m_circleTemplate[u%this.m_circleTemplate.length].clone();f.scaleAddThis(this.m_absDistance,s);const _=10*this.m_tolerance.total();f.sub(i).length()<_&&(u+=1),f=this.m_circleTemplate[c%this.m_circleTemplate.length].clone(),f.scaleAddThis(this.m_absDistance,s),f.sub(n).length()<_&&(c-=1);let g=c-u;g++;for(let d=0,p=u%this.m_circleTemplate.length;d<g;d++,p=(p+1)%this.m_circleTemplate.length)f=this.m_circleTemplate[p].clone(),f.scaleAddThis(this.m_absDistance,s),t.lineTo(f),this.progress_();m&&t.lineTo(n)}bufferClosedPath(e,t,s,i,n){const r=new V,m=r.addPathFromMultiPath(e,t,!0);return this.bufferClosedPathImpl(r,m,s,i,n)}bufferClosedPathImpl(e,t,s,i,n){const r=e.getFirstVertex(e.getFirstPath(t)),m=new d;e.queryPoint(r,m),e.filterClosePoints(this.m_filterTolerance,!1,!1,!1,-1);if(e.getPointCount(t)<2)return n<0?0:(this.m_bRoundBuffer&&this.addCircle(s,m),2);u(e.getFirstPath(t)!==k),u(e.getFirstVertex(e.getFirstPath(t))!==k);const o=e.getXY(e.getFirstVertex(e.getFirstPath(t))),a=new A;if(a.setShift(o.negate()),e.applyTransformation(a),i){const i=te(e,t,n,!0,this.m_absDistance,this.m_filterTolerance,this.m_densifyDist);if(u(1===i),e.getPointCount(t)<2)return n<0?0:(this.addCircle(s,m),2)}const h=0!==this.m_joins&&e.getVertexDescription().hasAttribute(10);this.m_bufferCommands.length=0;const l=e.getFirstPath(t);let c=e.getFirstVertex(l),f=1===n?e.getPrevVertex(c):e.getNextVertex(c),_=1===n?e.getNextVertex(c):e.getPrevVertex(c),g=!0;const p=new x,b=new x,y=new x,P=new x,C=new x,D=new x,w=new x,T=new x,v=this.m_absDistance,S=e.getPathSize(l),I=new x(0,0);for(let u=0;u<S;u++){b.assign(e.getXY(_)),g&&(p.assign(e.getXY(c)),y.assign(e.getXY(f)),D.setSub(p,y),D.normalize(),T.leftPerpendicularOther(D),T.scale(v),P.setAdd(T,p));const t=h&&!!(1&e.getAttributeAsDbl(10,c,0));C.setSub(b,p),C.normalize(),w.leftPerpendicularOther(C),w.scale(v);const s=new x;s.setAdd(p,w);const i=D.crossProduct(C),r=D.dotProduct(C);if(i<0||r<0&&i<Math.abs(r)*Number.EPSILON*8){let e=!1;const n=t?0:this.m_joins;if(1===n){const t=-i;I.setSub(D,C),I.scale(this.m_absDistance/t),I.length()<this.m_miterLimit*this.m_absDistance&&(I.addThis(p),e=!0),this.m_bufferCommands.push(G(P,s,I,e?j.enumMiter:j.enumBevel,this.m_bufferCommands.length+1))}else this.m_bufferCommands.push(G(P,s,p,0===n?j.enumArc:j.enumBevel,this.m_bufferCommands.length+1))}else P.equals(s)||(this.m_bufferCommands.push(N(P,p,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(N(p,s,this.m_bufferCommands.length+1)));const m=new x;m.setAdd(b,w),this.m_bufferCommands.push(G(s,m,p,j.enumLine,this.m_bufferCommands.length+1)),P.setCoordsPoint2D(m),T.setCoordsPoint2D(w),y.setCoordsPoint2D(p),p.setCoordsPoint2D(b),D.setCoordsPoint2D(C),f=c,c=_,g=!1,_=1===n?e.getNextVertex(c):e.getPrevVertex(c)}return this.m_bufferCommands.at(-1).m_next=0,this.processBufferCommands(s),a.setShift(o),s.applyTransformationToPath(a,s.getPathCount()-1),1}bufferOpenPath(e,t,s,i){if(this.m_bRoundBuffer){const n=new M({vd:e.getDescription()});return n.addPath(e,t,!1),n.addSegmentsFromPath(e,t,0,e.getSegmentCountPath(t),!1),this.bufferClosedPath(n,0,s,i,1)}let n=0;const r=new M({vd:e.getDescription()}),m=new x(0,0);{const i=new V,o=i.addPathFromMultiPath(e,t,!1),a=i.getFirstVertex(i.getFirstPath(o)),h=new d;i.queryPoint(a,h),m.assign(h.getXY()),i.filterClosePoints(0,!1,!1,!1,-1);if(i.getPointCount(o)<2)return this.m_bRoundBuffer&&this.addCircle(s,h),2;const l=i.getGeometry(i.getFirstGeometry());r.addPath(l,0,!1),n=r.getPointCount()-1,r.addSegmentsFromPath(l,0,0,l.getSegmentCountPath(0)-1,!1)}const o=new V,a=o.addPathFromMultiPath(r,0,!0);u(o.getFirstPath(a)!==k),u(o.getFirstVertex(o.getFirstPath(a))!==k);const h=new A;h.setShift(m.negate()),o.applyTransformation(h),this.m_bufferCommands.length=0;const l=o.getFirstPath(a),c=0!==this.m_joins&&o.getVertexDescription().hasAttribute(10);let f=o.getFirstVertex(l),_=o.getPrevVertex(f),g=o.getNextVertex(f),p=!0;const b=new x,y=new x,P=new x,C=new x,D=new x,w=new x,T=new x,v=new x,S=this.m_absDistance,I=o.getPathSize(l),E=new x(0,0);for(let u=0;u<I;u++){let e=!1;0!==u&&u!==n||(e=!0),y.assign(o.getXY(g)),p&&(b.assign(o.getXY(f)),P.assign(o.getXY(_)),w.setSub(b,P),w.normalize(),v.leftPerpendicularOther(w),v.scale(S),C.setAdd(v,b));const t=c&&!!(1&o.getAttributeAsDbl(10,f,0));D.setSub(y,b),D.normalize(),T.leftPerpendicularOther(D),T.scale(S);const s=new x;s.setAdd(b,T);const i=w.crossProduct(D),r=w.dotProduct(D);if(i<0||r<0&&i<Math.abs(r)*Number.EPSILON*8)if(e)if(0===this.m_caps)this.m_bufferCommands.push(G(C,s,b,j.enumArc,this.m_bufferCommands.length+1));else if(1===this.m_caps)this.m_bufferCommands.push(G(C,s,b,j.enumLine,this.m_bufferCommands.length+1));else{const e=D.mul(this.m_absDistance).negate(),t=e.clone();e.addThis(C),t.addThis(s),this.m_bufferCommands.push(G(C,e,b,j.enumLine,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(G(e,t,b,j.enumLine,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(G(t,s,b,j.enumLine,this.m_bufferCommands.length+1))}else{let e=!1;const n=t?0:this.m_joins;if(1===n){const t=-i;E.setSub(w,D),E.scale(this.m_absDistance/t),E.length()<this.m_miterLimit*this.m_absDistance&&(E.addThis(b),e=!0),this.m_bufferCommands.push(G(C,s,E,e?j.enumMiter:j.enumBevel,this.m_bufferCommands.length+1))}else this.m_bufferCommands.push(G(C,s,b,0===n?j.enumArc:j.enumBevel,this.m_bufferCommands.length+1))}else C.equals(s)||(this.m_bufferCommands.push(N(C,b,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(N(b,s,this.m_bufferCommands.length+1)));const m=new x;m.setAdd(y,T),this.m_bufferCommands.push(G(s,m,b,j.enumLine,this.m_bufferCommands.length+1)),C.setCoordsPoint2D(m),v.setCoordsPoint2D(T),P.setCoordsPoint2D(b),b.setCoordsPoint2D(y),w.setCoordsPoint2D(D),_=f,f=g,p=!1,g=o.getNextVertex(f)}return this.m_bufferCommands.at(-1).m_next=0,this.processBufferCommands(s),h.setShift(m),s.applyTransformationToPath(h,s.getPathCount()-1),1}processBufferCommands(e){const t=this.cleanupBufferCommands();let s=!0,i=t+1;for(let n=t;i!==t;n=i){const t=this.m_bufferCommands[n];i=-1!==t.m_next?t.m_next:(n+1)%this.m_bufferCommands.length,t.m_type&&(s&&(e.startPath(t.m_from),s=!1),t.m_type&j.enumJoinMask?this.addJoin(t.m_type,e,t.m_center,t.m_from,t.m_to,!1,!0):e.lineTo(t.m_to))}}cleanupBufferCommands(){this.m_helperArray=P(x,9);let e=0;for(let s=0,i=this.m_bufferCommands.length;s<i;){const t=this.m_bufferCommands[s];if(t.m_type&j.enumConnectionMask){e=s;break}s=t.m_next}let t=e+1;for(let s=e;t!==e;s=t){const e=this.m_bufferCommands[s];t=e.m_next;let i=1,n=null;for(;t!==s&&(n=this.m_bufferCommands[t],!(n.m_type&j.enumConnectionMask));)t=n.m_next,i++;if(1!==i&&(e.m_type&n.m_type)===j.enumLine){this.m_helperLine1.setStartXY(e.m_from),this.m_helperLine1.setEndXY(e.m_to),this.m_helperLine2.setStartXY(n.m_from),this.m_helperLine2.setEndXY(n.m_to);1===this.m_helperLine1.intersect(this.m_helperLine2,this.m_helperArray,null,null,this.m_smallTolerance.total())&&(e.m_to.assign(this.m_helperArray[0]),n.m_from.assign(this.m_helperArray[0]),e.m_next=t)}}return e}isDegeneratePath(e,t){if(1===e.getPathSize(t))return!0;if(0===this.m_joins&&0===this.m_caps){const s=new R;if(e.queryPathEnvelope(t,s),Math.max(s.width(),s.height())<.5*this.m_densifyDist)return!0}return!1}isDegenerateGeometry(e){if(0===this.m_joins&&0===this.m_caps){const t=new R;if(e.queryEnvelope(t),Math.max(t.width(),t.height())<.5*this.m_densifyDist)return!0}return!1}addCircle(e,t){const s=t.getXY();if(0!==this.m_circleTemplate.length){let t=this.m_circleTemplate[0].clone();t.scaleAddThis(this.m_absDistance,s),e.startPath(t);for(let i=1,n=this.m_circleTemplate.length;i<n;i++)t=this.m_circleTemplate[i].clone(),t.scaleAddThis(this.m_absDistance,s),e.lineTo(t);return}const i=this.m_circleTemplateSize,n=Math.trunc((i+3)/4),r=.5*Math.PI/n;e.reserve(4*n);const m=Math.cos(r),o=Math.sin(r);for(let a=3;a>=0;a--){const t=x.construct(0,this.m_absDistance);switch(a){case 0:for(let i=0;i<n;i++)e.lineToCoords(t.x+s.x,t.y+s.y),t.rotateReverse(m,o);break;case 1:for(let i=0;i<n;i++)e.lineToCoords(-t.y+s.x,t.x+s.y),t.rotateReverse(m,o);break;case 2:for(let i=0;i<n;i++)e.lineToCoords(-t.x+s.x,-t.y+s.y),t.rotateReverse(m,o);break;default:e.startPathCoords(t.y+s.x,-t.x+s.y);for(let i=1;i<n;i++)t.rotateReverse(m,o),e.lineToCoords(t.y+s.x,-t.x+s.y)}this.progress_()}}addSquare(e,t){const s=new p({vd:t.getDescription()});s.setCoords(t.getX(),t.getY(),t.getX(),t.getY()),s.inflateCoords(this.m_absDistance,this.m_absDistance),e.addEnvelope(s,!1)}setStrongSimple(e){return e.getImpl().setIsSimple(4,this.m_tolerance.total()),e.getImpl().updateOGCFlagsProtected(),e}}function K(e){return b(e,0),e}function Q(e,t){return!!e.isEmpty()||Math.min(e.width(),e.height())>t}function Z(e,t,s,i,n,r,m,o){const a=e.getXY(s),h=e.getXY(i);if(a.equals(h))return-1;const l=.25*m,c=.25*m,f=new x;f.setSub(h,a);const _=f.length(),g=_*_*.25,d=r*r-g;if(d<=g)return-1;const p=Math.sqrt(d);f.normalize();const b=f.clone();b.rightPerpendicularThis();const y=g/p,P=y<=c,C=x.lerp(h,a,.5),D=b.clone(),v=y-l;D.scaleAddThis(Math.max(0,v),C);b.negate().scaleAddThis(p,C);const S=3.61*T(r-c),I=D.sub(a),M=D.sub(h);let E=!1,V=0;const k=w(64,0);u(o===k.length);{for(let o=e.getPrevVertexEx(i,n);o!==s;){if(1===e.getUserIndex(o,t))return-1;if(e.getXY(o).equals(h)){const t=e.getPrevVertexEx(o,n);e.removeVertex(o,!1),o=t;continue}break}const r=new x,m=a.clone();k[V++]=1;for(let o=e.getNextVertexEx(s,n);o!==i;){if(1===e.getUserIndex(o,t))return-1;const s=e.getXY(o);if(s.equals(m)){const t=e.getNextVertexEx(o,n);e.removeVertex(o,!1),o=t;continue}k[V++]=0;const i=new x;if(i.setSub(s,a),i.dotProduct(b)<0)return 0;(x.sqrDistance(s,a)>S||x.sqrDistance(s,h)>S)&&(E=!0);let l=0;s.sub(a).crossProduct(I)>=0&&(l=1);if(s.sub(h).crossProduct(M)<=0&&(l|=2),0===l)return 0;k[V-1]=l,r.assign(m),m.assign(s),o=e.getNextVertexEx(o,n)}if(1===V)return 0;u(V<k.length),k[V++]=2}let R=!0;for(let u=1,x=0;u<V;u++)if(k[u]!==k[u-1]&&(x++,R=x<3&&(1===x&&3===k[u]||2===x&&2===k[u]),!R))return 0;if(V>2&&R&&(3===V||!E)){let t=0,r=e.getNextVertexEx(s,n);for(P||(e.setXY(r,D),r=e.getNextVertexEx(r,n));r!==i;){const s=e.getNextVertexEx(r,n);e.removeVertex(r,!1),r=s,++t}return t}if(u(3!==V),E&&V>3)return 0;const A=a.clone();let B=s;const X=a.clone();let Y=1,F=-1,L=B,z=0;for(V=1;L!==i;){L=e.getNextVertexEx(L,n);const t=k[V++];if(0===t){if(L===i)break;continue}const s=e.getXY(L);if(-1!==F){if(3&(F&Y&t)){e.removeVertex(B,!0),z++,B=L,X.setCoordsPoint2D(s),Y=t;continue}if(3===Y&&0!==F&&0!==t){if(X.setCoordsPoint2D(D),P||X.equals(A)){e.removeVertex(B,!0),z++,B=L,X.setCoordsPoint2D(s),Y=t;continue}e.setXY(B,X)}}F=Y,A.setCoordsPoint2D(X),B=L,Y=t,X.setCoordsPoint2D(s)}return z}function $(e,t,s,i){let n=-1;const r=new x,m=new x,o=new x;for(let a=0,h=e.getPathSize(i),l=e.getFirstVertex(i);a<h;++a){-1===n&&(e.queryXY(l,m),n=e.getPrevVertex(l),-1!==n&&(e.queryXY(n,r),o.setSub(m,r),o.normalize()));const s=e.getNextVertex(l);if(-1===s)break;const i=e.getXY(s),a=i.sub(m);if(a.normalize(),-1!==n){a.dotProduct(o)<-.99&&Math.abs(a.crossProduct(o))<1e-7&&e.setUserIndex(l,t,1)}n=l,l=s,r.assign(m),m.assign(i),o.assign(a)}}function ee(s,i,n,r,m,o,a){const h={stack:[],error:void 0,hasError:!1};try{const t=s.getFirstPath(i),r=s.createUserIndex();e(h,D(()=>{s.removeUserIndex(r)},!1),!1),$(s,r,i,t);for(let e=0;e<100;++e){if(0===s.getPathSize(t))return 1;let e=s.getFirstVertex(t),i=s.getPathSize(t);if(i<3)return 1;s.isClosedPath(t)||(i-=1);const o=64;let h=0,l=!1;for(let t=0;t<i&&e!==k;t++){let c=0,u=e;for(let h=1,l=Math.min(o,i-t);h<l;h++)if(u=s.getNextVertexEx(u,n),h>1){const t=Z(s,r,e,u,n,m,a,o);if(-1===t)break;c+=t,i-=t}if(h+=c,l=c>0,l){const t=s.getPrevVertexEx(e,n);if(-1!==t){e=t,i++;continue}}e=s.getNextVertexEx(e,n)}if(0===h)break}return s.filterClosePoints(o,!1,!1,!1,-1),1}catch(l){h.error=l,h.hasError=!0}finally{t(h)}}function te(e,t,s,i,n,r,m){return ee(e,t,s,i,n,r,m)}function se(e,t,s,i){for(let n=0,r=e.getPathCount();n<r;n++){const r=e.getXY(e.getPathStart(n));r.x!==s.xmin&&r.x!==s.xmax&&t.addPath(e,n,i)}}export{W as B,q as s};
|
|
2
|
+
import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{G as s,a as i,k as n,t as r,l as m,f as o,m as a,n as h,h as l,d as c,g as u}from"./Geometry.js";import{G as f}from"./GeometryCursor.js";import{C as _,c as g,P as d,E as p,s as b}from"./Envelope.js";import{i as y,m as P,P as x,k as C,h as D,d as w,a as T}from"./Point2D.js";import{L as v,D as I,P as S,a as M,i as E,E as V,n as k}from"./MultiPathImpl.js";import{Envelope2D as R}from"./Envelope2D.js";import{T as A}from"./Transformation2D.js";import{c as B}from"./GeometryCleaner-CIE8Wfmb.js";import{W as X,D as Y,a2 as F}from"./UnitFactory.js";import{O as L}from"./OperatorSimplifyOGC.js";import{O as q}from"./OperatorGeneralize.js";function z(e){return e>=0?e>C?C:e:0}var j;function G(e,t,s,i,n,r){return{m_from:e.clone(),m_to:t.clone(),m_center:s.clone(),m_next:n,m_type:i}}function N(e,t,s,i,n){return{m_from:e.clone(),m_to:t.clone(),m_next:s,m_type:4,m_center:new x}}!function(e){e[e.enumDummy=256]="enumDummy",e[e.enumLine=1]="enumLine",e[e.enumArc=2]="enumArc",e[e.enumMiter=8]="enumMiter",e[e.enumBevel=16]="enumBevel",e[e.enumJoinMask=26]="enumJoinMask",e[e.enumConnectionMask=27]="enumConnectionMask"}(j||(j={}));class O extends f{m_parent;m_index=0;m_bufferedPolygon=null;m_mp;m_spatialReference;m_distance;m_densifyDist;m_x=0;m_y=0;m_miterLimit;m_joins;m_caps;m_maxVertexInCompleteCircle;m_progressTracker;constructor(e,t,s,i,n,r,m,o,a,h){super(),this.m_progressTracker=h,this.m_parent=e,this.m_mp=t,this.m_distance=s,this.m_spatialReference=i,this.m_densifyDist=o,this.m_maxVertexInCompleteCircle=a,this.m_joins=n,this.m_caps=r,this.m_miterLimit=m}next(){const e=new d;for(;;){if(this.m_index===this.m_mp.getPointCount())return null;if(1===this.m_caps)return this.m_index=this.m_mp.getPointCount(),new S({vd:this.m_mp.getDescription()});if(this.m_mp.getPointByVal(this.m_index,e),this.m_index++,!e.isEmpty())break}let t,s=!1;if(null===this.m_bufferedPolygon&&(this.m_x=e.getX(),this.m_y=e.getY(),this.m_bufferedPolygon=this.m_parent.buffer(e,this.m_distance,this.m_spatialReference,this.m_joins,this.m_caps,this.m_miterLimit,this.m_densifyDist,this.m_maxVertexInCompleteCircle),s=!0),t=this.m_index<this.m_mp.getPointCount()?this.m_bufferedPolygon.clone():this.m_bufferedPolygon,!s){const s=new A,i=e.getX()-this.m_x,n=e.getY()-this.m_y;s.setShiftCoords(i,n),t.applyTransformation(s)}return b(t,0),t}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class U extends f{m_polyline;m_currentPathIndex=0;constructor(e){super(),this.m_polyline=e}next(){if(!this.m_polyline)return null;const e=this.m_polyline.getImpl(),t=e.getPathCount();if(this.m_currentPathIndex<t){const t=this.m_currentPathIndex;if(this.m_currentPathIndex++,!e.isClosedPathInXYPlane(t)){let s=e.getXY(e.getPathEnd(t)-1);for(;this.m_currentPathIndex<e.getPathCount();){const t=e.getXY(e.getPathStart(this.m_currentPathIndex));if(e.isClosedPathInXYPlane(this.m_currentPathIndex))break;if(!t.equals(s))break;s=e.getXY(e.getPathEnd(this.m_currentPathIndex)-1),this.m_currentPathIndex++}}if(0===t&&this.m_currentPathIndex===this.m_polyline.getPathCount()){const e=this.m_polyline;return this.m_polyline=null,e}const s=new M({vd:this.m_polyline.getDescription()});s.addPath(this.m_polyline,t,!0);for(let i=t+1;i<this.m_currentPathIndex;i++)s.addSegmentsFromPath(this.m_polyline,i,0,e.getSegmentCountPath(i),!1);return this.m_currentPathIndex===this.m_polyline.getPathCount()&&(this.m_polyline=null),s}return null}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class J extends f{m_bufferer;m_geoms;m_geometry=null;m_index=0;m_bFilter;constructor(e,t,s){super(),this.m_bufferer=e,this.m_geoms=t,this.m_index=0,this.m_bFilter=s}next(){if(null===this.m_geometry&&(this.m_index=0,this.m_geometry=this.m_geoms.next(),!this.m_geometry))return null;const e=this.m_geometry.getImpl();if(this.m_index<e.getPathCount()){const e=this.m_index;this.m_index++;return this.m_bufferer.bufferPolylinePath(this.m_geometry,e,this.m_bFilter)}return this.m_geometry=null,this.next()}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class W extends f{m_bufferer;m_index=0;constructor(e){super(),this.m_bufferer=e}next(){const e=this.m_bufferer.m_geometry;if(this.m_index<e.getPathCount()){const t=this.m_index,s=e.calculateRingArea2D(this.m_index);for(u(s>0),this.m_index++;this.m_index<e.getPathCount();){if(e.calculateRingArea2D(this.m_index)>0)break;this.m_index++}let i;return i=0===t&&this.m_index===e.getPathCount()?this.m_bufferer.bufferPolygonImpl(e,0,e.getPathCount()):this.m_bufferer.bufferPolygonImpl(e,t,this.m_index),i}return null}getGeometryID(){return 0}getRank(){return 1}tock(){return!0}}class H{m_geometry=null;m_densificator;m_bufferCommands=[];m_originalGeomType=s.enumUnknown;m_progressTracker;m_maxVertexInCompleteCircle=-1;m_circleTemplateSize=-1;m_oldCircleTemplateSize=0;m_spatialReference=null;m_tolerance=new _(0,0);m_smallTolerance=new _(0,0);m_filterTolerance=0;m_densifyDist=-1;m_distance=Number.NaN;m_absDistance=0;m_absDistanceReversed=0;m_dA=-1;m_miterLimit=4;m_joins=0;m_caps=0;m_bRoundBuffer=!0;m_bOutputLoops=!0;m_bFilter=!0;m_circleTemplate=[];m_leftStack=[];m_middleStack=[];m_helperLine1=new v;m_helperLine2=new v;m_helperArray=[];m_progressCounter=0;constructor(e){this.m_densificator=I.constructDefault(e),this.m_progressTracker=e}buffer(e,t,s,l,c,u,f,_){if(e||i("Geometry.Bufferer.Impl.Buffer"),f<0&&i("Geometry.Bufferer.Impl.Buffer"),n(e.getGeometryType())&&r("Unsupported geometry type."),e.isEmpty())return new S({vd:e.getDescription()});if(this.m_joins=l,this.m_caps=c,this.m_bRoundBuffer=!1,this.m_miterLimit=u,this.m_originalGeomType=e.getGeometryType(),m(this.m_originalGeomType)?this.m_bRoundBuffer=0===this.m_joins:o(this.m_originalGeomType)?this.m_bRoundBuffer=0===this.m_caps:a(this.m_originalGeomType)&&(this.m_bRoundBuffer=0===this.m_joins&&0===this.m_caps),this.m_bFilter=this.m_bRoundBuffer,this.m_geometry=B(e),this.m_geometry.isEmpty())return new S({vd:e.getDescription()});const d=new R;this.m_geometry.queryLooseEnvelope(d),t>0&&d.inflateCoords(t,t),this.m_tolerance=g(s,d,!0),this.m_smallTolerance=g(null,d,!0),_<=0&&(_=96),this.m_spatialReference=s,this.m_distance=t,this.m_absDistance=Math.abs(this.m_distance),this.m_absDistanceReversed=0!==this.m_absDistance?1/this.m_absDistance:0,Number.isNaN(f)||0===f?f=1e-5*this.m_absDistance:f>.5*this.m_absDistance&&(f=.5*this.m_absDistance),_<12&&(_=12);const p=Math.abs(t)*(1-Math.cos(Math.PI/_));if(p>f)f=p;else if(0!==t){const e=Math.PI/Math.acos(1-f/Math.abs(t));e<_-1&&(_=Math.trunc(e))<12&&(_=12,f=Math.abs(t)*(1-Math.cos(Math.PI/_)))}this.m_densifyDist=f,this.m_maxVertexInCompleteCircle=_,this.m_filterTolerance=this.m_bRoundBuffer?Math.min(this.m_smallTolerance.total(),.25*this.m_densifyDist):0,this.m_circleTemplateSize=this.calcN(),this.m_circleTemplateSize!==this.m_oldCircleTemplateSize&&(this.m_circleTemplate.length=0,this.m_oldCircleTemplateSize=this.m_circleTemplateSize),this.m_densifyDist>0&&h(this.m_geometry)&&(this.m_geometry=this.m_densificator.densifyEx(this.m_geometry,0,this.m_densifyDist,0,0!==this.m_joins,y()));const b=this.bufferImpl();return this.m_geometry=null,b}generateCircleTemplate(){if(this.m_circleTemplate.length)return;const e=this.m_circleTemplateSize,t=Math.trunc((e+3)/4),s=.5*Math.PI/t;this.m_dA=s,this.m_circleTemplate=P(x,4*t);const i=Math.cos(s),n=Math.sin(s),r=x.construct(0,1);for(let m=0;m<t;m++)this.m_circleTemplate[m+0*t].setCoords(r.y,-r.x),this.m_circleTemplate[m+1*t].setCoords(-r.x,-r.y),this.m_circleTemplate[m+2*t].setCoords(-r.y,r.x),this.m_circleTemplate[m+3*t].setCoords(r.x,r.y),r.rotateReverse(i,n)}bufferImpl(){const e=this.m_geometry.getGeometryType();if(l(e)){const e=new M({vd:this.m_geometry.getDescription()});return e.addSegment(this.m_geometry,!0),this.m_geometry=e,this.bufferImpl()}if(this.m_distance<=this.m_tolerance.total()){if(!m(e))return new S({vd:this.m_geometry.getDescription()});if(this.m_distance<0){const e=new R;if(this.m_geometry.queryEnvelope(e),e.width()<=2*this.m_absDistance||e.height()<=2*this.m_absDistance)return new S({vd:this.m_geometry.getDescription()})}}switch(this.m_geometry.getGeometryType()){case s.enumPoint:return this.bufferPoint();case s.enumMultiPoint:return this.bufferMultiPoint();case s.enumPolyline:return this.bufferPolyline();case s.enumPolygon:return this.bufferPolygon();case s.enumEnvelope:return this.bufferEnvelope();default:c("")}}bufferPolyline(){if(this.isDegenerateGeometry(this.m_geometry)){const e=new d;this.m_geometry.getPointByVal(0,e);const t=new R;return this.m_geometry.queryEnvelope(t),e.setXY(t.getCenter()),this.bufferDegeneratePath(e,!0)}const e=this.m_geometry,t=this.m_geometry.getDescription();this.m_geometry=null;const s=new U(e);let i,n;i=0===this.m_joins?(new q).executeMany(s,.25*this.m_densifyDist,!1,this.m_progressTracker):s,n=this.m_bRoundBuffer?(new L).executeMany(i,null,!0,this.m_progressTracker):i;const r=new J(this,n,this.m_bFilter),m=(new X).executeMany(r,this.m_spatialReference,this.m_progressTracker,2),o=(new Y).executeMany(m,this.m_spatialReference,!1,this.m_progressTracker).next();return null!==o?o:new S({vd:t})}bufferPolygon(){if(0===this.m_distance)return this.m_geometry;this.generateCircleTemplate();const e=(new Y).execute(this.m_geometry,null,!1,this.m_progressTracker);if(this.m_distance<0){if(this.m_geometry=e,this.m_geometry.isEmpty())return this.m_geometry;const t=this.m_geometry,s=this.bufferPolygonImpl(t,0,t.getPathCount());return(new Y).execute(s,this.m_spatialReference,!1,this.m_progressTracker)}{if(this.m_geometry=e,this.isDegenerateGeometry(this.m_geometry)){const e=new d;this.m_geometry.getPointByVal(0,e);const t=new R;return this.m_geometry.queryEnvelope(t),e.setXY(t.getCenter()),this.bufferDegeneratePath(e,!0)}const t=new W(this),s=(new X).executeMany(t,this.m_spatialReference,this.m_progressTracker,2),i=(new Y).executeMany(s,this.m_spatialReference,!1,this.m_progressTracker).next();return null!==i?i:new S({vd:this.m_geometry.getDescription()})}}bufferPolygonImpl(e,t,s){const i=e,n=i.getImpl();let r=new S({vd:e.getDescription()});for(let m=t;m<s;m++){if(n.getPathSize(m)<1)continue;const t=n.calculateRingArea2D(m),s=new R;if(n.queryPathEnvelope(m,s),this.m_distance>0)if(t>0)if(this.isDegeneratePath(n,m)){const e=new d;n.getPointByVal(n.getPathStart(m),e),e.setXY(s.getCenter()),r.add(this.bufferDegeneratePath(e,!0),!1)}else{const t=new M({vd:e.getDescription()}),s=t.getImpl();if(E(this.m_geometry,m)){const e=this.bufferConvexPath(i,m);r.add(e,!1)}else{this.bufferClosedPath(this.m_geometry,m,s,this.m_bRoundBuffer,1);const e=this.bufferCleanup(t);r.add(e,!1)}}else{if(s.width()+this.m_tolerance.total()<=2*this.m_absDistance||s.height()+this.m_tolerance.total()<=2*this.m_absDistance)continue;const t=new M({vd:e.getDescription()}),i=t.getImpl();if(this.bufferClosedPath(this.m_geometry,m,i,this.m_bRoundBuffer,1),!t.isEmpty()){const e=s,n=Math.max(1,this.m_absDistance),m=e.clone();m.inflateCoords(n,n),i.addEnvelope(m,!1);const o=this.bufferCleanup(t);r.reserve(r.getPointCount()+o.getPointCount()-4),se(o,r,m,!0)}}else if(t>0){if(s.width()+this.m_tolerance.total()<=2*this.m_absDistance||s.height()+this.m_tolerance.total()<=2*this.m_absDistance)continue;const t=new M({vd:e.getDescription()}),i=t.getImpl();if(this.bufferClosedPath(this.m_geometry,m,i,this.m_bRoundBuffer,-1),!t.isEmpty()){const e=new R;i.queryLooseEnvelope(e);const s=Math.max(1,this.m_absDistance),n=e.clone();n.inflateCoords(s,s),i.addEnvelope(n,!1);se(this.bufferCleanup(t),r,n,!0)}}else{const t=new M({vd:e.getDescription()}),s=t.getImpl();this.bufferClosedPath(this.m_geometry,m,s,this.m_bRoundBuffer,-1);const i=this.bufferCleanup(t);for(let e=0,n=i.getPathCount();e<n;e++)r.addPath(i,e,!0)}}if(this.m_distance>0){if(r.getPathCount()>1){return this.bufferCleanup(r)}return K(r)}{const e=new R;if(r.queryLooseEnvelope(e),r.isEmpty())return K(r);{const t=Math.max(1,this.m_absDistance),s=e.clone();s.inflateCoords(t,t),r.addEnvelope(s,!1);const i=this.bufferCleanup(r);r=new S;const n=new S({vd:i.getDescription()});return se(i,n,s,!1),K(n)}}}bufferPoint(){return this.bufferPointImpl(this.m_geometry)}bufferPointImpl(e){const t=new S({vd:e.getDescription()});return 0===this.m_caps?(this.addCircle(t.getImpl(),e),this.setStrongSimple(t)):2===this.m_caps?(this.addSquare(t.getImpl(),e),this.setStrongSimple(t)):t}bufferDegeneratePath(e,t){const s=new S({vd:e.getDescription()});return t&&0===this.m_joins||!t&&0===this.m_caps?(this.addCircle(s.getImpl(),e),this.setStrongSimple(s)):t||2!==this.m_caps?s:(this.addSquare(s.getImpl(),e),this.setStrongSimple(s))}bufferMultiPoint(){const e=new O(this,this.m_geometry,this.m_distance,this.m_spatialReference,this.m_joins,this.m_caps,this.m_miterLimit,this.m_densifyDist,this.m_maxVertexInCompleteCircle,this.m_progressTracker);return(new X).executeMany(e,this.m_spatialReference,this.m_progressTracker,2).next()}bufferEnvelope(){let e=new S({vd:this.m_geometry.getDescription()});if(this.m_distance<=0){if(0===this.m_distance)e.addEnvelope(this.m_geometry,!1),Q(this.m_geometry,this.m_tolerance.total())&&(e=this.setStrongSimple(e));else{const t=new p;this.m_geometry.queryEnvelope(t),t.inflateCoords(this.m_distance,this.m_distance),e.addEnvelope(t,!1),Q(t,this.m_tolerance.total())&&(e=this.setStrongSimple(e))}return e}if(1===this.m_joins){const t=new p({copy:this.m_geometry});return t.inflateCoords(this.m_absDistance,this.m_absDistance),e.addEnvelope(t,!1),e}const t=this.m_geometry.clone();if(0===t.width()||0===t.height()){if(0===t.width()&&0===t.height()){const e=new d({vd:this.m_geometry.getDescription()});return t.queryCornerByVal(0,e),this.m_geometry=e,this.bufferImpl()}const e=new M({vd:this.m_geometry.getDescription()}),s=new d;return t.queryCornerByVal(0,s),e.startPathPoint(s),t.queryCornerByVal(2,s),e.lineToPoint(s),this.m_geometry=e,this.bufferImpl()}return e.addEnvelope(this.m_geometry,!1),this.m_geometry=e,this.bufferConvexPath(e,0)}bufferConvexPath(e,t){this.generateCircleTemplate();const s=e.hasAttribute(10),i=new S({vd:e.getDescription()}),n=i.getImpl();i.reserve((this.m_circleTemplate.length/10+4)*e.getPathSize(t));const r=new x,m=new x,o=new x,a=new x(0,0),h=new x,l=new x,u=e.getImpl(),f=e.getPathSize(t),_=e.getPathStart(t);for(let g=0,d=e.getPathSize(t);g<d;g++){const e=u.getXY(_+g),t=u.getXY(_+(g+1)%f),i=u.getXY(_+(g+2)%f);h.setSub(t,e),0===h.length()&&c("");const d=s&&!!(1&u.getAttributeAsInt(10,(g+1)%f,0));h.normalize();const p=h.clone();h.leftPerpendicularThis(),h.scale(this.m_absDistance),r.setAdd(h,e),m.setAdd(h,t),0===g?n.startPath(r):n.lineTo(r),n.lineTo(m),l.setSub(i,t),0===l.length()&&c(""),l.normalize();const b=l.clone();l.leftPerpendicularThis(),l.scale(this.m_absDistance),o.setAdd(l,t);let y=j.enumArc;const P=d?0:this.m_joins;if(2===P)y=j.enumBevel;else if(1===P){const e=-p.crossProduct(b);a.setSub(p,b),a.scale(this.m_absDistance/e),a.length()<this.m_miterLimit*this.m_absDistance?(a.addThis(t),y=j.enumMiter):y=j.enumBevel}else a.assign(t);this.addJoin(y,n,a,m,o,!1,!1)}return K(i)}bufferPolylinePath(e,t,s){this.generateCircleTemplate();const i=e,n=i.getImpl();if(n.getPathSize(t)<1)return null;let r;if(r=this.m_bRoundBuffer?n.isClosedPathInXYPlane(t):n.isClosedPath(t),this.isDegeneratePath(n,t)&&this.m_distance>0){const e=new d;n.getPointByVal(n.getPathStart(t),e);const s=new R;return n.queryPathEnvelope(t,s),e.setXY(s.getCenter()),this.bufferDegeneratePath(e,r)}const m=new M({vd:e.getDescription()});m.reserve((Math.trunc(this.m_circleTemplate.length/10)+4)*n.getPathSize(t));const o=m.getImpl();return r?2!==this.bufferClosedPath(i,t,o,s,1)&&this.bufferClosedPath(i,t,o,s,-1):this.bufferOpenPath(i,t,o,s),this.bufferCleanup(m)}progress_(){}bufferCleanup(e,t=!1){const s=t?this.m_tolerance:this.m_smallTolerance;return F(e,s,!0,!t,-1,this.m_progressTracker,0,!1)}calcN(){const e=4;if(0===this.m_densifyDist)return this.m_maxVertexInCompleteCircle;const t=1-this.m_densifyDist*Math.abs(this.m_absDistanceReversed);let s=e;return s=t<-1?e:2*Math.PI/Math.acos(t)+.5,s<e?s=e:s>this.m_maxVertexInCompleteCircle&&(s=this.m_maxVertexInCompleteCircle),Math.trunc(s)}addJoin(e,t,s,i,n,r,m){if(this.generateCircleTemplate(),r&&(t.startPath(i),r=!1),e===j.enumBevel)return void(m&&t.lineTo(n));if(e===j.enumMiter){const e=s.clone();return t.lineTo(e),void(m&&t.lineTo(n))}const o=new x;o.setSub(i,s),o.scale(this.m_absDistanceReversed);const a=new x;a.setSub(n,s),a.scale(this.m_absDistanceReversed);let h=Math.atan2(o.y,o.x)/this.m_dA;h<0&&(h=this.m_circleTemplate.length+h),h=this.m_circleTemplate.length-h;let l=Math.atan2(a.y,a.x)/this.m_dA;l<0&&(l=this.m_circleTemplate.length+l),l=this.m_circleTemplate.length-l,l<h&&(l+=this.m_circleTemplate.length);let c=Math.trunc(l),u=Math.ceil(h),f=this.m_circleTemplate[u%this.m_circleTemplate.length].clone();f.scaleAddThis(this.m_absDistance,s);const _=10*this.m_tolerance.total();f.sub(i).length()<_&&(u+=1),f=this.m_circleTemplate[c%this.m_circleTemplate.length].clone(),f.scaleAddThis(this.m_absDistance,s),f.sub(n).length()<_&&(c-=1);let g=c-u;g++;for(let d=0,p=u%this.m_circleTemplate.length;d<g;d++,p=(p+1)%this.m_circleTemplate.length)f=this.m_circleTemplate[p].clone(),f.scaleAddThis(this.m_absDistance,s),t.lineTo(f),this.progress_();m&&t.lineTo(n)}bufferClosedPath(e,t,s,i,n){const r=new V,m=r.addPathFromMultiPath(e,t,!0);return this.bufferClosedPathImpl(r,m,s,i,n)}bufferClosedPathImpl(e,t,s,i,n){const r=e.getFirstVertex(e.getFirstPath(t)),m=new d;e.queryPoint(r,m),e.filterClosePoints(this.m_filterTolerance,!1,!1,!1,-1);if(e.getPointCount(t)<2)return n<0?0:(this.m_bRoundBuffer&&this.addCircle(s,m),2);u(e.getFirstPath(t)!==k),u(e.getFirstVertex(e.getFirstPath(t))!==k);const o=e.getXY(e.getFirstVertex(e.getFirstPath(t))),a=new A;if(a.setShift(o.negate()),e.applyTransformation(a),i){const i=te(e,t,n,!0,this.m_absDistance,this.m_filterTolerance,this.m_densifyDist);if(u(1===i),e.getPointCount(t)<2)return n<0?0:(this.addCircle(s,m),2)}const h=0!==this.m_joins&&e.getVertexDescription().hasAttribute(10);this.m_bufferCommands.length=0;const l=e.getFirstPath(t);let c=e.getFirstVertex(l),f=1===n?e.getPrevVertex(c):e.getNextVertex(c),_=1===n?e.getNextVertex(c):e.getPrevVertex(c),g=!0;const p=new x,b=new x,y=new x,P=new x,C=new x,D=new x,w=new x,T=new x,v=this.m_absDistance,I=e.getPathSize(l),S=new x(0,0);for(let u=0;u<I;u++){b.assign(e.getXY(_)),g&&(p.assign(e.getXY(c)),y.assign(e.getXY(f)),D.setSub(p,y),D.normalize(),T.leftPerpendicularOther(D),T.scale(v),P.setAdd(T,p));const t=h&&!!(1&e.getAttributeAsDbl(10,c,0));C.setSub(b,p),C.normalize(),w.leftPerpendicularOther(C),w.scale(v);const s=new x;s.setAdd(p,w);const i=D.crossProduct(C),r=D.dotProduct(C);if(i<0||r<0&&i<Math.abs(r)*Number.EPSILON*8){let e=!1;const n=t?0:this.m_joins;if(1===n){const t=-i;S.setSub(D,C),S.scale(this.m_absDistance/t),S.length()<this.m_miterLimit*this.m_absDistance&&(S.addThis(p),e=!0),this.m_bufferCommands.push(G(P,s,S,e?j.enumMiter:j.enumBevel,this.m_bufferCommands.length+1))}else this.m_bufferCommands.push(G(P,s,p,0===n?j.enumArc:j.enumBevel,this.m_bufferCommands.length+1))}else P.equals(s)||(this.m_bufferCommands.push(N(P,p,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(N(p,s,this.m_bufferCommands.length+1)));const m=new x;m.setAdd(b,w),this.m_bufferCommands.push(G(s,m,p,j.enumLine,this.m_bufferCommands.length+1)),P.setCoordsPoint2D(m),T.setCoordsPoint2D(w),y.setCoordsPoint2D(p),p.setCoordsPoint2D(b),D.setCoordsPoint2D(C),f=c,c=_,g=!1,_=1===n?e.getNextVertex(c):e.getPrevVertex(c)}return this.m_bufferCommands.at(-1).m_next=0,this.processBufferCommands(s),a.setShift(o),s.applyTransformationToPath(a,s.getPathCount()-1),1}bufferOpenPath(e,t,s,i){if(this.m_bRoundBuffer){const n=new M({vd:e.getDescription()});return n.addPath(e,t,!1),n.addSegmentsFromPath(e,t,0,e.getSegmentCountPath(t),!1),this.bufferClosedPath(n,0,s,i,1)}let n=0;const r=new M({vd:e.getDescription()}),m=new x(0,0);{const i=new V,o=i.addPathFromMultiPath(e,t,!1),a=i.getFirstVertex(i.getFirstPath(o)),h=new d;i.queryPoint(a,h),m.assign(h.getXY()),i.filterClosePoints(0,!1,!1,!1,-1);if(i.getPointCount(o)<2)return this.m_bRoundBuffer&&this.addCircle(s,h),2;const l=i.getGeometry(i.getFirstGeometry());r.addPath(l,0,!1),n=r.getPointCount()-1,r.addSegmentsFromPath(l,0,0,l.getSegmentCountPath(0)-1,!1)}const o=new V,a=o.addPathFromMultiPath(r,0,!0);u(o.getFirstPath(a)!==k),u(o.getFirstVertex(o.getFirstPath(a))!==k);const h=new A;h.setShift(m.negate()),o.applyTransformation(h),this.m_bufferCommands.length=0;const l=o.getFirstPath(a),c=0!==this.m_joins&&o.getVertexDescription().hasAttribute(10);let f=o.getFirstVertex(l),_=o.getPrevVertex(f),g=o.getNextVertex(f),p=!0;const b=new x,y=new x,P=new x,C=new x,D=new x,w=new x,T=new x,v=new x,I=this.m_absDistance,S=o.getPathSize(l),E=new x(0,0);for(let u=0;u<S;u++){let e=!1;0!==u&&u!==n||(e=!0),y.assign(o.getXY(g)),p&&(b.assign(o.getXY(f)),P.assign(o.getXY(_)),w.setSub(b,P),w.normalize(),v.leftPerpendicularOther(w),v.scale(I),C.setAdd(v,b));const t=c&&!!(1&o.getAttributeAsDbl(10,f,0));D.setSub(y,b),D.normalize(),T.leftPerpendicularOther(D),T.scale(I);const s=new x;s.setAdd(b,T);const i=w.crossProduct(D),r=w.dotProduct(D);if(i<0||r<0&&i<Math.abs(r)*Number.EPSILON*8)if(e)if(0===this.m_caps)this.m_bufferCommands.push(G(C,s,b,j.enumArc,this.m_bufferCommands.length+1));else if(1===this.m_caps)this.m_bufferCommands.push(G(C,s,b,j.enumLine,this.m_bufferCommands.length+1));else{const e=D.mul(this.m_absDistance).negate(),t=e.clone();e.addThis(C),t.addThis(s),this.m_bufferCommands.push(G(C,e,b,j.enumLine,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(G(e,t,b,j.enumLine,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(G(t,s,b,j.enumLine,this.m_bufferCommands.length+1))}else{let e=!1;const n=t?0:this.m_joins;if(1===n){const t=-i;E.setSub(w,D),E.scale(this.m_absDistance/t),E.length()<this.m_miterLimit*this.m_absDistance&&(E.addThis(b),e=!0),this.m_bufferCommands.push(G(C,s,E,e?j.enumMiter:j.enumBevel,this.m_bufferCommands.length+1))}else this.m_bufferCommands.push(G(C,s,b,0===n?j.enumArc:j.enumBevel,this.m_bufferCommands.length+1))}else C.equals(s)||(this.m_bufferCommands.push(N(C,b,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(N(b,s,this.m_bufferCommands.length+1)));const m=new x;m.setAdd(y,T),this.m_bufferCommands.push(G(s,m,b,j.enumLine,this.m_bufferCommands.length+1)),C.setCoordsPoint2D(m),v.setCoordsPoint2D(T),P.setCoordsPoint2D(b),b.setCoordsPoint2D(y),w.setCoordsPoint2D(D),_=f,f=g,p=!1,g=o.getNextVertex(f)}return this.m_bufferCommands.at(-1).m_next=0,this.processBufferCommands(s),h.setShift(m),s.applyTransformationToPath(h,s.getPathCount()-1),1}processBufferCommands(e){const t=this.cleanupBufferCommands();let s=!0,i=t+1;for(let n=t;i!==t;n=i){const t=this.m_bufferCommands[n];i=-1!==t.m_next?t.m_next:(n+1)%this.m_bufferCommands.length,t.m_type&&(s&&(e.startPath(t.m_from),s=!1),t.m_type&j.enumJoinMask?this.addJoin(t.m_type,e,t.m_center,t.m_from,t.m_to,!1,!0):e.lineTo(t.m_to))}}cleanupBufferCommands(){this.m_helperArray=P(x,9);let e=0;for(let s=0,i=this.m_bufferCommands.length;s<i;){const t=this.m_bufferCommands[s];if(t.m_type&j.enumConnectionMask){e=s;break}s=t.m_next}let t=e+1;for(let s=e;t!==e;s=t){const e=this.m_bufferCommands[s];t=e.m_next;let i=1,n=null;for(;t!==s&&(n=this.m_bufferCommands[t],!(n.m_type&j.enumConnectionMask));)t=n.m_next,i++;if(1!==i&&(e.m_type&n.m_type)===j.enumLine){this.m_helperLine1.setStartXY(e.m_from),this.m_helperLine1.setEndXY(e.m_to),this.m_helperLine2.setStartXY(n.m_from),this.m_helperLine2.setEndXY(n.m_to);1===this.m_helperLine1.intersect(this.m_helperLine2,this.m_helperArray,null,null,this.m_smallTolerance.total())&&(e.m_to.assign(this.m_helperArray[0]),n.m_from.assign(this.m_helperArray[0]),e.m_next=t)}}return e}isDegeneratePath(e,t){if(1===e.getPathSize(t))return!0;if(0===this.m_joins&&0===this.m_caps){const s=new R;if(e.queryPathEnvelope(t,s),Math.max(s.width(),s.height())<.5*this.m_densifyDist)return!0}return!1}isDegenerateGeometry(e){if(0===this.m_joins&&0===this.m_caps){const t=new R;if(e.queryEnvelope(t),Math.max(t.width(),t.height())<.5*this.m_densifyDist)return!0}return!1}addCircle(e,t){const s=t.getXY();if(0!==this.m_circleTemplate.length){let t=this.m_circleTemplate[0].clone();t.scaleAddThis(this.m_absDistance,s),e.startPath(t);for(let i=1,n=this.m_circleTemplate.length;i<n;i++)t=this.m_circleTemplate[i].clone(),t.scaleAddThis(this.m_absDistance,s),e.lineTo(t);return}const i=this.m_circleTemplateSize,n=Math.trunc((i+3)/4),r=.5*Math.PI/n;e.reserve(4*n);const m=Math.cos(r),o=Math.sin(r);for(let a=3;a>=0;a--){const t=x.construct(0,this.m_absDistance);switch(a){case 0:for(let i=0;i<n;i++)e.lineToCoords(t.x+s.x,t.y+s.y),t.rotateReverse(m,o);break;case 1:for(let i=0;i<n;i++)e.lineToCoords(-t.y+s.x,t.x+s.y),t.rotateReverse(m,o);break;case 2:for(let i=0;i<n;i++)e.lineToCoords(-t.x+s.x,-t.y+s.y),t.rotateReverse(m,o);break;default:e.startPathCoords(t.y+s.x,-t.x+s.y);for(let i=1;i<n;i++)t.rotateReverse(m,o),e.lineToCoords(t.y+s.x,-t.x+s.y)}this.progress_()}}addSquare(e,t){const s=new p({vd:t.getDescription()});s.setCoords(t.getX(),t.getY(),t.getX(),t.getY()),s.inflateCoords(this.m_absDistance,this.m_absDistance),e.addEnvelope(s,!1)}setStrongSimple(e){return e.getImpl().setIsSimple(4,this.m_tolerance.total()),e.getImpl().updateOGCFlagsProtected(),e}}function K(e){return b(e,0),e}function Q(e,t){return!!e.isEmpty()||Math.min(e.width(),e.height())>t}function Z(e,t,s,i,n,r,m,o){const a=e.getXY(s),h=e.getXY(i);if(a.equals(h))return-1;const l=.25*m,c=.25*m,f=new x;f.setSub(h,a);const _=f.length(),g=_*_*.25,d=r*r-g;if(d<=g)return-1;const p=Math.sqrt(d);f.normalize();const b=f.clone();b.rightPerpendicularThis();const y=g/p,P=y<=c,C=x.lerp(h,a,.5),D=b.clone(),v=y-l;D.scaleAddThis(Math.max(0,v),C);b.negate().scaleAddThis(p,C);const I=3.61*T(r-c),S=D.sub(a),M=D.sub(h);let E=!1,V=0;const k=w(64,0);u(o===k.length);{for(let o=e.getPrevVertexEx(i,n);o!==s;){if(1===e.getUserIndex(o,t))return-1;if(e.getXY(o).equals(h)){const t=e.getPrevVertexEx(o,n);e.removeVertex(o,!1),o=t;continue}break}const r=new x,m=a.clone();k[V++]=1;for(let o=e.getNextVertexEx(s,n);o!==i;){if(1===e.getUserIndex(o,t))return-1;const s=e.getXY(o);if(s.equals(m)){const t=e.getNextVertexEx(o,n);e.removeVertex(o,!1),o=t;continue}k[V++]=0;const i=new x;if(i.setSub(s,a),i.dotProduct(b)<0)return 0;(x.sqrDistance(s,a)>I||x.sqrDistance(s,h)>I)&&(E=!0);let l=0;s.sub(a).crossProduct(S)>=0&&(l=1);if(s.sub(h).crossProduct(M)<=0&&(l|=2),0===l)return 0;k[V-1]=l,r.assign(m),m.assign(s),o=e.getNextVertexEx(o,n)}if(1===V)return 0;u(V<k.length),k[V++]=2}let R=!0;for(let u=1,x=0;u<V;u++)if(k[u]!==k[u-1]&&(x++,R=x<3&&(1===x&&3===k[u]||2===x&&2===k[u]),!R))return 0;if(V>2&&R&&(3===V||!E)){let t=0,r=e.getNextVertexEx(s,n);for(P||(e.setXY(r,D),r=e.getNextVertexEx(r,n));r!==i;){const s=e.getNextVertexEx(r,n);e.removeVertex(r,!1),r=s,++t}return t}if(u(3!==V),E&&V>3)return 0;const A=a.clone();let B=s;const X=a.clone();let Y=1,F=-1,L=B,q=0;for(V=1;L!==i;){L=e.getNextVertexEx(L,n);const t=k[V++];if(0===t){if(L===i)break;continue}const s=e.getXY(L);if(-1!==F){if(3&(F&Y&t)){e.removeVertex(B,!0),q++,B=L,X.setCoordsPoint2D(s),Y=t;continue}if(3===Y&&0!==F&&0!==t){if(X.setCoordsPoint2D(D),P||X.equals(A)){e.removeVertex(B,!0),q++,B=L,X.setCoordsPoint2D(s),Y=t;continue}e.setXY(B,X)}}F=Y,A.setCoordsPoint2D(X),B=L,Y=t,X.setCoordsPoint2D(s)}return q}function $(e,t,s,i){let n=-1;const r=new x,m=new x,o=new x;for(let a=0,h=e.getPathSize(i),l=e.getFirstVertex(i);a<h;++a){-1===n&&(e.queryXY(l,m),n=e.getPrevVertex(l),-1!==n&&(e.queryXY(n,r),o.setSub(m,r),o.normalize()));const s=e.getNextVertex(l);if(-1===s)break;const i=e.getXY(s),a=i.sub(m);if(a.normalize(),-1!==n){a.dotProduct(o)<-.99&&Math.abs(a.crossProduct(o))<1e-7&&e.setUserIndex(l,t,1)}n=l,l=s,r.assign(m),m.assign(i),o.assign(a)}}function ee(s,i,n,r,m,o,a){const h={stack:[],error:void 0,hasError:!1};try{const t=s.getFirstPath(i),r=s.createUserIndex();e(h,D(()=>{s.removeUserIndex(r)},!1),!1),$(s,r,i,t);for(let e=0;e<100;++e){if(0===s.getPathSize(t))return 1;let e=s.getFirstVertex(t),i=s.getPathSize(t);if(i<3)return 1;s.isClosedPath(t)||(i-=1);const o=64;let h=0,l=!1;for(let t=0;t<i&&e!==k;t++){let c=0,u=e;for(let h=1,l=Math.min(o,i-t);h<l;h++)if(u=s.getNextVertexEx(u,n),h>1){const t=Z(s,r,e,u,n,m,a,o);if(-1===t)break;c+=t,i-=t}if(h+=c,l=c>0,l){const t=s.getPrevVertexEx(e,n);if(-1!==t){e=t,i++;continue}}e=s.getNextVertexEx(e,n)}if(0===h)break}return s.filterClosePoints(o,!1,!1,!1,-1),1}catch(l){h.error=l,h.hasError=!0}finally{t(h)}}function te(e,t,s,i,n,r,m){return ee(e,t,s,i,n,r,m)}function se(e,t,s,i){for(let n=0,r=e.getPathCount();n<r;n++){const r=e.getXY(e.getPathStart(n));r.x!==s.xmin&&r.x!==s.xmax&&t.addPath(e,n,i)}}export{H as B,z as s};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{G as n,v as i}from"./Geometry.js";import{S as r,P as s,s as o}from"./MultiPathImpl.js";import{g as m}from"./SpatialReference.js";import{P as a,c as u,s as c,i as h,h as l,j as g,d as y}from"./Point2D.js";import{Envelope2D as _}from"./Envelope2D.js";import{P as D,E as p}from"./Envelope.js";function v(){return{outPoint:new a,index:-1,t:Number.NaN}}function N(e,t,n){return{outPoint:e.clone(),index:t,t:n}}function f(e,t,n,i){e.outPoint.assign(t),e.index=n,e.t=i}function P(e,t){e.outPoint.assign(t.outPoint),e.index=t.index,e.t=t.t}function I(e,t,n,i){e.index=n,e.t=i,t.queryCoord2D(e.t,e.outPoint)}function d(e,t){const n=v();P(n,e),P(e,t),P(t,n)}function q(e,t,i,r,s,o){if(e.getGeometryType()===n.enumPolygon){for(;r.nextPath();)if(r.hasNextSegment()){const t=r.nextSegment();if(0!==m(e,t.getEndXY(),0))return f(s,t.getEndXY(),-1,Number.NaN),f(o,t.getEndXY(),-1,Number.NaN),!0}r.resetToFirstPath()}if(t.getGeometryType()===n.enumPolygon){for(;i.nextPath();)if(i.hasNextSegment()){const e=i.nextSegment();if(0!==m(t,e.getEndXY(),0))return f(s,e.getEndXY(),-1,Number.NaN),f(o,e.getEndXY(),-1,Number.NaN),!0}i.resetToFirstPath()}return!1}function M(e){const t=e.getPathCount(),n=y(e.getSegmentCount(),0);let i=0;for(let r=0;r<t;++r){const t=i+e.getSegmentCountPath(r);for(let s=i,o=e.getPathStart(r);s<t;++s,++o)n[s]=o;i=t}return o(e.getPointCount(),n),n}function x(e,t){return!!Number.isNaN(t)||e<=t}function E(e){const t=new s;return t.addEnvelope(e,!1),t}class b{m_progressTracker;m_env2DgeometryA=null;m_env2DgeometryB=null;m_maxSqrDistance;m_maxDistance;m_progressCounter=0;m_bIsNearCalc;constructor(e,t){if(this.m_progressTracker=t,this.m_maxSqrDistance=e*e,this.m_maxDistance=e,this.m_bIsNearCalc=!1,Number.isNaN(this.m_maxDistance)?this.m_maxDistance=Number.POSITIVE_INFINITY:this.m_maxDistance=e,this.m_maxSqrDistance=this.m_maxDistance*this.m_maxDistance,Number.isFinite(this.m_maxSqrDistance)){let e=Math.sqrt(this.m_maxSqrDistance);for(;e<this.m_maxDistance;)this.m_maxSqrDistance*=1+Number.EPSILON,e=Math.sqrt(this.m_maxSqrDistance)}}calculate(e,t,n,i){if(e.getGeometryType()!==D.type||t.getGeometryType()!==D.type){this.m_env2DgeometryA=new _,this.m_env2DgeometryB=new _,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB);if(!x(this.m_env2DgeometryA.distanceFromEnvelope(this.m_env2DgeometryB),this.m_maxDistance))return Number.POSITIVE_INFINITY}const r=N(new a,g(),Number.NaN),s=N(new a,g(),Number.NaN),o=this._ExecuteBruteForce(e,t,r,s);return x(o,this.m_maxDistance)?(null!==n&&P(n,r),null!==i&&P(i,s),o):Number.POSITIVE_INFINITY}isNear(e,t){if(this.m_bIsNearCalc=!0,e.isEmpty()||t.isEmpty())return!1;if(e===t)return!0;let n=!0;if(e.getGeometryType()!==D.type&&e.getGeometryType()!==p.type||t.getGeometryType()!==D.type&&t.getGeometryType()!==p.type||(n=!1),n){if(this.m_env2DgeometryA=new _,this.m_env2DgeometryB=new _,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB),!(this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)>this.m_maxSqrDistance))return!0;if(this.m_env2DgeometryA.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>this.m_maxSqrDistance)return!1}const i=N(new a,g(),Number.NaN),r=N(new a,g(),Number.NaN);return this._ExecuteBruteForce(e,t,i,r)<=this.m_maxDistance}progress_(e=!1){}_ExecuteBruteForce(e,t,i,r){switch(e.getGeometryType()){case n.enumPoint:return this.distancePointGeometry(e,t,i,r);case n.enumMultiPoint:return this.distanceMultipointGeometry(e,t,i,r);case n.enumEnvelope:return this.distanceEnvelopeGeometry(e,t,i,r);case n.enumPolyline:case n.enumPolygon:return this.distanceMultipathGeometry(e,t,i,r);default:return Number.NaN}}distancePointGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:return this.distancePointPoint(e,t,i,r);case n.enumMultiPoint:return this.distancePointMultipoint(e,t,i,r);case n.enumPolyline:case n.enumPolygon:return this.distancePointMultipath(e,t,i,r);case n.enumEnvelope:return this.distancePointEnvelope(e,t,i,r);default:return Number.NaN}}distancePointPoint(e,t,n,i){const r=e.getXY(),s=t.getXY();return f(n,r,0,0),f(i,s,0,0),Math.sqrt(a.sqrDistance(r,s))}distancePointMultipoint(e,t,n,i){const r=e.getXY();let s=this.m_maxSqrDistance,o=s,m=!1;const u=t.getPointCount(),c=new a;for(let h=0;h<u;++h)if(t.queryXY(h,c),o=a.sqrDistance(r,c),this.m_bIsNearCalc){if(o<=s)return 0}else if(!(o>s)&&(!m&&o===s||o<s)&&(s=o,f(n,r,0,0),f(i,c,h,0),m=!0,0===s))return 0;return m?Math.sqrt(s):Number.POSITIVE_INFINITY}distancePointMultipath(e,t,i,r){const s=!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB),o=e.getXY();if(!s&&t.getGeometryType()===n.enumPolygon&&0!==m(t,o,0))return f(i,o,0,0),f(r,o,-1,Number.NaN),0;t.getImpl().getAccelerators();let u=this.m_maxSqrDistance,c=u,h=-1;const l=new _,g=t.querySegmentIterator();let y=!1;for(;g.nextPath();)for(;g.hasNextSegment();){const e=g.nextSegment();e.queryEnvelope(l);const t=l.sqrDistance(o);if(t>u)continue;if(!this.m_bIsNearCalc&&y&&t===u)continue;h=e.getClosestCoordinate(o,!1);const n=e.getCoord2D(h);if(c=a.sqrDistance(o,n),this.m_bIsNearCalc){if(c<=u)return 0}else if(!(c>u)&&(!y||c<u)&&(u=c,f(i,o,0,0),f(r,n,g.getStartPointIndex(),h),y=!0,0===u))return 0}return y?Math.sqrt(u):Number.POSITIVE_INFINITY}distancePointEnvelope(e,t,n,i){const r=e.getXY();f(n,r,0,0),f(i,r,-1,Number.NaN);const s=t.asEnvelope2D();return!s.contains(r)?Math.sqrt(s.sqrDistance(r,i.outPoint)):0}distanceMultipointGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distancePointMultipoint(t,e,r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumMultiPoint:return this.distanceMultipointMultipoint(e,t,i,r,1,1);case n.enumPolyline:case n.enumPolygon:return this.distanceMultipointMultipath(e,t,i,r);case n.enumEnvelope:return this.distanceMultipointMultipath(e,E(t),i,r);default:return Number.NaN}}distanceMultipointMultipoint(n,i,r,s,o,m){const g={stack:[],error:void 0,hasError:!1};try{if(this.m_bIsNearCalc&&1===o&&1===m){const e=Math.trunc(c(Math.sqrt(n.getPointCount())+1,1,h())),t=Math.trunc(c(Math.sqrt(i.getPointCount())+1,1,h()));if((e>=4||t>=4)&&this.distanceMultipointMultipoint(n,i,r,s,e,t)<=this.m_maxSqrDistance)return 0}let t=this.m_maxSqrDistance;const y=[n],_=[i],D=this.swapGeometriesIfBGtA(y,_);D&&(this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),m=u(o,o=m),d(r,s)),e(g,l(()=>{d(r,s),this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)},!D),!1);const p=y[0].getImpl(),v=_[0].getImpl(),N=p.getPointCount(),P=v.getPointCount(),I=P>1;let q=!1;const M=new a,x=new a;for(let e=0;e<N;e+=o){if(p.queryXY(e,M),I){const e=this.m_env2DgeometryB.sqrDistance(M);if(this.m_bIsNearCalc){if(e>t)continue;if(this.m_env2DgeometryB.sqrMaxMinDistance(M)<=t)return 0}else if(e>=t)continue}for(let n=0;n<P;n+=m){v.queryXY(n,x);const i=a.sqrDistance(M,x);if(this.m_bIsNearCalc){if(i<=t)return 0}else if(!(i>t||q&&i===t)&&(!q||i<t)&&(f(r,M,e,0),f(s,x,n,0),q=!0,t=i,0===t))return q?Math.sqrt(t):Number.POSITIVE_INFINITY}}return q?Math.sqrt(t):Number.POSITIVE_INFINITY}catch(y){g.error=y,g.hasError=!0}finally{t(g)}}distanceMultipointMultipath(e,t,i,r){let s=!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)&&t.getGeometryType()===n.enumPolygon;const o=t.querySegmentIterator();o.stripAttributes();const u=new _,c=new a;let h=this.m_maxSqrDistance;const l=e.getImpl(),g=l.getPointCount(),y=g>1;let D=!1;for(;o.nextPath();)for(;o.hasNextSegment();){const e=o.nextSegment();if(e.queryLooseEnvelope(u),y){const e=u.sqrDistanceEnvelope(this.m_env2DgeometryA,null,null);if(this.m_bIsNearCalc){if(e>h)continue}else if(e>h||D&&e===h)continue}for(let n=0;n<g;n++){if(l.queryXY(n,c),s&&0!==m(t,c,0))return f(i,c,-1,Number.NaN),f(r,c,n,0),0;{const e=u.sqrDistance(c);if(this.m_bIsNearCalc){if(e>h)continue}else if(e>h)continue}const a=e.getClosestCoordinate(c,!1),g=e.getCoord2D(a);c.subThis(g);const y=c.sqrLength();if(this.m_bIsNearCalc){if(y<=h)return 0}else if(!(y>h)&&(!D||y<h)&&(h=y,f(i,l.getXY(n),n,0),f(r,g,o.getStartPointIndex(),a),D=!0,0===h))return 0}s=!1}return D?Math.sqrt(h):Number.POSITIVE_INFINITY}distanceEnvelopeGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:return this.distancePointEnvelope(t,e,r,i);case n.enumMultiPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distanceMultipointMultipath(t,E(e),r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumPolyline:case n.enumPolygon:return this.distanceMultipathMultipath(E(e),t,i,r);case n.enumEnvelope:return this.distanceEnvelopeEnvelope(e,t,i,r);default:return Number.NaN}}distanceEnvelopeEnvelope(e,t,n,i){n.t=Number.NaN,n.index=-1,i.t=Number.NaN,i.index=-1;const r=e.asEnvelope2D(),s=t.asEnvelope2D();return Math.sqrt(r.sqrDistanceEnvelope(s,n.outPoint,i.outPoint))}distanceMultipathGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distancePointMultipath(t,e,r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumMultiPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distanceMultipointMultipath(t,e,r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumPolyline:case n.enumPolygon:return this.distanceMultipathMultipath(e,t,i,r);case n.enumEnvelope:return this.distanceMultipathMultipath(e,E(t),i,r);default:return Number.NaN}}distanceMultipathMultipath(n,i,s,o){const m={stack:[],error:void 0,hasError:!1};try{const t=[n],a=[i],g=this.swapGeometriesIfAGtB(t,a);g&&(this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),d(s,o)),e(m,l(()=>{d(s,o),this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)},!g),!1);const y=t[0],D=a[0],p=y.querySegmentIterator();p.stripAttributes();const N=D.querySegmentIterator();if(N.stripAttributes(),this.m_bIsNearCalc&&this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)<=this.m_maxSqrDistance)return 0;if(this.m_bIsNearCalc){const e=Math.trunc(c(Math.sqrt(y.getPointCount())+1,1,h())),t=Math.trunc(c(Math.sqrt(y.getPointCount())+1,1,h()));if(this.distanceMultipointMultipoint(y,D,s,o,e,t)<=this.m_maxSqrDistance)return 0}if(!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)){const e=v(),t=v();if(q(y,D,p,N,e,t))return P(s,e),P(o,t),0}const f=M(y),x=[],E=new r,b=new _,S=new _,B=new _;let A=this.m_maxSqrDistance,T=!0,C=!1;for(let e=0,n=f.length;e<n;++e){y.querySegment(f[e],E,!0);const t=E.get();if(t.queryEnvelope(b),!(b.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>A)){if(this.m_bIsNearCalc&&b.sqrMaxDistanceEnvelope(this.m_env2DgeometryB)<=A)return 0;for(;N.nextPath();){if(this.progress_(),T)D.queryPathEnvelope(N.getPathIndex(),B),x[N.getPathIndex()]=B.clone();else if(b.sqrDistanceEnvelope(x[N.getPathIndex()],null,null)>A)continue;for(;N.hasNextSegment();){const n=N.nextSegment();if(n.queryEnvelope(S),b.sqrDistanceEnvelope(S,null,null)<=A){const i=!b.isIntersecting(S),r=[0],m=[0];let a=t.distance(n,i,r,m);if(a*=a,this.m_bIsNearCalc&&a<=this.m_maxSqrDistance)return 0;if(a<A||a===A&&f[e]<s.index){if(C=!0,I(s,t,f[e],r[0]),I(o,n,N.getStartPointIndex(),m[0]),0===a)return 0;A=a}}}}N.resetToFirstPath(),T=!1}}return C?Math.sqrt(A):Number.POSITIVE_INFINITY}catch(a){m.error=a,m.hasError=!0}finally{t(m)}}swapGeometriesIfAGtB(e,t){return i(e[0])>i(t[0])&&(t[0]=u(e[0],e[0]=t[0]),!0)}swapGeometriesIfBGtA(e,t){return this.swapGeometriesIfAGtB(t,e)}}export{b as D,v as m,M as s,q as w};
|
|
2
|
+
import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{G as n,v as i}from"./Geometry.js";import{S as r,P as s,s as o}from"./MultiPathImpl.js";import{E as m}from"./UnitFactory.js";import{P as a,c as u,s as c,i as h,h as l,j as g,d as y}from"./Point2D.js";import{Envelope2D as _}from"./Envelope2D.js";import{P as D,E as p}from"./Envelope.js";function v(){return{outPoint:new a,index:-1,t:Number.NaN}}function N(e,t,n){return{outPoint:e.clone(),index:t,t:n}}function f(e,t,n,i){e.outPoint.assign(t),e.index=n,e.t=i}function P(e,t){e.outPoint.assign(t.outPoint),e.index=t.index,e.t=t.t}function I(e,t,n,i){e.index=n,e.t=i,t.queryCoord2D(e.t,e.outPoint)}function d(e,t){const n=v();P(n,e),P(e,t),P(t,n)}function q(e,t,i,r,s,o){if(e.getGeometryType()===n.enumPolygon){for(;r.nextPath();)if(r.hasNextSegment()){const t=r.nextSegment();if(0!==m(e,t.getEndXY(),0))return f(s,t.getEndXY(),-1,Number.NaN),f(o,t.getEndXY(),-1,Number.NaN),!0}r.resetToFirstPath()}if(t.getGeometryType()===n.enumPolygon){for(;i.nextPath();)if(i.hasNextSegment()){const e=i.nextSegment();if(0!==m(t,e.getEndXY(),0))return f(s,e.getEndXY(),-1,Number.NaN),f(o,e.getEndXY(),-1,Number.NaN),!0}i.resetToFirstPath()}return!1}function M(e){const t=e.getPathCount(),n=y(e.getSegmentCount(),0);let i=0;for(let r=0;r<t;++r){const t=i+e.getSegmentCountPath(r);for(let s=i,o=e.getPathStart(r);s<t;++s,++o)n[s]=o;i=t}return o(e.getPointCount(),n),n}function x(e,t){return!!Number.isNaN(t)||e<=t}function E(e){const t=new s;return t.addEnvelope(e,!1),t}class b{m_progressTracker;m_env2DgeometryA=null;m_env2DgeometryB=null;m_maxSqrDistance;m_maxDistance;m_progressCounter=0;m_bIsNearCalc;constructor(e,t){if(this.m_progressTracker=t,this.m_maxSqrDistance=e*e,this.m_maxDistance=e,this.m_bIsNearCalc=!1,Number.isNaN(this.m_maxDistance)?this.m_maxDistance=Number.POSITIVE_INFINITY:this.m_maxDistance=e,this.m_maxSqrDistance=this.m_maxDistance*this.m_maxDistance,Number.isFinite(this.m_maxSqrDistance)){let e=Math.sqrt(this.m_maxSqrDistance);for(;e<this.m_maxDistance;)this.m_maxSqrDistance*=1+Number.EPSILON,e=Math.sqrt(this.m_maxSqrDistance)}}calculate(e,t,n,i){if(e.getGeometryType()!==D.type||t.getGeometryType()!==D.type){this.m_env2DgeometryA=new _,this.m_env2DgeometryB=new _,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB);if(!x(this.m_env2DgeometryA.distanceFromEnvelope(this.m_env2DgeometryB),this.m_maxDistance))return Number.POSITIVE_INFINITY}const r=N(new a,g(),Number.NaN),s=N(new a,g(),Number.NaN),o=this._ExecuteBruteForce(e,t,r,s);return x(o,this.m_maxDistance)?(null!==n&&P(n,r),null!==i&&P(i,s),o):Number.POSITIVE_INFINITY}isNear(e,t){if(this.m_bIsNearCalc=!0,e.isEmpty()||t.isEmpty())return!1;if(e===t)return!0;let n=!0;if(e.getGeometryType()!==D.type&&e.getGeometryType()!==p.type||t.getGeometryType()!==D.type&&t.getGeometryType()!==p.type||(n=!1),n){if(this.m_env2DgeometryA=new _,this.m_env2DgeometryB=new _,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB),!(this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)>this.m_maxSqrDistance))return!0;if(this.m_env2DgeometryA.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>this.m_maxSqrDistance)return!1}const i=N(new a,g(),Number.NaN),r=N(new a,g(),Number.NaN);return this._ExecuteBruteForce(e,t,i,r)<=this.m_maxDistance}progress_(e=!1){}_ExecuteBruteForce(e,t,i,r){switch(e.getGeometryType()){case n.enumPoint:return this.distancePointGeometry(e,t,i,r);case n.enumMultiPoint:return this.distanceMultipointGeometry(e,t,i,r);case n.enumEnvelope:return this.distanceEnvelopeGeometry(e,t,i,r);case n.enumPolyline:case n.enumPolygon:return this.distanceMultipathGeometry(e,t,i,r);default:return Number.NaN}}distancePointGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:return this.distancePointPoint(e,t,i,r);case n.enumMultiPoint:return this.distancePointMultipoint(e,t,i,r);case n.enumPolyline:case n.enumPolygon:return this.distancePointMultipath(e,t,i,r);case n.enumEnvelope:return this.distancePointEnvelope(e,t,i,r);default:return Number.NaN}}distancePointPoint(e,t,n,i){const r=e.getXY(),s=t.getXY();return f(n,r,0,0),f(i,s,0,0),Math.sqrt(a.sqrDistance(r,s))}distancePointMultipoint(e,t,n,i){const r=e.getXY();let s=this.m_maxSqrDistance,o=s,m=!1;const u=t.getPointCount(),c=new a;for(let h=0;h<u;++h)if(t.queryXY(h,c),o=a.sqrDistance(r,c),this.m_bIsNearCalc){if(o<=s)return 0}else if(!(o>s)&&(!m&&o===s||o<s)&&(s=o,f(n,r,0,0),f(i,c,h,0),m=!0,0===s))return 0;return m?Math.sqrt(s):Number.POSITIVE_INFINITY}distancePointMultipath(e,t,i,r){const s=!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB),o=e.getXY();if(!s&&t.getGeometryType()===n.enumPolygon&&0!==m(t,o,0))return f(i,o,0,0),f(r,o,-1,Number.NaN),0;t.getImpl().getAccelerators();let u=this.m_maxSqrDistance,c=u,h=-1;const l=new _,g=t.querySegmentIterator();let y=!1;for(;g.nextPath();)for(;g.hasNextSegment();){const e=g.nextSegment();e.queryEnvelope(l);const t=l.sqrDistance(o);if(t>u)continue;if(!this.m_bIsNearCalc&&y&&t===u)continue;h=e.getClosestCoordinate(o,!1);const n=e.getCoord2D(h);if(c=a.sqrDistance(o,n),this.m_bIsNearCalc){if(c<=u)return 0}else if(!(c>u)&&(!y||c<u)&&(u=c,f(i,o,0,0),f(r,n,g.getStartPointIndex(),h),y=!0,0===u))return 0}return y?Math.sqrt(u):Number.POSITIVE_INFINITY}distancePointEnvelope(e,t,n,i){const r=e.getXY();f(n,r,0,0),f(i,r,-1,Number.NaN);const s=t.asEnvelope2D();return!s.contains(r)?Math.sqrt(s.sqrDistance(r,i.outPoint)):0}distanceMultipointGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distancePointMultipoint(t,e,r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumMultiPoint:return this.distanceMultipointMultipoint(e,t,i,r,1,1);case n.enumPolyline:case n.enumPolygon:return this.distanceMultipointMultipath(e,t,i,r);case n.enumEnvelope:return this.distanceMultipointMultipath(e,E(t),i,r);default:return Number.NaN}}distanceMultipointMultipoint(n,i,r,s,o,m){const g={stack:[],error:void 0,hasError:!1};try{if(this.m_bIsNearCalc&&1===o&&1===m){const e=Math.trunc(c(Math.sqrt(n.getPointCount())+1,1,h())),t=Math.trunc(c(Math.sqrt(i.getPointCount())+1,1,h()));if((e>=4||t>=4)&&this.distanceMultipointMultipoint(n,i,r,s,e,t)<=this.m_maxSqrDistance)return 0}let t=this.m_maxSqrDistance;const y=[n],_=[i],D=this.swapGeometriesIfBGtA(y,_);D&&(this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),m=u(o,o=m),d(r,s)),e(g,l(()=>{d(r,s),this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)},!D),!1);const p=y[0].getImpl(),v=_[0].getImpl(),N=p.getPointCount(),P=v.getPointCount(),I=P>1;let q=!1;const M=new a,x=new a;for(let e=0;e<N;e+=o){if(p.queryXY(e,M),I){const e=this.m_env2DgeometryB.sqrDistance(M);if(this.m_bIsNearCalc){if(e>t)continue;if(this.m_env2DgeometryB.sqrMaxMinDistance(M)<=t)return 0}else if(e>=t)continue}for(let n=0;n<P;n+=m){v.queryXY(n,x);const i=a.sqrDistance(M,x);if(this.m_bIsNearCalc){if(i<=t)return 0}else if(!(i>t||q&&i===t)&&(!q||i<t)&&(f(r,M,e,0),f(s,x,n,0),q=!0,t=i,0===t))return q?Math.sqrt(t):Number.POSITIVE_INFINITY}}return q?Math.sqrt(t):Number.POSITIVE_INFINITY}catch(y){g.error=y,g.hasError=!0}finally{t(g)}}distanceMultipointMultipath(e,t,i,r){let s=!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)&&t.getGeometryType()===n.enumPolygon;const o=t.querySegmentIterator();o.stripAttributes();const u=new _,c=new a;let h=this.m_maxSqrDistance;const l=e.getImpl(),g=l.getPointCount(),y=g>1;let D=!1;for(;o.nextPath();)for(;o.hasNextSegment();){const e=o.nextSegment();if(e.queryLooseEnvelope(u),y){const e=u.sqrDistanceEnvelope(this.m_env2DgeometryA,null,null);if(this.m_bIsNearCalc){if(e>h)continue}else if(e>h||D&&e===h)continue}for(let n=0;n<g;n++){if(l.queryXY(n,c),s&&0!==m(t,c,0))return f(i,c,-1,Number.NaN),f(r,c,n,0),0;{const e=u.sqrDistance(c);if(this.m_bIsNearCalc){if(e>h)continue}else if(e>h)continue}const a=e.getClosestCoordinate(c,!1),g=e.getCoord2D(a);c.subThis(g);const y=c.sqrLength();if(this.m_bIsNearCalc){if(y<=h)return 0}else if(!(y>h)&&(!D||y<h)&&(h=y,f(i,l.getXY(n),n,0),f(r,g,o.getStartPointIndex(),a),D=!0,0===h))return 0}s=!1}return D?Math.sqrt(h):Number.POSITIVE_INFINITY}distanceEnvelopeGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:return this.distancePointEnvelope(t,e,r,i);case n.enumMultiPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distanceMultipointMultipath(t,E(e),r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumPolyline:case n.enumPolygon:return this.distanceMultipathMultipath(E(e),t,i,r);case n.enumEnvelope:return this.distanceEnvelopeEnvelope(e,t,i,r);default:return Number.NaN}}distanceEnvelopeEnvelope(e,t,n,i){n.t=Number.NaN,n.index=-1,i.t=Number.NaN,i.index=-1;const r=e.asEnvelope2D(),s=t.asEnvelope2D();return Math.sqrt(r.sqrDistanceEnvelope(s,n.outPoint,i.outPoint))}distanceMultipathGeometry(e,t,i,r){switch(t.getGeometryType()){case n.enumPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distancePointMultipath(t,e,r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumMultiPoint:{this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const n=this.distanceMultipointMultipath(t,e,r,i);return this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),n}case n.enumPolyline:case n.enumPolygon:return this.distanceMultipathMultipath(e,t,i,r);case n.enumEnvelope:return this.distanceMultipathMultipath(e,E(t),i,r);default:return Number.NaN}}distanceMultipathMultipath(n,i,s,o){const m={stack:[],error:void 0,hasError:!1};try{const t=[n],a=[i],g=this.swapGeometriesIfAGtB(t,a);g&&(this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),d(s,o)),e(m,l(()=>{d(s,o),this.m_env2DgeometryB=u(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)},!g),!1);const y=t[0],D=a[0],p=y.querySegmentIterator();p.stripAttributes();const N=D.querySegmentIterator();if(N.stripAttributes(),this.m_bIsNearCalc&&this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)<=this.m_maxSqrDistance)return 0;if(this.m_bIsNearCalc){const e=Math.trunc(c(Math.sqrt(y.getPointCount())+1,1,h())),t=Math.trunc(c(Math.sqrt(y.getPointCount())+1,1,h()));if(this.distanceMultipointMultipoint(y,D,s,o,e,t)<=this.m_maxSqrDistance)return 0}if(!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)){const e=v(),t=v();if(q(y,D,p,N,e,t))return P(s,e),P(o,t),0}const f=M(y),x=[],E=new r,b=new _,S=new _,B=new _;let A=this.m_maxSqrDistance,T=!0,C=!1;for(let e=0,n=f.length;e<n;++e){y.querySegment(f[e],E,!0);const t=E.get();if(t.queryEnvelope(b),!(b.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>A)){if(this.m_bIsNearCalc&&b.sqrMaxDistanceEnvelope(this.m_env2DgeometryB)<=A)return 0;for(;N.nextPath();){if(this.progress_(),T)D.queryPathEnvelope(N.getPathIndex(),B),x[N.getPathIndex()]=B.clone();else if(b.sqrDistanceEnvelope(x[N.getPathIndex()],null,null)>A)continue;for(;N.hasNextSegment();){const n=N.nextSegment();if(n.queryEnvelope(S),b.sqrDistanceEnvelope(S,null,null)<=A){const i=!b.isIntersecting(S),r=[0],m=[0];let a=t.distance(n,i,r,m);if(a*=a,this.m_bIsNearCalc&&a<=this.m_maxSqrDistance)return 0;if(a<A||a===A&&f[e]<s.index){if(C=!0,I(s,t,f[e],r[0]),I(o,n,N.getStartPointIndex(),m[0]),0===a)return 0;A=a}}}}N.resetToFirstPath(),T=!1}}return C?Math.sqrt(A):Number.POSITIVE_INFINITY}catch(a){m.error=a,m.hasError=!0}finally{t(m)}}swapGeometriesIfAGtB(e,t){return i(e[0])>i(t[0])&&(t[0]=u(e[0],e[0]=t[0]),!0)}swapGeometriesIfBGtA(e,t){return this.swapGeometriesIfAGtB(t,e)}}export{b as D,v as m,M as s,q as w};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{FloatPassUniform as
|
|
2
|
+
import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{Texture2DPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ToneMapping as i}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{NoParameters as n}from"../views/webgl/NoParameters.js";import{ShaderBuilder as a}from"../views/webgl/ShaderBuilder.js";class l extends n{constructor(){super(...arguments),this.inputScale=1}}function t(){const n=new a,l=n.fragment;return n.include(e,!0),n.outputs.add("fragColor","vec4",0),l.include(r),l.include(i),l.uniforms.add(new s("colorTexture",({color:e})=>e),new s("emissionTexture",({emission:e})=>e),new o("inputScale",({inputScale:e},{lighting:r})=>e*(2-r.noonFactor))).main.add("\n vec4 color = texture(colorTexture, uv);\n color = vec4(linearizeGamma(color.rgb), color.a);\n\n vec3 emission = texture(emissionTexture, uv).rgb * inputScale;\n fragColor = delinearizeGamma(vec4(tonemapKhronosNeutral(color.rgb + emission), color.a));\n "),n}const c=Object.freeze(Object.defineProperty({__proto__:null,EmissionCompositePassParameters:l,build:t},Symbol.toStringTag,{value:"Module"}));export{l as E,c as a,t as b};
|