@arcgis/core 5.2.0-next.69 → 5.2.0-next.70
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/Basemap.js +1 -1
- package/Ground.js +1 -1
- package/WebDocument2D.js +1 -1
- package/WebScene.js +1 -1
- package/applications/Components/analysisUtils.js +1 -1
- package/applications/Components/arcadeEditorUtils.js +1 -1
- package/applications/Components/testUtils.js +1 -1
- package/applications/Urban/meshUtils.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/functions/geomsync.js +1 -1
- package/arcade/functions/knowledgegraph.js +1 -1
- package/arcade/functions/track.js +1 -1
- package/arcade/geometry/operators.js +1 -1
- package/arcade/geometry/operatorsWorker.js +1 -1
- package/arcade/geometry/rotate.js +2 -0
- package/arcade/geometry/unitConversion.js +1 -1
- package/arcgisGlobal.d.ts +1 -0
- package/assets/components/assets/icon/loadConfiguration16.json +1 -0
- package/assets/components/assets/icon/loadConfiguration24.json +1 -0
- package/assets/components/assets/icon/loadConfiguration32.json +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{bece22668622a9a6bfe2.js → 011281fe918c4f0aec5d.js} +1 -1
- package/assets/esri/core/workers/chunks/01c92e68fb17cf2d0e08.js +1 -0
- package/assets/esri/core/workers/chunks/02dd79beb13eff6be85e.js +1 -0
- package/assets/esri/core/workers/chunks/0623acb2bd14a61b65c9.js +29 -0
- package/assets/esri/core/workers/chunks/065e3353124fc5ac44ce.js +1 -0
- package/assets/esri/core/workers/chunks/06c9aac75a01d3af6d54.js +1 -0
- package/assets/esri/core/workers/chunks/073f1d5f89875c6aefb1.js +1 -0
- package/assets/esri/core/workers/chunks/{d583bcea4d1a21da9147.js → 0846855843f85661e974.js} +1 -1
- package/assets/esri/core/workers/chunks/{7a818499c1079906c2d7.js → 089f8c60e96d920a2cb2.js} +1 -1
- package/assets/esri/core/workers/chunks/09653bd2a31d293a10d9.js +2 -0
- package/assets/esri/core/workers/chunks/0ae0483b72f5e8d00d55.js +1 -0
- package/assets/esri/core/workers/chunks/0aedeb837399d3f92e4a.js +1 -0
- package/assets/esri/core/workers/chunks/0b18de5147d76b68896f.js +1 -0
- package/assets/esri/core/workers/chunks/{f5d809d30cbb56be852d.js → 0e333aced8b23aa49a0e.js} +1 -1
- package/assets/esri/core/workers/chunks/{dad39ddf0f8dfb0bef47.js → 0eaa8265a4cd64297545.js} +1 -1
- package/assets/esri/core/workers/chunks/{4e1b087453fc5e20e961.js → 118ccfa2d685764752ee.js} +1 -1
- package/assets/esri/core/workers/chunks/158d2ac0333d53556e33.js +1 -0
- package/assets/esri/core/workers/chunks/160b204cbf5bda2a29e9.js +1 -0
- package/assets/esri/core/workers/chunks/16cade1c2ddf44e336ee.js +1 -0
- package/assets/esri/core/workers/chunks/19233d0016e5b154c5ce.js +1 -0
- package/assets/esri/core/workers/chunks/19cb8963d5ec2246357b.js +1 -0
- package/assets/esri/core/workers/chunks/{0ae35b02dda9b9662560.js → 1ac8a7a129ba33e05a24.js} +1 -1
- package/assets/esri/core/workers/chunks/1b130af7d14eaae69d96.js +1 -0
- package/assets/esri/core/workers/chunks/1ca04ecf010e68863014.js +1 -0
- package/assets/esri/core/workers/chunks/1cc063aa2ddf44bbd515.js +1 -0
- package/assets/esri/core/workers/chunks/{c055c16379f5bb56e930.js → 1d92d53186debd52e753.js} +1 -1
- package/assets/esri/core/workers/chunks/{37a8cfec11057947b45f.js → 1dba93abe84d30f05d8d.js} +1 -1
- package/assets/esri/core/workers/chunks/1e0140556c2e3fa72545.js +1 -0
- package/assets/esri/core/workers/chunks/1e5cb72830c7f32f2961.js +1 -0
- package/assets/esri/core/workers/chunks/{510acf2e8781be9b0dba.js → 1f888f026b004447772c.js} +1 -1
- package/assets/esri/core/workers/chunks/2033e6d42453e4e67048.js +1 -0
- package/assets/esri/core/workers/chunks/24006cea112d657f053a.js +1 -0
- package/assets/esri/core/workers/chunks/{7b531feba4fd662575f9.js → 28924f31f5ba8ebdc60a.js} +1 -1
- package/assets/esri/core/workers/chunks/{893ffc38e1a43de5b63d.js → 28b09fe50b855a1d8a3f.js} +1 -1
- package/assets/esri/core/workers/chunks/{b9c7aa04861f545a559c.js → 2bcb7e43578124538c3c.js} +1 -1
- package/assets/esri/core/workers/chunks/2bdb9b5365869081c936.js +1 -0
- package/assets/esri/core/workers/chunks/{df89bf05c18f0c8e418b.js → 2cfe6f41865ffb3a4645.js} +1 -1
- package/assets/esri/core/workers/chunks/{63858dfcff1177e597e7.js → 2d1ae18a28491b00091d.js} +1 -1
- package/assets/esri/core/workers/chunks/2d3a18d56e2e5669c562.js +1 -0
- package/assets/esri/core/workers/chunks/2d45daacec0d5ed38782.js +1 -0
- package/assets/esri/core/workers/chunks/2f58e1f64df2da8259a2.js +1 -0
- package/assets/esri/core/workers/chunks/31669511cfddf116d991.js +1 -0
- package/assets/esri/core/workers/chunks/32f5112c848efec6c33b.js +1 -0
- package/assets/esri/core/workers/chunks/33e293836f5d28dc5d62.js +1 -0
- package/assets/esri/core/workers/chunks/{59a795eba31061dc357a.js → 359584a8fb5687a7d098.js} +1 -1
- package/assets/esri/core/workers/chunks/{9c5dff4f13102871786e.js → 36171c72a3c04b0d13ef.js} +1 -1
- package/assets/esri/core/workers/chunks/38660a8cc3623c854d88.js +1 -0
- package/assets/esri/core/workers/chunks/3978f00a03e97645b276.js +1 -0
- package/assets/esri/core/workers/chunks/3b14ed3184743df336a6.js +1 -0
- package/assets/esri/core/workers/chunks/{f82cd34a79c8aa58d40c.js → 3b3a8a6167f2e1eeb828.js} +2 -2
- package/assets/esri/core/workers/chunks/3d6b2d5ae647e140abaf.js +1 -0
- package/assets/esri/core/workers/chunks/3dc71e03a630dd50b28e.js +1 -0
- package/assets/esri/core/workers/chunks/3de6e54b6ed0feae1940.js +1 -0
- package/assets/esri/core/workers/chunks/3dff36f6de181d9dcdc5.js +1 -0
- package/assets/esri/core/workers/chunks/3fd022df127af32782ce.js +1 -0
- package/assets/esri/core/workers/chunks/40693ee558a1eb1e93f4.js +1 -0
- package/assets/esri/core/workers/chunks/4344ab1250a1c550bf8b.js +1 -0
- package/assets/esri/core/workers/chunks/4491dc227c28e2ab4f8e.js +1 -0
- package/assets/esri/core/workers/chunks/{909e88c27d80777b047c.js → 463747a822499dd933ef.js} +1 -1
- package/assets/esri/core/workers/chunks/4695cd6120f60b234d5c.js +1 -0
- package/assets/esri/core/workers/chunks/4823e77515f451628fad.js +1 -0
- package/assets/esri/core/workers/chunks/484b3e2a220c440ccbb4.js +1 -0
- package/assets/esri/core/workers/chunks/4c2794687aea172775a0.js +1 -0
- package/assets/esri/core/workers/chunks/{b5b698008b8f3f4d5d61.js → 4ce57dd39075e8fb357c.js} +1 -1
- package/assets/esri/core/workers/chunks/4da993c79b373b9d304e.js +2 -0
- package/assets/esri/core/workers/chunks/4da993c79b373b9d304e.js.LICENSE.txt +4 -0
- package/assets/esri/core/workers/chunks/4e129b9f5772a06e580c.js +1 -0
- package/assets/esri/core/workers/chunks/50e0dd74795978468625.js +1 -0
- package/assets/esri/core/workers/chunks/{0a98a13418f53082ca7a.js → 5459ba8fdeb2370bb52b.js} +1 -1
- package/assets/esri/core/workers/chunks/582a1d468089b9986416.js +1 -0
- package/assets/esri/core/workers/chunks/5e3d5347223f0111f40f.js +1 -0
- package/assets/esri/core/workers/chunks/{bfb626805405646a0419.js → 5eb29f0068f1c839d05e.js} +1 -1
- package/assets/esri/core/workers/chunks/5f201c77a09ae0df29d6.js +1 -0
- package/assets/esri/core/workers/chunks/{6d5038d4351fe29e2718.js → 5fb76575575fe8cfb1f0.js} +1 -1
- package/assets/esri/core/workers/chunks/6072c63a5da4366e9942.js +1 -0
- package/assets/esri/core/workers/chunks/6080e46fc79127500283.js +1 -0
- package/assets/esri/core/workers/chunks/623d5518bca227f643bd.js +1 -0
- package/assets/esri/core/workers/chunks/62811bca7ad2100c023c.js +1 -0
- package/assets/esri/core/workers/chunks/6357c7cac401aee9fe77.js +1 -0
- package/assets/esri/core/workers/chunks/{91c543443cd6768ad6ff.js → 6525c925bb91facb3575.js} +1 -1
- package/assets/esri/core/workers/chunks/67d3ff7fcefaa7d5d27f.js +1 -0
- package/assets/esri/core/workers/chunks/{b5571e93bc136dac8ee1.js → 67ebde34377f98d17cda.js} +1 -1
- package/assets/esri/core/workers/chunks/687cf21e027f49b44d22.js +1 -0
- package/assets/esri/core/workers/chunks/{6b0acd1a7dd74a7367e0.js → 694371f51c52a7a94da4.js} +1 -1
- package/assets/esri/core/workers/chunks/6a9002fcba11e2cf3f2e.js +1 -0
- package/assets/esri/core/workers/chunks/{f4e813ead56d963b16b8.js → 6b208bac120bcfecd9e4.js} +1 -1
- package/assets/esri/core/workers/chunks/6cd6d0cfd313f0475d98.js +1 -0
- package/assets/esri/core/workers/chunks/6f58cb9dffe8016397a2.js +1 -0
- package/assets/esri/core/workers/chunks/7260e63252fa5452dc22.js +1 -0
- package/assets/esri/core/workers/chunks/72dcd4bd1a28bf8605c5.js +1 -0
- package/assets/esri/core/workers/chunks/73f77f5a6907cb8d9a35.js +1 -0
- package/assets/esri/core/workers/chunks/77df0bb35d2688729479.js +1 -0
- package/assets/esri/core/workers/chunks/{09c43bcb09aad02e83a9.js → 7a143ca61c0a70306185.js} +1 -1
- package/assets/esri/core/workers/chunks/7ca9c908432b1afa0367.js +1 -0
- package/assets/esri/core/workers/chunks/{ec2e0b2e31fd53b81d0a.js → 7ddf9b2718dd047f15e6.js} +1 -1
- package/assets/esri/core/workers/chunks/7f208ef75ef2ce0d7cf9.js +1 -0
- package/assets/esri/core/workers/chunks/7f4a592bcf4ecb55949a.js +1 -0
- package/assets/esri/core/workers/chunks/7f91e45156bbe88f9a62.js +1 -0
- package/assets/esri/core/workers/chunks/864691186c449ca2c3db.js +1 -0
- package/assets/esri/core/workers/chunks/869d292a60747c93dc84.js +1 -0
- package/assets/esri/core/workers/chunks/{7e2794705b4e679fcb3f.js → 86a4057572755b403548.js} +1 -1
- package/assets/esri/core/workers/chunks/{99772ce7e628364434fa.js → 8c1bddc88cc5f4251021.js} +1 -1
- package/assets/esri/core/workers/chunks/8c76f31a363dd0c3354d.js +1 -0
- package/assets/esri/core/workers/chunks/8eecc6df6511c8830f5d.js +1 -0
- package/assets/esri/core/workers/chunks/{0da4816c11b45b4a6289.js → 8fea514aada1195c8f30.js} +1 -1
- package/assets/esri/core/workers/chunks/{7ebbb90d80600d9ba889.js → 913fb883455aeac8582b.js} +1 -1
- package/assets/esri/core/workers/chunks/927582ec15bff2acbb49.js +1 -0
- package/assets/esri/core/workers/chunks/{89132395eca329b9ab92.js → 9482a6d7baa24bbf5693.js} +1 -1
- package/assets/esri/core/workers/chunks/9684ab5e8254fdfcb7bb.js +1 -0
- package/assets/esri/core/workers/chunks/96d861265566854760cd.js +1 -0
- package/assets/esri/core/workers/chunks/98e6c1d035755a074d24.js +1 -0
- package/assets/esri/core/workers/chunks/9937920e7993814d0b2c.js +1 -0
- package/assets/esri/core/workers/chunks/{9d0bda096cdbd7e22f4b.js → 9bbff8237540409610b3.js} +1 -1
- package/assets/esri/core/workers/chunks/9dda9414104f585560a4.js +2 -0
- package/assets/esri/core/workers/chunks/{be291d920ebc68fde02b.js.LICENSE.txt → 9dda9414104f585560a4.js.LICENSE.txt} +0 -5
- package/assets/esri/core/workers/chunks/{1dc1bfb3425665f560e4.js → a486d99f9879f94151ba.js} +1 -1
- package/assets/esri/core/workers/chunks/{475c60ed8785d07911c6.js → a5c115fc53edb52ce1de.js} +1 -1
- package/assets/esri/core/workers/chunks/a62f1b8ed065b2a38f1a.js +1 -0
- package/assets/esri/core/workers/chunks/{830d1a7dee43422507ab.js → a739e617fc461014ad1f.js} +1 -1
- package/assets/esri/core/workers/chunks/aa21031c8f12ca438eaa.js +1 -0
- package/assets/esri/core/workers/chunks/ad27689b231e282b7620.js +1 -0
- package/assets/esri/core/workers/chunks/af6e8c961fd768fa7be3.js +1 -0
- package/assets/esri/core/workers/chunks/afeeb11b39e140303b5a.js +1 -0
- package/assets/esri/core/workers/chunks/b599b7dadce8b8bc88f6.js +1 -0
- package/assets/esri/core/workers/chunks/{873d8332e2149eb1b36a.js → b6c7b7b7f87dce5de811.js} +3 -3
- package/assets/esri/core/workers/chunks/b7d8817018b3d277c454.js +1 -0
- package/assets/esri/core/workers/chunks/{d90bc34d97bb21c29c40.js → b8cd81d8fcc78d272130.js} +1 -1
- package/assets/esri/core/workers/chunks/{450bc48a7389607bce1e.js → b984b808d383974ca3d8.js} +1 -1
- package/assets/esri/core/workers/chunks/b9953277d0cd4a01bdc6.js +1 -0
- package/assets/esri/core/workers/chunks/c02b3b8b71205f6ce290.js +1 -0
- package/assets/esri/core/workers/chunks/c03da138651ac53cadcb.js +2 -0
- package/assets/esri/core/workers/chunks/c21212c356f65244e34e.js +1 -0
- package/assets/esri/core/workers/chunks/{1fece9757de7c10d1e9f.js → c29df43817278f674707.js} +1 -1
- package/assets/esri/core/workers/chunks/{589b31cc5c663a288942.js → c6bf17b5ff6ec4b980a1.js} +1 -1
- package/assets/esri/core/workers/chunks/c715c585c42d8c2b86f5.js +1 -0
- package/assets/esri/core/workers/chunks/c7e9513f75b8ec205562.js +1 -0
- package/assets/esri/core/workers/chunks/c866b66ba72d96453899.js +1 -0
- package/assets/esri/core/workers/chunks/{5fde1234c5cccaee6763.js → c873383e7dae35dc1a61.js} +1 -1
- package/assets/esri/core/workers/chunks/c99dcc17fbd7acd2ad2e.js +1 -0
- package/assets/esri/core/workers/chunks/cae94d6805e0e8db3600.js +1 -0
- package/assets/esri/core/workers/chunks/cc5ec6e99aa09342c704.js +1 -0
- package/assets/esri/core/workers/chunks/cd4e5c948d1bfa9b9a2d.js +1 -0
- package/assets/esri/core/workers/chunks/{6501ee40bf25f9f75d02.js → ce481eeb27ea9c1782ae.js} +1 -1
- package/assets/esri/core/workers/chunks/{d214ac457ac970479536.js → cec1c87eb3749276ced4.js} +1 -1
- package/assets/esri/core/workers/chunks/cfe31b7d1c6c05fbd268.js +1 -0
- package/assets/esri/core/workers/chunks/d08f81d545930a79fb2e.js +1 -0
- package/assets/esri/core/workers/chunks/d0c1bc90e474f706211c.js +1 -0
- package/assets/esri/core/workers/chunks/d2faac81142586cf7509.js +1 -0
- package/assets/esri/core/workers/chunks/d607cf154218d20e4114.js +1 -0
- package/assets/esri/core/workers/chunks/{b94cd7eac5ff4a78dd5b.js → d7b6985984071e78c764.js} +1 -1
- package/assets/esri/core/workers/chunks/d901f8503a73277cfa58.js +1 -0
- package/assets/esri/core/workers/chunks/d93d0cb69f3a9a722510.js +1 -0
- package/assets/esri/core/workers/chunks/{9073b0f0ec93d6e243b9.js → da1c9257793c2817f40f.js} +1 -1
- package/assets/esri/core/workers/chunks/{94719ac469dadc4c05dc.js → dc0c3109b7558b4fe016.js} +1 -1
- package/assets/esri/core/workers/chunks/{dc7e4f7879debf557e46.js → de3d0973cff1e0858c52.js} +2 -2
- package/assets/esri/core/workers/chunks/{adce59e4111bae4225f7.js → e421dee5d8b030e79ffb.js} +1 -1
- package/assets/esri/core/workers/chunks/e602b91d8fdc36a92530.js +1 -0
- package/assets/esri/core/workers/chunks/{c13e55b9efb0b532f7ee.js → e61ab8ef30bbe788b9d7.js} +1 -1
- package/assets/esri/core/workers/chunks/e702abaeccef20b64a81.js +1 -0
- package/assets/esri/core/workers/chunks/{11a3aa43fb940c21f148.js → eb95464bd017fb839510.js} +1 -1
- package/assets/esri/core/workers/chunks/ebd619533be077059494.js +1 -0
- package/assets/esri/core/workers/chunks/ed564358cc7b3ee463a3.js +1 -0
- package/assets/esri/core/workers/chunks/ef2e0a014c982d9c7ca4.js +1 -0
- package/assets/esri/core/workers/chunks/f5cf338cecfc81f23128.js +1 -0
- package/assets/esri/core/workers/chunks/f6150b51a9430691a040.js +1 -0
- package/assets/esri/core/workers/chunks/{f4aed2b6e92bd0474069.js → f69329b85b362b349a8c.js} +1 -1
- package/assets/esri/core/workers/chunks/f721756a6c1593f96409.js +1 -0
- package/assets/esri/core/workers/chunks/fa19d5923276418096da.js +1 -0
- package/assets/esri/core/workers/chunks/fa5d27e47d47ff8fcb96.js +2 -0
- package/assets/esri/core/workers/chunks/fb12d3c63fcac8391e06.js +1 -0
- package/assets/esri/core/workers/chunks/fc9065d0cd6285fe0f0d.js +1 -0
- package/assets/esri/core/workers/chunks/{b526055794e64b0227ca.js → fd6107f95082e05f016a.js} +11 -11
- package/assets/esri/core/workers/chunks/fe10a95ebe1da2322af6.js +1 -0
- package/assets/esri/core/workers/chunks/fe71a0604f0928113419.js +1 -0
- package/assets/esri/core/workers/chunks/fec07a16b72cdcafc641.js +1 -0
- package/assets/esri/core/workers/chunks/fff23b2682590c4b21e3.js +1 -0
- package/assets/esri/layers/raster/formats/lerc-wasm.wasm +0 -0
- package/chunks/Bufferer-CclWhXVb.js +1 -1
- package/chunks/ColorMaterial.glsl.js +18 -5
- package/chunks/Component.glsl.js +42 -34
- package/chunks/Envelope.js +1 -1
- package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
- package/chunks/Geometry.js +1 -1
- package/chunks/GeometryCleaner-CIE8Wfmb.js +1 -1
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/OperatorAffineTransform.js +2 -0
- package/chunks/OperatorCentroid2D.js +2 -0
- package/chunks/OperatorCrosses.js +1 -1
- package/chunks/OperatorCut.js +1 -1
- package/chunks/OperatorGeneralize.js +1 -1
- package/chunks/OperatorGeodesicBuffer.js +1 -1
- package/chunks/OperatorGeodeticLength.js +1 -1
- package/chunks/OperatorGraphicBuffer.js +1 -1
- package/chunks/OperatorIntersects.js +1 -1
- package/chunks/OperatorMultiPartToSinglePart.js +1 -1
- package/chunks/OperatorOverlaps.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/SideCalculator2D-DX0718xq.js +1 -1
- package/chunks/SpatialReference.js +1 -1
- package/chunks/arcade.js +1 -1
- package/chunks/bundle.js +1 -1
- package/chunks/bundle2.js +1 -1
- package/chunks/centroidOperator.js +1 -1
- package/chunks/containsOperator.js +1 -1
- package/chunks/disjointOperator.js +1 -1
- package/chunks/equalsOperator.js +1 -1
- package/chunks/geodeticDistanceOperator.js +2 -0
- package/chunks/multiPartToSinglePartOperator.js +2 -0
- package/chunks/offsetOperator.js +2 -0
- package/config.js +1 -1
- package/core/imageUtils.js +1 -1
- package/core/workers/WorkerFallback.js +1 -1
- package/core/workers/registry.js +1 -1
- package/core/workers/workerFactory.js +1 -1
- package/core/workers/workers.js +1 -1
- package/editing/sharedTemplates/SharedTemplateProvider.js +1 -1
- package/editing/sharedTemplates/executor/builders/support/offsetUtils.js +1 -1
- package/editing/sharedTemplates/executor/createTemplateExecutor.js +1 -1
- package/editing/sharedTemplates/templateLoader.js +1 -1
- package/geometry/libtess.js +1 -1
- package/geometry/operators/affineTransformOperator.js +1 -1
- package/geometry/operators/centroidOperator.js +1 -1
- package/geometry/operators/geodeticDistanceOperator.js +1 -1
- package/geometry/operators/gx/operatorAffineTransform.js +1 -1
- package/geometry/operators/gx/operatorAutoComplete.js +1 -1
- package/geometry/operators/gx/operatorBuffer.js +1 -1
- package/geometry/operators/gx/operatorConvexHull.js +1 -1
- package/geometry/operators/gx/operatorDifference.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/operatorLocateBetween.js +1 -1
- package/geometry/operators/gx/operatorOffset.js +1 -1
- package/geometry/operators/gx/operatorSinglePartToMultiPart.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/multiPartToSinglePartOperator.js +1 -1
- package/geometry/operators/offsetOperator.js +1 -1
- package/geometry/support/curves/densifyCurvedGeometry.js +1 -1
- package/geometry/support/meshUtils.js +1 -1
- package/interfaces.d.ts +3 -0
- package/kernel.js +1 -1
- package/layers/CSVLayer.js +1 -1
- package/layers/CatalogLayer.js +1 -1
- package/layers/ElevationLayer.js +1 -1
- package/layers/FeatureLayer.js +1 -1
- package/layers/GeoJSONLayer.js +1 -1
- package/layers/GroupLayer.js +1 -1
- package/layers/ImageryLayer.js +1 -1
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/Layer.js +1 -1
- package/layers/MapImageLayer.js +1 -1
- package/layers/MediaLayer.js +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/StreamLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/WCSLayer.js +1 -1
- package/layers/WFSLayer.js +1 -1
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/graphics/data/queryUtils.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/graphics/sources/MemorySource.js +1 -1
- package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
- package/layers/graphics/sources/support/sourceUtils.js +1 -1
- package/layers/knowledgeGraph/cypherUtils.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/PortalLayer.js +1 -1
- package/layers/mixins/TiledImagery.js +1 -1
- package/layers/raster/datasets/FunctionRaster.js +1 -1
- package/layers/raster/datasets/pixelReader.js +1 -1
- package/layers/raster/functions/clipUtils.js +1 -1
- package/layers/raster/functions/rasterProjectionHelper.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/arcgisLayers.js +1 -1
- package/layers/support/featureLayerUtils.js +1 -1
- package/layers/support/fromPortalItem.js +1 -1
- package/layers/support/layersLoader.js +1 -1
- package/layers/support/vectorTileLayerLoader.js +1 -1
- package/libs/basisu/BasisUEncoder.js +1 -1
- package/libs/basisu/BasisUTranscoder.js +1 -1
- package/libs/dracoMeshDecoder/dracoMeshDecoder.js +1 -1
- package/libs/dxtEncoder/DXTEncoder.js +1 -1
- package/libs/i3s/I3SModule.js +1 -1
- package/libs/parquet/loadParquetModule.js +1 -1
- package/libs/text/loadTextModule.js +1 -1
- package/networks/UtilityNetwork.js +1 -1
- package/networks/support/utils.js +1 -1
- package/package.json +3 -3
- package/popup/FeatureContentCollection.js +1 -1
- package/popup/Features.js +1 -1
- package/portal/Portal.js +1 -1
- package/portal/PortalItem.js +1 -1
- package/portal/PortalItemResource.js +1 -1
- package/portal/PortalUser.js +1 -1
- package/renderers/support/DictionaryLoader.js +1 -1
- package/request/process.js +1 -1
- package/request/queue.js +1 -1
- package/request.js +1 -1
- package/rest/geoprocessor/utils.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/knowledgeWasmAccess.js +1 -1
- package/rest/support/JobInfo.js +1 -1
- package/rest/utils.js +1 -1
- package/smartMapping/renderers/support/rendererUtils.js +1 -1
- package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
- package/support/revision.js +1 -1
- package/support/tests/serviceMockDependencies.js +1 -1
- package/support/zipUtils.js +1 -1
- package/symbols/WebStyleSymbol.js +1 -1
- package/symbols/cim/CIMOperators.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/defaultCIMValues.js +1 -1
- package/symbols/cim/effects/EffectCircularSector.js +2 -0
- package/symbols/cim/types.d.ts +42 -1
- package/symbols/cim/utils.js +1 -1
- package/symbols/support/symbolLayerUtils.js +1 -1
- package/symbols/support/symbolUtils.js +1 -1
- package/symbols/support/utils.js +1 -1
- package/undoredo/support/ServiceVersionInfo.js +1 -1
- package/versionManagement/VersionManagementService.js +1 -1
- package/views/2d/engine/Stage.js +1 -1
- package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
- package/views/2d/engine/vectorTiles/TileHandler3D.js +1 -1
- package/views/2d/engine/vectorTiles/TileParser.js +1 -1
- package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
- package/views/2d/engine/vectorTiles/WorkerTile.js +1 -1
- package/views/2d/engine/vectorTiles/WorkerTileHandler.js +1 -1
- package/views/2d/engine/vectorTiles/style/GeoJSONVectorTileSource.js +2 -0
- package/views/2d/engine/vectorTiles/style/GeoJSONVectorTileSourceWorker.js +2 -0
- package/views/2d/engine/vectorTiles/style/RemoteVectorTileSource.js +2 -0
- package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
- package/views/2d/engine/vectorTiles/style/VectorTilePbfWriter.js +2 -0
- package/views/2d/engine/vectorTiles/style/VectorTileSource.js +1 -1
- package/views/2d/engine/vectorTiles/style/encodeVectorTileFeatures.js +2 -0
- package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
- package/views/2d/engine/webgl/GlyphSDFCreator.js +1 -1
- package/views/2d/engine/webgl/GlyphSource.js +1 -1
- package/views/2d/engine/webgl/GlyphWorker.js +2 -0
- package/views/2d/engine/webgl/Painter.js +1 -1
- package/views/2d/engine/webgl/TextureManager.js +1 -1
- package/views/2d/engine/webgl/mesh/factories/ResourceProxy.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.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/FeatureLikeLayerView2D.js +1 -1
- package/views/2d/layers/RouteLayerView2D.js +1 -1
- package/views/2d/layers/VectorTileLayerView2D.js +1 -1
- package/views/2d/layers/features/Processor.js +1 -1
- package/views/2d/layers/features/schema/processor/MatcherSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderVectorTileFeatureCursor.js +2 -0
- package/views/2d/layers/support/MediaLayerInteraction.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedConfiguration.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedObserverManipulatedObject3D.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedSnappingController.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
- package/views/3d/analysis/Viewshed/viewshedToolManipulatorUtils.js +1 -1
- package/views/3d/interactive/manipulatorUtils.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerWorker.js +1 -1
- package/views/3d/layers/VectorTileLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
- package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
- package/views/3d/layers/graphics/ObjectResourceCache.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/i3s/I3SOverrides.js +1 -1
- package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
- package/views/3d/layers/support/FlowTileTree3DDebugger.js +1 -1
- package/views/3d/layers/support/TerrainTileTree3DDebugger.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
- package/views/3d/support/CombinedElevationProvider.js +1 -1
- package/views/3d/support/viewpointUtils.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/TransparencyMode.js +2 -0
- package/views/3d/webgl-engine/collections/Component/ComponentObject.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialInitParameters.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialRepository.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +7 -7
- package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
- package/views/PopupView.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/VideoView.js +1 -1
- package/views/View.js +1 -1
- package/views/analysis/ElevationProfile/elevationProfileGeometryUtils.js +1 -1
- package/views/draw/PointDrawAction.js +1 -1
- package/views/draw/PolygonDrawAction.js +1 -1
- package/views/draw/PolylineDrawAction.js +1 -1
- package/views/draw/SegmentDrawAction.js +1 -1
- package/views/draw/support/createSnappingVisualizer.js +1 -1
- package/views/interactive/snapping/SnappingManager.js +1 -1
- package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
- package/views/layers/HighlightableLayerView.d.ts +2 -0
- package/views/layers/support/MapServiceLayerViewHelper.js +1 -1
- package/views/selection/SelectionOperation.js +1 -1
- package/views/support/GeometryWorker.js +1 -1
- package/views/support/GroundElevationSampler.js +1 -1
- package/webdoc/support/resourceUtils.js +1 -1
- package/webdoc/support/webdocLoadUtils.js +1 -1
- package/webdoc/support/webdocSaveUtils.js +1 -1
- package/webscene/Slide.js +1 -1
- package/webscene/spec-certification/api.js +1 -1
- package/webscene/spec-certification/spec.js +1 -1
- package/webscene/support/analysisUtils.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/BatchAttributeForm/ValueChangeTransaction.js +1 -1
- package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
- package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/textElementTemplateUtils.js +1 -1
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/CatalogLayerList.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/legacy/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/legacy/UpdateWorkflow.js +1 -1
- package/widgets/Editor/modelUploadUtils.js +1 -1
- package/widgets/Editor/support/mergeFeaturesUtils.js +1 -1
- package/widgets/Editor/support/splitFeatureUtils.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
- package/widgets/ElevationProfile.js +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
- package/widgets/Feature/FeatureRelationship.js +1 -1
- package/widgets/Feature/FeatureUtilityNetworkAssociationList.js +1 -1
- package/widgets/Feature.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/support/textManipulationUtils.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
- package/widgets/FeatureTable/Grid/types.d.ts +78 -4
- package/widgets/FeatureTable/support/FeatureStore.d.ts +675 -0
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/FeatureTable/support/types.d.ts +28 -0
- package/widgets/Features/FeaturesViewModel.js +1 -1
- package/widgets/Features.js +1 -1
- package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
- package/widgets/LayerList/ListItemPanel.js +1 -1
- package/widgets/LayerList.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Legend/support/colorRampUtils.js +1 -1
- package/widgets/Legend/support/sizeRampUtils.js +1 -1
- package/widgets/Legend/support/utils.js +1 -1
- package/widgets/Measurement.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/services/DepthImageService.js +1 -1
- package/widgets/OrientedImageryViewer/services/SuperimposeService.js +1 -1
- package/widgets/OrientedImageryViewer/support/NonPanoramicMedia.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/PanoramicVideoViewer.js +1 -1
- package/widgets/PanoramicViewer/support/PanoramicMedia.js +1 -1
- package/widgets/PanoramicViewer/support/importUtils.js +1 -1
- package/widgets/PanoramicViewer.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/Search/SearchViewModel.js +1 -1
- package/widgets/Search/support/layerSearchUtils.js +1 -1
- package/widgets/Search/support/locatorUtils.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch/support/PluginManager.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/support/Selector2D/selectorUtils.js +1 -1
- package/widgets/support/SnappingControls.js +1 -1
- package/widgets/support/symbolPreviewUtils.js +1 -1
- package/arcade/geometry/offset.js +0 -2
- package/assets/esri/core/workers/chunks/067b00498ae85f635f60.js +0 -1
- package/assets/esri/core/workers/chunks/0b20f92bae2b4c40d299.js +0 -1
- package/assets/esri/core/workers/chunks/0c582abc8d25249eb530.js +0 -1
- package/assets/esri/core/workers/chunks/0d6776055e9b34c14151.js +0 -1
- package/assets/esri/core/workers/chunks/0e6b6fcc55cc43ede1fc.js +0 -1
- package/assets/esri/core/workers/chunks/126f1f6b355723db6c4f.js +0 -1
- package/assets/esri/core/workers/chunks/149284464115981694ff.js +0 -1
- package/assets/esri/core/workers/chunks/181f330314c1989f642f.js +0 -1
- package/assets/esri/core/workers/chunks/1840d74ebae777a0200b.js +0 -1
- package/assets/esri/core/workers/chunks/1bfbdec791e19f5a2534.js +0 -1
- package/assets/esri/core/workers/chunks/1d38a710cf799cb0e5b3.js +0 -1
- package/assets/esri/core/workers/chunks/1d8280f63a6698e74f20.js +0 -1
- package/assets/esri/core/workers/chunks/1f48438b3055afeb710f.js +0 -1
- package/assets/esri/core/workers/chunks/25999b6f96ec305a7679.js +0 -1
- package/assets/esri/core/workers/chunks/28565756f884d0851003.js +0 -1
- package/assets/esri/core/workers/chunks/2a5a165848413764381b.js +0 -1
- package/assets/esri/core/workers/chunks/2e7a5bb740281ef59199.js +0 -1
- package/assets/esri/core/workers/chunks/2f87a49bdd00f899d81d.js +0 -1
- package/assets/esri/core/workers/chunks/302d91b7c480c6c9304b.js +0 -1
- package/assets/esri/core/workers/chunks/30c53a7e1ad5aa52f2f3.js +0 -1
- package/assets/esri/core/workers/chunks/3b493e8043ec1a2a5d96.js +0 -1
- package/assets/esri/core/workers/chunks/3ddd717ea12d9823eee2.js +0 -1
- package/assets/esri/core/workers/chunks/3f84ade6285560b692d1.js +0 -1
- package/assets/esri/core/workers/chunks/4129b27fcd4103cdc499.js +0 -1
- package/assets/esri/core/workers/chunks/41f7f3615d3ecb87c59a.js +0 -1
- package/assets/esri/core/workers/chunks/465a050fd838ee8eddf3.js +0 -1
- package/assets/esri/core/workers/chunks/46d8a1d6f7341ad20749.js +0 -1
- package/assets/esri/core/workers/chunks/48a0dfaabb9b4bce4191.js +0 -1
- package/assets/esri/core/workers/chunks/4addea2e35b0c845743e.js +0 -1
- package/assets/esri/core/workers/chunks/4ae626868e14bedd7fc5.js +0 -1
- package/assets/esri/core/workers/chunks/529ee4670940720e888b.js +0 -1
- package/assets/esri/core/workers/chunks/538bdf02c4dfb5ec72fe.js +0 -1
- package/assets/esri/core/workers/chunks/59d1708ae13c6e7e6e55.js +0 -1
- package/assets/esri/core/workers/chunks/5adf16c034a590b5e9f5.js +0 -1
- package/assets/esri/core/workers/chunks/5fb0e8f89b885e5e3742.js +0 -1
- package/assets/esri/core/workers/chunks/60f9b37dd738d884c48d.js +0 -1
- package/assets/esri/core/workers/chunks/62c8413f3bbc1378273d.js +0 -1
- package/assets/esri/core/workers/chunks/632ab11cdd4b0d9a5cc5.js +0 -1
- package/assets/esri/core/workers/chunks/663cf8bff17c894cd5f8.js +0 -1
- package/assets/esri/core/workers/chunks/6cc1120554bcb1b4899b.js +0 -1
- package/assets/esri/core/workers/chunks/6d1371b521c7f94fd77e.js +0 -1
- package/assets/esri/core/workers/chunks/6f102c90908c9900cdaa.js +0 -1
- package/assets/esri/core/workers/chunks/7278fdf6bfcdffa10a7f.js +0 -1
- package/assets/esri/core/workers/chunks/73cb499d7d68c59ba34e.js +0 -1
- package/assets/esri/core/workers/chunks/76bccc318d7cc33829a7.js +0 -1
- package/assets/esri/core/workers/chunks/777eafdb86b26b35c803.js +0 -1
- package/assets/esri/core/workers/chunks/7821aeba3e414b318a75.js +0 -1
- package/assets/esri/core/workers/chunks/7ac47a9ad244100bc3b1.js +0 -1
- package/assets/esri/core/workers/chunks/7b0ed52363704cfce129.js +0 -1
- package/assets/esri/core/workers/chunks/7c57354d026e27e056d4.js +0 -1
- package/assets/esri/core/workers/chunks/7dd672c25beb8813cc75.js +0 -2
- package/assets/esri/core/workers/chunks/7eb94fc75926bc739233.js +0 -1
- package/assets/esri/core/workers/chunks/7f125963555dc1ce63ad.js +0 -1
- package/assets/esri/core/workers/chunks/805c97b875d3066fb8df.js +0 -1
- package/assets/esri/core/workers/chunks/86ed75b7169b8ee43025.js +0 -1
- package/assets/esri/core/workers/chunks/88c3b60b403e2454b56e.js +0 -1
- package/assets/esri/core/workers/chunks/894343e415639df88243.js +0 -1
- package/assets/esri/core/workers/chunks/8b4759cef5ae5e43253b.js +0 -1
- package/assets/esri/core/workers/chunks/8ba4175f5e9a24ffecf7.js +0 -1
- package/assets/esri/core/workers/chunks/8e1d4867406753c5483c.js +0 -1
- package/assets/esri/core/workers/chunks/8e38c5e63aae42bdf5a4.js +0 -29
- package/assets/esri/core/workers/chunks/8f785b722b1a131bf370.js +0 -1
- package/assets/esri/core/workers/chunks/8f8db62f126e4a8c1bf7.js +0 -1
- package/assets/esri/core/workers/chunks/8f9874f42f21a4cb3acd.js +0 -1
- package/assets/esri/core/workers/chunks/90f4b81c6034253b70d7.js +0 -1
- package/assets/esri/core/workers/chunks/93ab247ff34694ac60eb.js +0 -1
- package/assets/esri/core/workers/chunks/9954149def644c371894.js +0 -1
- package/assets/esri/core/workers/chunks/9dfb7d120195991e9672.js +0 -1
- package/assets/esri/core/workers/chunks/9ed5e6b06afea6c85330.js +0 -1
- package/assets/esri/core/workers/chunks/a108f276659d5f25352c.js +0 -1
- package/assets/esri/core/workers/chunks/a504fa17d83facf1c01f.js +0 -1
- package/assets/esri/core/workers/chunks/a5fdb02b1714e93fa69e.js +0 -1
- package/assets/esri/core/workers/chunks/a9f616f22042b0dce8b9.js +0 -1
- package/assets/esri/core/workers/chunks/afd63c18ce4656271c8e.js +0 -1
- package/assets/esri/core/workers/chunks/b059dabb1c732829487c.js +0 -1
- package/assets/esri/core/workers/chunks/b318823aefcefad6fad5.js +0 -1
- package/assets/esri/core/workers/chunks/b378e504a5b1afc8d0ce.js +0 -1
- package/assets/esri/core/workers/chunks/b5397dc03fa0bd654ba6.js +0 -1
- package/assets/esri/core/workers/chunks/b7bcb31737b01d7736d0.js +0 -1
- package/assets/esri/core/workers/chunks/ba030767cf935f967454.js +0 -1
- package/assets/esri/core/workers/chunks/be291d920ebc68fde02b.js +0 -2
- package/assets/esri/core/workers/chunks/c10a0eebd935472d8fae.js +0 -1
- package/assets/esri/core/workers/chunks/c16e83e448a32d13048f.js +0 -1
- package/assets/esri/core/workers/chunks/c2db773201adca204f95.js +0 -1
- package/assets/esri/core/workers/chunks/c4c83b5129c279c3615b.js +0 -1
- package/assets/esri/core/workers/chunks/c7e391df714839484cd1.js +0 -1
- package/assets/esri/core/workers/chunks/cca095f0c623e037002d.js +0 -1
- package/assets/esri/core/workers/chunks/cded485ad893a7dd2948.js +0 -1
- package/assets/esri/core/workers/chunks/cf03d391d50a4c7aca4f.js +0 -1
- package/assets/esri/core/workers/chunks/cf8ce63711488f2e677c.js +0 -1
- package/assets/esri/core/workers/chunks/d198ecb1fe3690d6092f.js +0 -2
- package/assets/esri/core/workers/chunks/d2a51c797b2966cb95f3.js +0 -2
- package/assets/esri/core/workers/chunks/d303621c902330be5035.js +0 -1
- package/assets/esri/core/workers/chunks/d4d385d19e62ef1c286f.js +0 -1
- package/assets/esri/core/workers/chunks/d4f005dadba75422b401.js +0 -1
- package/assets/esri/core/workers/chunks/d5e15021928e95c11463.js +0 -1
- package/assets/esri/core/workers/chunks/d6500f6b2ff115d9eb09.js +0 -1
- package/assets/esri/core/workers/chunks/d9c78c2db04a06ee83ed.js +0 -1
- package/assets/esri/core/workers/chunks/dccb46c7dce68528c72b.js +0 -1
- package/assets/esri/core/workers/chunks/df174346a7e9b629a392.js +0 -1
- package/assets/esri/core/workers/chunks/e08c64e4ae5a68eae2be.js +0 -1
- package/assets/esri/core/workers/chunks/e1492d2404c3ed82931e.js +0 -1
- package/assets/esri/core/workers/chunks/e34ed3b818b2eb4116c5.js +0 -1
- package/assets/esri/core/workers/chunks/e7149d23615fee31ab7e.js +0 -1
- package/assets/esri/core/workers/chunks/ec774f5d6ea5c29536e5.js +0 -1
- package/assets/esri/core/workers/chunks/ed71a4e353715db0a6e9.js +0 -1
- package/assets/esri/core/workers/chunks/f029c12f1afee0e9b2a1.js +0 -1
- package/assets/esri/core/workers/chunks/f4eda59ec1e816ecc827.js +0 -1
- package/assets/esri/core/workers/chunks/f54eba484f40d5eeb590.js +0 -1
- package/assets/esri/core/workers/chunks/f622b27ebdf1c918fd6d.js +0 -1
- package/assets/esri/core/workers/chunks/f6a13f07a5f7b781a9a8.js +0 -1
- package/assets/esri/core/workers/chunks/f6f1122bed931f1d960b.js +0 -1
- package/assets/esri/core/workers/chunks/f8b8d3d2710c83acccf3.js +0 -1
- package/assets/esri/core/workers/chunks/f98bb3885bfc7f18f26c.js +0 -1
- package/assets/esri/core/workers/chunks/fc827f58db3194922056.js +0 -1
- package/chunks/ShadedColorMaterial.glsl.js +0 -13
- package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +0 -2
- package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +0 -2
- package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +0 -2
- package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +0 -2
- /package/assets/esri/core/workers/chunks/{d198ecb1fe3690d6092f.js.LICENSE.txt → 09653bd2a31d293a10d9.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{f82cd34a79c8aa58d40c.js.LICENSE.txt → 3b3a8a6167f2e1eeb828.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{d2a51c797b2966cb95f3.js.LICENSE.txt → c03da138651ac53cadcb.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{7dd672c25beb8813cc75.js.LICENSE.txt → fa5d27e47d47ff8fcb96.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,f as n,t as r,h as m,j as o,k as a,l as h,m 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,h as C,k 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{t as X,f as Y,u as F}from"./SpatialReference.js";import{O as L}from"./OperatorSimplifyOGC.js";import{O as j}from"./OperatorGeneralize.js";function q(e){return e>=0?e>D?D:e:0}var z;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"}(z||(z={}));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 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=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 j).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 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 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=z.enumArc;const P=d?0:this.m_joins;if(2===P)y=z.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=z.enumMiter):y=z.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===z.enumBevel)return void(m&&t.lineTo(n));if(e===z.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?z.enumMiter:z.enumBevel,this.m_bufferCommands.length+1))}else this.m_bufferCommands.push(G(P,s,p,0===n?z.enumArc:z.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,z.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,z.enumArc,this.m_bufferCommands.length+1));else if(1===this.m_caps)this.m_bufferCommands.push(G(C,s,b,z.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,z.enumLine,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(G(e,t,b,z.enumLine,this.m_bufferCommands.length+1)),this.m_bufferCommands.push(G(t,s,b,z.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?z.enumMiter:z.enumBevel,this.m_bufferCommands.length+1))}else this.m_bufferCommands.push(G(C,s,b,0===n?z.enumArc:z.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,z.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&z.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&z.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&z.enumConnectionMask));)t=n.m_next,i++;if(1!==i&&(e.m_type&n.m_type)===z.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,j=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),j++,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),j++,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 j}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,C(()=>{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,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 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};
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{
|
|
3
|
-
|
|
2
|
+
import{ScreenSizeScaling as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as r}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{VertexColor as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VisualVariables as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as n,addViewNormal as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as g,If as v}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as b}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as m}from"../views/webgl/ShaderBuilder.js";function u(u){const h=new m,{vertex:w,fragment:f,attributes:p,varyings:C}=h,{hasVVColor:j,hasVertexColors:y}=u;return p.add("position","vec3"),w.inputs.add("position",()=>"position"),n(w,u),h.include(r),h.include(e,u),h.include(l,u),h.include(a,u),h.include(i,u),f.include(o,u),h.include(b,u),j&&p.add("colorFeatureAttribute","float"),u.screenSizeEnabled&&p.add("offset","vec3"),y||C.add("vColor","vec4"),u.shadingEnabled&&(s(w),p.add("normal","vec3"),C.add("vViewNormal","vec3"),C.add("vShadedColor","vec4"),f.uniforms.add(new t("shadingDirection",e=>e.shadingDirection)),w.uniforms.add(new c("shadingTint",e=>e.shadingTint)),w.code.add(g`vec4 blendColor(vec4 source, vec4 dest) {
|
|
3
|
+
float blendAlpha = source.a + dest.a * (1.0 - source.a);
|
|
4
|
+
vec3 blendedColor = blendAlpha == 0.0
|
|
5
|
+
? vec3(0.0)
|
|
6
|
+
: mix(dest.rgb, source.rgb, source.a / blendAlpha);
|
|
7
|
+
return vec4(blendedColor, dest.a);
|
|
8
|
+
}`)),C.add("vpos","vec3",{invariant:!0}),w.uniforms.add(new c("uColor",e=>e.color)),w.main.add(g`
|
|
9
|
+
vpos = ${u.screenSizeEnabled?g`screenSizeScaling(offset, position)`:g`position`};
|
|
4
10
|
forwardVertexColor();
|
|
5
11
|
forwardObjectAndLayerIdColor();
|
|
6
12
|
|
|
7
|
-
${
|
|
8
|
-
|
|
9
|
-
|
|
13
|
+
${v(u.shadingEnabled,g`vViewNormal = (viewNormal * vec4(normal, 1)).xyz;`)}
|
|
14
|
+
|
|
15
|
+
${y?"vColor *= uColor;":j?"vColor = uColor * interpolateVVColor(colorFeatureAttribute);":"vColor = uColor;"}
|
|
16
|
+
${v(u.shadingEnabled,g`vShadedColor = blendColor(shadingTint, vColor);`)}
|
|
17
|
+
gl_Position = transformPosition(proj, view, vpos);`),f.include(d),f.main.add(g`
|
|
18
|
+
discardBySlice(vpos);
|
|
19
|
+
${u.shadingEnabled?g`
|
|
20
|
+
float shadingFactor = 1.0 - clamp(-dot(normalize(vViewNormal), shadingDirection), 0.0, 1.0);
|
|
21
|
+
vec4 finalColor = mix(vColor, vShadedColor, shadingFactor);`:g`vec4 finalColor = vColor;`}
|
|
22
|
+
outputColorHighlightOLID(applySlice(finalColor, vpos), finalColor.rgb);`),h}const h=Object.freeze(Object.defineProperty({__proto__:null,build:u},Symbol.toStringTag,{value:"Module"}));export{h as C,u as b};
|
package/chunks/Component.glsl.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{ForwardLinearDepthToWriteShadowMap as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColor as r,isShadow as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{outputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as v}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{ReadDepth as g}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{computeFragmentNormals as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTextureDraw as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as h,addLightingGlobalFactor as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as
|
|
2
|
+
import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{ForwardLinearDepthToWriteShadowMap as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColor as r,isShadow as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{outputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as v}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{ReadDepth as g}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{computeFragmentNormals as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTextureDraw as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as h,addLightingGlobalFactor as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as y,addMainLightDirection as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRenderingParameters as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPassFragment as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{OverlayIM as O}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as L}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{BooleanDrawUniform as S}from"../views/3d/webgl-engine/core/shaderModules/BooleanDrawUniform.js";import{FloatDrawUniform as U}from"../views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js";import{If as M,glsl as j}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as N}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{SnowCover as V}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{alphaCutoff as $}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getPlanetRadius as W,sphereDepthInterpolate as D}from"../views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js";import{ShaderBuilder as P}from"../views/webgl/ShaderBuilder.js";function R(R){const A=new P,{vertex:F,fragment:z}=A;A.include(s,R),A.include(n,R),A.include(i,R),A.include(t,R),A.include(e,R),A.include(L,R),z.include(l,R),A.include(b,R);const{output:B,pbrMode:E,hasNormalTexture:I,snowCover:_,receiveShadows:H,shadeNormals:G,spherical:k,sphericalSR:q,overlayEnabled:J,componentDataType:K,vertexDiscardMode:Q,renderOccluded:X,isGroundSlice:Y,groundTransparencyMode:Z}=R,ee=r(B),oe=1===E||2===E,re=2===Z,ae=re&&(3===B||4===B);oe&&(A.include(C,R),I&&A.include(p,R));const le=a(B),te=11===B,ie=10===B,ne=4===B,se=le&&1===K,de=W(R),ce=(J||ae)&&k,ve=1===q;(ee||ne)&&(A.include(u,R),z.include($)),(J||ae)&&(z.include(h,R),A.include(O,R),ce?(A.varyings.add("vPositionForDraping","vec3"),z.uniforms.add(new S("useENUForGlobalOverlayUV",e=>e.useENUForGlobalOverlayUV),new U("overlayMapScaleU",e=>e.toMapSpace[2]),new U("overlayReferenceU",e=>e.toMapSpace[0])),z.constants.add("overlayWorldWidth","float",ve?2*Math.PI*de:360),ve?(z.constants.add("pRadius","float",de),z.constants.add("halfSemiMajorAxis","float",.5*de)):z.constants.add("rad2deg1","float",180/Math.PI),z.constants.add("invRadius","float",1/de).code.add(j`
|
|
3
3
|
vec2 projectOverlay(vec3 pos) { return pos.xy / (1.0 + invRadius * pos.z); }
|
|
4
4
|
|
|
5
5
|
vec2 selectOverlayUVNorm(vec2 normUV, float offsetUNorm) {
|
|
@@ -31,7 +31,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
31
31
|
float sinLat = wPos.z / oRadius;
|
|
32
32
|
vec2 posMap;
|
|
33
33
|
|
|
34
|
-
${
|
|
34
|
+
${M(ve,j`
|
|
35
35
|
posMap = vec2(
|
|
36
36
|
oLonRad * pRadius,
|
|
37
37
|
halfSemiMajorAxis * log((1.0 + sinLat) / (1.0 - sinLat))
|
|
@@ -49,12 +49,12 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
49
49
|
? selectLocalOverlayUVs(projectOverlay(vPositionForDraping))
|
|
50
50
|
: selectMapOverlayUVs(overlayMapUVFromWorldPosition());
|
|
51
51
|
}
|
|
52
|
-
`)):F.code.add("vec2 projectOverlay(vec3 pos) { return pos.xy; }"));const
|
|
52
|
+
`)):F.code.add("vec2 projectOverlay(vec3 pos) { return pos.xy; }"));const ge=J&&ee&&4===E;ge&&(A.varyings.add("tbnTangent","vec3"),A.varyings.add("tbnBiTangent","vec3"),A.varyings.add("groundNormal","vec3"));const me=0===Q,ue=2===Q;if(A.include(x,R),A.include(o,R),F.include($),F.main.add(j`
|
|
53
53
|
bool castShadows;
|
|
54
54
|
vec4 externalColor = forwardExternalColor(castShadows);
|
|
55
|
-
${
|
|
56
|
-
${
|
|
57
|
-
${
|
|
55
|
+
${M(se,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
|
|
56
|
+
${M(!me,`if (externalColor.a ${ue?">":"<="} opacityCutoff) {\n gl_Position = vec4(vec3(1e38), 1.0); return;\n }`)}
|
|
57
|
+
${M(te,"externalColor.a = 1.0;")}
|
|
58
58
|
|
|
59
59
|
forwardPosition(readElevationOffset());
|
|
60
60
|
forwardNormal();
|
|
@@ -64,26 +64,26 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
64
64
|
forwardLinearDepthToWriteShadowMap();
|
|
65
65
|
forwardEmissiveStrength();
|
|
66
66
|
forwardObjectAndLayerIdColor();
|
|
67
|
-
${
|
|
67
|
+
${M(ge,k?j`
|
|
68
68
|
groundNormal = normalize(positionWorld());
|
|
69
69
|
tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), groundNormal));
|
|
70
70
|
tbnBiTangent = normalize(cross(groundNormal, tbnTangent));`:j`
|
|
71
71
|
groundNormal = vec3(0.0, 0.0, 1.0);
|
|
72
72
|
tbnTangent = vec3(1.0, 0.0, 0.0);
|
|
73
73
|
tbnBiTangent = vec3(0.0, 1.0, 0.0);`)}
|
|
74
|
-
${
|
|
74
|
+
${M(J||ae,M(k,"vPositionForDraping = positionForDraping();\n vtcOverlay = vec4(0.0);","setOverlayVTC(projectOverlay(positionForDraping()));"))}
|
|
75
75
|
|
|
76
76
|
if (externalColor.a < alphaCutoff) {
|
|
77
77
|
// Discard this vertex
|
|
78
78
|
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
79
79
|
return;
|
|
80
80
|
}
|
|
81
|
-
`),
|
|
81
|
+
`),ee)return A.include(m,R),A.include(T,R),z.include(h,R),z.include(V,R),z.code.add(j`
|
|
82
82
|
float evaluateShadow() {
|
|
83
83
|
return ${H?"readShadowMap(vPositionWorldCameraRelative, linearDepth)":"0.0"};
|
|
84
84
|
}
|
|
85
85
|
`).main.add(j`
|
|
86
|
-
${
|
|
86
|
+
${M(!Y,"discardBySlice(vPositionWorldCameraRelative);")}
|
|
87
87
|
|
|
88
88
|
vec4 textureColor = readBaseColorTexture();
|
|
89
89
|
discardOrAdjustAlpha(textureColor);
|
|
@@ -91,15 +91,15 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
91
91
|
// When rendering the occluded overlay, we still need to read the base color texture because we need to use the
|
|
92
92
|
// same discard logic. However after that to render only the draped overlay, we simply set the base texture color
|
|
93
93
|
// to zero.
|
|
94
|
-
${
|
|
94
|
+
${M(X,j`textureColor = vec4(0);`)}
|
|
95
95
|
|
|
96
|
-
${
|
|
97
|
-
vec4 overlayUVs = ${
|
|
96
|
+
${M(J,j`
|
|
97
|
+
vec4 overlayUVs = ${ce?"componentOverlayUVs()":"vtcOverlay"};
|
|
98
98
|
|
|
99
99
|
vec4 overlayColor = getOverlayColor(ovColorTex, overlayUVs);
|
|
100
100
|
|
|
101
101
|
/* Early discard to only emit when we have overlay */
|
|
102
|
-
${
|
|
102
|
+
${M(X,j`if (overlayColor.a < alphaCutoff) { discard; }`)}
|
|
103
103
|
`)}
|
|
104
104
|
|
|
105
105
|
vec4 externalColor;
|
|
@@ -107,47 +107,48 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
107
107
|
readExternalColor(externalColor, externalColorMixMode);
|
|
108
108
|
|
|
109
109
|
vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
|
|
110
|
-
|
|
110
|
+
${M(re,"materialColor = vec4(0.0);")}
|
|
111
|
+
`),oe?(y(z),k&&w(z),z.main.add(j`
|
|
111
112
|
applyPBRFactors();
|
|
112
|
-
${
|
|
113
|
+
${M(1===E,j`if (externalColorMixMode == 3) {
|
|
113
114
|
mrr = vec3(0.0, 0.6, 0.2);
|
|
114
115
|
}`)}
|
|
115
116
|
float additionalIrradiance = 0.02 * mainLightIntensity[2];
|
|
116
|
-
${
|
|
117
|
+
${M(I,"mat3 tangentSpace = computeTangentSpace(fragmentFaceNormal, vPositionWorldCameraRelative, vuv0);")}
|
|
117
118
|
vec3 shadingNormal = ${I?"computeTextureNormal(tangentSpace, vuv0)":"fragmentShadingNormal"};
|
|
118
119
|
vec3 groundNormal = ${k?j`normalize(positionWorld())`:j`vec3(0.0, 0.0, 1.0)`};
|
|
119
120
|
|
|
120
121
|
vec3 viewDir = normalize(vPositionWorldCameraRelative);
|
|
121
122
|
float ssao = 1.0 - occlusion * evaluateAmbientOcclusionInverse();
|
|
122
|
-
${
|
|
123
|
+
${M(_,j`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
|
|
123
124
|
materialColor.rgb = mix(materialColor.rgb, vec3(1.1), snow);
|
|
124
125
|
ssao = mix(ssao, 0.5 * ssao, snow);
|
|
125
126
|
shadingNormal = mix(shadingNormal, fragmentFaceNormal, snow);`)}
|
|
126
|
-
${
|
|
127
|
+
${M(J,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
|
|
127
128
|
|
|
128
129
|
vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
|
|
129
|
-
${
|
|
130
|
+
${M(k,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
|
|
130
131
|
${k?j`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`:"float shadow = evaluateShadow();"}
|
|
131
132
|
vec4 shadedColor = vec4(evaluateSceneLightingPBR(shadingNormal, materialColor.rgb, shadow, ssao, additionalLight, viewDir, groundNormal, mrr, additionalIrradiance), materialColor.a);
|
|
132
|
-
`)):(
|
|
133
|
-
${
|
|
133
|
+
`)):(f(z),k&&w(z),ge&&z.uniforms.add(new N("ovNormalTex",e=>e.overlay?.getTexture(3))),z.main.add(j`
|
|
134
|
+
${M(k,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
|
|
134
135
|
float shadow = ${H?k?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())":"evaluateShadow()":k?"lightingGlobalFactor * (1.0 - additionalAmbientScale)":"0.0"};
|
|
135
136
|
|
|
136
|
-
${
|
|
137
|
+
${M(H&&1!==G,j`
|
|
137
138
|
float dotFL = dot(fragmentFaceNormal, mainLightDirection);
|
|
138
139
|
if( dotFL <= 0.0) shadow = 1.0;
|
|
139
140
|
`)}
|
|
140
|
-
${
|
|
141
|
+
${M(_,j`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
|
|
141
142
|
materialColor.rgb = mix(materialColor.rgb, vec3(1), snow);`)}
|
|
142
143
|
|
|
143
144
|
// At global scale we create some additional ambient light based on the main light to simulate global illumination
|
|
144
145
|
float ssao = evaluateAmbientOcclusion();
|
|
145
146
|
vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
|
|
146
147
|
|
|
147
|
-
${
|
|
148
|
+
${M(J,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
|
|
148
149
|
|
|
149
150
|
vec4 shadedColor = vec4(evaluateSceneLighting(fragmentShadingNormal, materialColor.rgb, shadow, ssao, additionalLight), materialColor.a);
|
|
150
|
-
${
|
|
151
|
+
${M(ge,j`vec4 overlayWaterMask = getOverlayColor(ovNormalTex, overlayUVs);
|
|
151
152
|
float waterNormalLength = length(overlayWaterMask);
|
|
152
153
|
if (waterNormalLength > 0.95) {
|
|
153
154
|
mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, groundNormal);
|
|
@@ -156,22 +157,29 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
|
|
|
156
157
|
// un-gamma the ground color to mix in linear space
|
|
157
158
|
shadedColor = mix(shadedColor, waterColorNonLinear, waterColorLinear.w);
|
|
158
159
|
}`)}
|
|
159
|
-
`)),z.main.add(`\n ${
|
|
160
|
+
`)),z.main.add(`\n ${M(Y,"if(rejectBySlice(vPositionWorldCameraRelative)) shadedColor.a *= groundSliceOpacity;")}\n\n outputColorHighlightOLID(applySlice(shadedColor, vPositionWorldCameraRelative), materialColor.rgb ${M(_,", snow")});\n `),R.sphereDepthInterpolate&&(A.include(D,R),A.fragment.include(g),z.main.add(j`vec3 worldRay = normalize(vPositionWorldCameraRelative);
|
|
160
161
|
vec3 viewRay = normalize(vPosition_view);
|
|
161
|
-
gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linearizeDepth(gl_FragCoord.z)));`)),A;const
|
|
162
|
-
${
|
|
162
|
+
gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linearizeDepth(gl_FragCoord.z)));`)),A;const pe=le||8===B;return pe&&A.include(d,R),ne&&A.include(m,R),J&&A.include(v,R),A.include(c,R),z.main.add(j`
|
|
163
|
+
${M(!Y,"discardBySlice(vPositionWorldCameraRelative);")}
|
|
163
164
|
|
|
164
165
|
vec4 textureColor = readBaseColorTexture();
|
|
165
166
|
discardOrAdjustAlpha(textureColor);
|
|
166
167
|
|
|
167
|
-
${
|
|
168
|
-
|
|
168
|
+
${M(ae,j`
|
|
169
|
+
vec4 overlayUVs = ${ce?"componentOverlayUVs()":"vtcOverlay"};
|
|
170
|
+
if (getCombinedOverlayColor(overlayUVs).a < alphaCutoff) {
|
|
171
|
+
discard;
|
|
172
|
+
}
|
|
173
|
+
`)}
|
|
174
|
+
|
|
175
|
+
${M(pe,"outputDepth(linearDepth);")}
|
|
176
|
+
${M(ne,j`
|
|
169
177
|
vec4 externalColor;
|
|
170
178
|
int externalColorMixMode;
|
|
171
179
|
readExternalColor(externalColor, externalColorMixMode);
|
|
172
180
|
|
|
173
181
|
vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
|
|
174
|
-
${
|
|
182
|
+
${M(Y,j`
|
|
175
183
|
if (rejectBySlice(vPositionWorldCameraRelative)) {
|
|
176
184
|
materialColor.a *= groundSliceOpacity;
|
|
177
185
|
}
|
|
@@ -179,5 +187,5 @@ gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linear
|
|
|
179
187
|
|
|
180
188
|
fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, materialColor.a);
|
|
181
189
|
`)}
|
|
182
|
-
${
|
|
183
|
-
${
|
|
190
|
+
${M(te,J?ce?"fragColor = getOverlayColorTexel(componentOverlayUVs());":"fragColor = getOverlayColorTexel();":"outputObjectAndLayerIdColor();")}
|
|
191
|
+
${M(ie,M(J,ce?j`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded(componentOverlayUVs()));`:j`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,j`calculateOcclusionAndOutputHighlight();`))}`),A}const A=Object.freeze(Object.defineProperty({__proto__:null,build:R},Symbol.toStringTag,{value:"Module"}));export{A as C,R as b};
|