????
Current Path : C:/inetpub/vhost/bcvt.kontum.gov.vn/www/ |
Current File : C:/inetpub/vhost/bcvt.kontum.gov.vn/www/27-es5.js |
(function () { var absMids = { "esri/core/Quantity": "./node_modules/arcgis-js-api/core/Quantity.js", "esri/core/quantityUtils": "./node_modules/arcgis-js-api/core/quantityUtils.js", "esri/core/tsSupport/makeTemplateObjectHelper": "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js", "esri/core/tsSupport/restHelper": "./node_modules/arcgis-js-api/core/tsSupport/restHelper.js", "esri/views/3d/interactive/manipulatorUtils": "./node_modules/arcgis-js-api/views/3d/interactive/manipulatorUtils.js", "esri/views/3d/interactive/measurementTools/directLineMeasurement3D/LaserLineRenderer": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/directLineMeasurement3D/LaserLineRenderer.js", "esri/views/3d/interactive/measurementTools/support/Label": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/Label.js", "esri/views/3d/interactive/measurementTools/support/LabelSegment": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/LabelSegment.js", "esri/views/3d/interactive/measurementTools/support/PathSegmentInterpolator": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/PathSegmentInterpolator.js", "esri/views/3d/interactive/measurementTools/support/UnitNormalizer": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/UnitNormalizer.js", "esri/views/3d/interactive/measurementTools/support/labelUtils": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/labelUtils.js", "esri/views/3d/interactive/measurementTools/support/viewUtils": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/viewUtils.js", "esri/views/3d/layers/graphics/graphicUtils": "./node_modules/arcgis-js-api/views/3d/layers/graphics/graphicUtils.js", "esri/views/3d/support/imageUtils": "./node_modules/arcgis-js-api/views/3d/support/imageUtils.js", "esri/views/3d/webgl-engine/collections/Component/Material/shader/DecodeSymbolColor.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/collections/Component/Material/shader/DecodeSymbolColor.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/DiscardOrAdjustAlpha.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/DiscardOrAdjustAlpha.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/Offset.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/AnalyticalSkyModel.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/AnalyticalSkyModel.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateMainLighting.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateMainLighting.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/HighlightData.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/HighlightData.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/util/DecodeNormal.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/DecodeNormal.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/util/DoublePrecision.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/DoublePrecision.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js", "esri/views/3d/webgl-engine/core/shaderLibrary/util/TextureAtlasLookup.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/TextureAtlasLookup.glsl.js", "esri/views/3d/webgl-engine/core/shaderModules/ShaderBuilder": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js", "esri/views/3d/webgl-engine/core/shaderModules/interfaces": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js", "esri/views/3d/webgl-engine/core/shaderTechnique/ReloadableShaderModule": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ReloadableShaderModule.js", "esri/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js", "esri/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration": "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js", "esri/views/3d/webgl-engine/lib/AutoDisposable": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/AutoDisposable.js", "esri/views/3d/webgl-engine/lib/BoundingInfo": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/BoundingInfo.js", "esri/views/3d/webgl-engine/lib/DefaultTextureUnits": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultTextureUnits.js", "esri/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js", "esri/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js", "esri/views/3d/webgl-engine/lib/GLMaterial": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GLMaterial.js", "esri/views/3d/webgl-engine/lib/GLMaterialTexture": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GLMaterialTexture.js", "esri/views/3d/webgl-engine/lib/Geometry": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Geometry.js", "esri/views/3d/webgl-engine/lib/GeometryData": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryData.js", "esri/views/3d/webgl-engine/lib/GeometryRecord": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryRecord.js", "esri/views/3d/webgl-engine/lib/GeometryUtil": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryUtil.js", "esri/views/3d/webgl-engine/lib/HighlightUtils": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/HighlightUtils.js", "esri/views/3d/webgl-engine/lib/IdGen": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IdGen.js", "esri/views/3d/webgl-engine/lib/Intersector": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Intersector.js", "esri/views/3d/webgl-engine/lib/IntervalUtilities": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IntervalUtilities.js", "esri/views/3d/webgl-engine/lib/Layer": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Layer.js", "esri/views/3d/webgl-engine/lib/Material": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Material.js", "esri/views/3d/webgl-engine/lib/Object3D": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Object3D.js", "esri/views/3d/webgl-engine/lib/Octree": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Octree.js", "esri/views/3d/webgl-engine/lib/ResizableFloat32Array": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/ResizableFloat32Array.js", "esri/views/3d/webgl-engine/lib/WebGLDriverTest": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/WebGLDriverTest.js", "esri/views/3d/webgl-engine/lib/doublePrecisionUtils": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/doublePrecisionUtils.js", "esri/views/3d/webgl-engine/lib/glUtil3D": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/glUtil3D.js", "esri/views/3d/webgl-engine/lib/intersectorUtils": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/intersectorUtils.js", "esri/views/3d/webgl-engine/lib/screenSizePerspectiveUtils": "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/screenSizePerspectiveUtils.js", "esri/views/3d/webgl-engine/materials/DefaultMaterial": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/DefaultMaterial.js", "esri/views/3d/webgl-engine/materials/RibbonLineMaterial": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/RibbonLineMaterial.js", "esri/views/3d/webgl-engine/materials/VisualVariableMaterialParameters": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/VisualVariableMaterialParameters.js", "esri/views/3d/webgl-engine/materials/WaterGLMaterial": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/WaterGLMaterial.js", "esri/views/3d/webgl-engine/materials/WaterTechnique": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/WaterTechnique.js", "esri/views/3d/webgl-engine/materials/internal/DefaultBufferWriter": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/DefaultBufferWriter.js", "esri/views/3d/webgl-engine/materials/internal/MaterialUtil": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/MaterialUtil.js", "esri/views/3d/webgl-engine/materials/internal/bufferWriterUtils": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js", "esri/views/3d/webgl-engine/materials/internal/waterMaterialUtils": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/waterMaterialUtils.js", "esri/views/3d/webgl-engine/materials/lineStippleUtils": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/lineStippleUtils.js", "esri/views/3d/webgl-engine/materials/renderers/Instance": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/Instance.js", "esri/views/3d/webgl-engine/materials/renderers/InstancedRenderer": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/InstancedRenderer.js", "esri/views/3d/webgl-engine/materials/renderers/MergedRenderer": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/MergedRenderer.js", "esri/views/3d/webgl-engine/materials/renderers/utils": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/utils.js", "esri/views/3d/webgl-engine/shaders/DefaultMaterial.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js", "esri/views/3d/webgl-engine/shaders/DefaultMaterialTechnique": "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js", "esri/views/3d/webgl-engine/shaders/LaserLinePrograms": "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/LaserLinePrograms.js", "esri/views/3d/webgl-engine/shaders/RibbonLine.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/RibbonLine.glsl.js", "esri/views/3d/webgl-engine/shaders/RibbonLineTechnique": "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/RibbonLineTechnique.js", "esri/views/3d/webgl-engine/shaders/WaterSurface.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/WaterSurface.glsl.js", "esri/views/3d/webgl-engine/shaders/sources/resolver": "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/sources/resolver.js", "esri/views/3d/webgl-engine/shaders/sources/shaderRepository": "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/sources/shaderRepository.js", "esri/views/interactive/Manipulator3D": "./node_modules/arcgis-js-api/views/interactive/Manipulator3D.js", "esri/views/overlay/LineOverlayItem": "./node_modules/arcgis-js-api/views/overlay/LineOverlayItem.js", "esri/views/overlay/TextOverlayItem": "./node_modules/arcgis-js-api/views/overlay/TextOverlayItem.js" }; var globalObj = this || window; var jsonpArray = globalObj["webpackJsonp"] = globalObj["webpackJsonp"] || []; if (jsonpArray.registerAbsMids) { jsonpArray.registerAbsMids(absMids); } else { var absMidsWaiting = jsonpArray.absMidsWaiting = jsonpArray.absMidsWaiting || []; absMidsWaiting.push(absMids); } })(), (window["webpackJsonp"] = window["webpackJsonp"] || []).push([[27], { /***/ "./node_modules/arcgis-js-api/core/Quantity.js": /*!*****************************************************!*\ !*** ./node_modules/arcgis-js-api/core/Quantity.js ***! \*****************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiCoreQuantityJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ./unitFormatUtils */ "./node_modules/arcgis-js-api/core/unitFormatUtils.js"), __webpack_require__( /*! ./unitUtils */ "./node_modules/arcgis-js-api/core/unitUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, i, n, e) { return function () { function t(t, i) { this.measure = e.measureForUnit(i), this.value = t, this.unit = i; } return Object.defineProperty(t.prototype, "isBaseUnit", { get: function get() { return e.isBaseUnit(this.unit); }, enumerable: !0, configurable: !0 }), t.prototype.toUnit = function (i) { return new t(e.convertUnit(this.value, this.unit, i), i); }, t.prototype.toBaseUnit = function () { return this.toUnit(e.baseUnitForUnit(this.unit)); }, t.prototype.toDecimalString = function (t, i) { return void 0 === t && (t = 2), n.formatDecimal(this.value, this.unit, t, i); }, t; }(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/core/quantityUtils.js": /*!**********************************************************!*\ !*** ./node_modules/arcgis-js-api/core/quantityUtils.js ***! \**********************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiCoreQuantityUtilsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ./unitFormatUtils */ "./node_modules/arcgis-js-api/core/unitFormatUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (r, t, e) { function a(r, t, a, n) { return void 0 === a && (a = 2), void 0 === n && (n = "abbr"), e.formatDecimal(r.toUnit(t).value, t, a, n); } function n(r, t, a) { if (void 0 === t && (t = 2), void 0 === a && (a = "abbr"), "length" !== r.measure) throw new Error("quantity is not a length"); return e.formatMetricLength(r.value, r.unit, t, a); } function i(r, t, a) { if (void 0 === t && (t = 2), void 0 === a && (a = "abbr"), "length" !== r.measure) throw new Error("quantity is not a length"); return e.formatMetricVerticalLength(r.value, r.unit, t, a); } function o(r, t, a) { if (void 0 === t && (t = 2), void 0 === a && (a = "abbr"), "area" !== r.measure) throw new Error("quantity is not an area"); return e.formatMetricArea(r.value, r.unit, t, a); } function u(r, t, a) { if (void 0 === t && (t = 2), void 0 === a && (a = "abbr"), "length" !== r.measure) throw new Error("quantity is not a length"); return e.formatImperialLength(r.value, r.unit, t, a); } function f(r, t, a) { if (void 0 === t && (t = 2), void 0 === a && (a = "abbr"), "length" !== r.measure) throw new Error("quantity is not a length"); return e.formatImperialVerticalLength(r.value, r.unit, t, a); } function l(r, t, a) { if (void 0 === t && (t = 2), void 0 === a && (a = "abbr"), "area" !== r.measure) throw new Error("quantity is not an area"); return e.formatImperialArea(r.value, r.unit, t, a); } function m(r) { if ("angle" !== r.measure) throw new Error("quantity is not an angle"); return e.formatDMS(r.value, r.unit); } Object.defineProperty(t, "__esModule", { value: !0 }), t.formatDecimal = a, t.formatMetricLength = n, t.formatMetricVerticalLength = i, t.formatMetricArea = o, t.formatImperialLength = u, t.formatImperialVerticalLength = f, t.formatImperialArea = l, t.formatDMS = m; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js": /*!*******************************************************************************!*\ !*** ./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js ***! \*******************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiCoreTsSupportMakeTemplateObjectHelperJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () { return function (e, r) { return Object.defineProperty ? Object.defineProperty(e, "raw", { value: r }) : (e.raw = r, e); }; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/core/tsSupport/restHelper.js": /*!*****************************************************************!*\ !*** ./node_modules/arcgis-js-api/core/tsSupport/restHelper.js ***! \*****************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiCoreTsSupportRestHelperJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () { return function (e, n) { var t = {}; for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && n.indexOf(r) < 0 && (t[r] = e[r]); if (null != e && "function" == typeof Object.getOwnPropertySymbols) for (var o = 0, r = Object.getOwnPropertySymbols(e); o < r.length; o++) n.indexOf(r[o]) < 0 && (t[r[o]] = e[r[o]]); return t; }; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/interactive/manipulatorUtils.js": /*!*****************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/interactive/manipulatorUtils.js ***! \*****************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dInteractiveManipulatorUtilsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../core/maybe */ "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__( /*! ../../../core/libs/gl-matrix-2/mat4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4.js"), __webpack_require__( /*! ../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../layers/graphics/dehydratedFeatures */ "./node_modules/arcgis-js-api/layers/graphics/dehydratedFeatures.js"), __webpack_require__( /*! ../layers/graphics/graphicUtils */ "./node_modules/arcgis-js-api/views/3d/layers/graphics/graphicUtils.js"), __webpack_require__( /*! ../support/stack */ "./node_modules/arcgis-js-api/views/3d/support/stack.js"), __webpack_require__( /*! ../webgl-engine/lib/Geometry */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Geometry.js"), __webpack_require__( /*! ../webgl-engine/lib/GeometryUtil */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryUtil.js"), __webpack_require__( /*! ../webgl-engine/materials/DefaultMaterial */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/DefaultMaterial.js"), __webpack_require__( /*! ../../interactive/Manipulator3D */ "./node_modules/arcgis-js-api/views/interactive/Manipulator3D.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, a, r, i, n, o, c, l, s, u, m) { function p(e, t) { var a = 1 !== t, r = new u({ diffuse: e, transparent: a, writeDepth: !a, cullFace: 2, opacity: t, castShadows: !1, softwareInstanced: !0 }, "manipulator"); return r.renderOccluded = 4, r; } function v(e, t, a) { return new m.Manipulator3D({ view: e, renderObjects: [{ geometry: new l(s.createSphereGeometry(1, 32, 32), "manipulator"), material: p(t, a) }] }); } function g(e, t, a, n) { var o = i.vec3.subtract(c.sv3d.get(), e, a), l = i.vec3.cross(c.sv3d.get(), n, o), s = d(o, l, a, c.sm4d.get()); r.mat4.invert(s, s); var u = i.vec3.transformMat4(c.sv3d.get(), t, s); return Math.atan2(u[1], u[0]); } function d(e, t, a, r) { var n = i.vec3.normalize(c.sv3d.get(), e), o = i.vec3.normalize(c.sv3d.get(), t), l = i.vec3.cross(c.sv3d.get(), n, o); return r[0] = n[0], r[1] = n[1], r[2] = n[2], r[3] = 0, r[4] = o[0], r[5] = o[1], r[6] = o[2], r[7] = 0, r[8] = l[0], r[9] = l[1], r[10] = l[2], r[11] = 0, r[12] = a[0], r[13] = a[1], r[14] = a[2], r[15] = 1, r; } function f(e, t) { var r = e.view.getViewForGraphic(t), i = a.isSome(r) && "computeAttachmentOrigin" in r ? r.computeAttachmentOrigin(t, e.view.spatialReference) : null; a.isSome(i) ? e.elevationAlignedLocation = i : h(e, t.geometry); } function h(e, t) { if (!a.isNone(t)) { var r = o.computeCentroid(t); a.isNone(r) || (e.location = n.hydrateGeometry(r)); } } Object.defineProperty(t, "__esModule", { value: !0 }), t.createManipulatorMaterial = p, t.createSphereManipulator = v, t.calculateInputRotationTransform = g, t.calculateTranslateRotateFromBases = d, t.placeManipulatorAtGraphic = f; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/directLineMeasurement3D/LaserLineRenderer.js": /*!***********************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/directLineMeasurement3D/LaserLineRenderer.js ***! \***********************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsDirectLineMeasurement3DLaserLineRendererJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/tsSupport/extendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/extendsHelper.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec2f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec2f64.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec4.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec4f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec4f64.js"), __webpack_require__( /*! ../../../webgl-engine/lib/glUtil3D */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/glUtil3D.js"), __webpack_require__( /*! ../../../webgl-engine/lib/Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js"), __webpack_require__( /*! ../../../webgl-engine/materials/internal/MaterialUtil */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/MaterialUtil.js"), __webpack_require__( /*! ../../../webgl-engine/shaders/LaserLinePrograms */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/LaserLinePrograms.js"), __webpack_require__( /*! ../../../../webgl/renderState */ "./node_modules/arcgis-js-api/views/webgl/renderState.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, i, r, n, o, s, c, a, f, l, p, h) { function u(e, t, i, r) { var o = m, c = v; n.vec3.transformMat4(o, t, r), n.vec3.copy(c, i), c[3] = 0, s.vec4.transformMat4(c, c, r), s.vec4.set(e, c[0], c[1], c[2], -n.vec3.dot(c, o)); } var m = o.vec3f64.create(), v = c.vec4f64.create(), _ = { glowColor: [1, .5, 0], glowWidth: 8, innerColor: [1, 1, 1], innerWidth: 1, globalAlpha: .75 }; return function () { function e(e, t) { void 0 === t && (t = {}), this._projInfo = c.vec4f64.create(), this._zScale = r.vec2f64.create(), this._focusPlaneActive = !1, this._focusSphereActive = !1, this._segmentActive = !1, this._focusPosition = o.vec3f64.create(), this._focusSpherePosition = o.vec3f64.create(), this._segmentStartPosition = o.vec3f64.create(), this._segmentEndPosition = o.vec3f64.create(), this.canRender = !0, this._tempNormal = o.vec3f64.create(), this._tempDir = o.vec3f64.create(), this._tempUp = o.vec3f64.create(), this._tempVec3 = o.vec3f64.create(), this._tempVec4 = c.vec4f64.create(), this._renderCoordsHelper = e, this._params = l.copyParameters(t, _); } return Object.defineProperty(e.prototype, "renderSlots", { get: function get() { return [14]; }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "needsLinearDepth", { get: function get() { return !0; }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "focusPlaneActive", { get: function get() { return this._focusPlaneActive; }, set: function set(e) { e !== this._focusPlaneActive && (this._focusPlaneActive = e, this._requestRender()); }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "focusSphereActive", { get: function get() { return this._focusSphereActive; }, set: function set(e) { e !== this._focusSphereActive && (this._focusSphereActive = e, this._requestRender()); }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "segmentActive", { get: function get() { return this._segmentActive; }, set: function set(e) { e !== this._segmentActive && (this._segmentActive = e, this._requestRender()); }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "focusPosition", { get: function get() { return this._focusPosition; }, set: function set(e) { n.vec3.copy(this._focusPosition, e), this._requestRender(); }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "focusSpherePosition", { get: function get() { return this._focusSpherePosition; }, set: function set(e) { n.vec3.copy(this._focusSpherePosition, e), this._requestRender(); }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "segmentStartPosition", { get: function get() { return this._segmentStartPosition; }, set: function set(e) { n.vec3.copy(this._segmentStartPosition, e), this._requestRender(); }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "segmentEndPosition", { get: function get() { return this._segmentEndPosition; }, set: function set(e) { n.vec3.copy(this._segmentEndPosition, e), this._requestRender(); }, enumerable: !0, configurable: !0 }), e.prototype.setParameterValues = function (e) { l.updateParameters(this._params, e) && this._requestRender(); }, e.prototype.initializeRenderContext = function (e) { this._initContext = e; var t = e.rctx; this._quadVAO = a.createQuadVAO(t), this._laserLineProgram = e.programRep.getProgram(p.program), this._laserLinePipelineState = h.makePipelineState({ blending: h.simpleBlendingParams(1, 771), colorWrite: h.defaultColorWriteParams }); }, e.prototype.uninitializeRenderContext = function () { this._quadVAO.dispose(), this._quadVAO = null, this._laserLineProgram = null, this._projInfo = null; }, e.prototype.render = function (e) { var t = e.rctx, i = e.camera, r = this._renderCoordsHelper, o = this._laserLineProgram, s = this._projInfo, c = this._zScale; if (t.bindProgram(o), t.setPipelineState(this._laserLinePipelineState), f.inverseProjectionInfo(i.projectionMatrix, i.fullWidth, i.fullHeight, s, c), o.setUniform4fv("projInfo", s), o.setUniform2fv("zScale", c), o.setUniform2f("nearFar", i.near, i.far), o.setUniform1f("maxPixelDistance", 2 * i.computeScreenPixelSizeAt(this._focusPosition)), this._focusPlaneActive) { var a = this._focusPosition, l = this._tempVec3, p = this._tempVec4; r.worldUpAtPosition(a, l), u(p, a, l, i.viewMatrix), o.setUniform4fv("focusPlane", p); } else o.setUniform4fv("focusPlane", [0, 0, 0, 1e10]); if (this._focusSphereActive) { var h = this._tempVec4, a = this._tempVec3; n.vec3.copy(h, this._focusSpherePosition), n.vec3.transformMat4(h, h, i.viewMatrix), n.vec3.copy(a, this._focusPosition), n.vec3.transformMat4(a, a, i.viewMatrix), h[3] = n.vec3.distance(h, a), o.setUniform4fv("focusSphere", h); } else o.setUniform4fv("focusSphere", [0, 0, 0, 1e10]); if (this._segmentActive) { var v = this._tempVec4, _ = this._tempVec3, g = this._tempUp, d = this._tempDir, P = this._tempNormal; n.vec3.lerp(_, this._segmentStartPosition, this._segmentEndPosition, .5), r.worldUpAtPosition(_, g), n.vec3.subtract(d, this._segmentEndPosition, this._segmentStartPosition), n.vec3.normalize(d, d), n.vec3.cross(P, g, d), n.vec3.normalize(P, P), u(v, this._segmentStartPosition, P, i.viewMatrix), o.setUniform4fv("segmentPlane", v); } else o.setUniform4fv("segmentPlane", [0, 0, 0, 1e10]); var b = m; n.vec3.copy(b, this._segmentStartPosition), r.setAltitude(0, b), n.vec3.transformMat4(b, b, i.viewMatrix), o.setUniform3fv("segmentStart", b); var y = m; n.vec3.copy(y, this._segmentEndPosition), r.setAltitude(0, y), n.vec3.transformMat4(y, y, i.viewMatrix), o.setUniform3fv("segmentEnd", y), o.setUniform1i("depthMap", 0), t.bindTexture(e.offscreenRenderingHelper.linearDepthTexture, 0); var S = e.camera.pixelRatio; return o.setUniform3fv("innerColor", this._params.innerColor), o.setUniform1f("innerWidth", this._params.innerWidth * S), o.setUniform3fv("glowColor", this._params.glowColor), o.setUniform1f("glowWidth", this._params.glowWidth * S), o.setUniform1f("globalAlpha", this._params.globalAlpha), t.bindVAO(this._quadVAO), t.drawArrays(5, 0, 4), !0; }, e.prototype._requestRender = function () { this._initContext && this._initContext.requestRender(); }, e; }(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/Label.js": /*!*******************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/Label.js ***! \*******************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsSupportLabelJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../overlay/LineOverlayItem */ "./node_modules/arcgis-js-api/views/overlay/LineOverlayItem.js"), __webpack_require__( /*! ../../../../overlay/TextOverlayItem */ "./node_modules/arcgis-js-api/views/overlay/TextOverlayItem.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, i, o) { return function () { function t(t) { this._textItem = new o({ visible: !1 }), this._calloutItem = new i({ visible: !1, width: 2 }), this._visible = !1, this._calloutVisible = !0, t && (this.fontSize = t); } return Object.defineProperty(t.prototype, "textItem", { get: function get() { return this._textItem; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "calloutItem", { get: function get() { return this._calloutItem; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "text", { get: function get() { return this._textItem.text; }, set: function set(t) { this._textItem.text = t; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "fontSize", { get: function get() { return this._textItem.fontSize; }, set: function set(t) { this._textItem.fontSize = t; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "visible", { get: function get() { return this._visible; }, set: function set(t) { this._visible = t, this._updateVisibility(); }, enumerable: !0, configurable: !0 }), t.prototype.addToView = function (t) { t.overlay.items.addMany([this._textItem, this._calloutItem]); }, t.prototype.removeFromView = function (t) { t.overlay && !t.overlay.destroyed && t.overlay.items.removeMany([this._textItem, this._calloutItem]); }, t.prototype.updatePosition = function (t, e) { if (e) { var i = e[0] - t[0], o = e[1] - t[1]; this._textItem.position = [e[0], e[1]], this._textItem.anchor = Math.abs(i) > Math.abs(o) ? i > 0 ? "left" : "right" : o > 0 ? "top" : "bottom", this._calloutItem.startPosition = [t[0], t[1]], this._calloutItem.endPosition = [e[0], e[1]], this._calloutVisible = !0; } else this._textItem.position = [t[0], t[1]], this._textItem.anchor = "center", this._calloutVisible = !1; }, t.prototype._updateVisibility = function () { this._textItem.visible = this._visible, this._calloutItem.visible = this._visible && this._calloutVisible; }, t; }(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/LabelSegment.js": /*!**************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/LabelSegment.js ***! \**************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsSupportLabelSegmentJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ./viewUtils */ "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/viewUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, i, t, c, r) { return function () { function e() { this.origin = c.vec3f64.create(), this.start = c.vec3f64.create(), this.end = c.vec3f64.create(); } return e.prototype.update = function (e, i, c) { if (t.vec3.copy(this.start, e), t.vec3.copy(this.end, i), c) switch (c) { case "start": t.vec3.copy(this.origin, this.start); break; case "center": r.midpoint([e, i], this.origin); break; case "end": t.vec3.copy(this.origin, this.end); break; default: t.vec3.copy(this.origin, c); } else r.midpoint([e, i], this.origin); }, e; }(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/PathSegmentInterpolator.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/PathSegmentInterpolator.js ***! \*************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsSupportPathSegmentInterpolatorJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ../../../support/mathUtils */ "./node_modules/arcgis-js-api/views/3d/support/mathUtils.js"), __webpack_require__( /*! ../../../support/projectionUtils */ "./node_modules/arcgis-js-api/views/3d/support/projectionUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, i, o, r, n) { var s; return function (t) { var e = function () { function t(t, e) { this._startPosition = o.vec3f64.create(), this._endPosition = o.vec3f64.create(), i.vec3.copy(this._startPosition, t), i.vec3.copy(this._endPosition, e); } return t.prototype.eval = function (t, e) { i.vec3.lerp(e, this._startPosition, this._endPosition, t); }, t; }(); t.Linear = e; var s = function () { function t(t, e, i, r) { this._startPosition = o.vec3f64.create(), this._endPosition = o.vec3f64.create(), n.vectorToVector(t, i, this._startPosition, n.SphericalECEFSpatialReference), n.vectorToVector(e, i, this._endPosition, n.SphericalECEFSpatialReference), this._destSR = r; } return t.prototype.eval = function (t, e) { r.slerp(this._startPosition, this._endPosition, t, e), n.vectorToVector(e, n.SphericalECEFSpatialReference, e, this._destSR); }, t; }(); t.Spherical = s; }(s || (s = {})), s; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/UnitNormalizer.js": /*!****************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/UnitNormalizer.js ***! \****************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsSupportUnitNormalizerJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/unitUtils */ "./node_modules/arcgis-js-api/core/unitUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r) { return function () { function e(e) { void 0 === e && (e = null), this.spatialReference = e, this._updateNormalizationFactors; } return Object.defineProperty(e.prototype, "spatialReference", { get: function get() { return this._spatialReference; }, set: function set(e) { e !== this._spatialReference && (this._spatialReference = e, this._updateNormalizationFactors()); }, enumerable: !0, configurable: !0 }), e.prototype.normalizeDistance = function (e) { return e * this._metersPerDistanceUnit; }, e.prototype.normalizeElevation = function (e) { return e * this._metersPerElevationUnit; }, e.prototype.normalizeArea = function (e) { return e * this._squareMetersPerAreaUnit; }, e.prototype._updateNormalizationFactors = function () { this._metersPerDistanceUnit = r.getMetersPerUnitForSR(this._spatialReference, 1), this._metersPerElevationUnit = r.getMetersPerUnitForSR(this._spatialReference, 1), this._squareMetersPerAreaUnit = this._metersPerDistanceUnit * this._metersPerDistanceUnit; }, e; }(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/labelUtils.js": /*!************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/labelUtils.js ***! \************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsSupportLabelUtilsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/screenUtils */ "./node_modules/arcgis-js-api/core/screenUtils.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec2 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec2.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ./viewUtils */ "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/viewUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, t, n, o, c, a) { function i(e) { switch (e) { case "top": return "bottom"; case "right": return "left"; case "bottom": return "top"; case "left": return "right"; } } function s(e, r, t) { return e.projectPoint(r, S), !(S[2] < 0 || S[2] > 1) && (e.renderToScreen(S, t), !0); } function l(e, r, t) { var n = s(t, r, h); return n && e.updatePosition(h, null), n; } function u(e, r, t, o, c, i) { if (!r) return !1; a.screenSpaceTangent(r.start, r.end, b, e), n.vec2.set(f, -b[1], b[0]); var s = !1; switch (o) { case "top": s = f[1] < 0; break; case "bottom": s = f[1] > 0; break; case "left": s = f[0] > 0; break; case "right": s = f[0] < 0; } if (s && n.vec2.negate(f, f), 0 === n.vec2.length(f)) switch (o) { case "top": f[1] = 1; break; case "bottom": f[1] = -1; break; case "left": f[0] = -1; break; case "right": f[0] = 1; } return e.projectPoint(r.origin, S), !(S[2] < 0 || S[2] > 1) && (e.renderToScreen(S, c), n.vec2.scale(f, f, t * e.pixelRatio), n.vec2.add(f, f, S), e.renderToScreen(f, i), !0); } function d(e, r, t, n, o) { var c = u(o, r, t, n, h, y); return c && e.updatePosition(h, y), c; } function p(e, r, t, o, c, i) { return !(!r || !t) && (a.screenSpaceTangent(r.end, r.start, b, e), a.screenSpaceTangent(t.start, t.end, m, e), n.vec2.add(f, b, m), n.vec2.negate(f, f), n.vec2.normalize(f, f), e.projectPoint(r.end, S), !(S[2] < 0 || S[2] > 1) && (e.renderToScreen(S, c), n.vec2.scale(f, f, o * e.pixelRatio), n.vec2.add(f, f, S), e.renderToScreen(f, i), !0)); } function v(e, r, t, c, a, i) { return e.projectPoint(r, S), o.vec3.add(T, r, t), e.projectPoint(T, g), !(S[2] < 0 || S[2] > 1 || g[2] < 0 || g[2] > 1) && (n.vec2.subtract(f, g, S), n.vec2.normalize(f, f), e.renderToScreen(S, a), n.vec2.scale(f, f, c * e.pixelRatio), n.vec2.add(f, f, S), e.renderToScreen(f, i), !0); } function P(e, r, t, n, o) { var c = p(o, r, t, n, h, y); return c && e.updatePosition(h, y), c; } Object.defineProperty(r, "__esModule", { value: !0 }), r.mirrorPosition = i, r.computeLabelPositionFromPoint = s, r.positionLabelOnPoint = l, r.computeLabelPositionFromSegment = u, r.positionLabelOnSegment = d, r.computeLabelPositionFromCorner = p, r.computeLabelPositionFromPlane = v, r.positionLabelOnCorner = P; var b = t.createRenderScreenPointArray(), m = t.createRenderScreenPointArray(), f = t.createRenderScreenPointArray(), S = t.createRenderScreenPointArray3(), g = t.createRenderScreenPointArray3(), T = c.vec3f64.create(), h = t.createScreenPointArray(), y = t.createScreenPointArray(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/viewUtils.js": /*!***********************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/viewUtils.js ***! \***********************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsSupportViewUtilsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/lang */ "./node_modules/arcgis-js-api/core/lang.js"), __webpack_require__( /*! ../../../../../core/screenUtils */ "./node_modules/arcgis-js-api/core/screenUtils.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/mat4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec2 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec2.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, t, n, c, a, i, o) { function s(e, r) { var n = t.mixin({}, e), c = t.clone(r); return t.mixin(n, c), n; } function l(e, r, t, n) { for (; e.length < r;) e.push(t()); if (n) for (; e.length > r;) { var c = e.pop(); n(c); } else e.length = r; } function v(e, r, t) { c.mat4.identity(t), c.mat4.translate(t, t, r), i.vec3.set(m, e, e, e), c.mat4.scale(t, t, m); } function f(e, r) { if (i.vec3.set(r, 0, 0, 0), e.length > 0) { for (var t = 0; t < e.length; ++t) i.vec3.add(r, r, e[t]); i.vec3.scale(r, r, 1 / e.length); } } function d(e, r, t, n) { n.projectPoint(e, S), n.projectPoint(r, A), a.vec2.subtract(t, h, x), a.vec2.normalize(t, t); } function u(e, r, t) { var c = t._stage.getCamera(); t.renderCoordsHelper.toRenderCoords(e, P), c.projectPoint(P, y), n.renderArrayToScreen(t, y, r); } function p(e, r, t) { return u(e, j, t), u(r, T, t), a.vec2.distance(j, T); } function g(e, r, t) { return u(e, b, t), a.vec2.distance(b, r); } Object.defineProperty(r, "__esModule", { value: !0 }); var m = o.vec3f64.create(); r.copyParameter = s, r.resizeArray = l, r.scaleTranslateMatrix = v, r.midpoint = f, r.screenSpaceTangent = d, r.projectPoint = u, r.pointToPointScreenDistance = p, r.pointToScreenPositionDistance = g; var P = o.vec3f64.create(), y = n.createRenderScreenPointArray3(), S = n.createRenderScreenPointArray3(), x = S, A = n.createRenderScreenPointArray3(), h = A, b = n.createScreenPointArray(), j = n.createScreenPointArray(), T = n.createScreenPointArray(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/layers/graphics/graphicUtils.js": /*!*****************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/layers/graphics/graphicUtils.js ***! \*****************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dLayersGraphicsGraphicUtilsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/mathUtils */ "./node_modules/arcgis-js-api/core/mathUtils.js"), __webpack_require__( /*! ../../../../core/maybe */ "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/mat4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/mat4f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4f64.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec2f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec2f64.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec4.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec4f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec4f64.js"), __webpack_require__( /*! ../../../../geometry/support/aaBoundingBox */ "./node_modules/arcgis-js-api/geometry/support/aaBoundingBox.js"), __webpack_require__( /*! ../../../../geometry/support/aaBoundingRect */ "./node_modules/arcgis-js-api/geometry/support/aaBoundingRect.js"), __webpack_require__( /*! ../../../../geometry/support/centroid */ "./node_modules/arcgis-js-api/geometry/support/centroid.js"), __webpack_require__( /*! ../../../../geometry/support/coordsUtils */ "./node_modules/arcgis-js-api/geometry/support/coordsUtils.js"), __webpack_require__( /*! ../../../../layers/graphics/dehydratedFeatures */ "./node_modules/arcgis-js-api/layers/graphics/dehydratedFeatures.js"), __webpack_require__( /*! ../../support/projectionUtils */ "./node_modules/arcgis-js-api/views/3d/support/projectionUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, n, i, o, a, l, u, s, m, c, f, v, d, h) { function p(e, t) { if ("point" === e.type) return b(e, t, !1); if (d.isHydratedGeometry(e)) switch (e.type) { case "extent": return b(e.center, t, !1); case "polygon": return b(e.centroid, t, !1); case "polyline": return b(g(e), t, !0); case "mesh": return b(e.extent.center, t, !1); } else switch (e.type) { case "extent": return b(y(e), t, !0); case "polygon": return b(x(e), t, !0); case "polyline": return b(g(e), t, !0); } } function g(e) { var t = e.paths[0]; if (!t || 0 === t.length) return null; var r = v.getPointOnPath(t, v.getPathLength(t) / 2); return d.makeDehydratedPoint(r[0], r[1], r[2], e.spatialReference); } function y(e) { var t = r.isFinite(e.zmin); return d.makeDehydratedPoint(.5 * (e.xmax + e.xmin), .5 * (e.ymax + e.ymin), t ? .5 * (e.zmax + e.zmin) : void 0, e.spatialReference); } function x(e) { var t = e.rings[0]; if (!t || 0 === t.length) return null; var r = f.ringsCentroid(e.rings, e.hasZ); return d.makeDehydratedPoint(r[0], r[1], r[2], e.spatialReference); } function b(e, t, r) { var n = r ? e : d.clonePoint(e); return t && e ? h.pointToPoint(e, n, t) ? n : null : n; } function P(e, t, r) { if (e) { t || (t = c.create()); var n = e, i = .5 * n.width * (r - 1), o = .5 * n.height * (r - 1); return n.width < 1e-7 * n.height ? i += o / 20 : n.height < 1e-7 * n.width && (o += i / 20), u.vec4.set(t, n.xmin - i, n.ymin - o, n.xmax + i, n.ymax + o), t; } return null; } function S(e, t) { for (var r = 0; r < e.geometries.length; ++r) { var n = e.geometries[r].data, i = n.vertexAttributes.auxpos1; i && i.data[3] !== t && (i.data[3] = t, e.geometryVertexAttrsUpdated(r)); } } function V(e, t) { var r = s.vec4f64.clone(s.vec4f64.ONES); return n.isSome(e) && (r[0] = e[0], r[1] = e[1], r[2] = e[2]), n.isSome(t) ? r[3] = t : n.isSome(e) && e.length > 3 && (r[3] = e[3]), r; } function A(e, t, r, i, o, a) { void 0 === a && (a = [0, 0, 0, 0]); for (var l = 0; l < 3; ++l) n.isSome(e) && null != e[l] ? a[l] = e[l] : n.isSome(r) && null != r[l] ? a[l] = r[l] : a[l] = o[l]; return n.isSome(t) ? a[3] = t : n.isSome(i) ? a[3] = i : a[3] = o[3], a; } function R(e, t, r, n) { void 0 === e && (e = l.vec3f64.ONES), void 0 === n && (n = 1); var i = new Array(3); if (null == t || null == r) i[0] = 1, i[1] = 1, i[2] = 1;else { for (var o = void 0, a = 0, u = 2; u >= 0; u--) { var s = e[u], m = void 0, c = null != s, f = 0 === u && !o && !c, v = r[u]; "symbolValue" === s || f ? m = 0 !== v ? t[u] / v : 1 : c && "proportional" !== s && isFinite(s) && (m = 0 !== v ? s / v : 1), null != m && (i[u] = m, o = m, a = Math.max(a, Math.abs(m))); } for (var u = 2; u >= 0; u--) null == i[u] ? i[u] = o : 0 === i[u] && (i[u] = .001 * a); } for (var u = 2; u >= 0; u--) i[u] /= n; return l.vec3f64.fromArray(i); } function w(e, t) { var r = t.isPrimitive, n = t.width, i = t.depth, o = t.height, a = r ? 10 : 1; if (null == n && null == o && null == i) return [a * e[0], a * e[1], a * e[2]]; for (var u, s = l.vec3f64.fromValues(n, i, o), m = 0; m < 3; m++) { var c = s[m]; if (null != c) { u = c / e[m]; break; } } for (var m = 0; m < 3; m++) null == s[m] && (s[m] = e[m] * u); return s; } function z(e) { return null != e.isPrimitive; } function D(e) { return z(e) && (e = [e.width, e.depth, e.height]), M(e) ? null : "Symbol sizes may not be negative values"; } function M(e) { if (Array.isArray(e)) { for (var t = 0, r = e; t < r.length; t++) { if (!M(r[t])) return !1; } return !0; } return null == e || e >= 0; } function O(e, t, r, n) { void 0 === n && (n = o.mat4f64.create()); var a = e || 0, l = t || 0, u = r || 0; return 0 !== a && i.mat4.rotateZ(n, n, -a / 180 * Math.PI), 0 !== l && i.mat4.rotateX(n, n, l / 180 * Math.PI), 0 !== u && i.mat4.rotateY(n, n, u / 180 * Math.PI), n; } function B(e, t) { return null != t.minDemResolution ? t.minDemResolution : m.isPoint(e) ? t.minDemResolutionForPoints : .01 * m.maximumDimension(e); } Object.defineProperty(t, "__esModule", { value: !0 }), t.computeCentroid = p, t.enlargeExtent = P, t.updateVertexAttributeAuxpos1w = S, t.mixinColorAndOpacity = V, t.overrideColor = A, t.computeObjectScale = R, t.computeSizeWithResourceSize = w, t.validateSymbolLayerSize = D, t.isValidSize = M, t.computeObjectRotation = O, t.demResolutionForBoundingBox = B, t.namedAnchorToHUDMaterialAnchorPos = { "bottom-left": a.vec2f64.fromValues(0, 0), bottom: a.vec2f64.fromValues(.5, 0), "bottom-right": a.vec2f64.fromValues(1, 0), left: a.vec2f64.fromValues(0, .5), center: a.vec2f64.fromValues(.5, .5), right: a.vec2f64.fromValues(1, .5), "top-left": a.vec2f64.fromValues(0, 1), top: a.vec2f64.fromValues(.5, 1), "top-right": a.vec2f64.fromValues(1, 1) }; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/support/imageUtils.js": /*!*******************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/support/imageUtils.js ***! \*******************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dSupportImageUtilsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../core/tsSupport/assignHelper */ "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__( /*! ../../../request */ "./node_modules/arcgis-js-api/request.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, n) { function o(e) { for (var t = atob(e.split(",")[1]), r = e.split(",")[0].split(":")[1].split(";")[0], n = new ArrayBuffer(t.length), o = new Uint8Array(n), i = 0; i < t.length; i++) o[i] = t.charCodeAt(i); return new Blob([n], { type: r }); } function i(e, t) { return n(e, r({ responseType: "image" }, t)).then(function (e) { return e.data; }); } Object.defineProperty(t, "__esModule", { value: !0 }), t.dataURItoBlob = o, t.requestImage = i; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/collections/Component/Material/shader/DecodeSymbolColor.glsl.js": /*!**************************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/collections/Component/Material/shader/DecodeSymbolColor.glsl.js ***! \**************************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCollectionsComponentMaterialShaderDecodeSymbolColorGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../../../core/shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (o, l, e, n) { function a(o) { o.vertex.code.add(n.glsl(s || (s = e(["\n vec4 decodeSymbolColor(vec4 symbolColor, out int colorMixMode) {\n float symbolAlpha = 0.0;\n\n const float maxTint = 85.0;\n const float maxReplace = 170.0;\n const float scaleAlpha = 3.0;\n\n if (symbolColor.a > maxReplace) {\n colorMixMode = ", ";\n symbolAlpha = scaleAlpha * (symbolColor.a - maxReplace);\n } else if (symbolColor.a > maxTint) {\n colorMixMode = ", ";\n symbolAlpha = scaleAlpha * (symbolColor.a - maxTint);\n } else if (symbolColor.a > 0.0) {\n colorMixMode = ", ";\n symbolAlpha = scaleAlpha * symbolColor.a;\n } else {\n colorMixMode = ", ";\n symbolAlpha = 0.0;\n }\n\n return vec4(symbolColor.r, symbolColor.g, symbolColor.b, symbolAlpha);\n }\n "], ["\n vec4 decodeSymbolColor(vec4 symbolColor, out int colorMixMode) {\n float symbolAlpha = 0.0;\n\n const float maxTint = 85.0;\n const float maxReplace = 170.0;\n const float scaleAlpha = 3.0;\n\n if (symbolColor.a > maxReplace) {\n colorMixMode = ", ";\n symbolAlpha = scaleAlpha * (symbolColor.a - maxReplace);\n } else if (symbolColor.a > maxTint) {\n colorMixMode = ", ";\n symbolAlpha = scaleAlpha * (symbolColor.a - maxTint);\n } else if (symbolColor.a > 0.0) {\n colorMixMode = ", ";\n symbolAlpha = scaleAlpha * symbolColor.a;\n } else {\n colorMixMode = ", ";\n symbolAlpha = 0.0;\n }\n\n return vec4(symbolColor.r, symbolColor.g, symbolColor.b, symbolAlpha);\n }\n "])), n.glsl["int"](1), n.glsl["int"](3), n.glsl["int"](4), n.glsl["int"](1))); } Object.defineProperty(l, "__esModule", { value: !0 }), l.DecodeSymbolColor = a; var s; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/DiscardOrAdjustAlpha.glsl.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/DiscardOrAdjustAlpha.glsl.js ***! \**********************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryDiscardOrAdjustAlphaGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, d, r, a) { function o(e, d) { var o = e.fragment; switch (d.alphaDiscardMode) { case 0: o.code.add(a.glsl(c || (c = r(["\n void discardOrAdjustAlpha(inout vec4 color) {}\n "], ["\n void discardOrAdjustAlpha(inout vec4 color) {}\n "])))); break; case 1: o.code.add(a.glsl(l || (l = r(["\n void discardOrAdjustAlpha(inout vec4 color) {\n color.a = 1.0;\n }\n "], ["\n void discardOrAdjustAlpha(inout vec4 color) {\n color.a = 1.0;\n }\n "])))); break; case 2: o.uniforms.add("textureAlphaCutoff", "float"), o.code.add(a.glsl(t || (t = r(["\n #define discardOrAdjustAlpha(color) { if (color.a < textureAlphaCutoff) { discard; } else { color.a = 1.0; } }\n "], ["\n #define discardOrAdjustAlpha(color) { if (color.a < textureAlphaCutoff) { discard; } else { color.a = 1.0; } }\n "])))); break; case 3: e.fragment.uniforms.add("textureAlphaCutoff", "float"), e.fragment.code.add(a.glsl(s || (s = r(["\n #define discardOrAdjustAlpha(color) { if (color.a < textureAlphaCutoff) { discard; } }\n "], ["\n #define discardOrAdjustAlpha(color) { if (color.a < textureAlphaCutoff) { discard; } }\n "])))); } } Object.defineProperty(d, "__esModule", { value: !0 }), d.DiscardOrAdjustAlpha = o, d.TEXTURE_ALPHA_CUTOFF_DEFAULT = .1; var c, l, t, s; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js": /*!********************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js ***! \********************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryForwardLinearDepthGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, a, n) { function i(e, r) { 0 === r.output && r.receiveShadows ? (e.varyings.add("linearDepth", "float"), e.vertex.code.add(n.glsl(o || (o = a(["\n void forwardLinearDepth() { linearDepth = gl_Position.w; }\n "], ["\n void forwardLinearDepth() { linearDepth = gl_Position.w; }\n "]))))) : 1 === r.output || 3 === r.output ? (e.varyings.add("linearDepth", "float"), e.vertex.uniforms.add("uCameraNearFar", "vec2"), e.vertex.code.add(n.glsl(t || (t = a(["\n void forwardLinearDepth() {\n linearDepth = (-position_view().z - uCameraNearFar[0]) / (uCameraNearFar[1] - uCameraNearFar[0]);\n }\n "], ["\n void forwardLinearDepth() {\n linearDepth = (-position_view().z - uCameraNearFar[0]) / (uCameraNearFar[1] - uCameraNearFar[0]);\n }\n "]))))) : e.vertex.code.add(n.glsl(d || (d = a(["\n void forwardLinearDepth() {}\n "], ["\n void forwardLinearDepth() {}\n "])))); } Object.defineProperty(r, "__esModule", { value: !0 }), r.ForwardLinearDepth = i; var o, t, d; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js": /*!********************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js ***! \********************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryOffsetGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (o, e, c, n) { function r(o) { o.vertex.code.add(n.glsl(l || (l = c(["\n vec4 offsetBackfacingClipPosition(vec4 posClip, vec3 posWorld, vec3 normalWorld, vec3 camPosWorld) {\n vec3 camToVert = posWorld - camPosWorld;\n\n bool isBackface = dot(camToVert, normalWorld) > 0.0;\n if (isBackface) {\n posClip.z += 0.0000003 * posClip.w;\n }\n return posClip;\n }\n "], ["\n vec4 offsetBackfacingClipPosition(vec4 posClip, vec3 posWorld, vec3 normalWorld, vec3 camPosWorld) {\n vec3 camToVert = posWorld - camPosWorld;\n\n bool isBackface = dot(camToVert, normalWorld) > 0.0;\n if (isBackface) {\n posClip.z += 0.0000003 * posClip.w;\n }\n return posClip;\n }\n "])))); } Object.defineProperty(e, "__esModule", { value: !0 }), e.Offset = r; var l; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js": /*!*******************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js ***! \*******************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibrarySliceGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (s, e, n, i, c, o) { function a(s, e) { e.slicePlaneEnabled ? (s.extensions.add("GL_OES_standard_derivatives"), s.fragment.uniforms.add("slicePlaneOrigin", "vec3"), s.fragment.uniforms.add("slicePlaneBasis1", "vec3"), s.fragment.uniforms.add("slicePlaneBasis2", "vec3"), s.fragment.code.add(o.glsl(l || (l = n(["\n struct SliceFactors {\n float front;\n float side0;\n float side1;\n float side2;\n float side3;\n };\n\n SliceFactors calculateSliceFactors(vec3 pos) {\n vec3 rel = pos - slicePlaneOrigin;\n\n vec3 slicePlaneNormal = -cross(slicePlaneBasis1, slicePlaneBasis2);\n float slicePlaneW = -dot(slicePlaneNormal, slicePlaneOrigin);\n\n float basis1Len2 = dot(slicePlaneBasis1, slicePlaneBasis1);\n float basis2Len2 = dot(slicePlaneBasis2, slicePlaneBasis2);\n\n float basis1Dot = dot(slicePlaneBasis1, rel);\n float basis2Dot = dot(slicePlaneBasis2, rel);\n\n return SliceFactors(\n dot(slicePlaneNormal, pos) + slicePlaneW,\n -basis1Dot - basis1Len2,\n basis1Dot - basis1Len2,\n -basis2Dot - basis2Len2,\n basis2Dot - basis2Len2\n );\n }\n\n bool sliceByFactors(SliceFactors factors) {\n return factors.front < 0.0\n && factors.side0 < 0.0\n && factors.side1 < 0.0\n && factors.side2 < 0.0\n && factors.side3 < 0.0;\n }\n\n bool sliceByPlane(vec3 pos) {\n return sliceByFactors(calculateSliceFactors(pos));\n }\n\n vec4 applySliceHighlight(vec4 color, vec3 pos) {\n SliceFactors factors = calculateSliceFactors(pos);\n\n if (sliceByFactors(factors)) {\n return color;\n }\n\n const float HIGHLIGHT_WIDTH = 1.0;\n const vec4 HIGHLIGHT_COLOR = vec4(0.0, 0.0, 0.0, 0.3);\n\n factors.front /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.front);\n factors.side0 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side0);\n factors.side1 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side1);\n factors.side2 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side2);\n factors.side3 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side3);\n\n float highlightFactor = (1.0 - step(0.5, factors.front))\n * (1.0 - step(0.5, factors.side0))\n * (1.0 - step(0.5, factors.side1))\n * (1.0 - step(0.5, factors.side2))\n * (1.0 - step(0.5, factors.side3));\n\n return mix(color, vec4(HIGHLIGHT_COLOR.rgb, color.a), highlightFactor * HIGHLIGHT_COLOR.a);\n }\n #define rejectBySlice(_pos_) sliceByPlane(_pos_)\n #define discardBySlice(_pos_) { if (sliceByPlane(_pos_)) discard; }\n "], ["\n struct SliceFactors {\n float front;\n float side0;\n float side1;\n float side2;\n float side3;\n };\n\n SliceFactors calculateSliceFactors(vec3 pos) {\n vec3 rel = pos - slicePlaneOrigin;\n\n vec3 slicePlaneNormal = -cross(slicePlaneBasis1, slicePlaneBasis2);\n float slicePlaneW = -dot(slicePlaneNormal, slicePlaneOrigin);\n\n float basis1Len2 = dot(slicePlaneBasis1, slicePlaneBasis1);\n float basis2Len2 = dot(slicePlaneBasis2, slicePlaneBasis2);\n\n float basis1Dot = dot(slicePlaneBasis1, rel);\n float basis2Dot = dot(slicePlaneBasis2, rel);\n\n return SliceFactors(\n dot(slicePlaneNormal, pos) + slicePlaneW,\n -basis1Dot - basis1Len2,\n basis1Dot - basis1Len2,\n -basis2Dot - basis2Len2,\n basis2Dot - basis2Len2\n );\n }\n\n bool sliceByFactors(SliceFactors factors) {\n return factors.front < 0.0\n && factors.side0 < 0.0\n && factors.side1 < 0.0\n && factors.side2 < 0.0\n && factors.side3 < 0.0;\n }\n\n bool sliceByPlane(vec3 pos) {\n return sliceByFactors(calculateSliceFactors(pos));\n }\n\n vec4 applySliceHighlight(vec4 color, vec3 pos) {\n SliceFactors factors = calculateSliceFactors(pos);\n\n if (sliceByFactors(factors)) {\n return color;\n }\n\n const float HIGHLIGHT_WIDTH = 1.0;\n const vec4 HIGHLIGHT_COLOR = vec4(0.0, 0.0, 0.0, 0.3);\n\n factors.front /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.front);\n factors.side0 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side0);\n factors.side1 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side1);\n factors.side2 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side2);\n factors.side3 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side3);\n\n float highlightFactor = (1.0 - step(0.5, factors.front))\n * (1.0 - step(0.5, factors.side0))\n * (1.0 - step(0.5, factors.side1))\n * (1.0 - step(0.5, factors.side2))\n * (1.0 - step(0.5, factors.side3));\n\n return mix(color, vec4(HIGHLIGHT_COLOR.rgb, color.a), highlightFactor * HIGHLIGHT_COLOR.a);\n }\n #define rejectBySlice(_pos_) sliceByPlane(_pos_)\n #define discardBySlice(_pos_) { if (sliceByPlane(_pos_)) discard; }\n "])))), e.sliceHighlightDisabled ? s.fragment.code.add(o.glsl(t || (t = n(["\n #define highlightSlice(_color_, _pos_) (_color_)\n "], ["\n #define highlightSlice(_color_, _pos_) (_color_)\n "])))) : s.fragment.code.add(o.glsl(r || (r = n(["\n #define highlightSlice(_color_, _pos_) applySliceHighlight(_color_, _pos_)\n "], ["\n #define highlightSlice(_color_, _pos_) applySliceHighlight(_color_, _pos_)\n "]))))) : s.fragment.code.add(o.glsl(f || (f = n(["\n #define rejectBySlice(_pos_) false\n #define discardBySlice(_pos_) {}\n #define highlightSlice(_color_, _pos_) (_color_)\n "], ["\n #define rejectBySlice(_pos_) false\n #define discardBySlice(_pos_) {}\n #define highlightSlice(_color_, _pos_) (_color_)\n "])))); } Object.defineProperty(e, "__esModule", { value: !0 }), e.Slice = a, function (s) { function e(e, n, i) { s.bindUniforms(e, n, i.slicePlane, i.origin); } function n(s, e, n, c) { e.slicePlaneEnabled && (c ? (i.vec3.subtract(d, n.origin, c), s.setUniform3fv("slicePlaneOrigin", d)) : s.setUniform3fv("slicePlaneOrigin", n.origin), s.setUniform3fv("slicePlaneBasis1", n.basis1), s.setUniform3fv("slicePlaneBasis2", n.basis2)); } s.bindUniformsWithOrigin = e, s.bindUniforms = n; }(a = e.Slice || (e.Slice = {})); var l, t, r, f, d = c.vec3f64.create(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js": /*!***********************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js ***! \***********************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryTransformGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/mat4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/mat4f32 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4f32.js"), __webpack_require__( /*! ../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, n, t, o, a) { function i(e, r) { r.linearDepth ? e.vertex.code.add(a.glsl(s || (s = n(["\n vec4 transformPositionWithDepth(mat4 proj, mat4 view, vec3 pos, vec2 nearFar, out float depth) {\n vec4 eye = view * vec4(pos, 1.0);\n depth = (-eye.z - nearFar[0]) / (nearFar[1] - nearFar[0]) ;\n return proj * eye;\n }\n "], ["\n vec4 transformPositionWithDepth(mat4 proj, mat4 view, vec3 pos, vec2 nearFar, out float depth) {\n vec4 eye = view * vec4(pos, 1.0);\n depth = (-eye.z - nearFar[0]) / (nearFar[1] - nearFar[0]) ;\n return proj * eye;\n }\n "])))) : e.vertex.code.add(a.glsl(p || (p = n(["\n vec4 transformPosition(mat4 proj, mat4 view, vec3 pos) {\n // Make sure the order of operations is the same as in transformPositionWithDepth.\n return proj * (view * vec4(pos, 1.0));\n }\n "], ["\n vec4 transformPosition(mat4 proj, mat4 view, vec3 pos) {\n // Make sure the order of operations is the same as in transformPositionWithDepth.\n return proj * (view * vec4(pos, 1.0));\n }\n "])))); } Object.defineProperty(r, "__esModule", { value: !0 }), r.Transform = i, function (e) { function r(e, r) { t.mat4.translate(v, r.view, r.origin), e.setUniform3fv("localOrigin", r.origin), e.setUniformMatrix4fv("view", v); } e.bindUniforms = r; }(i = r.Transform || (r.Transform = {})); var s, p, v = o.mat4f32.create(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js": /*!****************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js ***! \****************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryAttributesNormalAttributeGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../util/DecodeNormal.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/DecodeNormal.glsl.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, n, o, l) { function a(e, r) { 0 === r.normalType && (e.attributes.add("normal", "vec3"), e.vertex.code.add(l.glsl(d || (d = n(["\n vec3 normalModel() {\n return normal;\n }\n "], ["\n vec3 normalModel() {\n return normal;\n }\n "]))))), 1 === r.normalType && (e.include(o.DecodeNormal), e.attributes.add("normalCompressed", "vec2"), e.vertex.code.add(l.glsl(t || (t = n(["\n vec3 normalModel() {\n return decodeNormal(normalCompressed);\n }\n "], ["\n vec3 normalModel() {\n return decodeNormal(normalCompressed);\n }\n "]))))); } Object.defineProperty(r, "__esModule", { value: !0 }), r.NormalAttribute = a; var d, t; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js": /*!******************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js ***! \******************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryAttributesPositionAttributeGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, o, i) { function n(e) { e.attributes.add("position", "vec3"), e.vertex.code.add(i.glsl(r || (r = o(["\n vec3 positionModel() { return position; }\n "], ["\n vec3 positionModel() { return position; }\n "])))); } Object.defineProperty(t, "__esModule", { value: !0 }), t.PositionAttribute = n; var r; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js": /*!*********************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js ***! \*********************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryAttributesRibbonVertexPositionGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, i, n) { function o(e, t) { e.vertex.uniforms.add("symbolLineWidth", "float"), t.vvSize ? (e.attributes.add("sizeFeatureAttribute", "float"), e.vertex.uniforms.add("vvSizeMinSize", "vec3"), e.vertex.uniforms.add("vvSizeMaxSize", "vec3"), e.vertex.uniforms.add("vvSizeOffset", "vec3"), e.vertex.uniforms.add("vvSizeFactor", "vec3"), e.vertex.code.add(n.glsl(r || (r = i(["\n float getSize() {\n return symbolLineWidth * clamp(vvSizeOffset + sizeFeatureAttribute * vvSizeFactor, vvSizeMinSize, vvSizeMaxSize).x;\n }\n "], ["\n float getSize() {\n return symbolLineWidth * clamp(vvSizeOffset + sizeFeatureAttribute * vvSizeFactor, vvSizeMinSize, vvSizeMaxSize).x;\n }\n "]))))) : (e.attributes.add("size", "float"), e.vertex.code.add(n.glsl(a || (a = i(["\n float getSize(){\n return symbolLineWidth * size;\n }\n "], ["\n float getSize(){\n return symbolLineWidth * size;\n }\n "]))))), t.vvOpacity ? (e.attributes.add("opacityFeatureAttribute", "float"), e.vertex.defines.addInt("VV_OPACITY_N", 8), e.vertex.code.add(n.glsl(v || (v = i(["\n uniform float vvOpacityValues[VV_OPACITY_N];\n uniform float vvOpacityOpacities[VV_OPACITY_N];\n\n float interpolateOpacity( float value ){\n if (value <= vvOpacityValues[0]) {\n return vvOpacityOpacities[0];\n }\n\n for (int i = 1; i < VV_OPACITY_N; ++i) {\n if (vvOpacityValues[i] >= value) {\n float f = (value - vvOpacityValues[i-1]) / (vvOpacityValues[i] - vvOpacityValues[i-1]);\n return mix(vvOpacityOpacities[i-1], vvOpacityOpacities[i], f);\n }\n }\n\n return vvOpacityOpacities[VV_OPACITY_N - 1];\n }\n\n vec4 applyOpacity( vec4 color ){\n return vec4(color.xyz, interpolateOpacity(opacityFeatureAttribute));\n }\n "], ["\n uniform float vvOpacityValues[VV_OPACITY_N];\n uniform float vvOpacityOpacities[VV_OPACITY_N];\n\n float interpolateOpacity( float value ){\n if (value <= vvOpacityValues[0]) {\n return vvOpacityOpacities[0];\n }\n\n for (int i = 1; i < VV_OPACITY_N; ++i) {\n if (vvOpacityValues[i] >= value) {\n float f = (value - vvOpacityValues[i-1]) / (vvOpacityValues[i] - vvOpacityValues[i-1]);\n return mix(vvOpacityOpacities[i-1], vvOpacityOpacities[i], f);\n }\n }\n\n return vvOpacityOpacities[VV_OPACITY_N - 1];\n }\n\n vec4 applyOpacity( vec4 color ){\n return vec4(color.xyz, interpolateOpacity(opacityFeatureAttribute));\n }\n "]))))) : e.vertex.code.add(n.glsl(l || (l = i(["\n vec4 applyOpacity( vec4 color ){\n return color;\n }\n "], ["\n vec4 applyOpacity( vec4 color ){\n return color;\n }\n "])))), t.vvColor ? (e.attributes.add("colorFeatureAttribute", "float"), e.vertex.defines.addInt("VV_COLOR_N", 8), e.vertex.code.add(n.glsl(u || (u = i(["\n uniform float vvColorValues[VV_COLOR_N];\n uniform vec4 vvColorColors[VV_COLOR_N];\n\n vec4 interpolateColor( float value ) {\n if (value <= vvColorValues[0]) {\n return vvColorColors[0];\n }\n\n for (int i = 1; i < VV_COLOR_N; ++i) {\n if (vvColorValues[i] >= value) {\n float f = (value - vvColorValues[i-1]) / (vvColorValues[i] - vvColorValues[i-1]);\n return mix(vvColorColors[i-1], vvColorColors[i], f);\n }\n }\n\n return vvColorColors[VV_COLOR_N - 1];\n }\n\n vec4 getColor(){\n return applyOpacity(interpolateColor(colorFeatureAttribute));\n }\n "], ["\n uniform float vvColorValues[VV_COLOR_N];\n uniform vec4 vvColorColors[VV_COLOR_N];\n\n vec4 interpolateColor( float value ) {\n if (value <= vvColorValues[0]) {\n return vvColorColors[0];\n }\n\n for (int i = 1; i < VV_COLOR_N; ++i) {\n if (vvColorValues[i] >= value) {\n float f = (value - vvColorValues[i-1]) / (vvColorValues[i] - vvColorValues[i-1]);\n return mix(vvColorColors[i-1], vvColorColors[i], f);\n }\n }\n\n return vvColorColors[VV_COLOR_N - 1];\n }\n\n vec4 getColor(){\n return applyOpacity(interpolateColor(colorFeatureAttribute));\n }\n "]))))) : (e.attributes.add("color", "vec4"), e.vertex.code.add(n.glsl(c || (c = i(["\n vec4 getColor(){\n return applyOpacity(color);\n }\n "], ["\n vec4 getColor(){\n return applyOpacity(color);\n }\n "]))))); } Object.defineProperty(t, "__esModule", { value: !0 }), t.RibbonVertexPosition = o; var r, a, v, l, u, c; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js": /*!***************************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js ***! \***************************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryAttributesTextureCoordinateAttributeGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, t, o) { function d(e, r) { 1 === r.attributeTextureCoordinates && (e.attributes.add("uv0", "vec2"), e.varyings.add("vuv0", "vec2"), e.vertex.code.add(o.glsl(n || (n = t(["\n void forwardTextureCoordinates() {\n vuv0 = uv0;\n }\n "], ["\n void forwardTextureCoordinates() {\n vuv0 = uv0;\n }\n "]))))), 2 === r.attributeTextureCoordinates && (e.attributes.add("uv0", "vec2"), e.varyings.add("vuv0", "vec2"), e.attributes.add("uvRegion", "vec4"), e.varyings.add("vuvRegion", "vec4"), e.vertex.code.add(o.glsl(v || (v = t(["\n void forwardTextureCoordinates() {\n vuv0 = uv0;\n vuvRegion = uvRegion;\n }\n "], ["\n void forwardTextureCoordinates() {\n vuv0 = uv0;\n vuvRegion = uvRegion;\n }\n "]))))), 0 === r.attributeTextureCoordinates && e.vertex.code.add(o.glsl(u || (u = t(["\n void forwardTextureCoordinates() {}\n "], ["\n void forwardTextureCoordinates() {}\n "])))); } Object.defineProperty(r, "__esModule", { value: !0 }), r.TextureCoordinateAttribute = d; var n, v, u; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js": /*!************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js ***! \************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryAttributesVertexColorGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (o, r, e, d) { function l(o, r) { r.attributeColor ? (o.attributes.add("color", "vec4"), o.varyings.add("vColor", "vec4"), o.vertex.code.add(d.glsl(t || (t = e(["\n void forwardVertexColor() { vColor = color; }\n "], ["\n void forwardVertexColor() { vColor = color; }\n "])))), o.vertex.code.add(d.glsl(a || (a = e(["\n void forwardNormalizedVertexColor() { vColor = color * 0.003921568627451; }\n "], ["\n void forwardNormalizedVertexColor() { vColor = color * 0.003921568627451; }\n "]))))) : o.vertex.code.add(d.glsl(n || (n = e(["\n void forwardVertexColor() {}\n void forwardNormalizedVertexColor() {}\n "], ["\n void forwardVertexColor() {}\n void forwardNormalizedVertexColor() {}\n "])))); } Object.defineProperty(r, "__esModule", { value: !0 }), r.VertexColor = l; var t, a, n; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js ***! \*************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryAttributesVertexNormalGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ./NormalAttribute.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (r, o, a, l, e) { function m(r, o) { 0 === o.normalType || 1 === o.normalType ? (r.include(l.NormalAttribute, o), r.varyings.add("vNormalWorld", "vec3"), r.varyings.add("vNormalView", "vec3"), r.vertex.uniforms.add("uTransformNormal_GlobalFromModel", "mat3"), r.vertex.uniforms.add("uTransformNormal_ViewFromGlobal", "mat3"), r.vertex.code.add(e.glsl(n || (n = a(["\n void forwardNormal() {\n vNormalWorld = uTransformNormal_GlobalFromModel * normalModel();\n vNormalView = uTransformNormal_ViewFromGlobal * vNormalWorld;\n }\n "], ["\n void forwardNormal() {\n vNormalWorld = uTransformNormal_GlobalFromModel * normalModel();\n vNormalView = uTransformNormal_ViewFromGlobal * vNormalWorld;\n }\n "]))))) : r.vertex.code.add(e.glsl(d || (d = a(["\n void forwardNormal() {}\n "], ["\n void forwardNormal() {}\n "])))); } Object.defineProperty(o, "__esModule", { value: !0 }), o.VertexNormal = m, function (r) { function o(r, o) { r.setUniformMatrix4fv("viewNormal", o.viewInvTransp); } r.bindUniforms = o; }(m = o.VertexNormal || (o.VertexNormal = {})); var n, d; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js": /*!*************************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js ***! \*************************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryAttributesVertexTextureCoordinatesGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ./TextureCoordinateAttribute.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js"), __webpack_require__( /*! ../util/TextureAtlasLookup.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/TextureAtlasLookup.glsl.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, u, a, o) { function n(e, t) { e.include(u.TextureCoordinateAttribute, t), e.fragment.code.add(o.glsl(s || (s = r(["\n struct TextureLookupParameter {\n vec2 uv;\n ", "\n } vtc;\n "], ["\n struct TextureLookupParameter {\n vec2 uv;\n ", "\n } vtc;\n "])), t.supportsTextureAtlas ? "vec2 size;" : "")), 1 === t.attributeTextureCoordinates && e.fragment.code.add(o.glsl(p || (p = r(["\n vec4 textureLookup(sampler2D tex, TextureLookupParameter params) {\n return texture2D(tex, params.uv);\n }\n "], ["\n vec4 textureLookup(sampler2D tex, TextureLookupParameter params) {\n return texture2D(tex, params.uv);\n }\n "])))), 2 === t.attributeTextureCoordinates && (e.include(a.TextureAtlasLookup), e.fragment.code.add(o.glsl(x || (x = r(["\n vec4 textureLookup(sampler2D tex, TextureLookupParameter params) {\n return textureAtlasLookup(tex, params.size, params.uv, vuvRegion);\n }\n "], ["\n vec4 textureLookup(sampler2D tex, TextureLookupParameter params) {\n return textureAtlasLookup(tex, params.size, params.uv, vuvRegion);\n }\n "]))))); } Object.defineProperty(t, "__esModule", { value: !0 }), t.VertexTextureCoordinates = n; var s, p, x; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js ***! \***************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryAttributesVerticalOffsetGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../util/ScreenSizePerspective.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, l, t, r, c) { function n(e, l) { var n = e.vertex.code; l.verticalOffsetEnabled && (e.vertex.uniforms.add("verticalOffset", "vec4"), l.screenSizePerspectiveEnabled && (e.include(r.ScreenSizePerspective), e.vertex.uniforms.add("screenSizePerspectiveAlignment", "vec4")), n.add(c.glsl(i || (i = t(["\n vec3 calculateVerticalOffset(vec3 worldPos, vec3 localOrigin) {\n float viewDistance = length((view * vec4(worldPos, 1.0)).xyz);\n "], ["\n vec3 calculateVerticalOffset(vec3 worldPos, vec3 localOrigin) {\n float viewDistance = length((view * vec4(worldPos, 1.0)).xyz);\n "])))), 0 === l.viewingMode ? n.add(c.glsl(a || (a = t(["\n vec3 worldNormal = normalize(worldPos + localOrigin);\n "], ["\n vec3 worldNormal = normalize(worldPos + localOrigin);\n "])))) : n.add(c.glsl(s || (s = t(["\n vec3 worldNormal = vec3(0.0, 0.0, 1.0);\n "], ["\n vec3 worldNormal = vec3(0.0, 0.0, 1.0);\n "])))), l.screenSizePerspectiveEnabled ? n.add(c.glsl(o || (o = t(["\n float cosAngle = dot(worldNormal, normalize(worldPos - camPos));\n float verticalOffsetScreenHeight = screenSizePerspectiveScaleFloat(verticalOffset.x, abs(cosAngle), viewDistance, screenSizePerspectiveAlignment);\n "], ["\n float cosAngle = dot(worldNormal, normalize(worldPos - camPos));\n float verticalOffsetScreenHeight = screenSizePerspectiveScaleFloat(verticalOffset.x, abs(cosAngle), viewDistance, screenSizePerspectiveAlignment);\n "])))) : n.add(c.glsl(f || (f = t(["\n float verticalOffsetScreenHeight = verticalOffset.x;\n "], ["\n float verticalOffsetScreenHeight = verticalOffset.x;\n "])))), n.add(c.glsl(v || (v = t(["\n float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * viewDistance, verticalOffset.z, verticalOffset.w);\n return worldNormal * worldOffset;\n }\n "], ["\n float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * viewDistance, verticalOffset.z, verticalOffset.w);\n return worldNormal * worldOffset;\n }\n "]))))); } Object.defineProperty(l, "__esModule", { value: !0 }), l.VerticalOffset = n; var i, a, s, o, f, v; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js": /*!********************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js ***! \********************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryOutputOutputDepthGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../util/RgbaFloatEncoding.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, a, n, l) { function o(t, e) { t.include(n.RgbaFloatEncoding), 3 === e.output ? (t.extensions.add("GL_OES_standard_derivatives"), t.fragment.code.add(l.glsl(r || (r = a(["\n float _calculateFragDepth(const in float depth) {\n // calc polygon offset\n const float SLOPE_SCALE = 2.0;\n const float BIAS = 2.0 * .000015259; // 1 / (2^16 - 1)\n float m = max(abs(dFdx(depth)), abs(dFdy(depth)));\n float result = depth + SLOPE_SCALE * m + BIAS;\n return clamp(result, .0, .999999);\n }\n\n void outputDepth(float _linearDepth) {\n gl_FragColor = float2rgba(_calculateFragDepth(_linearDepth));\n }\n "], ["\n float _calculateFragDepth(const in float depth) {\n // calc polygon offset\n const float SLOPE_SCALE = 2.0;\n const float BIAS = 2.0 * .000015259; // 1 / (2^16 - 1)\n float m = max(abs(dFdx(depth)), abs(dFdy(depth)));\n float result = depth + SLOPE_SCALE * m + BIAS;\n return clamp(result, .0, .999999);\n }\n\n void outputDepth(float _linearDepth) {\n gl_FragColor = float2rgba(_calculateFragDepth(_linearDepth));\n }\n "]))))) : 1 === e.output && t.fragment.code.add(l.glsl(p || (p = a(["\n void outputDepth(float _linearDepth) {\n gl_FragColor = float2rgba(_linearDepth);\n }\n "], ["\n void outputDepth(float _linearDepth) {\n gl_FragColor = float2rgba(_linearDepth);\n }\n "])))); } Object.defineProperty(e, "__esModule", { value: !0 }), e.OutputDepth = o; var r, p; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js": /*!************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js ***! \************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryOutputOutputHighlightGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, i, r) { function o(e) { e.fragment.uniforms.add("depthTex", "sampler2D"), e.fragment.uniforms.add("highlightViewportPixelSz", "vec4"), e.fragment.code.add(r.glsl(g || (g = i(["\n void outputHighlight() {\n vec4 fragCoord = gl_FragCoord;\n\n float sceneDepth = texture2D(depthTex, (fragCoord.xy - highlightViewportPixelSz.xy) * highlightViewportPixelSz.zw).r;\n if (fragCoord.z > sceneDepth + 5e-6) {\n gl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);\n }\n else {\n gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0);\n }\n }\n "], ["\n void outputHighlight() {\n vec4 fragCoord = gl_FragCoord;\n\n float sceneDepth = texture2D(depthTex, (fragCoord.xy - highlightViewportPixelSz.xy) * highlightViewportPixelSz.zw).r;\n if (fragCoord.z > sceneDepth + 5e-6) {\n gl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);\n }\n else {\n gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0);\n }\n }\n "])))); } Object.defineProperty(t, "__esModule", { value: !0 }), t.OutputHighlight = o, function (e) { function t(e, t, i) { e.bindTexture(i.highlightDepthTexture, 5), t.setUniform1i("depthTex", 5), t.setUniform4f("highlightViewportPixelSz", 0, 0, 1 / i.viewport[2], 1 / i.viewport[3]); } e.bindOutputHighlight = t; }(o = t.OutputHighlight || (t.OutputHighlight = {})); var g; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/AnalyticalSkyModel.glsl.js": /*!****************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/AnalyticalSkyModel.glsl.js ***! \****************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingAnalyticalSkyModelGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n, t, a) { function o(e) { var n = e.fragment.code; n.add(a.glsl(r || (r = t(["\n vec3 evaluateDiffuseIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float NdotNG)\n {\n return ((1.0 - NdotNG) * ambientGround + (1.0 + NdotNG) * ambientSky) * 0.5;\n }\n "], ["\n vec3 evaluateDiffuseIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float NdotNG)\n {\n return ((1.0 - NdotNG) * ambientGround + (1.0 + NdotNG) * ambientSky) * 0.5;\n }\n "])))), n.add(a.glsl(d || (d = t(["\n float integratedRadiance(float cosTheta2, float roughness)\n {\n return (cosTheta2 - 1.0) / (cosTheta2 * (1.0 - roughness * roughness) - 1.0);\n }\n "], ["\n float integratedRadiance(float cosTheta2, float roughness)\n {\n return (cosTheta2 - 1.0) / (cosTheta2 * (1.0 - roughness * roughness) - 1.0);\n }\n "])))), n.add(a.glsl(i || (i = t(["\n vec3 evaluateSpecularIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float RdotNG, float roughness)\n {\n float cosTheta2 = 1.0 - RdotNG * RdotNG;\n float intRadTheta = integratedRadiance(cosTheta2, roughness);\n\n // Calculate the integrated directional radiance of the ground and the sky\n float ground = RdotNG < 0.0 ? 1.0 - intRadTheta : 1.0 + intRadTheta;\n float sky = 2.0 - ground;\n return (ground * ambientGround + sky * ambientSky) * 0.5;\n }\n "], ["\n vec3 evaluateSpecularIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float RdotNG, float roughness)\n {\n float cosTheta2 = 1.0 - RdotNG * RdotNG;\n float intRadTheta = integratedRadiance(cosTheta2, roughness);\n\n // Calculate the integrated directional radiance of the ground and the sky\n float ground = RdotNG < 0.0 ? 1.0 - intRadTheta : 1.0 + intRadTheta;\n float sky = 2.0 - ground;\n return (ground * ambientGround + sky * ambientSky) * 0.5;\n }\n "])))); } Object.defineProperty(n, "__esModule", { value: !0 }), n.AnalyticalSkyModel = o; var r, d, i; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js": /*!******************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js ***! \******************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingComputeNormalTextureGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../attributes/VertexTextureCoordinates.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (n, e, t, a, o) { function r(n, e) { var r = n.fragment; r.uniforms.add("normalTexture", "sampler2D"), r.uniforms.add("normalTextureSize", "vec2"), e.vertexTangets ? (n.attributes.add("tangent", "vec4"), n.varyings.add("vTangent", "vec4"), n.vertex.code.add(o.glsl(s || (s = t(["\n void transformVertexTangent(mat3 modelTransformForNormals) {\n vTangent.xyz = modelTransformForNormals * tangent.xyz;\n vTangent.w = tangent.w;\n }\n "], ["\n void transformVertexTangent(mat3 modelTransformForNormals) {\n vTangent.xyz = modelTransformForNormals * tangent.xyz;\n vTangent.w = tangent.w;\n }\n "])))), 2 === e.doubleSidedMode ? r.code.add(o.glsl(g || (g = t(["\n mat3 computeTangentSpace(vec3 normal) {\n float tangentHeadedness = gl_FrontFacing ? vTangent.w : -vTangent.w;\n vec3 tangent = normalize(gl_FrontFacing ? vTangent.xyz : -vTangent.xyz);\n vec3 bitangent = cross(normal, tangent) * tangentHeadedness;\n return mat3(tangent, bitangent, normal);\n }\n "], ["\n mat3 computeTangentSpace(vec3 normal) {\n float tangentHeadedness = gl_FrontFacing ? vTangent.w : -vTangent.w;\n vec3 tangent = normalize(gl_FrontFacing ? vTangent.xyz : -vTangent.xyz);\n vec3 bitangent = cross(normal, tangent) * tangentHeadedness;\n return mat3(tangent, bitangent, normal);\n }\n "])))) : r.code.add(o.glsl(d || (d = t(["\n mat3 computeTangentSpace(vec3 normal) {\n float tangentHeadedness = vTangent.w;\n vec3 tangent = normalize(vTangent.xyz);\n vec3 bitangent = cross(normal, tangent) * tangentHeadedness;\n return mat3(tangent, bitangent, normal);\n }\n "], ["\n mat3 computeTangentSpace(vec3 normal) {\n float tangentHeadedness = vTangent.w;\n vec3 tangent = normalize(vTangent.xyz);\n vec3 bitangent = cross(normal, tangent) * tangentHeadedness;\n return mat3(tangent, bitangent, normal);\n }\n "]))))) : (n.extensions.add("GL_OES_standard_derivatives"), r.code.add(o.glsl(m || (m = t(['\n mat3 computeTangentSpace(vec3 normal, vec3 pos, vec2 st) {\n\n vec3 Q1 = dFdx(pos);\n vec3 Q2 = dFdy(pos);\n\n vec2 stx = dFdx(st);\n vec2 sty = dFdy(st);\n\n float det = stx.t * sty.s - sty.t * stx.s;\n\n vec3 T = stx.t * Q2 - sty.t * Q1; // compute tangent\n T = T - normal * dot(normal, T); // orthogonalize tangent\n T *= inversesqrt(max(dot(T,T), 1.e-10)); // "soft" normalize - goes to 0 when T goes to 0\n vec3 B = sign(det) * cross(normal, T); // assume normal is normalized, B has the same lenght as B\n return mat3(T, B, normal); // T and B go to 0 when the tangent space is not well defined by the uv coordinates\n }\n '], ['\n mat3 computeTangentSpace(vec3 normal, vec3 pos, vec2 st) {\n\n vec3 Q1 = dFdx(pos);\n vec3 Q2 = dFdy(pos);\n\n vec2 stx = dFdx(st);\n vec2 sty = dFdy(st);\n\n float det = stx.t * sty.s - sty.t * stx.s;\n\n vec3 T = stx.t * Q2 - sty.t * Q1; // compute tangent\n T = T - normal * dot(normal, T); // orthogonalize tangent\n T *= inversesqrt(max(dot(T,T), 1.e-10)); // "soft" normalize - goes to 0 when T goes to 0\n vec3 B = sign(det) * cross(normal, T); // assume normal is normalized, B has the same lenght as B\n return mat3(T, B, normal); // T and B go to 0 when the tangent space is not well defined by the uv coordinates\n }\n ']))))), 0 !== e.attributeTextureCoordinates && (n.include(a.VertexTextureCoordinates, e), r.code.add(o.glsl(l || (l = t(["\n vec3 computeTextureNormal(mat3 tangentSpace, vec2 uv) {\n vtc.uv = uv;\n ", "\n vec3 rawNormal = textureLookup(normalTexture, vtc).rgb * 2.0 - 1.0;\n return tangentSpace * rawNormal;\n }\n "], ["\n vec3 computeTextureNormal(mat3 tangentSpace, vec2 uv) {\n vtc.uv = uv;\n ", "\n vec3 rawNormal = textureLookup(normalTexture, vtc).rgb * 2.0 - 1.0;\n return tangentSpace * rawNormal;\n }\n "])), e.supportsTextureAtlas ? "vtc.size = normalTextureSize;" : ""))); } Object.defineProperty(e, "__esModule", { value: !0 }), e.ComputeNormalTexture = r; var s, g, d, m, l; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js": /*!*********************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js ***! \*********************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingEvaluateAmbientLightingGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (n, i, e, t) { function a(n, i) { var a = n.fragment, r = void 0 !== i.lightingSphericalHarmonicsOrder ? i.lightingSphericalHarmonicsOrder : 2; 0 === r ? (a.uniforms.add("lightingAmbientSH0", "vec3"), a.code.add(t.glsl(l || (l = e(["\n /**\n * @param normal shading normal in global coordinate space\n * @param ambientOcclusion amount of occlusion of the ambient light (1 => full occlusion)\n */\n vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {\n vec3 ambientLight = 0.282095 * lightingAmbientSH0;\n return ambientLight * (1.0 - ambientOcclusion);\n }\n "], ["\n /**\n * @param normal shading normal in global coordinate space\n * @param ambientOcclusion amount of occlusion of the ambient light (1 => full occlusion)\n */\n vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {\n vec3 ambientLight = 0.282095 * lightingAmbientSH0;\n return ambientLight * (1.0 - ambientOcclusion);\n }\n "]))))) : 1 === r ? (a.uniforms.add("lightingAmbientSH_R", "vec4"), a.uniforms.add("lightingAmbientSH_G", "vec4"), a.uniforms.add("lightingAmbientSH_B", "vec4"), a.code.add(t.glsl(o || (o = e(["\n vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {\n vec4 sh0 = vec4(\n 0.282095,\n 0.488603 * normal.x,\n 0.488603 * normal.z,\n 0.488603 * normal.y\n );\n vec3 ambientLight = vec3(\n dot(lightingAmbientSH_R, sh0),\n dot(lightingAmbientSH_G, sh0),\n dot(lightingAmbientSH_B, sh0)\n );\n return ambientLight * (1.0 - ambientOcclusion);\n }\n "], ["\n vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {\n vec4 sh0 = vec4(\n 0.282095,\n 0.488603 * normal.x,\n 0.488603 * normal.z,\n 0.488603 * normal.y\n );\n vec3 ambientLight = vec3(\n dot(lightingAmbientSH_R, sh0),\n dot(lightingAmbientSH_G, sh0),\n dot(lightingAmbientSH_B, sh0)\n );\n return ambientLight * (1.0 - ambientOcclusion);\n }\n "]))))) : 2 === r && (a.uniforms.add("lightingAmbientSH0", "vec3"), a.uniforms.add("lightingAmbientSH_R1", "vec4"), a.uniforms.add("lightingAmbientSH_G1", "vec4"), a.uniforms.add("lightingAmbientSH_B1", "vec4"), a.uniforms.add("lightingAmbientSH_R2", "vec4"), a.uniforms.add("lightingAmbientSH_G2", "vec4"), a.uniforms.add("lightingAmbientSH_B2", "vec4"), a.code.add(t.glsl(c || (c = e(["\n /**\n * @param normal shading normal in global coordinate space\n * @param ambientOcclusion amount of occlusion of the ambient light (1 => full occlusion)\n */\n vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {\n vec3 ambientLight = 0.282095 * lightingAmbientSH0;\n\n vec4 sh1 = vec4(\n 0.488603 * normal.x,\n 0.488603 * normal.z,\n 0.488603 * normal.y,\n 1.092548 * normal.x * normal.y\n );\n vec4 sh2 = vec4(\n 1.092548 * normal.y * normal.z,\n 0.315392 * (3.0 * normal.z * normal.z - 1.0),\n 1.092548 * normal.x * normal.z,\n 0.546274 * (normal.x * normal.x - normal.y * normal.y)\n );\n ambientLight += vec3(\n dot(lightingAmbientSH_R1, sh1),\n dot(lightingAmbientSH_G1, sh1),\n dot(lightingAmbientSH_B1, sh1)\n );\n ambientLight += vec3(\n dot(lightingAmbientSH_R2, sh2),\n dot(lightingAmbientSH_G2, sh2),\n dot(lightingAmbientSH_B2, sh2)\n );\n return ambientLight * (1.0 - ambientOcclusion);\n }\n "], ["\n /**\n * @param normal shading normal in global coordinate space\n * @param ambientOcclusion amount of occlusion of the ambient light (1 => full occlusion)\n */\n vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {\n vec3 ambientLight = 0.282095 * lightingAmbientSH0;\n\n vec4 sh1 = vec4(\n 0.488603 * normal.x,\n 0.488603 * normal.z,\n 0.488603 * normal.y,\n 1.092548 * normal.x * normal.y\n );\n vec4 sh2 = vec4(\n 1.092548 * normal.y * normal.z,\n 0.315392 * (3.0 * normal.z * normal.z - 1.0),\n 1.092548 * normal.x * normal.z,\n 0.546274 * (normal.x * normal.x - normal.y * normal.y)\n );\n ambientLight += vec3(\n dot(lightingAmbientSH_R1, sh1),\n dot(lightingAmbientSH_G1, sh1),\n dot(lightingAmbientSH_B1, sh1)\n );\n ambientLight += vec3(\n dot(lightingAmbientSH_R2, sh2),\n dot(lightingAmbientSH_G2, sh2),\n dot(lightingAmbientSH_B2, sh2)\n );\n return ambientLight * (1.0 - ambientOcclusion);\n }\n "])))), i.usePBR && a.code.add(t.glsl(m || (m = e(["\n // calculateAmbientRadiance is used calculate specular radiance of the sky\n // - in the night calculateAmbientRadiance gives darker color compared to calculateAmbientComponent which integrates contributions of the moon\n // - calculateAmbientRadiance gives more predictable color compared to calculateAmbientIrradiance that depends on normal\n // - in future more physically accurate model should be established\n vec3 calculateAmbientRadiance(float ssao)\n {\n // evaluate the sh ambient light\n vec3 ambientLight ;\n ambientLight = 1.2 * (0.282095 * lightingAmbientSH0) - 0.2; // returning the darker value in the night\n\n return ambientLight *= (1.0 - ssao) * skyTransmittance; // skyTransmittance is slightly bluish giving more natural look\n }\n "], ["\n // calculateAmbientRadiance is used calculate specular radiance of the sky\n // - in the night calculateAmbientRadiance gives darker color compared to calculateAmbientComponent which integrates contributions of the moon\n // - calculateAmbientRadiance gives more predictable color compared to calculateAmbientIrradiance that depends on normal\n // - in future more physically accurate model should be established\n vec3 calculateAmbientRadiance(float ssao)\n {\n // evaluate the sh ambient light\n vec3 ambientLight ;\n ambientLight = 1.2 * (0.282095 * lightingAmbientSH0) - 0.2; // returning the darker value in the night\n\n return ambientLight *= (1.0 - ssao) * skyTransmittance; // skyTransmittance is slightly bluish giving more natural look\n }\n "]))))); } Object.defineProperty(i, "__esModule", { value: !0 }), i.EvaluateAmbientLighting = a; var l, o, c, m; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js": /*!**********************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js ***! \**********************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingEvaluateAmbientOcclusionGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n, t, o) { function r(e, n) { var r = e.fragment; n.receiveAmbientOcclusion ? (r.uniforms.add("ssaoTex", "sampler2D"), r.uniforms.add("viewportPixelSz", "vec4"), r.code.add(o.glsl(a || (a = t(["\n float evaluateAmbientOcclusion() {\n return 1.0 - texture2D(ssaoTex, (gl_FragCoord.xy - viewportPixelSz.xy) * viewportPixelSz.zw).a;\n }\n\n float evaluateAmbientOcclusionInverse() {\n float ssao = texture2D(ssaoTex, (gl_FragCoord.xy - viewportPixelSz.xy) * viewportPixelSz.zw).a;\n return viewportPixelSz.z < 0.0 ? 1.0 : ssao;\n }\n "], ["\n float evaluateAmbientOcclusion() {\n return 1.0 - texture2D(ssaoTex, (gl_FragCoord.xy - viewportPixelSz.xy) * viewportPixelSz.zw).a;\n }\n\n float evaluateAmbientOcclusionInverse() {\n float ssao = texture2D(ssaoTex, (gl_FragCoord.xy - viewportPixelSz.xy) * viewportPixelSz.zw).a;\n return viewportPixelSz.z < 0.0 ? 1.0 : ssao;\n }\n "]))))) : r.code.add(o.glsl(l || (l = t(["\n float evaluateAmbientOcclusion() { return 0.0; } // no occlusion\n float evaluateAmbientOcclusionInverse() { return 1.0; }\n "], ["\n float evaluateAmbientOcclusion() { return 0.0; } // no occlusion\n float evaluateAmbientOcclusionInverse() { return 1.0; }\n "])))); } Object.defineProperty(n, "__esModule", { value: !0 }), n.EvaluateAmbientOcclusion = r; var a, l; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateMainLighting.glsl.js": /*!******************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateMainLighting.glsl.js ***! \******************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingEvaluateMainLightingGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (n, i, t, a) { function e(n) { var i = n.fragment; i.uniforms.add("lightingMainDirection", "vec3"), i.uniforms.add("lightingMainIntensity", "vec3"), i.uniforms.add("lightingFixedFactor", "float"), i.code.add(a.glsl(o || (o = t(["\n vec3 evaluateMainLighting(vec3 normal_global, float shadowing) {\n float dotVal = clamp(-dot(normal_global, lightingMainDirection), 0.0, 1.0);\n\n // move lighting towards (1.0, 1.0, 1.0) if requested\n dotVal = mix(dotVal, 1.0, lightingFixedFactor);\n\n return lightingMainIntensity * ((1.0 - shadowing) * dotVal);\n }\n "], ["\n vec3 evaluateMainLighting(vec3 normal_global, float shadowing) {\n float dotVal = clamp(-dot(normal_global, lightingMainDirection), 0.0, 1.0);\n\n // move lighting towards (1.0, 1.0, 1.0) if requested\n dotVal = mix(dotVal, 1.0, lightingFixedFactor);\n\n return lightingMainIntensity * ((1.0 - shadowing) * dotVal);\n }\n "])))); } Object.defineProperty(i, "__esModule", { value: !0 }), i.EvaluateMainLighting = e; var o; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js": /*!*******************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js ***! \*******************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingEvaluateSceneLightingGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ./EvaluateAmbientLighting.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js"), __webpack_require__( /*! ./EvaluateAmbientOcclusion.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js"), __webpack_require__( /*! ./EvaluateMainLighting.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateMainLighting.glsl.js"), __webpack_require__( /*! ./PhysicallyBasedRendering.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js"), __webpack_require__( /*! ./PiUtils.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js"), __webpack_require__( /*! ./ReadShadowMap.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (n, e, t, i, a, o, l, r, c, d) { function s(n, e) { var s = n.fragment; n.include(o.EvaluateMainLighting), n.include(a.EvaluateAmbientOcclusion, e), e.usePBR && n.include(l.PhysicallyBasedRendering, e), n.include(i.EvaluateAmbientLighting, e), e.receiveShadows && n.include(c.ReadShadowMap, e), s.uniforms.add("lightingGlobalFactor", "float"), s.uniforms.add("ambientBoostFactor", "float"), e.useOldSceneLightInterface ? (n.include(r.PiUtils), s.code.add(d.glsl(m || (m = t(["\n const float GAMMA_SRGB = 2.1;\n const float INV_GAMMA_SRGB = 0.4761904; // 1 / GAMMA_SRGB\n\n vec3 evaluateSceneLightingExt(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight) {\n // evaluate the main light\n #if defined(TREE_RENDERING)\n // Special case for tree rendering:\n // We shift the Lambert lobe to the back, allowing it to reach part of the hemisphere\n // facing away from the light. The idea is to get an effect where light is transmitted\n // through the tree.\n float minDot = -0.5;\n float dotRange = 1.0 - minDot;\n float dotNormalization = 0.66; // guessed & hand tweaked value, for an exact value we could precompute an integral over the sphere\n\n float dotVal = dotNormalization * (clamp(-dot(normal, lightingMainDirection), 1.0 - dotRange, 1.0) - minDot) * (1.0 / dotRange);\n #else\n float dotVal = clamp(-dot(normal, lightingMainDirection), 0.0, 1.0);\n #endif\n\n // move lighting towards (1.0, 1.0, 1.0) if requested\n dotVal = mix(dotVal, 1.0, lightingFixedFactor);\n\n vec3 mainLight = (1.0 - shadow) * lightingMainIntensity * dotVal;\n vec3 ambientLight = calculateAmbientIrradiance(normal, ssao);\n\n // inverse gamma correction on the albedo color\n vec3 albedoGammaC = pow(albedo, vec3(GAMMA_SRGB));\n\n // physically correct BRDF normalizes by PI\n vec3 totalLight = mainLight + ambientLight + additionalLight;\n totalLight = min(totalLight, vec3(PI, PI, PI));\n vec3 outColor = vec3((albedoGammaC / PI) * (totalLight));\n\n // apply gamma correction to the computed color\n outColor = pow(outColor, vec3(1.0/GAMMA_SRGB));\n\n return outColor;\n }\n "], ["\n const float GAMMA_SRGB = 2.1;\n const float INV_GAMMA_SRGB = 0.4761904; // 1 / GAMMA_SRGB\n\n vec3 evaluateSceneLightingExt(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight) {\n // evaluate the main light\n #if defined(TREE_RENDERING)\n // Special case for tree rendering:\n // We shift the Lambert lobe to the back, allowing it to reach part of the hemisphere\n // facing away from the light. The idea is to get an effect where light is transmitted\n // through the tree.\n float minDot = -0.5;\n float dotRange = 1.0 - minDot;\n float dotNormalization = 0.66; // guessed & hand tweaked value, for an exact value we could precompute an integral over the sphere\n\n float dotVal = dotNormalization * (clamp(-dot(normal, lightingMainDirection), 1.0 - dotRange, 1.0) - minDot) * (1.0 / dotRange);\n #else\n float dotVal = clamp(-dot(normal, lightingMainDirection), 0.0, 1.0);\n #endif\n\n // move lighting towards (1.0, 1.0, 1.0) if requested\n dotVal = mix(dotVal, 1.0, lightingFixedFactor);\n\n vec3 mainLight = (1.0 - shadow) * lightingMainIntensity * dotVal;\n vec3 ambientLight = calculateAmbientIrradiance(normal, ssao);\n\n // inverse gamma correction on the albedo color\n vec3 albedoGammaC = pow(albedo, vec3(GAMMA_SRGB));\n\n // physically correct BRDF normalizes by PI\n vec3 totalLight = mainLight + ambientLight + additionalLight;\n totalLight = min(totalLight, vec3(PI, PI, PI));\n vec3 outColor = vec3((albedoGammaC / PI) * (totalLight));\n\n // apply gamma correction to the computed color\n outColor = pow(outColor, vec3(1.0/GAMMA_SRGB));\n\n return outColor;\n }\n "]))))) : (0 === e.viewingMode ? s.code.add(d.glsl(h || (h = t(["\n float _oldHeuristicLighting(vec3 vPosWorld) {\n vec3 shadingNormalWorld = normalize(vPosWorld);\n float vndl = -dot(shadingNormalWorld, lightingMainDirection);\n\n return smoothstep(0.0, 1.0, clamp(vndl * 2.5, 0.0, 1.0));\n }\n "], ["\n float _oldHeuristicLighting(vec3 vPosWorld) {\n vec3 shadingNormalWorld = normalize(vPosWorld);\n float vndl = -dot(shadingNormalWorld, lightingMainDirection);\n\n return smoothstep(0.0, 1.0, clamp(vndl * 2.5, 0.0, 1.0));\n }\n "])))) : s.code.add(d.glsl(g || (g = t(["\n float _oldHeuristicLighting(vec3 vPosWorld) {\n float vndl = -dot(vec3(0.0, 0.0, 1.0), lightingMainDirection);\n return smoothstep(0.0, 1.0, clamp(vndl * 2.5, 0.0, 1.0));\n }\n "], ["\n float _oldHeuristicLighting(vec3 vPosWorld) {\n float vndl = -dot(vec3(0.0, 0.0, 1.0), lightingMainDirection);\n return smoothstep(0.0, 1.0, clamp(vndl * 2.5, 0.0, 1.0));\n }\n "])))), s.code.add(d.glsl(u || (u = t(["\n vec3 evaluateAdditionalLighting(float ambientOcclusion, vec3 vPosWorld) {\n float additionalAmbientScale = _oldHeuristicLighting(vPosWorld);\n return (1.0 - ambientOcclusion) * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor * lightingMainIntensity;\n }\n "], ["\n vec3 evaluateAdditionalLighting(float ambientOcclusion, vec3 vPosWorld) {\n float additionalAmbientScale = _oldHeuristicLighting(vPosWorld);\n return (1.0 - ambientOcclusion) * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor * lightingMainIntensity;\n }\n "])))), e.usePBR ? (s.code.add(d.glsl(v || (v = t(["\n // The albedo color of the ground used in the environment illumination algorithm\n const float GROUND_REFLECTANCE = 0.2; //This is the set value of the diffuse reflectance of the ground surface\n\n const float GAMMA_SRGB = 2.1;\n const float INV_GAMMA_SRGB = 0.4761904; // 1 / GAMMA_SRGB\n "], ["\n // The albedo color of the ground used in the environment illumination algorithm\n const float GROUND_REFLECTANCE = 0.2; //This is the set value of the diffuse reflectance of the ground surface\n\n const float GAMMA_SRGB = 2.1;\n const float INV_GAMMA_SRGB = 0.4761904; // 1 / GAMMA_SRGB\n "])))), s.code.add(d.glsl(f || (f = t(["\n vec3 evaluateSceneLightingPBR(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight, vec3 viewDir, vec3 normalGround, float _roughness, float _metalness, vec3 _emission, float _reflectance, float additionalAmbientIrradiance)\n {\n // Calculate half vector between view and light direction\n vec3 viewDirection = -viewDir;\n vec3 mainLightDirection = -lightingMainDirection;\n vec3 h = normalize(viewDirection + mainLightDirection);\n\n PBRShadingInfo inputs;\n inputs.NdotL = clamp(dot(normal, mainLightDirection), 0.001, 1.0);\n inputs.NdotV = clamp(abs(dot(normal, viewDirection)), 0.001, 1.0);\n inputs.NdotH = clamp(dot(normal, h), 0.0, 1.0);\n inputs.VdotH = clamp(dot(viewDirection, h), 0.0, 1.0);\n inputs.NdotNG = clamp(dot(normal, normalGround), -1.0, 1.0);\n vec3 reflectedView = normalize(reflect(viewDirection, normal));\n inputs.RdotNG = clamp(dot(reflectedView, normalGround), -1.0, 1.0);\n\n inputs.albedoLinear = pow(albedo, vec3(GAMMA_SRGB));\n inputs.groundReflectance = vec3(GROUND_REFLECTANCE);\n inputs.ssao = ssao;\n\n inputs.roughness = clamp(_roughness * _roughness, 0.001, 0.99);\n inputs.metalness = _metalness;\n "], ["\n vec3 evaluateSceneLightingPBR(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight, vec3 viewDir, vec3 normalGround, float _roughness, float _metalness, vec3 _emission, float _reflectance, float additionalAmbientIrradiance)\n {\n // Calculate half vector between view and light direction\n vec3 viewDirection = -viewDir;\n vec3 mainLightDirection = -lightingMainDirection;\n vec3 h = normalize(viewDirection + mainLightDirection);\n\n PBRShadingInfo inputs;\n inputs.NdotL = clamp(dot(normal, mainLightDirection), 0.001, 1.0);\n inputs.NdotV = clamp(abs(dot(normal, viewDirection)), 0.001, 1.0);\n inputs.NdotH = clamp(dot(normal, h), 0.0, 1.0);\n inputs.VdotH = clamp(dot(viewDirection, h), 0.0, 1.0);\n inputs.NdotNG = clamp(dot(normal, normalGround), -1.0, 1.0);\n vec3 reflectedView = normalize(reflect(viewDirection, normal));\n inputs.RdotNG = clamp(dot(reflectedView, normalGround), -1.0, 1.0);\n\n inputs.albedoLinear = pow(albedo, vec3(GAMMA_SRGB));\n inputs.groundReflectance = vec3(GROUND_REFLECTANCE);\n inputs.ssao = ssao;\n\n inputs.roughness = clamp(_roughness * _roughness, 0.001, 0.99);\n inputs.metalness = _metalness;\n "])))), s.code.add(d.glsl(L || (L = t(["\n inputs.f0 = (0.16 * _reflectance * _reflectance) * (1.0 - inputs.metalness) + inputs.albedoLinear * inputs.metalness;\n inputs.f90 = vec3(clamp(dot(inputs.f0, vec3(50.0 * 0.33)), 0.0, 1.0)); // more accurate then using f90 = 1.0\n inputs.diffuseColor = inputs.albedoLinear * (vec3(1.0) - inputs.f0) * (1.0 - inputs.metalness);\n "], ["\n inputs.f0 = (0.16 * _reflectance * _reflectance) * (1.0 - inputs.metalness) + inputs.albedoLinear * inputs.metalness;\n inputs.f90 = vec3(clamp(dot(inputs.f0, vec3(50.0 * 0.33)), 0.0, 1.0)); // more accurate then using f90 = 1.0\n inputs.diffuseColor = inputs.albedoLinear * (vec3(1.0) - inputs.f0) * (1.0 - inputs.metalness);\n "])))), s.code.add(d.glsl(b || (b = t(["\n vec3 ambientDir = normalize(vec3(5.0 * normalGround[1] - normalGround[0] * normalGround[2],\n - 5.0 * normalGround[0] - normalGround[2] * normalGround[1],\n normalGround[1] * normalGround[1] + normalGround[0] * normalGround[0]));\n\n inputs.NdotAmbDir = abs(dot(normal, ambientDir));\n\n // Calculate the irradiance components: sun, fill lights and the sky.\n vec3 mainLightIrradianceComponent = inputs.NdotL * (1.0 - shadow) * lightingMainIntensity;\n vec3 fillLightsIrradianceComponent = inputs.NdotAmbDir * lightingMainIntensity * fillLightIntensity;\n // calculateAmbientIrradiance for localView and additionalLight for gloabalView\n vec3 ambientLightIrradianceComponent = calculateAmbientIrradiance(normal, ssao) + additionalLight;\n\n // Assemble the overall irradiance of the sky that illuminates the surface\n inputs.skyIrradianceToSurface = ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;\n // Assemble the overall irradiance of the ground that illuminates the surface. for this we use the simple model that changes only the sky irradiance by the groundReflectance\n inputs.groundIrradianceToSurface = inputs.groundReflectance * ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;\n "], ["\n vec3 ambientDir = normalize(vec3(5.0 * normalGround[1] - normalGround[0] * normalGround[2],\n - 5.0 * normalGround[0] - normalGround[2] * normalGround[1],\n normalGround[1] * normalGround[1] + normalGround[0] * normalGround[0]));\n\n inputs.NdotAmbDir = abs(dot(normal, ambientDir));\n\n // Calculate the irradiance components: sun, fill lights and the sky.\n vec3 mainLightIrradianceComponent = inputs.NdotL * (1.0 - shadow) * lightingMainIntensity;\n vec3 fillLightsIrradianceComponent = inputs.NdotAmbDir * lightingMainIntensity * fillLightIntensity;\n // calculateAmbientIrradiance for localView and additionalLight for gloabalView\n vec3 ambientLightIrradianceComponent = calculateAmbientIrradiance(normal, ssao) + additionalLight;\n\n // Assemble the overall irradiance of the sky that illuminates the surface\n inputs.skyIrradianceToSurface = ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;\n // Assemble the overall irradiance of the ground that illuminates the surface. for this we use the simple model that changes only the sky irradiance by the groundReflectance\n inputs.groundIrradianceToSurface = inputs.groundReflectance * ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;\n "])))), s.code.add(d.glsl(R || (R = t(["\n vec3 horizonRingDir = inputs.RdotNG * normalGround - reflectedView;\n vec3 horizonRingH = normalize(viewDirection + horizonRingDir);\n inputs.NdotH_Horizon = dot(normal, horizonRingH);\n\n vec3 mainLightRadianceComponent = normalDistribution(inputs.NdotH, inputs.roughness) * lightingMainIntensity * (1.0 - shadow);\n vec3 horizonLightRadianceComponent = normalDistribution(inputs.NdotH_Horizon, min(inputs.roughness + horizonLightDiffusion, 1.0)) * lightingMainIntensity * fillLightIntensity;\n vec3 ambientLightRadianceComponent = calculateAmbientRadiance(ssao) + additionalLight; // calculateAmbientRadiance for localView and additionalLight for gloabalView\n\n // Assemble the overall radiance of the sky that illuminates the surface\n inputs.skyRadianceToSurface = ambientLightRadianceComponent + mainLightRadianceComponent + horizonLightRadianceComponent;\n // Assemble the overall radiance of the ground that illuminates the surface. for this we use the simple model that changes only the sky radince by the groundReflectance\n inputs.groundRadianceToSurface = inputs.groundReflectance * (ambientLightRadianceComponent + horizonLightRadianceComponent) + mainLightRadianceComponent;\n\n // Calculate average ambient radiance - this is used int the gamut mapping part to deduce the black level that is soft compressed\n inputs.averageAmbientRadiance = ambientLightIrradianceComponent[1] * (1.0 + inputs.groundReflectance[1]);\n "], ["\n vec3 horizonRingDir = inputs.RdotNG * normalGround - reflectedView;\n vec3 horizonRingH = normalize(viewDirection + horizonRingDir);\n inputs.NdotH_Horizon = dot(normal, horizonRingH);\n\n vec3 mainLightRadianceComponent = normalDistribution(inputs.NdotH, inputs.roughness) * lightingMainIntensity * (1.0 - shadow);\n vec3 horizonLightRadianceComponent = normalDistribution(inputs.NdotH_Horizon, min(inputs.roughness + horizonLightDiffusion, 1.0)) * lightingMainIntensity * fillLightIntensity;\n vec3 ambientLightRadianceComponent = calculateAmbientRadiance(ssao) + additionalLight; // calculateAmbientRadiance for localView and additionalLight for gloabalView\n\n // Assemble the overall radiance of the sky that illuminates the surface\n inputs.skyRadianceToSurface = ambientLightRadianceComponent + mainLightRadianceComponent + horizonLightRadianceComponent;\n // Assemble the overall radiance of the ground that illuminates the surface. for this we use the simple model that changes only the sky radince by the groundReflectance\n inputs.groundRadianceToSurface = inputs.groundReflectance * (ambientLightRadianceComponent + horizonLightRadianceComponent) + mainLightRadianceComponent;\n\n // Calculate average ambient radiance - this is used int the gamut mapping part to deduce the black level that is soft compressed\n inputs.averageAmbientRadiance = ambientLightIrradianceComponent[1] * (1.0 + inputs.groundReflectance[1]);\n "])))), s.code.add(d.glsl(C || (C = t(["\n vec3 reflectedColorComponent = evaluateEnvironmentIllumination(inputs);\n vec3 additionalMaterialReflectanceComponent = inputs.albedoLinear * additionalAmbientIrradiance;\n vec3 emissionComponent = pow(_emission, vec3(GAMMA_SRGB));\n vec3 outColorLinear = reflectedColorComponent + additionalMaterialReflectanceComponent + emissionComponent;\n vec3 outColor = pow(blackLevelSoftCompression(outColorLinear, inputs), vec3(INV_GAMMA_SRGB));\n return outColor;\n }\n "], ["\n vec3 reflectedColorComponent = evaluateEnvironmentIllumination(inputs);\n vec3 additionalMaterialReflectanceComponent = inputs.albedoLinear * additionalAmbientIrradiance;\n vec3 emissionComponent = pow(_emission, vec3(GAMMA_SRGB));\n vec3 outColorLinear = reflectedColorComponent + additionalMaterialReflectanceComponent + emissionComponent;\n vec3 outColor = pow(blackLevelSoftCompression(outColorLinear, inputs), vec3(INV_GAMMA_SRGB));\n return outColor;\n }\n "]))))) : s.code.add(d.glsl(p || (p = t(["\n vec3 evaluateSceneLighting(vec3 normalWorld, vec3 baseColor, float mainLightShadow, float ambientOcclusion, vec3 additionalLight)\n {\n vec3 mainLighting = evaluateMainLighting(normalWorld, mainLightShadow);\n vec3 ambientLighting = calculateAmbientIrradiance(normalWorld, ambientOcclusion);\n // inverse gamma correction on the base color\n float gamma = 2.1;\n vec3 baseColorLinear = pow(baseColor, vec3(gamma));\n\n // physically correct BRDF normalizes by PI\n const float PI = 3.14159;\n vec3 totalLight = mainLighting + ambientLighting + additionalLight;\n totalLight = min(totalLight, vec3(PI, PI, PI));\n vec3 outColor = vec3((baseColorLinear / PI) * totalLight);\n\n // apply gamma correction to the computed color\n outColor = pow(outColor, vec3(1.0/gamma));\n\n return outColor;\n }\n "], ["\n vec3 evaluateSceneLighting(vec3 normalWorld, vec3 baseColor, float mainLightShadow, float ambientOcclusion, vec3 additionalLight)\n {\n vec3 mainLighting = evaluateMainLighting(normalWorld, mainLightShadow);\n vec3 ambientLighting = calculateAmbientIrradiance(normalWorld, ambientOcclusion);\n // inverse gamma correction on the base color\n float gamma = 2.1;\n vec3 baseColorLinear = pow(baseColor, vec3(gamma));\n\n // physically correct BRDF normalizes by PI\n const float PI = 3.14159;\n vec3 totalLight = mainLighting + ambientLighting + additionalLight;\n totalLight = min(totalLight, vec3(PI, PI, PI));\n vec3 outColor = vec3((baseColorLinear / PI) * totalLight);\n\n // apply gamma correction to the computed color\n outColor = pow(outColor, vec3(1.0/gamma));\n\n return outColor;\n }\n "]))))); } Object.defineProperty(e, "__esModule", { value: !0 }), e.EvaluateSceneLighting = s; var m, h, g, u, p, v, f, L, b, R, C; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js": /*!***************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js ***! \***************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingGammaGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n, o, r) { function c(e) { e.fragment.code.add(r.glsl(a || (a = o(["\n const float GAMMA = 2.2;\n const float INV_GAMMA = 0.4545454545; // 1 / GAMMA\n\n // gamma correction\n vec4 delinearizeGamma(vec4 color) {\n return vec4(pow(color.rgb, vec3(INV_GAMMA)), color.w);\n }\n\n vec3 linearizeGamma(vec3 color) {\n return pow(color, vec3(GAMMA));\n }\n "], ["\n const float GAMMA = 2.2;\n const float INV_GAMMA = 0.4545454545; // 1 / GAMMA\n\n // gamma correction\n vec4 delinearizeGamma(vec4 color) {\n return vec4(pow(color.rgb, vec3(INV_GAMMA)), color.w);\n }\n\n vec3 linearizeGamma(vec3 color) {\n return pow(color, vec3(GAMMA));\n }\n "])))); } Object.defineProperty(n, "__esModule", { value: !0 }), n.Gamma = c; var a; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/HighlightData.glsl.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/HighlightData.glsl.js ***! \***********************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingHighlightDataGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, t, n) { function i(e) { e.fragment.code.add(n.glsl(o || (o = t(["\n vec4 highlightData(vec4 fragCoord, sampler2D depthTex, vec4 viewportPixelSize) {\n float sceneDepth = texture2D(depthTex, (fragCoord.xy - viewportPixelSize.xy) * viewportPixelSize.zw).r;\n if (fragCoord.z > sceneDepth + 5e-7) {\n return vec4(1.0, 1.0, 0.0, 1.0);\n }\n else {\n return vec4(1.0, 0.0, 1.0, 1.0);\n }\n }\n "], ["\n vec4 highlightData(vec4 fragCoord, sampler2D depthTex, vec4 viewportPixelSize) {\n float sceneDepth = texture2D(depthTex, (fragCoord.xy - viewportPixelSize.xy) * viewportPixelSize.zw).r;\n if (fragCoord.z > sceneDepth + 5e-7) {\n return vec4(1.0, 1.0, 0.0, 1.0);\n }\n else {\n return vec4(1.0, 0.0, 1.0, 1.0);\n }\n }\n "])))); } Object.defineProperty(r, "__esModule", { value: !0 }), r.HighlightData = i; var o; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js ***! \*********************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingLineStippleGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, l, p, t) { function a(e, l) { e.defines.addFloat("STIPPLE_ALPHA_COLOR_DISCARD", .001), e.defines.addFloat("STIPPLE_ALPHA_HIGHLIGHT_DISCARD", .5), l.stippleEnabled ? n(e, l) : i(e); } function n(e, l) { e.vertex.uniforms.add("stipplePatternPixelSizeInv", "float"), l.stippleUVMaxEnabled && e.varyings.add("stipplePatternUvMax", "float"), e.varyings.add("stipplePatternUv", "float"), e.fragment.uniforms.add("stipplePatternTexture", "sampler2D"), l.stippleOffColorEnabled && e.fragment.uniforms.add("stippleOffColor", "vec4"), e.fragment.code.add(t.glsl(r || (r = p(["\n float getStippleAlpha() {\n float stipplePatternUvClamped = stipplePatternUv * gl_FragCoord.w;\n ", "\n\n return texture2D(stipplePatternTexture, vec2(mod(stipplePatternUvClamped, 1.0), 0.5)).a;\n }"], ["\n float getStippleAlpha() {\n float stipplePatternUvClamped = stipplePatternUv * gl_FragCoord.w;\n ", "\n\n return texture2D(stipplePatternTexture, vec2(mod(stipplePatternUvClamped, 1.0), 0.5)).a;\n }"])), l.stippleUVMaxEnabled ? "stipplePatternUvClamped = clamp(stipplePatternUvClamped, 0.0, stipplePatternUvMax);" : "")), l.stippleOffColorEnabled ? e.fragment.code.add(t.glsl(d || (d = p(["\n #define discardByStippleAlpha(stippleAlpha, threshold) {}\n #define blendStipple(color, stippleAlpha) mix(color, stippleOffColor, stippleAlpha)\n "], ["\n #define discardByStippleAlpha(stippleAlpha, threshold) {}\n #define blendStipple(color, stippleAlpha) mix(color, stippleOffColor, stippleAlpha)\n "])))) : e.fragment.code.add(t.glsl(o || (o = p(["\n #define discardByStippleAlpha(stippleAlpha, threshold) if (stippleAlpha < threshold) { discard; }\n #define blendStipple(color, stippleAlpha) vec4(color.rgb, color.a * stippleAlpha)\n "], ["\n #define discardByStippleAlpha(stippleAlpha, threshold) if (stippleAlpha < threshold) { discard; }\n #define blendStipple(color, stippleAlpha) vec4(color.rgb, color.a * stippleAlpha)\n "])))); } function i(e) { e.fragment.code.add(t.glsl(s || (s = p(["\n float getStippleAlpha() { return 1.0; }\n\n #define discardByStippleAlpha(_stippleAlpha_, _threshold_) {}\n #define blendStipple(color, _stippleAlpha_) color\n "], ["\n float getStippleAlpha() { return 1.0; }\n\n #define discardByStippleAlpha(_stippleAlpha_, _threshold_) {}\n #define blendStipple(color, _stippleAlpha_) color\n "])))); } Object.defineProperty(l, "__esModule", { value: !0 }), l.LineStipple = a; var r, d, o, s; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js ***! \*********************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingNormalUtilsGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n, t, r) { function c(e, n) { 0 === n.viewingMode ? e.vertex.code.add(r.glsl(i || (i = t(["\n vec3 getLocalUp(in vec3 pos, in vec3 origin) {\n return normalize(pos + origin);\n }\n "], ["\n vec3 getLocalUp(in vec3 pos, in vec3 origin) {\n return normalize(pos + origin);\n }\n "])))) : e.vertex.code.add(r.glsl(o || (o = t(["\n vec3 getLocalUp(in vec3 pos, in vec3 origin) {\n return vec3(0.0, 0.0, 1.0); // WARNING: up-axis dependent code\n }\n "], ["\n vec3 getLocalUp(in vec3 pos, in vec3 origin) {\n return vec3(0.0, 0.0, 1.0); // WARNING: up-axis dependent code\n }\n "])))), 0 === n.viewingMode ? e.vertex.code.add(r.glsl(v || (v = t(["\n mat3 getTBNMatrix(in vec3 n) {\n vec3 t = normalize(cross(vec3(0.0, 0.0, 1.0), n));\n vec3 b = normalize(cross(n, t));\n return mat3(t, b, n);\n }\n "], ["\n mat3 getTBNMatrix(in vec3 n) {\n vec3 t = normalize(cross(vec3(0.0, 0.0, 1.0), n));\n vec3 b = normalize(cross(n, t));\n return mat3(t, b, n);\n }\n "])))) : e.vertex.code.add(r.glsl(a || (a = t(["\n mat3 getTBNMatrix(in vec3 n) {\n vec3 t = vec3(1.0, 0.0, 0.0);\n vec3 b = normalize(cross(n, t));\n return mat3(t, b, n);\n }\n "], ["\n mat3 getTBNMatrix(in vec3 n) {\n vec3 t = vec3(1.0, 0.0, 0.0);\n vec3 b = normalize(cross(n, t));\n return mat3(t, b, n);\n }\n "])))); } Object.defineProperty(n, "__esModule", { value: !0 }), n.NormalUtils = c; var i, o, v, a; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js ***! \*****************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingNormalsGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (a, r, e, n) { function m(a, r) { var m = a.fragment; m.code.add(n.glsl(o || (o = e(["\n struct ShadingNormalParameters {\n vec3 normalView;\n vec3 viewDirection;\n } shadingParams;\n "], ["\n struct ShadingNormalParameters {\n vec3 normalView;\n vec3 viewDirection;\n } shadingParams;\n "])))), 1 === r.doubleSidedMode ? m.code.add(n.glsl(i || (i = e(["\n vec3 shadingNormal(ShadingNormalParameters params) {\n return dot(params.normalView, params.viewDirection) > 0.0 ? normalize(-params.normalView) : normalize(params.normalView);\n }\n "], ["\n vec3 shadingNormal(ShadingNormalParameters params) {\n return dot(params.normalView, params.viewDirection) > 0.0 ? normalize(-params.normalView) : normalize(params.normalView);\n }\n "])))) : 2 === r.doubleSidedMode ? m.code.add(n.glsl(l || (l = e(["\n vec3 shadingNormal(ShadingNormalParameters params) {\n return gl_FrontFacing ? normalize(params.normalView) : normalize(-params.normalView);\n }\n "], ["\n vec3 shadingNormal(ShadingNormalParameters params) {\n return gl_FrontFacing ? normalize(params.normalView) : normalize(-params.normalView);\n }\n "])))) : m.code.add(n.glsl(s || (s = e(["\n vec3 shadingNormal(ShadingNormalParameters params) {\n return normalize(params.normalView);\n }\n "], ["\n vec3 shadingNormal(ShadingNormalParameters params) {\n return normalize(params.normalView);\n }\n "])))); } Object.defineProperty(r, "__esModule", { value: !0 }), r.Normals = m; var o, i, l, s; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js": /*!**********************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js ***! \**********************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingPhysicallyBasedRenderingGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ./AnalyticalSkyModel.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/AnalyticalSkyModel.glsl.js"), __webpack_require__( /*! ./PiUtils.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n, o, t, a, l) { function r(e, n) { var r = e.fragment.code; e.include(a.PiUtils), n.usePBRforWater ? (r.add(l.glsl(i || (i = o(["\n struct PBRShadingWater\n {\n float NdotL; // cos angle between normal and light direction\n float NdotV; // cos angle between normal and view direction\n float NdotH; // cos angle between normal and half vector\n float VdotH; // cos angle between view direction and half vector\n float LdotH; // cos angle between light direction and half vector\n float VdotN; // cos angle between view direction and normal vector\n };\n\n float dtrExponent = ", ";\n "], ["\n struct PBRShadingWater\n {\n float NdotL; // cos angle between normal and light direction\n float NdotV; // cos angle between normal and view direction\n float NdotH; // cos angle between normal and half vector\n float VdotH; // cos angle between view direction and half vector\n float LdotH; // cos angle between light direction and half vector\n float VdotN; // cos angle between view direction and normal vector\n };\n\n float dtrExponent = ", ";\n "])), n.useCustomDTRExponentForWater ? "2.2" : "2.0")), r.add(l.glsl(c || (c = o(["\n vec3 fresnelReflection(float angle, vec3 f0, float f90) {\n return f0 + (f90 - f0) * pow(1.0 - angle, 5.0);\n }\n "], ["\n vec3 fresnelReflection(float angle, vec3 f0, float f90) {\n return f0 + (f90 - f0) * pow(1.0 - angle, 5.0);\n }\n "])))), r.add(l.glsl(d || (d = o(["\n float normalDistributionWater(float NdotH, float roughness)\n {\n float r2 = roughness * roughness;\n float NdotH2 = NdotH * NdotH;\n float denom = pow((NdotH2 * (r2 - 1.0) + 1.0), dtrExponent) * PI;\n return r2 / denom;\n }\n "], ["\n float normalDistributionWater(float NdotH, float roughness)\n {\n float r2 = roughness * roughness;\n float NdotH2 = NdotH * NdotH;\n float denom = pow((NdotH2 * (r2 - 1.0) + 1.0), dtrExponent) * PI;\n return r2 / denom;\n }\n "])))), r.add(l.glsl(s || (s = o(["\n float geometricOcclusionKelemen(float LoH)\n {\n return 0.25 / (LoH * LoH);\n }\n "], ["\n float geometricOcclusionKelemen(float LoH)\n {\n return 0.25 / (LoH * LoH);\n }\n "])))), r.add(l.glsl(f || (f = o(["\n vec3 brdfWater(in PBRShadingWater props, float roughness, vec3 F0, float F0Max)\n {\n vec3 F = fresnelReflection(props.VdotH, F0, F0Max);\n float D = normalDistributionWater(props.NdotH, roughness);\n float V = geometricOcclusionKelemen(props.LdotH);\n return (D * V) * F;\n }\n\n vec3 tonemapACES(const vec3 x) {\n return (x * (2.51 * x + 0.03)) / (x * (2.43 * x + 0.59) + 0.14);\n }\n "], ["\n vec3 brdfWater(in PBRShadingWater props, float roughness, vec3 F0, float F0Max)\n {\n vec3 F = fresnelReflection(props.VdotH, F0, F0Max);\n float D = normalDistributionWater(props.NdotH, roughness);\n float V = geometricOcclusionKelemen(props.LdotH);\n return (D * V) * F;\n }\n\n vec3 tonemapACES(const vec3 x) {\n return (x * (2.51 * x + 0.03)) / (x * (2.43 * x + 0.59) + 0.14);\n }\n "]))))) : n.usePBR && (e.include(t.AnalyticalSkyModel), r.add(l.glsl(u || (u = o(["\n struct PBRShadingInfo\n {\n float NdotL; // cos angle between normal and light direction\n float NdotV; // cos angle between normal and view direction\n float NdotH; // cos angle between normal and half vector\n float VdotH; // cos angle between view direction and half vector\n float LdotH; // cos angle between view light direction and half vector\n float NdotNG; // cos angle between normal and normal of the ground\n float RdotNG; // cos angle between view direction reflected of the normal and normal of the ground\n float NdotAmbDir; // cos angle between view direction and the fill light in ambient illumination\n float NdotH_Horizon; // cos angle between normal and half vector defined with horizon illumination\n vec3 skyRadianceToSurface; // integrated radiance of the sky based on the surface roughness (used for specular reflection)\n vec3 groundRadianceToSurface; // integrated radiance of the ground based on the surface roughness (used for specular reflection)\n vec3 skyIrradianceToSurface; // irradiance of the sky (used for diffuse reflection)\n vec3 groundIrradianceToSurface; // irradiance of the ground (used for diffuse reflection)\n\n float averageAmbientRadiance; // average ambient radiance used to deduce black level in gamut mapping\n float ssao; // ssao coefficient\n vec3 groundReflectance; // reflectance of the ground\n vec3 albedoLinear; // linear color of the albedo\n vec3 f0; // fresnel value at normal incident light\n vec3 f90; // fresnel value at 90o of incident light\n\n vec3 diffuseColor; // diffuse color of the material used in environment illumination\n float metalness; // metalness of the material\n float roughness; // roughness of the material\n };\n "], ["\n struct PBRShadingInfo\n {\n float NdotL; // cos angle between normal and light direction\n float NdotV; // cos angle between normal and view direction\n float NdotH; // cos angle between normal and half vector\n float VdotH; // cos angle between view direction and half vector\n float LdotH; // cos angle between view light direction and half vector\n float NdotNG; // cos angle between normal and normal of the ground\n float RdotNG; // cos angle between view direction reflected of the normal and normal of the ground\n float NdotAmbDir; // cos angle between view direction and the fill light in ambient illumination\n float NdotH_Horizon; // cos angle between normal and half vector defined with horizon illumination\n vec3 skyRadianceToSurface; // integrated radiance of the sky based on the surface roughness (used for specular reflection)\n vec3 groundRadianceToSurface; // integrated radiance of the ground based on the surface roughness (used for specular reflection)\n vec3 skyIrradianceToSurface; // irradiance of the sky (used for diffuse reflection)\n vec3 groundIrradianceToSurface; // irradiance of the ground (used for diffuse reflection)\n\n float averageAmbientRadiance; // average ambient radiance used to deduce black level in gamut mapping\n float ssao; // ssao coefficient\n vec3 groundReflectance; // reflectance of the ground\n vec3 albedoLinear; // linear color of the albedo\n vec3 f0; // fresnel value at normal incident light\n vec3 f90; // fresnel value at 90o of incident light\n\n vec3 diffuseColor; // diffuse color of the material used in environment illumination\n float metalness; // metalness of the material\n float roughness; // roughness of the material\n };\n "])))), r.add(l.glsl(g || (g = o(["\n const float fillLightIntensity = 0.25; // intensity of the directional ambient component\n const float horizonLightDiffusion = 0.4; // diffusion value describing the area and smoothness of the horizon light\n const vec3 skyTransmittance = vec3(0.9, 0.9, 1.0); // bluish transmittance of the sky\n const float additionalAmbientIrradianceFactor = 0.02;// Additional irradiance factor - making everything brighter and more colorful\n "], ["\n const float fillLightIntensity = 0.25; // intensity of the directional ambient component\n const float horizonLightDiffusion = 0.4; // diffusion value describing the area and smoothness of the horizon light\n const vec3 skyTransmittance = vec3(0.9, 0.9, 1.0); // bluish transmittance of the sky\n const float additionalAmbientIrradianceFactor = 0.02;// Additional irradiance factor - making everything brighter and more colorful\n "])))), r.add(l.glsl(h || (h = o(["\n float normalDistribution(float NdotH, float roughness)\n {\n float a = NdotH * roughness;\n float b = roughness / (1.0 - NdotH * NdotH + a * a);\n return b * b * INV_PI;\n }\n "], ["\n float normalDistribution(float NdotH, float roughness)\n {\n float a = NdotH * roughness;\n float b = roughness / (1.0 - NdotH * NdotH + a * a);\n return b * b * INV_PI;\n }\n "])))), r.add(l.glsl(m || (m = o(["\n const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);\n const vec4 c1 = vec4( 1.0, 0.0425, 1.040, -0.040);\n const vec2 c2 = vec2(-1.04, 1.04);\n\n vec2 prefilteredDFGAnalytical(float roughness, float NdotV) {\n vec4 r = roughness * c0 + c1;\n float a004 = min(r.x * r.x, exp2(-9.28 * NdotV)) * r.x + r.y;\n return c2 * a004 + r.zw;\n }\n "], ["\n const vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);\n const vec4 c1 = vec4( 1.0, 0.0425, 1.040, -0.040);\n const vec2 c2 = vec2(-1.04, 1.04);\n\n vec2 prefilteredDFGAnalytical(float roughness, float NdotV) {\n vec4 r = roughness * c0 + c1;\n float a004 = min(r.x * r.x, exp2(-9.28 * NdotV)) * r.x + r.y;\n return c2 * a004 + r.zw;\n }\n "])))), r.add(l.glsl(p || (p = o(["\n vec3 evaluateEnvironmentIllumination(PBRShadingInfo inputs) {\n vec3 indirectDiffuse = evaluateDiffuseIlluminationHemisphere(inputs.groundIrradianceToSurface, inputs.skyIrradianceToSurface, inputs.NdotNG);\n vec3 indirectSpecular = evaluateSpecularIlluminationHemisphere(inputs.groundRadianceToSurface, inputs.skyRadianceToSurface, inputs.RdotNG, inputs.roughness);\n\n // From diffuse illumination calculate reflected color\n vec3 diffuseComponent = inputs.diffuseColor * indirectDiffuse * INV_PI;\n\n // From specular illumination calculate reflected color\n vec2 dfg = prefilteredDFGAnalytical(inputs.roughness, inputs.NdotV);\n vec3 specularColor = inputs.f0 * dfg.x + inputs.f90 * dfg.y;\n vec3 specularComponent = specularColor * indirectSpecular;\n\n return (diffuseComponent + specularComponent);\n }\n "], ["\n vec3 evaluateEnvironmentIllumination(PBRShadingInfo inputs) {\n vec3 indirectDiffuse = evaluateDiffuseIlluminationHemisphere(inputs.groundIrradianceToSurface, inputs.skyIrradianceToSurface, inputs.NdotNG);\n vec3 indirectSpecular = evaluateSpecularIlluminationHemisphere(inputs.groundRadianceToSurface, inputs.skyRadianceToSurface, inputs.RdotNG, inputs.roughness);\n\n // From diffuse illumination calculate reflected color\n vec3 diffuseComponent = inputs.diffuseColor * indirectDiffuse * INV_PI;\n\n // From specular illumination calculate reflected color\n vec2 dfg = prefilteredDFGAnalytical(inputs.roughness, inputs.NdotV);\n vec3 specularColor = inputs.f0 * dfg.x + inputs.f90 * dfg.y;\n vec3 specularComponent = specularColor * indirectSpecular;\n\n return (diffuseComponent + specularComponent);\n }\n "])))), r.add(l.glsl(v || (v = o(["\n float gamutMapChanel(float x, vec2 p){\n return (x < p.x) ? mix(0.0, p.y, x/p.x) : mix(p.y, 1.0, (x - p.x) / (1.0 - p.x) );\n }\n\n // Because of the fresnel refletion the image might be too bright we apply black level soft compression gamut mapping\n vec3 blackLevelSoftCompression(vec3 inColor, PBRShadingInfo inputs){\n vec3 outColor;\n // based on the average ambient radiance we approximate the black level for a specific time of a day\n // p.x - the deduced black level\n // p.y - the value to which we map the black level (around 1/3 of the black level)\n vec2 p = vec2(0.02 * (inputs.averageAmbientRadiance), 0.0075 * (inputs.averageAmbientRadiance));\n // gamut map individual color changels\n outColor.x = gamutMapChanel(inColor.x, p) ;\n outColor.y = gamutMapChanel(inColor.y, p) ;\n outColor.z = gamutMapChanel(inColor.z, p) ;\n\n return outColor;\n }\n "], ["\n float gamutMapChanel(float x, vec2 p){\n return (x < p.x) ? mix(0.0, p.y, x/p.x) : mix(p.y, 1.0, (x - p.x) / (1.0 - p.x) );\n }\n\n // Because of the fresnel refletion the image might be too bright we apply black level soft compression gamut mapping\n vec3 blackLevelSoftCompression(vec3 inColor, PBRShadingInfo inputs){\n vec3 outColor;\n // based on the average ambient radiance we approximate the black level for a specific time of a day\n // p.x - the deduced black level\n // p.y - the value to which we map the black level (around 1/3 of the black level)\n vec2 p = vec2(0.02 * (inputs.averageAmbientRadiance), 0.0075 * (inputs.averageAmbientRadiance));\n // gamut map individual color changels\n outColor.x = gamutMapChanel(inColor.x, p) ;\n outColor.y = gamutMapChanel(inColor.y, p) ;\n outColor.z = gamutMapChanel(inColor.z, p) ;\n\n return outColor;\n }\n "]))))); } Object.defineProperty(n, "__esModule", { value: !0 }), n.PhysicallyBasedRendering = r; var i, c, d, s, f, u, g, h, m, p, v; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js": /*!********************************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js ***! \********************************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingPhysicallyBasedRenderingParametersGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../attributes/VertexTextureCoordinates.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, s, n, o, t) { function a(e, s) { var a = e.fragment, p = s.hasMetalnessAndRoughnessTexture || s.hasEmissionTexture || s.hasOcclusionTexture; s.usePBR && p && e.include(o.VertexTextureCoordinates, s), s.usePBR && (a.uniforms.add("roughnessFactor", "float"), a.uniforms.add("metalnessFactor", "float"), a.uniforms.add("emissionFactor", "vec3"), a.uniforms.add("reflectanceFactor", "float"), a.code.add(t.glsl(r || (r = n(["\n float reflectance;\n float roughness;\n float metalness;\n vec3 emission;\n float occlusion;\n "], ["\n float reflectance;\n float roughness;\n float metalness;\n vec3 emission;\n float occlusion;\n "])))), s.hasMetalnessAndRoughnessTexture && (a.uniforms.add("texMetallicRoughness", "sampler2D"), s.supportsTextureAtlas && a.uniforms.add("texMetallicRoughnessSize", "vec2"), a.code.add(t.glsl(l || (l = n(["\n void applyMetallnessAndRoughness(TextureLookupParameter params) {\n vec3 metallicRoughness = textureLookup(texMetallicRoughness, params).rgb;\n\n roughness *= metallicRoughness.g;\n metalness *= metallicRoughness.b;\n }\n "], ["\n void applyMetallnessAndRoughness(TextureLookupParameter params) {\n vec3 metallicRoughness = textureLookup(texMetallicRoughness, params).rgb;\n\n roughness *= metallicRoughness.g;\n metalness *= metallicRoughness.b;\n }\n "]))))), s.hasEmissionTexture && (a.uniforms.add("texEmission", "sampler2D"), s.supportsTextureAtlas && a.uniforms.add("texEmissionSize", "vec2"), a.code.add(t.glsl(c || (c = n(["\n void applyEmission(TextureLookupParameter params) {\n emission *= textureLookup(texEmission, params).rgb;\n }\n "], ["\n void applyEmission(TextureLookupParameter params) {\n emission *= textureLookup(texEmission, params).rgb;\n }\n "])))))), s.usePBR && s.hasOcclusionTexture ? (a.uniforms.add("texOcclusion", "sampler2D"), s.supportsTextureAtlas && a.uniforms.add("texOcclusionSize", "vec2"), a.code.add(t.glsl(i || (i = n(["\n void applyOcclusion(TextureLookupParameter params) {\n occlusion *= textureLookup(texOcclusion, params).r;\n }\n\n float getBakedOcclusion() {\n return occlusion;\n }\n "], ["\n void applyOcclusion(TextureLookupParameter params) {\n occlusion *= textureLookup(texOcclusion, params).r;\n }\n\n float getBakedOcclusion() {\n return occlusion;\n }\n "]))))) : a.code.add(t.glsl(u || (u = n(["\n float getBakedOcclusion() { return 1.0; }\n "], ["\n float getBakedOcclusion() { return 1.0; }\n "])))), s.usePBR && a.code.add(t.glsl(m || (m = n(["\n void applyPBRFactors() {\n reflectance = reflectanceFactor;\n roughness = roughnessFactor;\n metalness = metalnessFactor;\n emission = emissionFactor;\n occlusion = 1.0;\n ", "\n ", "\n ", "\n ", "\n }\n "], ["\n void applyPBRFactors() {\n reflectance = reflectanceFactor;\n roughness = roughnessFactor;\n metalness = metalnessFactor;\n emission = emissionFactor;\n occlusion = 1.0;\n ", "\n ", "\n ", "\n ", "\n }\n "])), p ? "vtc.uv = vuv0;" : "", s.hasMetalnessAndRoughnessTexture ? s.supportsTextureAtlas ? "vtc.size = texMetallicRoughnessSize; applyMetallnessAndRoughness(vtc);" : "applyMetallnessAndRoughness(vtc);" : "", s.hasEmissionTexture ? s.supportsTextureAtlas ? "vtc.size = texEmissionSize; applyEmission(vtc);" : "applyEmission(vtc);" : "", s.hasOcclusionTexture ? s.supportsTextureAtlas ? "vtc.size = texOcclusionSize; applyOcclusion(vtc);" : "applyOcclusion(vtc);" : "")); } Object.defineProperty(s, "__esModule", { value: !0 }), s.PhysicallyBasedRenderingParameters = a, function (e) { function s(e, s) { e.setUniform1f("metalnessFactor", s.metallicFactor), e.setUniform1f("roughnessFactor", s.roughnessFactor), e.setUniform3fv("emissionFactor", s.emissiveFactor), e.setUniform1f("reflectanceFactor", s.reflectanceFactor); } e.bindUniforms = s; }(a = s.PhysicallyBasedRenderingParameters || (s.PhysicallyBasedRenderingParameters = {})); var r, l, c, i, u, m; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js ***! \*****************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingPiUtilsGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, n, o, e) { function l(t) { t.vertex.code.add(e.glsl(a || (a = o(["\n const float PI = 3.141592653589793;\n "], ["\n const float PI = 3.141592653589793;\n "])))), t.fragment.code.add(e.glsl(s || (s = o(["\n const float PI = 3.141592653589793;\n const float LIGHT_NORMALIZATION = 1.0 / PI;\n const float INV_PI = 0.3183098861837907;\n const float HALF_PI = 1.570796326794897;\n "], ["\n const float PI = 3.141592653589793;\n const float LIGHT_NORMALIZATION = 1.0 / PI;\n const float INV_PI = 0.3183098861837907;\n const float HALF_PI = 1.570796326794897;\n "])))); } Object.defineProperty(n, "__esModule", { value: !0 }), n.PiUtils = l; var a, s; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js ***! \***********************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingReadShadowMapGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../util/RgbaFloatEncoding.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, a, t, l, i) { function n(e) { e.include(l.RgbaFloatEncoding), e.fragment.uniforms.add("depthTex", "sampler2D"), e.fragment.uniforms.add("shadowMapNum", "int"), e.fragment.uniforms.add("shadowMapDistance", "vec4"), e.fragment.uniforms.add("shadowMapMatrix", "mat4", 4), e.fragment.uniforms.add("depthHalfPixelSz", "float"), e.fragment.code.add(i.glsl(o || (o = t(["\n float readShadowMap(const in vec3 _vpos, float _linearDepth) {\n float halfPixelSize = depthHalfPixelSz;\n vec4 distance = shadowMapDistance;\n float depth = _linearDepth;\n\n //choose correct cascade\n int i = depth < distance[1] ? 0 : depth < distance[2] ? 1 : depth < distance[3] ? 2 : 3;\n\n if (i >= shadowMapNum) { return 0.0; }\n\n mat4 mat = i == 0 ? shadowMapMatrix[0] : i == 1 ? shadowMapMatrix[1] : i == 2 ? shadowMapMatrix[2] : shadowMapMatrix[3];\n\n vec4 lv = mat * vec4(_vpos, 1.0);\n lv.xy /= lv.w;\n\n // vertex completely outside? -> no shadow\n vec3 lvpos = 0.5 * lv.xyz + vec3(0.5);\n if (lvpos.z >= 1.0) { return 0.0; }\n if (lvpos.x < 0.0 || lvpos.x > 1.0 || lvpos.y < 0.0 || lvpos.y > 1.0) { return 0.0; }\n\n // calc coord in cascade texture\n vec2 uv = vec2(float(i - 2 * (i / 2)) * 0.5, float(i / 2) * 0.5) + 0.5 * lvpos.xy;\n\n float texSize = 0.5 / halfPixelSize;\n\n // filter, offset by half pixels\n vec2 st = fract((vec2(halfPixelSize) + uv) * texSize);\n\n float s00 = rgba2float(texture2D(depthTex, uv + vec2(-halfPixelSize, -halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\n float s10 = rgba2float(texture2D(depthTex, uv + vec2(halfPixelSize, -halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\n float s11 = rgba2float(texture2D(depthTex, uv + vec2(halfPixelSize, halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\n float s01 = rgba2float(texture2D(depthTex, uv + vec2(-halfPixelSize, halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\n\n return mix(mix(s00, s10, st.x), mix(s01, s11, st.x), st.y);\n }\n "], ["\n float readShadowMap(const in vec3 _vpos, float _linearDepth) {\n float halfPixelSize = depthHalfPixelSz;\n vec4 distance = shadowMapDistance;\n float depth = _linearDepth;\n\n //choose correct cascade\n int i = depth < distance[1] ? 0 : depth < distance[2] ? 1 : depth < distance[3] ? 2 : 3;\n\n if (i >= shadowMapNum) { return 0.0; }\n\n mat4 mat = i == 0 ? shadowMapMatrix[0] : i == 1 ? shadowMapMatrix[1] : i == 2 ? shadowMapMatrix[2] : shadowMapMatrix[3];\n\n vec4 lv = mat * vec4(_vpos, 1.0);\n lv.xy /= lv.w;\n\n // vertex completely outside? -> no shadow\n vec3 lvpos = 0.5 * lv.xyz + vec3(0.5);\n if (lvpos.z >= 1.0) { return 0.0; }\n if (lvpos.x < 0.0 || lvpos.x > 1.0 || lvpos.y < 0.0 || lvpos.y > 1.0) { return 0.0; }\n\n // calc coord in cascade texture\n vec2 uv = vec2(float(i - 2 * (i / 2)) * 0.5, float(i / 2) * 0.5) + 0.5 * lvpos.xy;\n\n float texSize = 0.5 / halfPixelSize;\n\n // filter, offset by half pixels\n vec2 st = fract((vec2(halfPixelSize) + uv) * texSize);\n\n float s00 = rgba2float(texture2D(depthTex, uv + vec2(-halfPixelSize, -halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\n float s10 = rgba2float(texture2D(depthTex, uv + vec2(halfPixelSize, -halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\n float s11 = rgba2float(texture2D(depthTex, uv + vec2(halfPixelSize, halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\n float s01 = rgba2float(texture2D(depthTex, uv + vec2(-halfPixelSize, halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\n\n return mix(mix(s00, s10, st.x), mix(s01, s11, st.x), st.y);\n }\n "])))); } Object.defineProperty(a, "__esModule", { value: !0 }), a.ReadShadowMap = n, function (e) { function a(e, a) { a.shadowMappingEnabled && a.shadowMap.bindView(e, a.origin); } e.bindUniforms = a; }(n = a.ReadShadowMap || (a.ReadShadowMap = {})); var o; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js ***! \*************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingVisualVariablesGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, v, o, n) { function r(e, v) { (v.vvSize || v.vvColor) && e.attributes.add("instanceFeatureAttribute", "vec4"), v.vvSize ? (e.vertex.uniforms.add("vvSizeMinSize", "vec3"), e.vertex.uniforms.add("vvSizeMaxSize", "vec3"), e.vertex.uniforms.add("vvSizeOffset", "vec3"), e.vertex.uniforms.add("vvSizeFactor", "vec3"), e.vertex.uniforms.add("vvSymbolRotationMatrix", "mat3"), e.vertex.uniforms.add("vvSymbolAnchor", "vec3"), e.vertex.code.add(n.glsl(t || (t = o(["\n vec4 vvTransformPosition(vec3 position, vec4 _featureAttribute) {\n vec3 vvScale = clamp(vvSizeOffset + _featureAttribute.x * vvSizeFactor, vvSizeMinSize, vvSizeMaxSize);\n return vec4(vvSymbolRotationMatrix * (vvScale * (position + vvSymbolAnchor)), 1.0);\n }\n "], ["\n vec4 vvTransformPosition(vec3 position, vec4 _featureAttribute) {\n vec3 vvScale = clamp(vvSizeOffset + _featureAttribute.x * vvSizeFactor, vvSizeMinSize, vvSizeMaxSize);\n return vec4(vvSymbolRotationMatrix * (vvScale * (position + vvSymbolAnchor)), 1.0);\n }\n "])))), e.vertex.code.add(n.glsl(i || (i = o(["\n const float eps = 1.192092896e-07;\n vec4 vvTransformNormal(vec3 _normal, vec4 _featureAttribute) {\n vec3 vvScale = clamp(vvSizeOffset + _featureAttribute.x * vvSizeFactor, vvSizeMinSize + eps, vvSizeMaxSize);\n return vec4(vvSymbolRotationMatrix * _normal / vvScale, 1.0);\n }\n\n vec4 vvLocalNormal(vec3 _normal) {\n return vvTransformNormal(_normal, instanceFeatureAttribute);\n }\n\n vec4 localPosition() {\n return vvTransformPosition(position, instanceFeatureAttribute);\n }\n "], ["\n const float eps = 1.192092896e-07;\n vec4 vvTransformNormal(vec3 _normal, vec4 _featureAttribute) {\n vec3 vvScale = clamp(vvSizeOffset + _featureAttribute.x * vvSizeFactor, vvSizeMinSize + eps, vvSizeMaxSize);\n return vec4(vvSymbolRotationMatrix * _normal / vvScale, 1.0);\n }\n\n vec4 vvLocalNormal(vec3 _normal) {\n return vvTransformNormal(_normal, instanceFeatureAttribute);\n }\n\n vec4 localPosition() {\n return vvTransformPosition(position, instanceFeatureAttribute);\n }\n "]))))) : e.vertex.code.add(n.glsl(a || (a = o(["\n vec4 localPosition() { return vec4(position, 1.0); }\n\n vec4 vvLocalNormal(vec3 _normal) { return vec4(_normal, 1.0); }\n "], ["\n vec4 localPosition() { return vec4(position, 1.0); }\n\n vec4 vvLocalNormal(vec3 _normal) { return vec4(_normal, 1.0); }\n "])))), v.vvColor ? (e.vertex.defines.addInt("VV_COLOR_N", 8), e.vertex.code.add(n.glsl(l || (l = o(["\n uniform float vvColorValues[VV_COLOR_N];\n uniform vec4 vvColorColors[VV_COLOR_N];\n\n vec4 vvGetColor(vec4 featureAttribute, float values[VV_COLOR_N], vec4 colors[VV_COLOR_N]) {\n float value = featureAttribute.y;\n if (value <= values[0]) {\n return colors[0];\n }\n\n for (int i = 1; i < VV_COLOR_N; ++i) {\n if (values[i] >= value) {\n float f = (value - values[i-1]) / (values[i] - values[i-1]);\n return mix(colors[i-1], colors[i], f);\n }\n }\n return colors[VV_COLOR_N - 1];\n }\n\n vec4 vvColor() {\n return vvGetColor(instanceFeatureAttribute, vvColorValues, vvColorColors);\n }\n "], ["\n uniform float vvColorValues[VV_COLOR_N];\n uniform vec4 vvColorColors[VV_COLOR_N];\n\n vec4 vvGetColor(vec4 featureAttribute, float values[VV_COLOR_N], vec4 colors[VV_COLOR_N]) {\n float value = featureAttribute.y;\n if (value <= values[0]) {\n return colors[0];\n }\n\n for (int i = 1; i < VV_COLOR_N; ++i) {\n if (values[i] >= value) {\n float f = (value - values[i-1]) / (values[i] - values[i-1]);\n return mix(colors[i-1], colors[i], f);\n }\n }\n return colors[VV_COLOR_N - 1];\n }\n\n vec4 vvColor() {\n return vvGetColor(instanceFeatureAttribute, vvColorValues, vvColorColors);\n }\n "]))))) : e.vertex.code.add(n.glsl(c || (c = o(["\n vec4 vvColor() { return vec4(1.0); }\n "], ["\n vec4 vvColor() { return vec4(1.0); }\n "])))); } Object.defineProperty(v, "__esModule", { value: !0 }), v.VisualVariables = r, function (e) { function v(e, v) { v.vvSizeEnabled && (e.setUniform3fv("vvSizeMinSize", v.vvSizeMinSize), e.setUniform3fv("vvSizeMaxSize", v.vvSizeMaxSize), e.setUniform3fv("vvSizeOffset", v.vvSizeOffset), e.setUniform3fv("vvSizeFactor", v.vvSizeFactor)), v.vvColorEnabled && (e.setUniform1fv("vvColorValues", v.vvColorValues), e.setUniform4fv("vvColorColors", v.vvColorColors)); } function o(e, o) { v(e, o), o.vvOpacityEnabled && (e.setUniform1fv("vvOpacityValues", o.vvOpacityValues), e.setUniform1fv("vvOpacityOpacities", o.vvOpacityOpacities)); } function n(e, o) { v(e, o), o.vvSizeEnabled && (e.setUniform3fv("vvSymbolAnchor", o.vvSymbolAnchor), e.setUniformMatrix3fv("vvSymbolRotationMatrix", o.vvSymbolRotationMatrix)); } e.bindUniformsWithOpacity = o, e.bindUniformsForSymbols = n; }(r = v.VisualVariables || (v.VisualVariables = {})); var t, i, a, l, c; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js": /*!***************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js ***! \***************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingWaterGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ./Gamma.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js"), __webpack_require__( /*! ./PhysicallyBasedRendering.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n, o, t, r, a) { function i(e, n) { e.include(r.PhysicallyBasedRendering, n), e.include(t.Gamma), e.fragment.code.add(a.glsl(s || (s = o(["\n const vec3 fresnelSky = vec3(0.02, 1.0, 5.0); // f0, f0max, exp\n const vec2 fresnelMaterial = vec2(0.02, 0.1); // f0, f0max for specular term\n const float roughness = 0.06;\n\n const vec3 skyZenitColor = vec3(0, 0.6, 0.9);\n const vec3 skyColor = vec3(0.72, 0.92, 1.0);\n\n PBRShadingWater shadingInfo;\n\n /*\n * This function is an approximation for the sky gradient reflected\n * the water surface and describes a combination of two fresnel terms.\n * @parameter: cosTheta = is the result of max(dot(n,v), 0.0)\n * @parameter: horizon = the dominant color of the sky horizon\n * @parameter: cosTheta = the dominant color of the sky zenit\n */\n vec3 getSkyGradientColor(in float cosTheta, in vec3 horizon, in vec3 zenit) {\n float exponent = pow((1.0 - cosTheta), fresnelSky[2]);\n return mix(zenit, horizon, exponent);\n }\n\n /*\n * This function determines the water color per pixel.\n * @parameter: n = normal facing away from the surface\n * @parameter: v = view direction facing away from the surface.\n * @parameter: l = light direction facing away from the surface\n * @parameter: lightIntensity = light intensity, currently between 0...PI\n * @parameter: localUp = a normal for the general direction of the surface\n * @parameter: shadow = the amount of shadow at this pixel (0 = no shadow)\n */\n vec3 getSeaColor(in vec3 n, in vec3 v, in vec3 l, vec3 color, in vec3 lightIntensity, in vec3 localUp, in float shadow) {\n\n vec3 seaWaterColor = linearizeGamma(color);\n // using half vector to determine the specular light\n vec3 h = normalize(l + v);\n shadingInfo.NdotL = clamp(dot(n, l), 0.0, 1.0);\n shadingInfo.NdotV = clamp(dot(n, v), 0.001, 1.0);\n shadingInfo.VdotN = clamp(dot(v, n), 0.001, 1.0);\n shadingInfo.NdotH = clamp(dot(n, h), 0.0, 1.0);\n shadingInfo.VdotH = clamp(dot(v, h), 0.0, 1.0);\n shadingInfo.LdotH = clamp(dot(l, h), 0.0, 1.0);\n\n // angle between vertex normal and view direction\n float upDotV = max(dot(localUp,v), 0.0);\n // reflected sky color: the reflected sky color consists of two main colors, the\n // reflected color at the horizon and the reflected color of the zenit.\n // the reflected sky color is then an approximation based on the fresnel term.\n vec3 skyHorizon = linearizeGamma(skyColor);\n vec3 skyZenit = linearizeGamma(skyZenitColor);\n vec3 skyColor = getSkyGradientColor(upDotV, skyHorizon, skyZenit );\n\n // we use the upDotL to smoothen out the\n // reflected color of the water\n float upDotL = max(dot(localUp,l),0.0);\n\n // The approximated sky color is adjusted according to the sun position.\n // This is done as approximation for e.g. night views.\n skyColor *= 0.1 + upDotL * 0.9;\n\n // If a water surface is in shadow we just use a slight darkening of the\n // water surface expressed with this shadowModifier.\n float shadowModifier = clamp(shadow, 0.8, 1.0);\n\n // The reflected sky color consists of the fresnel reflection multiplied with the approximated sky color.\n // The shadow is influencing the frensel term to keep the shadow impression for really near views. As long\n // as reflection are absent there is a need to have a slight shadow for depth perception.\n vec3 reflSky = fresnelReflection(shadingInfo.VdotN, vec3(fresnelSky[0]), fresnelSky[1]) * skyColor * shadowModifier;\n\n // The reflected sea color is the input water color combined with the reflected sky color.\n // The reflected sky color is modified by the incoming light.\n vec3 reflSea = seaWaterColor * mix(skyColor, upDotL * lightIntensity * LIGHT_NORMALIZATION, 2.0 / 3.0) * shadowModifier;\n\n vec3 specular = vec3(0.0);\n // This prevents the specular light to be rendered when:\n // - sun is behind a polygon (e.g. sundown for elevated polygons where nDotL might be still ok)\n // - viewer is under water (for this localUp is better than n)\n if(upDotV > 0.0 && upDotL > 0.0) {\n // calculate the cook torrance BRDF but with simplified occlusion\n vec3 specularSun = brdfWater(shadingInfo, roughness, vec3(fresnelMaterial[0]), fresnelMaterial[1]);\n // Normalize light intensity to be between 0...1. Shadow cancels out specular light here\n vec3 incidentLight = lightIntensity * LIGHT_NORMALIZATION * shadow;\n\n specular = shadingInfo.NdotL * incidentLight * specularSun;\n }\n // combining reflected sky, reflected sea and specular highlight.\n return tonemapACES(reflSky + reflSea + specular);\n }\n "], ["\n const vec3 fresnelSky = vec3(0.02, 1.0, 5.0); // f0, f0max, exp\n const vec2 fresnelMaterial = vec2(0.02, 0.1); // f0, f0max for specular term\n const float roughness = 0.06;\n\n const vec3 skyZenitColor = vec3(0, 0.6, 0.9);\n const vec3 skyColor = vec3(0.72, 0.92, 1.0);\n\n PBRShadingWater shadingInfo;\n\n /*\n * This function is an approximation for the sky gradient reflected\n * the water surface and describes a combination of two fresnel terms.\n * @parameter: cosTheta = is the result of max(dot(n,v), 0.0)\n * @parameter: horizon = the dominant color of the sky horizon\n * @parameter: cosTheta = the dominant color of the sky zenit\n */\n vec3 getSkyGradientColor(in float cosTheta, in vec3 horizon, in vec3 zenit) {\n float exponent = pow((1.0 - cosTheta), fresnelSky[2]);\n return mix(zenit, horizon, exponent);\n }\n\n /*\n * This function determines the water color per pixel.\n * @parameter: n = normal facing away from the surface\n * @parameter: v = view direction facing away from the surface.\n * @parameter: l = light direction facing away from the surface\n * @parameter: lightIntensity = light intensity, currently between 0...PI\n * @parameter: localUp = a normal for the general direction of the surface\n * @parameter: shadow = the amount of shadow at this pixel (0 = no shadow)\n */\n vec3 getSeaColor(in vec3 n, in vec3 v, in vec3 l, vec3 color, in vec3 lightIntensity, in vec3 localUp, in float shadow) {\n\n vec3 seaWaterColor = linearizeGamma(color);\n // using half vector to determine the specular light\n vec3 h = normalize(l + v);\n shadingInfo.NdotL = clamp(dot(n, l), 0.0, 1.0);\n shadingInfo.NdotV = clamp(dot(n, v), 0.001, 1.0);\n shadingInfo.VdotN = clamp(dot(v, n), 0.001, 1.0);\n shadingInfo.NdotH = clamp(dot(n, h), 0.0, 1.0);\n shadingInfo.VdotH = clamp(dot(v, h), 0.0, 1.0);\n shadingInfo.LdotH = clamp(dot(l, h), 0.0, 1.0);\n\n // angle between vertex normal and view direction\n float upDotV = max(dot(localUp,v), 0.0);\n // reflected sky color: the reflected sky color consists of two main colors, the\n // reflected color at the horizon and the reflected color of the zenit.\n // the reflected sky color is then an approximation based on the fresnel term.\n vec3 skyHorizon = linearizeGamma(skyColor);\n vec3 skyZenit = linearizeGamma(skyZenitColor);\n vec3 skyColor = getSkyGradientColor(upDotV, skyHorizon, skyZenit );\n\n // we use the upDotL to smoothen out the\n // reflected color of the water\n float upDotL = max(dot(localUp,l),0.0);\n\n // The approximated sky color is adjusted according to the sun position.\n // This is done as approximation for e.g. night views.\n skyColor *= 0.1 + upDotL * 0.9;\n\n // If a water surface is in shadow we just use a slight darkening of the\n // water surface expressed with this shadowModifier.\n float shadowModifier = clamp(shadow, 0.8, 1.0);\n\n // The reflected sky color consists of the fresnel reflection multiplied with the approximated sky color.\n // The shadow is influencing the frensel term to keep the shadow impression for really near views. As long\n // as reflection are absent there is a need to have a slight shadow for depth perception.\n vec3 reflSky = fresnelReflection(shadingInfo.VdotN, vec3(fresnelSky[0]), fresnelSky[1]) * skyColor * shadowModifier;\n\n // The reflected sea color is the input water color combined with the reflected sky color.\n // The reflected sky color is modified by the incoming light.\n vec3 reflSea = seaWaterColor * mix(skyColor, upDotL * lightIntensity * LIGHT_NORMALIZATION, 2.0 / 3.0) * shadowModifier;\n\n vec3 specular = vec3(0.0);\n // This prevents the specular light to be rendered when:\n // - sun is behind a polygon (e.g. sundown for elevated polygons where nDotL might be still ok)\n // - viewer is under water (for this localUp is better than n)\n if(upDotV > 0.0 && upDotL > 0.0) {\n // calculate the cook torrance BRDF but with simplified occlusion\n vec3 specularSun = brdfWater(shadingInfo, roughness, vec3(fresnelMaterial[0]), fresnelMaterial[1]);\n // Normalize light intensity to be between 0...1. Shadow cancels out specular light here\n vec3 incidentLight = lightIntensity * LIGHT_NORMALIZATION * shadow;\n\n specular = shadingInfo.NdotL * incidentLight * specularSun;\n }\n // combining reflected sky, reflected sea and specular highlight.\n return tonemapACES(reflSky + reflSea + specular);\n }\n "])))); } Object.defineProperty(n, "__esModule", { value: !0 }), n.Water = i; var s; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js ***! \*************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryShadingWaterDistortionGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, n, r) { function a(e) { e.fragment.uniforms.add("texWaveNormal", "sampler2D"), e.fragment.uniforms.add("texWavePerturbation", "sampler2D"), e.fragment.uniforms.add("octaveTextureRepeat", "vec3"), e.fragment.uniforms.add("waveParams", "vec4"), e.fragment.uniforms.add("waveDirection", "vec2"), e.fragment.code.add(r.glsl(o || (o = n(["\n // uniform vec3 octaveTextureRepeat;\n\n // // 0: waveStrength\n // // 1: waveTextureRepeat\n // // 2: flowStrength\n // // 3: flowOffset\n // uniform vec4 waveParams;\n\n // uniform vec2 waveDirection;\n\n const vec2 FLOW_JUMP = vec2(6.0/25.0, 5.0/24.0);\n\n vec2 textureDenormalized2D(sampler2D _tex, vec2 _uv) {\n return 2.0 * texture2D(_tex, _uv).rg - 1.0;\n }\n\n float sampleNoiseTexture(vec2 _uv) {\n return texture2D(texWavePerturbation, _uv).b;\n }\n\n vec3 textureDenormalized3D(sampler2D _tex, vec2 _uv) {\n return 2.0 * texture2D(_tex, _uv).rgb - 1.0;\n }\n\n float computeProgress(vec2 uv, float time) {\n return fract(time);\n }\n\n float computeWeight(vec2 uv, float time) {\n float progress = computeProgress(uv, time);\n return 1.0 - abs(1.0 - 2.0 * progress);\n }\n\n vec3 computeUVPerturbedWeigth(sampler2D texFlow, vec2 uv, float time, float phaseOffset) {\n float flowStrength = waveParams[2];\n float flowOffset = waveParams[3];\n\n vec2 flowVector = textureDenormalized2D(texFlow, uv) * flowStrength;\n\n float progress = computeProgress(uv, time + phaseOffset);\n float weight = computeWeight(uv, time + phaseOffset);\n\n vec2 result = uv;\n result -= flowVector * (progress + flowOffset);\n result += phaseOffset;\n result += (time - progress) * FLOW_JUMP;\n\n return vec3(result, weight);\n }\n\n const float TIME_NOISE_TEXTURE_REPEAT = 0.3737;\n const float TIME_NOISE_STRENGTH = 7.77;\n\n vec3 getWaveLayer(sampler2D _texNormal, sampler2D _dudv, vec2 _uv, vec2 _waveDir, float time) {\n float waveStrength = waveParams[0];\n\n // overall directional shift in uv's for directional wave movement for\n // now we do a hard coded scale for wave speed such that a unit length\n // direction is not too fast.\n vec2 waveMovement = time * -_waveDir;\n\n float timeNoise = sampleNoiseTexture(_uv * TIME_NOISE_TEXTURE_REPEAT) * TIME_NOISE_STRENGTH;\n\n // compute two perturbed uvs and blend weights\n // then sample the wave normals at the two positions and blend\n vec3 uv_A = computeUVPerturbedWeigth(_dudv, _uv + waveMovement, time + timeNoise, 0.0);\n vec3 uv_B = computeUVPerturbedWeigth(_dudv, _uv + waveMovement, time + timeNoise, 0.5);\n\n vec3 normal_A = textureDenormalized3D(_texNormal, uv_A.xy) * uv_A.z;\n vec3 normal_B = textureDenormalized3D(_texNormal, uv_B.xy) * uv_B.z;\n\n // logic to flatten the wave pattern\n // scale xy components of the normal, then adjust z (up) component\n vec3 mixNormal = normalize(normal_A + normal_B);\n mixNormal.xy *= waveStrength;\n mixNormal.z = sqrt(1.0 - dot(mixNormal.xy, mixNormal.xy));\n\n return mixNormal;\n }\n\n vec3 getSurfaceNormal(vec2 _uv, float _time) {\n float waveTextureRepeat = waveParams[1];\n return getWaveLayer(texWaveNormal, texWavePerturbation, _uv * waveTextureRepeat, waveDirection, _time);\n }\n "], ["\n // uniform vec3 octaveTextureRepeat;\n\n // // 0: waveStrength\n // // 1: waveTextureRepeat\n // // 2: flowStrength\n // // 3: flowOffset\n // uniform vec4 waveParams;\n\n // uniform vec2 waveDirection;\n\n const vec2 FLOW_JUMP = vec2(6.0/25.0, 5.0/24.0);\n\n vec2 textureDenormalized2D(sampler2D _tex, vec2 _uv) {\n return 2.0 * texture2D(_tex, _uv).rg - 1.0;\n }\n\n float sampleNoiseTexture(vec2 _uv) {\n return texture2D(texWavePerturbation, _uv).b;\n }\n\n vec3 textureDenormalized3D(sampler2D _tex, vec2 _uv) {\n return 2.0 * texture2D(_tex, _uv).rgb - 1.0;\n }\n\n float computeProgress(vec2 uv, float time) {\n return fract(time);\n }\n\n float computeWeight(vec2 uv, float time) {\n float progress = computeProgress(uv, time);\n return 1.0 - abs(1.0 - 2.0 * progress);\n }\n\n vec3 computeUVPerturbedWeigth(sampler2D texFlow, vec2 uv, float time, float phaseOffset) {\n float flowStrength = waveParams[2];\n float flowOffset = waveParams[3];\n\n vec2 flowVector = textureDenormalized2D(texFlow, uv) * flowStrength;\n\n float progress = computeProgress(uv, time + phaseOffset);\n float weight = computeWeight(uv, time + phaseOffset);\n\n vec2 result = uv;\n result -= flowVector * (progress + flowOffset);\n result += phaseOffset;\n result += (time - progress) * FLOW_JUMP;\n\n return vec3(result, weight);\n }\n\n const float TIME_NOISE_TEXTURE_REPEAT = 0.3737;\n const float TIME_NOISE_STRENGTH = 7.77;\n\n vec3 getWaveLayer(sampler2D _texNormal, sampler2D _dudv, vec2 _uv, vec2 _waveDir, float time) {\n float waveStrength = waveParams[0];\n\n // overall directional shift in uv's for directional wave movement for\n // now we do a hard coded scale for wave speed such that a unit length\n // direction is not too fast.\n vec2 waveMovement = time * -_waveDir;\n\n float timeNoise = sampleNoiseTexture(_uv * TIME_NOISE_TEXTURE_REPEAT) * TIME_NOISE_STRENGTH;\n\n // compute two perturbed uvs and blend weights\n // then sample the wave normals at the two positions and blend\n vec3 uv_A = computeUVPerturbedWeigth(_dudv, _uv + waveMovement, time + timeNoise, 0.0);\n vec3 uv_B = computeUVPerturbedWeigth(_dudv, _uv + waveMovement, time + timeNoise, 0.5);\n\n vec3 normal_A = textureDenormalized3D(_texNormal, uv_A.xy) * uv_A.z;\n vec3 normal_B = textureDenormalized3D(_texNormal, uv_B.xy) * uv_B.z;\n\n // logic to flatten the wave pattern\n // scale xy components of the normal, then adjust z (up) component\n vec3 mixNormal = normalize(normal_A + normal_B);\n mixNormal.xy *= waveStrength;\n mixNormal.z = sqrt(1.0 - dot(mixNormal.xy, mixNormal.xy));\n\n return mixNormal;\n }\n\n vec3 getSurfaceNormal(vec2 _uv, float _time) {\n float waveTextureRepeat = waveParams[1];\n return getWaveLayer(texWaveNormal, texWavePerturbation, _uv * waveTextureRepeat, waveDirection, _time);\n }\n "])))); } Object.defineProperty(t, "__esModule", { value: !0 }), t.WaterDistortion = a; var o; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js ***! \**********************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryUtilColorConversionGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, c, n, r) { function v(e, c) { var v = [r.glsl(a || (a = n(["\n vec4 premultiplyAlpha(vec4 v) {\n return vec4(v.rgb * v.a, v.a);\n }\n "], ["\n vec4 premultiplyAlpha(vec4 v) {\n return vec4(v.rgb * v.a, v.a);\n }\n "]))), r.glsl(x || (x = n(["\n vec3 rgb2hsv(vec3 c) {\n vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\n vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\n\n float d = q.x - min(q.w, q.y);\n float e = 1.0e-10;\n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\n }\n "], ["\n vec3 rgb2hsv(vec3 c) {\n vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\n vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\n\n float d = q.x - min(q.w, q.y);\n float e = 1.0e-10;\n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\n }\n "]))), r.glsl(t || (t = n(["\n vec3 hsv2rgb(vec3 c) {\n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\n }\n "], ["\n vec3 hsv2rgb(vec3 c) {\n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\n }\n "]))), r.glsl(o || (o = n(["\n float rgb2v(vec3 c) {\n return max(c.x, max(c.y, c.z));\n }\n "], ["\n float rgb2v(vec3 c) {\n return max(c.x, max(c.y, c.z));\n }\n "])))]; switch (c.stages) { case 0: v.forEach(function (c) { return e.vertex.code.add(c); }); break; case 1: v.forEach(function (c) { return e.fragment.code.add(c); }); break; default: v.forEach(function (c) { return e.vertex.code.add(c); }), v.forEach(function (c) { return e.fragment.code.add(c); }); } } Object.defineProperty(c, "__esModule", { value: !0 }), c.ColorConversion = v; var a, x, t, o; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/DecodeNormal.glsl.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/DecodeNormal.glsl.js ***! \*******************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryUtilDecodeNormalGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n, r, a) { function f(e) { var n = a.glsl(o || (o = r(["\n vec3 decodeNormal(vec2 f) {\n float z = 1.0 - abs(f.x) - abs(f.y);\n return vec3(f + sign(f) * min(z, 0.0), z);\n }\n "], ["\n vec3 decodeNormal(vec2 f) {\n float z = 1.0 - abs(f.x) - abs(f.y);\n return vec3(f + sign(f) * min(z, 0.0), z);\n }\n "]))); e.fragment.code.add(n), e.vertex.code.add(n); } Object.defineProperty(n, "__esModule", { value: !0 }), n.DecodeNormal = f; var o; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/DoublePrecision.glsl.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/DoublePrecision.glsl.js ***! \**********************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryUtilDoublePrecisionGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../../../../../core/has */ "./node_modules/arcgis-js-api/core/has.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js"), __webpack_require__( /*! ../../../lib/WebGLDriverTest */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/WebGLDriverTest.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n, c, i, t, r) { function v(e, n) { n.doublePrecisionRequiresObfuscation ? e.vertex.code.add(t.glsl(l || (l = c(["\n vec3 dpPlusFrc(vec3 a, vec3 b) {\n return mix(a, a + b, vec3(notEqual(b, vec3(0))));\n }\n\n vec3 dpMinusFrc(vec3 a, vec3 b) {\n return mix(vec3(0), a - b, vec3(notEqual(a, b)));\n }\n\n // based on https://www.thasler.com/blog/blog/glsl-part2-emu\n vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\n vec3 t1 = dpPlusFrc(hiA, hiB);\n vec3 e = dpMinusFrc(t1, hiA);\n vec3 t2 = dpMinusFrc(hiB, e) + dpMinusFrc(hiA, dpMinusFrc(t1, e)) + loA + loB;\n return t1 + t2;\n }\n "], ["\n vec3 dpPlusFrc(vec3 a, vec3 b) {\n return mix(a, a + b, vec3(notEqual(b, vec3(0))));\n }\n\n vec3 dpMinusFrc(vec3 a, vec3 b) {\n return mix(vec3(0), a - b, vec3(notEqual(a, b)));\n }\n\n // based on https://www.thasler.com/blog/blog/glsl-part2-emu\n vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\n vec3 t1 = dpPlusFrc(hiA, hiB);\n vec3 e = dpMinusFrc(t1, hiA);\n vec3 t2 = dpMinusFrc(hiB, e) + dpMinusFrc(hiA, dpMinusFrc(t1, e)) + loA + loB;\n return t1 + t2;\n }\n "])))) : e.vertex.code.add(t.glsl(u || (u = c(["\n vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\n vec3 t1 = hiA + hiB;\n vec3 e = t1 - hiA;\n vec3 t2 = ((hiB - e) + (hiA - (t1 - e))) + loA + loB;\n return t1 + t2;\n }\n "], ["\n vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\n vec3 t1 = hiA + hiB;\n vec3 e = t1 - hiA;\n vec3 t2 = ((hiB - e) + (hiA - (t1 - e))) + loA + loB;\n return t1 + t2;\n }\n "])))); } function o(e) { return !!i("force-double-precision-obfuscation") || r.testWebGLDriver(e).doublePrecisionRequiresObfuscation; } Object.defineProperty(n, "__esModule", { value: !0 }), n.DoublePrecision = v, n.doublePrecisionRequiresObfuscation = o; var l, u; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js ***! \***********************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryUtilMixExternalColorGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ./ColorConversion.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n, t, r, i) { function l(e, n) { e.include(r.ColorConversion, n); var l = i.glsl(a || (a = t(["\n vec3 mixExternalColor(vec3 internalColor, vec3 textureColor, vec3 externalColor, int mode) {\n // workaround for artifacts in OSX using Intel Iris Pro\n // see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/10475\n vec3 internalMixed = internalColor * textureColor;\n vec3 allMixed = internalMixed * externalColor;\n\n if (mode == ", ") {\n return allMixed;\n }\n else if (mode == ", ") {\n return internalMixed;\n }\n else if (mode == ", ") {\n return externalColor;\n }\n else {\n // tint (or something invalid)\n float vIn = rgb2v(internalMixed);\n vec3 hsvTint = rgb2hsv(externalColor);\n vec3 hsvOut = vec3(hsvTint.x, hsvTint.y, vIn * hsvTint.z);\n return hsv2rgb(hsvOut);\n }\n }\n\n float mixExternalOpacity(float internalOpacity, float textureOpacity, float externalOpacity, int mode) {\n // workaround for artifacts in OSX using Intel Iris Pro\n // see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/10475\n float internalMixed = internalOpacity * textureOpacity;\n float allMixed = internalMixed * externalOpacity;\n\n if (mode == ", ") {\n return internalMixed;\n }\n else if (mode == ", ") {\n return externalOpacity;\n }\n else {\n // multiply or tint (or something invalid)\n return allMixed;\n }\n }\n "], ["\n vec3 mixExternalColor(vec3 internalColor, vec3 textureColor, vec3 externalColor, int mode) {\n // workaround for artifacts in OSX using Intel Iris Pro\n // see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/10475\n vec3 internalMixed = internalColor * textureColor;\n vec3 allMixed = internalMixed * externalColor;\n\n if (mode == ", ") {\n return allMixed;\n }\n else if (mode == ", ") {\n return internalMixed;\n }\n else if (mode == ", ") {\n return externalColor;\n }\n else {\n // tint (or something invalid)\n float vIn = rgb2v(internalMixed);\n vec3 hsvTint = rgb2hsv(externalColor);\n vec3 hsvOut = vec3(hsvTint.x, hsvTint.y, vIn * hsvTint.z);\n return hsv2rgb(hsvOut);\n }\n }\n\n float mixExternalOpacity(float internalOpacity, float textureOpacity, float externalOpacity, int mode) {\n // workaround for artifacts in OSX using Intel Iris Pro\n // see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/10475\n float internalMixed = internalOpacity * textureOpacity;\n float allMixed = internalMixed * externalOpacity;\n\n if (mode == ", ") {\n return internalMixed;\n }\n else if (mode == ", ") {\n return externalOpacity;\n }\n else {\n // multiply or tint (or something invalid)\n return allMixed;\n }\n }\n "])), i.glsl["int"](1), i.glsl["int"](2), i.glsl["int"](3), i.glsl["int"](2), i.glsl["int"](3)); switch (n.stages) { case 0: e.vertex.code.add(l); break; case 1: e.fragment.code.add(l); break; default: e.vertex.code.add(l), e.fragment.code.add(l); } } Object.defineProperty(n, "__esModule", { value: !0 }), n.MixExternalColor = l; var a; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js": /*!************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js ***! \************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryUtilRgbaFloatEncodingGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (n, t, e, o) { function a(n) { var t = o.glsl(r || (r = e(["\n // This is the maximum float value representable as 32bit fixed point,\n // it is rgba2float(vec4(1)) inlined.\n const float MAX_RGBA_FLOAT =\n 255.0 / 256.0 +\n 255.0 / 256.0 / 256.0 +\n 255.0 / 256.0 / 256.0 / 256.0 +\n 255.0 / 256.0 / 256.0 / 256.0 / 256.0;\n\n // Factors to convert to fixed point, i.e. factors (256^0, 256^1, 256^2, 256^3)\n const vec4 FIXED_POINT_FACTORS = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);\n\n vec4 float2rgba(const float value) {\n // Make sure value is in the domain we can represent\n float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);\n\n // Decompose value in 32bit fixed point parts represented as\n // uint8 rgba components. Decomposition uses the fractional part after multiplying\n // by a power of 256 (this removes the bits that are represented in the previous\n // component) and then converts the fractional part to 8bits.\n vec4 fixedPointU8 = floor(fract(valueInValidDomain * FIXED_POINT_FACTORS) * 256.0);\n\n // Convert uint8 values (from 0 to 255) to floating point representation for\n // the shader\n const float toU8AsFloat = 1.0 / 255.0;\n\n return fixedPointU8 * toU8AsFloat;\n }\n\n // Factors to convert rgba back to float\n const vec4 RGBA_2_FLOAT_FACTORS = vec4(\n 255.0 / (256.0),\n 255.0 / (256.0 * 256.0),\n 255.0 / (256.0 * 256.0 * 256.0),\n 255.0 / (256.0 * 256.0 * 256.0 * 256.0)\n );\n\n float rgba2float(vec4 rgba) {\n // Convert components from 0->1 back to 0->255 and then\n // add the components together with their corresponding\n // fixed point factors, i.e. (256^1, 256^2, 256^3, 256^4)\n return dot(rgba, RGBA_2_FLOAT_FACTORS);\n }\n "], ["\n // This is the maximum float value representable as 32bit fixed point,\n // it is rgba2float(vec4(1)) inlined.\n const float MAX_RGBA_FLOAT =\n 255.0 / 256.0 +\n 255.0 / 256.0 / 256.0 +\n 255.0 / 256.0 / 256.0 / 256.0 +\n 255.0 / 256.0 / 256.0 / 256.0 / 256.0;\n\n // Factors to convert to fixed point, i.e. factors (256^0, 256^1, 256^2, 256^3)\n const vec4 FIXED_POINT_FACTORS = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);\n\n vec4 float2rgba(const float value) {\n // Make sure value is in the domain we can represent\n float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);\n\n // Decompose value in 32bit fixed point parts represented as\n // uint8 rgba components. Decomposition uses the fractional part after multiplying\n // by a power of 256 (this removes the bits that are represented in the previous\n // component) and then converts the fractional part to 8bits.\n vec4 fixedPointU8 = floor(fract(valueInValidDomain * FIXED_POINT_FACTORS) * 256.0);\n\n // Convert uint8 values (from 0 to 255) to floating point representation for\n // the shader\n const float toU8AsFloat = 1.0 / 255.0;\n\n return fixedPointU8 * toU8AsFloat;\n }\n\n // Factors to convert rgba back to float\n const vec4 RGBA_2_FLOAT_FACTORS = vec4(\n 255.0 / (256.0),\n 255.0 / (256.0 * 256.0),\n 255.0 / (256.0 * 256.0 * 256.0),\n 255.0 / (256.0 * 256.0 * 256.0 * 256.0)\n );\n\n float rgba2float(vec4 rgba) {\n // Convert components from 0->1 back to 0->255 and then\n // add the components together with their corresponding\n // fixed point factors, i.e. (256^1, 256^2, 256^3, 256^4)\n return dot(rgba, RGBA_2_FLOAT_FACTORS);\n }\n "]))); n.fragment.code.add(t), n.vertex.code.add(t); } Object.defineProperty(t, "__esModule", { value: !0 }), t.RgbaFloatEncoding = a; var r; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js": /*!****************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js ***! \****************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryUtilScreenSizePerspectiveGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, a, n, r) { function s(e) { e.vertex.code.add(r.glsl(c || (c = n(["\n float screenSizePerspectiveMinSize(float size, vec4 factor) {\n float nonZeroSize = 1.0 - step(size, 0.0);\n\n return (\n factor.z * (\n 1.0 +\n nonZeroSize * // Multiply by nzs ensures if size is 0, then we ignore\n // proportionally scaled padding\n 2.0 * factor.w / (\n size + (1.0 - nonZeroSize) // Adding 1 - nzs ensures we divide either by size, or by 1\n )\n )\n );\n }\n "], ["\n float screenSizePerspectiveMinSize(float size, vec4 factor) {\n float nonZeroSize = 1.0 - step(size, 0.0);\n\n return (\n factor.z * (\n 1.0 +\n nonZeroSize * // Multiply by nzs ensures if size is 0, then we ignore\n // proportionally scaled padding\n 2.0 * factor.w / (\n size + (1.0 - nonZeroSize) // Adding 1 - nzs ensures we divide either by size, or by 1\n )\n )\n );\n }\n "])))), e.vertex.code.add(r.glsl(t || (t = n(["\n float screenSizePerspectiveViewAngleDependentFactor(float absCosAngle) {\n return absCosAngle * absCosAngle * absCosAngle;\n }\n "], ["\n float screenSizePerspectiveViewAngleDependentFactor(float absCosAngle) {\n return absCosAngle * absCosAngle * absCosAngle;\n }\n "])))), e.vertex.code.add(r.glsl(i || (i = n(["\n vec4 screenSizePerspectiveScaleFactor(float absCosAngle, float distanceToCamera, vec4 params) {\n return vec4(min(params.x / (distanceToCamera - params.y), 1.0), screenSizePerspectiveViewAngleDependentFactor(absCosAngle), params.z, params.w);\n }\n "], ["\n vec4 screenSizePerspectiveScaleFactor(float absCosAngle, float distanceToCamera, vec4 params) {\n return vec4(min(params.x / (distanceToCamera - params.y), 1.0), screenSizePerspectiveViewAngleDependentFactor(absCosAngle), params.z, params.w);\n }\n "])))), e.vertex.code.add(r.glsl(o || (o = n(["\n float applyScreenSizePerspectiveScaleFactorFloat(float size, vec4 factor) {\n return max(mix(size * factor.x, size, factor.y), screenSizePerspectiveMinSize(size, factor));\n }\n "], ["\n float applyScreenSizePerspectiveScaleFactorFloat(float size, vec4 factor) {\n return max(mix(size * factor.x, size, factor.y), screenSizePerspectiveMinSize(size, factor));\n }\n "])))), e.vertex.code.add(r.glsl(l || (l = n(["\n float screenSizePerspectiveScaleFloat(float size, float absCosAngle, float distanceToCamera, vec4 params) {\n return applyScreenSizePerspectiveScaleFactorFloat(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));\n }\n "], ["\n float screenSizePerspectiveScaleFloat(float size, float absCosAngle, float distanceToCamera, vec4 params) {\n return applyScreenSizePerspectiveScaleFactorFloat(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));\n }\n "])))), e.vertex.code.add(r.glsl(p || (p = n(["\n vec2 applyScreenSizePerspectiveScaleFactorVec2(vec2 size, vec4 factor) {\n return mix(size * clamp(factor.x, screenSizePerspectiveMinSize(size.y, factor) / size.y, 1.0), size, factor.y);\n }\n "], ["\n vec2 applyScreenSizePerspectiveScaleFactorVec2(vec2 size, vec4 factor) {\n return mix(size * clamp(factor.x, screenSizePerspectiveMinSize(size.y, factor) / size.y, 1.0), size, factor.y);\n }\n "])))), e.vertex.code.add(r.glsl(z || (z = n(["\n vec2 screenSizePerspectiveScaleVec2(vec2 size, float absCosAngle, float distanceToCamera, vec4 params) {\n return applyScreenSizePerspectiveScaleFactorVec2(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));\n }\n "], ["\n vec2 screenSizePerspectiveScaleVec2(vec2 size, float absCosAngle, float distanceToCamera, vec4 params) {\n return applyScreenSizePerspectiveScaleFactorVec2(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));\n }\n "])))); } Object.defineProperty(a, "__esModule", { value: !0 }), a.ScreenSizePerspective = s; var c, t, i, o, l, p, z; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/TextureAtlasLookup.glsl.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/TextureAtlasLookup.glsl.js ***! \*************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderLibraryUtilTextureAtlasLookupGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../../shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, a, d) { function n(e) { e.extensions.add("GL_EXT_shader_texture_lod"), e.extensions.add("GL_OES_standard_derivatives"), e.fragment.code.add(d.glsl(r || (r = a(["\n #ifndef GL_EXT_shader_texture_lod\n float calcMipMapLevel(const vec2 ddx, const vec2 ddy) {\n float deltaMaxSqr = max(dot(ddx, ddx), dot(ddy, ddy));\n return max(0.0, 0.5 * log2(deltaMaxSqr));\n }\n #endif\n\n vec4 textureAtlasLookup(sampler2D texture, vec2 textureSize, vec2 textureCoordinates, vec4 atlasRegion) {\n //[umin, vmin, umax, vmax]\n vec2 atlasScale = atlasRegion.zw - atlasRegion.xy;\n vec2 uvAtlas = fract(textureCoordinates) * atlasScale + atlasRegion.xy;\n\n // calculate derivative of continuous texture coordinate\n // to avoid mipmapping artifacts caused by manual wrapping in shader\n vec2 dUVdx = dFdx(textureCoordinates) * atlasScale;\n vec2 dUVdy = dFdy(textureCoordinates) * atlasScale;\n\n #ifdef GL_EXT_shader_texture_lod\n return texture2DGradEXT(texture, uvAtlas, dUVdx, dUVdy);\n #else\n // use bias to compensate for difference in automatic vs desired mipmap level\n vec2 dUVdxAuto = dFdx(uvAtlas);\n vec2 dUVdyAuto = dFdy(uvAtlas);\n float mipMapLevel = calcMipMapLevel(dUVdx * textureSize, dUVdy * textureSize);\n float autoMipMapLevel = calcMipMapLevel(dUVdxAuto * textureSize, dUVdyAuto * textureSize);\n\n return texture2D(texture, uvAtlas, mipMapLevel - autoMipMapLevel);\n #endif\n }\n "], ["\n #ifndef GL_EXT_shader_texture_lod\n float calcMipMapLevel(const vec2 ddx, const vec2 ddy) {\n float deltaMaxSqr = max(dot(ddx, ddx), dot(ddy, ddy));\n return max(0.0, 0.5 * log2(deltaMaxSqr));\n }\n #endif\n\n vec4 textureAtlasLookup(sampler2D texture, vec2 textureSize, vec2 textureCoordinates, vec4 atlasRegion) {\n //[umin, vmin, umax, vmax]\n vec2 atlasScale = atlasRegion.zw - atlasRegion.xy;\n vec2 uvAtlas = fract(textureCoordinates) * atlasScale + atlasRegion.xy;\n\n // calculate derivative of continuous texture coordinate\n // to avoid mipmapping artifacts caused by manual wrapping in shader\n vec2 dUVdx = dFdx(textureCoordinates) * atlasScale;\n vec2 dUVdy = dFdy(textureCoordinates) * atlasScale;\n\n #ifdef GL_EXT_shader_texture_lod\n return texture2DGradEXT(texture, uvAtlas, dUVdx, dUVdy);\n #else\n // use bias to compensate for difference in automatic vs desired mipmap level\n vec2 dUVdxAuto = dFdx(uvAtlas);\n vec2 dUVdyAuto = dFdy(uvAtlas);\n float mipMapLevel = calcMipMapLevel(dUVdx * textureSize, dUVdy * textureSize);\n float autoMipMapLevel = calcMipMapLevel(dUVdxAuto * textureSize, dUVdyAuto * textureSize);\n\n return texture2D(texture, uvAtlas, mipMapLevel - autoMipMapLevel);\n #endif\n }\n "])))); } Object.defineProperty(t, "__esModule", { value: !0 }), t.TextureAtlasLookup = n; var r; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js": /*!**********************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js ***! \**********************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderModulesShaderBuilderJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/iteratorUtils */ "./node_modules/arcgis-js-api/core/iteratorUtils.js"), __webpack_require__( /*! ../../../../../core/Logger */ "./node_modules/arcgis-js-api/core/Logger.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n, t, r) { Object.defineProperty(n, "__esModule", { value: !0 }); var i = r.getLogger("esri.views.3d.webgl-engine.core.shaderModules.shaderBuilder"), o = function () { function e() { this.vertex = new a(), this.fragment = new a(), this.attributes = new c(), this.varyings = new d(), this.extensions = new f(), this.defines = new h(), this._includedModules = new Map(); } return e.prototype.include = function (e, n) { if (this._includedModules.has(e)) return void (this._includedModules.get(e) !== n && i.error("Trying to include shader module multiple times with different sets of options.")); this._includedModules.set(e, n), "shaderModule" in e ? e.shaderModule(this, n) : e(this, n); }, e.prototype.generateSource = function (e) { var n = this.extensions.generateSource(e), t = this.attributes.generateSource(e), r = this.varyings.generateSource(), i = "vertex" === e ? this.vertex : this.fragment, o = i.uniforms.generateSource(), s = i.code.generateSource(), u = "vertex" === e ? _ : p, a = this.defines.generateSource().concat(i.defines.generateSource()); return "\n" + n.join("\n") + "\n\n" + a.join("\n") + "\n\n" + u + "\n\n" + o.join("\n") + "\n\n" + t.join("\n") + "\n\n" + r.join("\n") + "\n\n" + s.join("\n"); }, e; }(); n.ShaderBuilder = o; var s = function () { function e() { this._entries = new Array(), this._set = new Set(); } return e.prototype.add = function (e, n, t) { var r = e + "_" + n + "_" + t; return this._set.has(r) || (this._entries.push([e, n, t]), this._set.add(r)), this; }, e.prototype.generateSource = function () { var e = function e(_e) { return _e ? "[" + _e + "]" : ""; }; return this._entries.map(function (n) { return "uniform " + n[1] + " " + n[0] + e(n[2]) + ";"; }); }, e; }(), u = function () { function e() { this._entries = new Array(); } return e.prototype.add = function (e) { this._entries.push(e); }, e.prototype.generateSource = function () { return this._entries; }, e; }(), a = function () { function e() { this.uniforms = new s(), this.code = new u(), this.defines = new h(); } return e; }(), c = function () { function e() { this._entries = new Array(); } return e.prototype.add = function (e, n) { this._entries.push([e, n]); }, e.prototype.generateSource = function (e) { return "fragment" === e ? [] : this._entries.map(function (e) { return "attribute " + e[1] + " " + e[0] + ";"; }); }, e; }(), d = function () { function e() { this._entries = new Array(); } return e.prototype.add = function (e, n) { this._entries.push([e, n]); }, e.prototype.generateSource = function () { return this._entries.map(function (e) { return "varying " + e[1] + " " + e[0] + ";"; }); }, e; }(), f = function () { function e() { this._entries = new Set(); } return e.prototype.add = function (e) { this._entries.add(e); }, e.prototype.generateSource = function (n) { var r = "vertex" === n ? e.WHITELIST_VERTEX : e.WHITELIST_FRAGMENT; return t.valuesOfSet(this._entries).filter(function (e) { return r.indexOf(e) >= 0; }).map(function (e) { return "#extension " + e + " : enable"; }); }, e.WHITELIST_FRAGMENT = ["GL_EXT_shader_texture_lod", "GL_OES_standard_derivatives"], e.WHITELIST_VERTEX = [], e; }(), h = function () { function e() { this._entries = new Map(); } return e.prototype.addInt = function (e, n) { var t = n % 1 == 0 ? n.toFixed(0) : n.toString(); this._entries.set(e, t); }, e.prototype.addFloat = function (e, n) { var t = n % 1 == 0 ? n.toFixed(1) : n.toString(); this._entries.set(e, t); }, e.prototype.generateSource = function () { return t.pairsOfMap(this._entries).map(function (e) { return "#define " + e[0] + " " + e[1]; }); }, e; }(), p = "#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n precision highp sampler2D;\n#else\n precision mediump float;\n precision mediump sampler2D;\n#endif", _ = "precision highp float;\nprecision highp sampler2D;"; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js": /*!*******************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js ***! \*******************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderModulesInterfacesJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports], __WEBPACK_AMD_DEFINE_RESULT__ = function (n, e) { function t(n) { for (var e = [], t = 1; t < arguments.length; t++) e[t - 1] = arguments[t]; for (var r = "", l = 0; l < e.length; l++) r += n[l] + e[l]; return r += n[n.length - 1]; } Object.defineProperty(e, "__esModule", { value: !0 }), e.glsl = t, function (n) { function e(n) { return Math.round(n).toString(); } n["int"] = e; }(t = e.glsl || (e.glsl = {})); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ReloadableShaderModule.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ReloadableShaderModule.js ***! \*********************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderTechniqueReloadableShaderModuleJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/promiseUtils */ "./node_modules/arcgis-js-api/core/promiseUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, i, r) { Object.defineProperty(i, "__esModule", { value: !0 }); var t = function () { function e(e, i, r) { this._relativePath = i, this._moduleRequire = r, this._module = e; } return e.prototype.get = function () { return this._module; }, e.prototype.reload = function () { var e = this, i = this._moduleRequire.toUrl(this._relativePath); return i = i.slice(i.indexOf("esri/")), this._recursivelyInvalidateModuleCache(i), r.create(function (i) { e._moduleRequire([e._relativePath], function (r) { e._module = r, i(); }); }); }, e.prototype._recursivelyInvalidateModuleCache = function (e) { if (-1 !== e.search("shader") || -1 !== e.search("shading")) { var i = this._moduleRequire.modules, r = i[e]; if (r) { var t = r.deps; delete i[e]; for (var o = 0, u = t; o < u.length; o++) { var a = u[o]; "esri" === a.pid && this._recursivelyInvalidateModuleCache(a.mid); } } } }, e; }(); i.ReloadableShaderModule = t; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js": /*!**************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js ***! \**************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderTechniqueShaderTechniqueJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports], __WEBPACK_AMD_DEFINE_RESULT__ = function (r, e) { function o(r) { var e = r.__proto__.__configurationParameters, o = {}; o.key = r.key; for (var i = 0, t = e; i < t.length; i++) { var n = t[i]; o[n] = r[n]; } return o; } Object.defineProperty(e, "__esModule", { value: !0 }); var i = function () { function r(r, e) { this._commonUniformStore = r.commonUniformStore, this._config = o(e), this._program = this.initializeProgram(r), this._commonUniformStore.subscribeProgram(this._program), this._pipeline = this.initializePipeline(r); } return r.prototype.dispose = function () { this._program && (this._commonUniformStore.unsubscribeProgram(this._program), this._program.dispose(), this._program = null); }, r.prototype.reload = function (r) { this._program && (this._commonUniformStore.unsubscribeProgram(this._program), this._program.dispose()), this._program = this.initializeProgram(r), this._commonUniformStore.subscribeProgram(this._program); }, Object.defineProperty(r.prototype, "program", { get: function get() { return this._program; }, enumerable: !0, configurable: !0 }), Object.defineProperty(r.prototype, "pipeline", { get: function get() { return this._pipeline; }, enumerable: !0, configurable: !0 }), Object.defineProperty(r.prototype, "key", { get: function get() { return this._config.key; }, enumerable: !0, configurable: !0 }), Object.defineProperty(r.prototype, "configuration", { get: function get() { return this._config; }, enumerable: !0, configurable: !0 }), r.prototype.bindPass = function (r, e, o) {}, r.prototype.bindMaterial = function (r, e) {}, r.prototype.bindDraw = function (r) {}, r; }(); e.ShaderTechnique = i; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js ***! \***************************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineCoreShaderTechniqueShaderTechniqueConfigurationJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/mathUtils */ "./node_modules/arcgis-js-api/core/mathUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r) { function i(e) { return void 0 === e && (e = {}), function (t, i) { var o = t; o.__configurationParameters = o.__configurationParameters || [], o.__configurationParameters.push(i); var n = "_" + i; void 0 === o.__configurationParameters__offset && (o.__configurationParameters__offset = 0); var a = o.__configurationParameters__offset, f = e.count || 2, u = Math.ceil(r.log2(f)), s = (1 << u) - 1, _ = s << a; if (o.__configurationParameters__offset += u, o.__configurationParameters__offset >= 32) throw new Error("ShaderTechniqueConfiguration is too complex, requiring more than 32 bits to encode.\n Either the configuration must be simplified, or this restriction must be relaxed.(Currently used: " + o.__configurationParameters__offset + ")"); Object.defineProperty(o, i, { get: function get() { return this[n]; }, set: function set(e) { this.key = this.key & ~_ | e << a & _, this[n] = e; } }); }; } Object.defineProperty(t, "__esModule", { value: !0 }); var o = function () { function e() { this.key = 0; } return e; }(); t.ShaderTechniqueConfiguration = o, t.parameter = i; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/AutoDisposable.js": /*!********************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/AutoDisposable.js ***! \********************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibAutoDisposableJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/tsSupport/declareExtendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__( /*! ../../../../core/tsSupport/decorateHelper */ "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__( /*! ../../../../core/accessorSupport/decorators */ "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, s, i, o, t) { function n() { return function (e, s) { e.__managedDisposables__ = e.__managedDisposables__ || [], e.__managedDisposables__.push(s); }; } Object.defineProperty(s, "__esModule", { value: !0 }), s.AutoDisposableMixin = function (e) { return function (e) { function s() { var s = null !== e && e.apply(this, arguments) || this; return s._isDisposed = !1, s; } return i(s, e), s.prototype.dispose = function () { for (var e = this.__proto__.__managedDisposables__ || [], s = e.length - 1; s >= 0; s--) { var i = e[s]; this[i] && "function" == typeof this[i].dispose && this[i].dispose(), this[i] = null; } this._isDisposed = !0; }, Object.defineProperty(s.prototype, "isDisposed", { get: function get() { return this._isDisposed; }, enumerable: !0, configurable: !0 }), s = o([t.subclass("esri.views.3d.webgl-engine.lib.AutoDisposableMixin")], s); }(t.declared(e)); }; var r = function (e) { function s() { return null !== e && e.apply(this, arguments) || this; } return i(s, e), s = o([t.subclass("esri.views.3d.webgl-engine.lib.AutoDisposable")], s); }(t.declared(s.AutoDisposableMixin(function () { function e() {} return e; }()))); s.AutoDisposable = r, s.autoDispose = n; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/BoundingInfo.js": /*!******************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/BoundingInfo.js ***! \******************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibBoundingInfoJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/PooledArray */ "./node_modules/arcgis-js-api/core/PooledArray.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ./Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (i, t, e, s, r, n) { var h = function () { function i(t, e, h, a) { this.primitiveIndices = t, this._numIndexPerPrimitive = e, this.indices = h, this._position = a, this.center = r.vec3f64.create(), n.assert(t.length >= 1), n.assert(h.length % this._numIndexPerPrimitive == 0), n.assert(h.length >= t.length * this._numIndexPerPrimitive), n.assert(3 === this._position.size || 4 === this._position.size); var b = this._position, o = b.data, c = b.offsetIdx, d = b.strideIdx, u = 0, v = t.length, m = c + d * h[this._numIndexPerPrimitive * t[u]]; for (i.tmpIndices.clear(), i.tmpIndices.push(m), this.bbMin = r.vec3f64.fromValues(o[m], o[m + 1], o[m + 2]), this.bbMax = r.vec3f64.clone(this.bbMin); u < v; ++u) for (var p = this._numIndexPerPrimitive * t[u], M = 0; M < this._numIndexPerPrimitive; ++M) { m = c + d * h[p + M], i.tmpIndices.push(m); var f = o[m]; this.bbMin[0] = Math.min(f, this.bbMin[0]), this.bbMax[0] = Math.max(f, this.bbMax[0]), f = o[m + 1], this.bbMin[1] = Math.min(f, this.bbMin[1]), this.bbMax[1] = Math.max(f, this.bbMax[1]), f = o[m + 2], this.bbMin[2] = Math.min(f, this.bbMin[2]), this.bbMax[2] = Math.max(f, this.bbMax[2]); } s.vec3.lerp(this.center, this.bbMin, this.bbMax, .5), this.bsRadius = .5 * Math.max(Math.max(this.bbMax[0] - this.bbMin[0], this.bbMax[1] - this.bbMin[1]), this.bbMax[2] - this.bbMin[2]); var x = this.bsRadius * this.bsRadius; for (u = 0; u < i.tmpIndices.length; ++u) { m = i.tmpIndices.data[u]; var l = o[m] - this.center[0], I = o[m + 1] - this.center[1], P = o[m + 2] - this.center[2], _ = l * l + I * I + P * P; if (!(_ <= x)) { var g = Math.sqrt(_), y = .5 * (g - this.bsRadius); this.bsRadius = this.bsRadius + y, x = this.bsRadius * this.bsRadius; var R = y / g; this.center[0] += l * R, this.center[1] += I * R, this.center[2] += P * R; } } i.tmpIndices.clear(); } return i.prototype.getCenter = function () { return this.center; }, i.prototype.getBSRadius = function () { return this.bsRadius; }, i.prototype.getBBMin = function () { return this.bbMin; }, i.prototype.getBBMax = function () { return this.bbMax; }, i.prototype.getPrimitiveIndices = function () { return this.primitiveIndices; }, i.prototype.getIndices = function () { return this.indices; }, i.prototype.getPosition = function () { return this._position; }, i.prototype.getChildren = function () { if (this._children) return this._children; if (s.vec3.squaredDistance(this.bbMin, this.bbMax) > 1) { for (var t = s.vec3.lerp(r.vec3f64.create(), this.bbMin, this.bbMax, .5), e = this.primitiveIndices.length, n = new Uint8Array(e), h = new Array(8), a = 0; a < 8; ++a) h[a] = 0; for (var b = this._position, o = b.data, c = b.offsetIdx, d = b.strideIdx, a = 0; a < e; ++a) { for (var u = 0, v = this._numIndexPerPrimitive * this.primitiveIndices[a], m = c + d * this.indices[v], p = o[m], M = o[m + 1], f = o[m + 2], x = 1; x < this._numIndexPerPrimitive; ++x) { m = c + d * this.indices[v + x]; var l = o[m], I = o[m + 1], P = o[m + 2]; l < p && (p = l), I < M && (M = I), P < f && (f = P); } p < t[0] && (u |= 1), M < t[1] && (u |= 2), f < t[2] && (u |= 4), n[a] = u, ++h[u]; } for (var _ = 0, a = 0; a < 8; ++a) h[a] > 0 && ++_; if (_ < 2) return; for (var g = new Array(8), a = 0; a < 8; ++a) g[a] = h[a] > 0 ? new Uint32Array(h[a]) : void 0; for (var a = 0; a < 8; ++a) h[a] = 0; for (var a = 0; a < e; ++a) { var u = n[a]; g[u][h[u]++] = this.primitiveIndices[a]; } this._children = new Array(8); for (var a = 0; a < 8; ++a) void 0 !== g[a] && (this._children[a] = new i(g[a], this._numIndexPerPrimitive, this.indices, this._position)); } return this._children; }, i; }(); return function (i) { i.tmpIndices = new e({ deallocator: null }); }(h || (h = {})), h; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultTextureUnits.js": /*!*************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultTextureUnits.js ***! \*************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibDefaultTextureUnitsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, O) { Object.defineProperty(O, "__esModule", { value: !0 }), O.DefaultTextureUnits = { DIFFUSE: 0, COMPONENT_COLOR: 1, NORMAL: 2, EMISSION: 3, OCCLUSION: 4, METALLIC_ROUGHNESS: 5 }; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js": /*!*************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js ***! \*************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibDefaultVertexAttributeLocationsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, o) { Object.defineProperty(o, "__esModule", { value: !0 }), o.Default3D = { position: 0, normal: 1, normalCompressed: 1, uv0: 2, color: 3, instanceColor: 3, size: 4, tangent: 4, auxpos1: 5, symbolColor: 5, componentIndex: 5, auxpos2: 6, featureAttribute: 6, instanceFeatureAttribute: 6, region: 7, model: 8, modelNormal: 12, modelOriginHi: 11, modelOriginLo: 15 }; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js": /*!********************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js ***! \********************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibDefaultVertexBufferLayoutsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, o) { Object.defineProperty(o, "__esModule", { value: !0 }), o.Pos3 = [{ name: "position", count: 3, type: 5126, offset: 0, stride: 12, normalized: !1 }], o.Pos3Tex = [{ name: "position", count: 3, type: 5126, offset: 0, stride: 20, normalized: !1 }, { name: "uv0", count: 2, type: 5126, offset: 12, stride: 20, normalized: !1 }], o.Pos3NormalTex = [{ name: "position", count: 3, type: 5126, offset: 0, stride: 32, normalized: !1 }, { name: "normal", count: 3, type: 5126, offset: 12, stride: 32, normalized: !1 }, { name: "uv0", count: 2, type: 5126, offset: 24, stride: 32, normalized: !1 }], o.Pos3Col = [{ name: "position", count: 3, type: 5126, offset: 0, stride: 16, normalized: !1 }, { name: "color", count: 4, type: 5121, offset: 12, stride: 16, normalized: !1 }], o.Pos2 = [{ name: "position", count: 2, type: 5126, offset: 0, stride: 8, normalized: !1 }], o.Pos2Tex = [{ name: "position", count: 2, type: 5126, offset: 0, stride: 16, normalized: !1 }, { name: "uv0", count: 2, type: 5126, offset: 8, stride: 16, normalized: !1 }]; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GLMaterial.js": /*!****************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GLMaterial.js ***! \****************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibGLMaterialJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/tsSupport/declareExtendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__( /*! ../../../../core/tsSupport/decorateHelper */ "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__( /*! ../../../../core/accessorSupport/decorators */ "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__( /*! ./AutoDisposable */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/AutoDisposable.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, o, i, s) { Object.defineProperty(t, "__esModule", { value: !0 }); var n = function (e) { function t(t) { var r = e.call(this) || this; return r.material = t.material, r.programRep = t.programRep, r.techniqueRep = t.techniqueRep, r; } return r(t, e), t.prototype.isVisible = function () { return this.material.isVisible(); }, t.prototype.isVisibleInPass = function (e) { return this.material.isVisibleInPass(e); }, t.prototype.getPrograms = function () { return [this.getProgram()]; }, t.prototype.getDrawMode = function () { return 4; }, t.prototype.ensureResources = function (e) { return 0; }, t.prototype.ensureAttributeLocations = function (e) { this.getProgram().assertCompatibleVertexAttributeLocations(e); }, t = o([i.subclass("esri.views.3d.webgl-engine.lib.GLMaterial")], t); }(i.declared(s.AutoDisposable)); t.GLMaterial = n; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GLMaterialTexture.js": /*!***********************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GLMaterialTexture.js ***! \***********************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibGLMaterialTextureJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/tsSupport/assignHelper */ "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__( /*! ../../../../core/tsSupport/extendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/extendsHelper.js"), __webpack_require__( /*! ./DefaultTextureUnits */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultTextureUnits.js"), __webpack_require__( /*! ./GLMaterial */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GLMaterial.js"), __webpack_require__( /*! ../materials/internal/MaterialUtil */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/MaterialUtil.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, i, u, n, s) { var x = function (e) { function t(t) { var r = e.call(this, t) || this, i = t.textureRep; r.textureRep = i, r.textureId = t.textureId, r.initTransparent = !!t.initTextureTransparent; var u = function u(e) { return s.acquireIfNotUndefined(e, i, r.initTransparent); }; return r.glTextureRef = u(r.textureId), t.normalTextureId && (r.glTextureRefNormal = u(t.normalTextureId)), t.emissiveTextureId && (r.glTextureRefEmission = u(t.emissiveTextureId)), t.occlusionTextureId && (r.glTextureRefOcclusion = u(t.occlusionTextureId)), t.metallicRoughnessTextureId && (r.glTextureRefRoughnessMetallness = u(t.metallicRoughnessTextureId)), r; } return i(t, e), t.prototype.dispose = function () { s.releaseIfNotUndefined(this.textureId, this.textureRep); }, t.prototype.updateTexture = function (e) { e !== this.textureId && (s.releaseIfNotUndefined(this.textureId, this.textureRep), this.textureId = e, this.glTextureRef = s.acquireIfNotUndefined(this.textureId, this.textureRep, this.initTransparent)); }, t.prototype.bindTexture = function (e, t) { null != this.glTextureRef && (t.setUniform1i("tex", u.DefaultTextureUnits.DIFFUSE), e.bindTexture(this.glTextureRef.getGLTexture(), u.DefaultTextureUnits.DIFFUSE)), this.glTextureRefNormal && (t.setUniform1i("normalTexture", u.DefaultTextureUnits.NORMAL), e.bindTexture(this.glTextureRefNormal.getGLTexture(), u.DefaultTextureUnits.NORMAL)), this.glTextureRefEmission && (t.setUniform1i("texEmission", u.DefaultTextureUnits.EMISSION), e.bindTexture(this.glTextureRefEmission.getGLTexture(), u.DefaultTextureUnits.EMISSION)), this.glTextureRefOcclusion && (t.setUniform1i("texOcclusion", u.DefaultTextureUnits.OCCLUSION), e.bindTexture(this.glTextureRefOcclusion.getGLTexture(), u.DefaultTextureUnits.OCCLUSION)), this.glTextureRefRoughnessMetallness && (t.setUniform1i("texMetallicRoughness", u.DefaultTextureUnits.METALLIC_ROUGHNESS), e.bindTexture(this.glTextureRefRoughnessMetallness.getGLTexture(), u.DefaultTextureUnits.METALLIC_ROUGHNESS)); }, t.prototype.bindTextureScale = function (e, t) { var r = this.glTextureRef && this.glTextureRef.getGLTexture(); r && r.descriptor.textureCoordinateScaleFactor ? t.setUniform2fv("textureCoordinateScaleFactor", r.descriptor.textureCoordinateScaleFactor) : t.setUniform2f("textureCoordinateScaleFactor", 1, 1); }, t; }(n.GLMaterial); return function (e) { function t(e, t) { return r({}, e, t); } e.makeCtorParameters = t; }(x || (x = {})), x; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Geometry.js": /*!**************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Geometry.js ***! \**************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibGeometryJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ./BoundingInfo */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/BoundingInfo.js"), __webpack_require__( /*! ./ComponentUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/ComponentUtils.js"), __webpack_require__( /*! ./geometryDataUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/geometryDataUtils.js"), __webpack_require__( /*! ./IdGen */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IdGen.js"), __webpack_require__( /*! ./Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js"), __webpack_require__( /*! ./Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, n, o, i, r, a, u) { return function () { function t(e, n, o) { this.singleUse = !1, this._boundingInfo = null, this._componentAABBs = null, this._id = t.__idGen.gen(n), this._data = e, this._boundingInfo = o; } return Object.defineProperty(t.prototype, "id", { get: function get() { return this._id; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "data", { get: function get() { return this._data; }, enumerable: !0, configurable: !0 }), t.prototype.getIndices = function (t) { return this.data.getIndices(t); }, Object.defineProperty(t.prototype, "indexCount", { get: function get() { return this.data.indexCount; }, enumerable: !0, configurable: !0 }), t.prototype.getAttribute = function (t) { return this.data.getAttribute(t); }, Object.defineProperty(t.prototype, "componentCount", { get: function get() { return o.componentCount(this.data.componentOffsets); }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "componentOffsets", { get: function get() { return this.data.componentOffsets; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "vertexCount", { get: function get() { return this.data.indexCount; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "faceCount", { get: function get() { return this.data.indexCount / 3; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "boundingInfo", { get: function get() { return null == this._boundingInfo && (this._boundingInfo = this._calculateBoundingInfo()), this._boundingInfo; }, enumerable: !0, configurable: !0 }), t.prototype.computeAttachmentOrigin = function (t) { return "triangle" === this.data.primitiveType ? this.computeAttachmentOriginTriangles(t) : this.computeAttachmentOriginPoints(t); }, t.prototype.computeAttachmentOriginTriangles = function (t) { var e = this.getIndices(u.VertexAttrConstants.POSITION), n = this.getAttribute(u.VertexAttrConstants.POSITION); return i.computeAttachmentOriginTriangles(n, e, t); }, t.prototype.computeAttachmentOriginPoints = function (t) { var e = this.getIndices(u.VertexAttrConstants.POSITION), n = this.getAttribute(u.VertexAttrConstants.POSITION); return i.computeAttachmentOriginPoints(n, e, t); }, t.prototype.invalidateBoundingInfo = function () { this._boundingInfo = null, this._componentAABBs = null; }, t.prototype.getComponentAABB = function (t, e) { null == this._componentAABBs && (this._componentAABBs = this._computeComponentAABBs()); for (var n = 0; n < 6; n++) e[n] = this._componentAABBs[6 * t + n]; return e; }, t.prototype._computeComponentAABBs = function () { for (var t = this.componentCount, e = new Float32Array(6 * t), n = 0; n < t; n++) this._calculateAABB(n, e, 6 * n); return e; }, t.prototype._calculateAABB = function (t, e, n) { for (var o = this.data.getIndices(u.VertexAttrConstants.POSITION), i = this.data.getAttribute(u.VertexAttrConstants.POSITION), r = this.data.componentOffsets, a = r.length ? r[t] : 0, s = r.length ? r[t + 1] : o.length, c = 1 / 0, p = 1 / 0, d = 1 / 0, f = -1 / 0, g = -1 / 0, h = -1 / 0, l = i.offsetIdx, m = i.strideIdx, A = a; A < s; A++) { var b = l + m * o[A], I = i.data[b], O = i.data[b + 1], y = i.data[b + 2]; c = Math.min(c, I), p = Math.min(p, O), d = Math.min(d, y), f = Math.max(f, I), g = Math.max(g, O), h = Math.max(h, y); } e[n] = c, e[n + 1] = p, e[n + 2] = d, e[n + 3] = f, e[n + 4] = g, e[n + 5] = h; }, t.prototype._calculateBoundingInfo = function () { var t = this.data.getIndices(u.VertexAttrConstants.POSITION), e = this.data.getAttribute(u.VertexAttrConstants.POSITION), o = "triangle" === this.data.primitiveType ? 3 : 1; if (0 === t.length) { t = new Uint32Array(o); for (var r = 0; r < o; ++r) t[r] = r; } var s = t.length; a.assert(s % o == 0, "Indexing error: " + s.toFixed(0) + " not divisible by " + o.toFixed(0)); var c = i.generateDefaultIndexArray(s / o); return new n(c, o, t, e); }, t.__idGen = new r.IdGen(), t; }(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryData.js": /*!******************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryData.js ***! \******************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibGeometryDataJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ./ComponentUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/ComponentUtils.js"), __webpack_require__( /*! ./geometryDataUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/geometryDataUtils.js"), __webpack_require__( /*! ./Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, i, r, n) { function s(t) { var e = n.getFirstObjectValue(t); return null == e ? 0 : e.data.length / e.size; } Object.defineProperty(e, "__esModule", { value: !0 }); var o = function () { function t(e, n, o, a) { void 0 === n && (n = t.DefaultIndices), void 0 === o && (o = t.DefaultOffsets), void 0 === a && (a = "triangle"), this.preinterleaved = !1; var u = {}; for (var f in e) { var c = e[f], d = c.data, p = c.size; u[f] = { data: d, size: p, offsetIdx: 0, strideIdx: p }; } if (n === t.DefaultIndices) { var l = s(u), h = r.generateDefaultIndexArray(l); n = {}; for (var g in u) n[g] = h; } this._id = r.getNewId(), this._vertexAttributes = u, this._indices = n, this._componentOffsets = i.createOffsets(o), this._primitiveType = a; } return Object.defineProperty(t.prototype, "id", { get: function get() { return this._id; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "vertexAttributes", { get: function get() { return this._vertexAttributes; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "indices", { get: function get() { return this._indices; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "componentOffsets", { get: function get() { return this._componentOffsets; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "indexCount", { get: function get() { var t = n.getFirstObjectValue(this._indices); return null == t ? 0 : t.length; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "primitiveType", { get: function get() { return this._primitiveType; }, enumerable: !0, configurable: !0 }), t.prototype.getVertexAttr = function () { return this.vertexAttributes; }, t.prototype.toRenderData = function () { return { id: this._id.toString(), preinterleaved: !1, indices: this._indices, vertexAttr: this._vertexAttributes }; }, t.prototype.getIndices = function (t) { return this._indices[t]; }, t.prototype.getAttribute = function (t) { return this._vertexAttributes[t]; }, t.prototype.estimateGpuMemoryUsage = function () { var t = 0; if (this._indices[n.VertexAttrConstants.POSITION]) { var e = 3; t += this._indices[n.VertexAttrConstants.POSITION].length * e * 4; } if (this._indices[n.VertexAttrConstants.NORMAL]) { var e = 3; t += this._indices[n.VertexAttrConstants.NORMAL].length * e * 4; } if (this._indices[n.VertexAttrConstants.UV0]) { var e = 2; t += this._indices[n.VertexAttrConstants.UV0].length * e * 4; } if (this._indices[n.VertexAttrConstants.COLOR]) { var e = 1; t += this._indices[n.VertexAttrConstants.COLOR].length * e * 4; } return t; }, t.DefaultIndices = {}, t.DefaultOffsets = new Uint32Array(0), t; }(); e.GeometryData = o; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryRecord.js": /*!********************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryRecord.js ***! \********************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibGeometryRecordJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/ObjectPool */ "./node_modules/arcgis-js-api/core/ObjectPool.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ./IdGen */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IdGen.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, r, i, n, e) { return function () { function t(r, i, n, e, o, a) { this.id = t._idGen.gen(r && r.id), this.geometry = r, this.material = i, this.transformation = n, this.instanceParameters = e, this.origin = o, this.shaderTransformation = a; } return t.prototype.getStaticTransformation = function () { return this.transformation; }, t.prototype.getShaderTransformation = function () { return this.shaderTransformation ? this.shaderTransformation(this.transformation) : this.transformation; }, t.prototype.computeAttachmentOrigin = function (t) { return !!(this.material.computeAttachmentOrigin ? this.material.computeAttachmentOrigin(this.geometry, t) : this.geometry.computeAttachmentOrigin(t)) && (n.vec3.transformMat4(t, t, this.getStaticTransformation()), !0); }, t._idGen = new e.IdGen(), t.pool = new i(t, !0), t; }(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryUtil.js": /*!******************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryUtil.js ***! \******************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibGeometryUtilJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3f32 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f32.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ../../support/geometryUtils */ "./node_modules/arcgis-js-api/views/3d/support/geometryUtils.js"), __webpack_require__( /*! ./BufferVectorMath */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/BufferVectorMath.js"), __webpack_require__( /*! ./GeometryData */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryData.js"), __webpack_require__( /*! ./Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, r, a, n, o, s, c, v) { var l, i = s.Vec3Compact; !function (t) { function e(t) { Array.isArray(t) || (t = [t, t, t]); for (var e = new Float32Array(24), r = 0; r < 8; r++) e[3 * r] = a[r][0] * t[0], e[3 * r + 1] = a[r][1] * t[1], e[3 * r + 2] = a[r][2] * t[2]; var i = {}; i[v.VertexAttrConstants.POSITION] = new Uint32Array(s), i[v.VertexAttrConstants.NORMAL] = new Uint32Array(l), i[v.VertexAttrConstants.UV0] = new Uint32Array(f); var A = {}; return A[v.VertexAttrConstants.POSITION] = { size: 3, data: e }, A[v.VertexAttrConstants.NORMAL] = { size: 3, data: new Float32Array(n) }, A[v.VertexAttrConstants.UV0] = { size: 2, data: new Float32Array(o) }, new c.GeometryData(A, i); } for (var r = .5, a = [[-r, -r, r], [r, -r, r], [r, r, r], [-r, r, r], [-r, -r, -r], [r, -r, -r], [r, r, -r], [-r, r, -r]], n = [0, 0, 1, -1, 0, 0, 1, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, -1], o = [0, 0, 1, 0, 1, 1, 0, 1], s = [0, 1, 2, 2, 3, 0, 4, 0, 3, 3, 7, 4, 1, 5, 6, 6, 2, 1, 1, 0, 4, 4, 5, 1, 3, 2, 6, 6, 7, 3, 5, 4, 7, 7, 6, 5], l = new Array(36), i = 0; i < 6; i++) for (var A = 0; A < 6; A++) l[6 * i + A] = i; for (var f = new Array(36), i = 0; i < 6; i++) f[6 * i + 0] = 0, f[6 * i + 1] = 1, f[6 * i + 2] = 2, f[6 * i + 3] = 2, f[6 * i + 4] = 3, f[6 * i + 5] = 0; t.createGeometry = e; }(l || (l = {})); var A; !function (t) { function e(t) { Array.isArray(t) || (t = [t, t, t]); for (var e = new Float32Array(18), r = 0; r < 6; r++) e[3 * r] = a[r][0] * t[0], e[3 * r + 1] = a[r][1] * t[1], e[3 * r + 2] = a[r][2] * t[2]; var l = {}; l[v.VertexAttrConstants.POSITION] = new Uint32Array(o), l[v.VertexAttrConstants.NORMAL] = new Uint32Array(s); var i = {}; return i[v.VertexAttrConstants.POSITION] = { size: 3, data: e }, i[v.VertexAttrConstants.NORMAL] = { size: 3, data: new Float32Array(n) }, new c.GeometryData(i, l); } var r = .5, a = [[-r, 0, -r], [r, 0, -r], [r, 0, r], [-r, 0, r], [0, -r, 0], [0, r, 0]], n = [0, 1, -1, 1, 1, 0, 0, 1, 1, -1, 1, 0, 0, -1, -1, 1, -1, 0, 0, -1, 1, -1, -1, 0], o = [5, 1, 0, 5, 2, 1, 5, 3, 2, 5, 0, 3, 4, 0, 1, 4, 1, 2, 4, 2, 3, 4, 3, 0], s = [0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7]; t.createGeometry = e; }(A || (A = {})); var f; !function (t) { function e(t) { Array.isArray(t) || (t = [t, t, t]); for (var e = new Float32Array(12), r = 0; r < 4; r++) e[3 * r] = u[r][0] * t[0], e[3 * r + 1] = u[r][1] * t[1], e[3 * r + 2] = u[r][2] * t[2]; var a = {}; a[v.VertexAttrConstants.POSITION] = new Uint32Array(O), a[v.VertexAttrConstants.NORMAL] = new Uint32Array(h); var n = {}; return n[v.VertexAttrConstants.POSITION] = { size: 3, data: e }, n[v.VertexAttrConstants.NORMAL] = { size: 3, data: new Float32Array(m) }, new c.GeometryData(n, a); } var n = .5, o = a.vec3f32.fromValues(-n, 0, -n), s = a.vec3f32.fromValues(n, 0, -n), l = a.vec3f32.fromValues(0, 0, n), i = a.vec3f32.fromValues(0, .5, 0), A = a.vec3f32.create(), f = a.vec3f32.create(), y = a.vec3f32.create(), V = a.vec3f32.create(), d = a.vec3f32.create(); r.vec3.subtract(A, o, i), r.vec3.subtract(f, o, s), r.vec3.cross(y, A, f), r.vec3.normalize(y, y), r.vec3.subtract(A, s, i), r.vec3.subtract(f, s, l), r.vec3.cross(V, A, f), r.vec3.normalize(V, V), r.vec3.subtract(A, l, i), r.vec3.subtract(f, l, o), r.vec3.cross(d, A, f), r.vec3.normalize(d, d); var u = [o, s, l, i], m = [0, -1, 0, y[0], y[1], y[2], V[0], V[1], V[2], d[0], d[1], d[2]], O = [0, 1, 2, 3, 1, 0, 3, 2, 1, 3, 0, 2], h = [0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3]; t.createGeometry = e; }(f || (f = {})); var y; !function (t) { function e(t, e, r, a, n, o, s) { t = t || 50, a = void 0 !== a ? a : -Math.PI, n = void 0 !== n ? n : 2 * Math.PI, o = void 0 !== o ? o : .5 * -Math.PI, s = void 0 !== s ? s : Math.PI; for (var l = Math.max(3, Math.floor(e) || 8), i = Math.max(2, Math.floor(r) || 6), A = (l + 1) * (i + 1), f = new Float32Array(3 * A), y = new Float32Array(3 * A), V = new Float32Array(2 * A), d = [], u = 0, m = 0; m <= i; m++) { for (var O = [], h = m / i, x = o + h * s, C = Math.cos(x), w = 0; w <= l; w++) { var I = w / l, g = a + I * n, M = Math.cos(g) * C, z = Math.sin(x), N = -Math.sin(g) * C; f[3 * u] = M * t, f[3 * u + 1] = z * t, f[3 * u + 2] = N * t, y[3 * u] = M, y[3 * u + 1] = z, y[3 * u + 2] = N, V[2 * u] = I, V[2 * u + 1] = h, O.push(u), ++u; } d.push(O); } var P = new Uint32Array(2 * l * (i - 1) * 3); u = 0; for (var m = 0; m < i; m++) for (var w = 0; w < l; w++) { var U = d[m][w], G = d[m][w + 1], F = d[m + 1][w + 1], S = d[m + 1][w]; 0 === m ? (P[u++] = U, P[u++] = F, P[u++] = S) : m === i - 1 ? (P[u++] = U, P[u++] = G, P[u++] = F) : (P[u++] = U, P[u++] = G, P[u++] = F, P[u++] = F, P[u++] = S, P[u++] = U); } v.assert(u === P.length); var p = {}; p[v.VertexAttrConstants.POSITION] = P, p[v.VertexAttrConstants.NORMAL] = P, p[v.VertexAttrConstants.UV0] = P; var T = {}; return T[v.VertexAttrConstants.POSITION] = { size: 3, data: f }, T[v.VertexAttrConstants.NORMAL] = { size: 3, data: y }, T[v.VertexAttrConstants.UV0] = { size: 2, data: V }, new c.GeometryData(T, p); } function y(t, e, r) { function a(e, r) { var a; e > r && (a = [r, e], e = a[0], r = a[1]); var o = e.toString() + "." + r.toString(); if (f[o]) return f[o]; var s = n.length; return n.length += 3, i.add(n, 3 * e, n, 3 * r, n, s), i.scale(n, s, t / i.length(n, s)), s /= 3, f[o] = s, s; } var n, o, s = t; if (r) n = [0, -1, 0, 1, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, -1, 0, 1, 0], o = new Uint32Array([0, 1, 2, 0, 2, 3, 0, 3, 4, 0, 4, 1, 1, 5, 2, 2, 5, 3, 3, 5, 4, 4, 5, 1]);else { var l = s * (1 + Math.sqrt(5)) / 2; n = [-s, l, 0, s, l, 0, -s, -l, 0, s, -l, 0, 0, -s, l, 0, s, l, 0, -s, -l, 0, s, -l, l, 0, -s, l, 0, s, -l, 0, -s, -l, 0, s], o = new Uint32Array([0, 11, 5, 0, 5, 1, 0, 1, 7, 0, 7, 10, 0, 10, 11, 1, 5, 9, 5, 11, 4, 11, 10, 2, 10, 7, 6, 7, 1, 8, 3, 9, 4, 3, 4, 2, 3, 2, 6, 3, 6, 8, 3, 8, 9, 4, 9, 5, 2, 4, 11, 6, 2, 10, 8, 6, 7, 9, 8, 1]); } for (var A = 0; A < n.length; A += 3) i.scale(n, A, t / i.length(n, A)); for (var f = {}, A = 0; A < e; A++) { for (var y = o.length, V = new Uint32Array(4 * y), d = 0; d < y; d += 3) { var u = o[d], m = o[d + 1], O = o[d + 2], h = a(u, m), x = a(m, O), C = a(O, u), w = 4 * d; V[w] = u, V[w + 1] = h, V[w + 2] = C, V[w + 3] = m, V[w + 4] = x, V[w + 5] = h, V[w + 6] = O, V[w + 7] = C, V[w + 8] = x, V[w + 9] = h, V[w + 10] = x, V[w + 11] = C; } o = V, f = {}; } for (var I = new Float32Array(n), A = 0; A < I.length; A += 3) i.normalize(I, A); var g = {}; g[v.VertexAttrConstants.POSITION] = o, g[v.VertexAttrConstants.NORMAL] = o; var M = {}; return M[v.VertexAttrConstants.POSITION] = { size: 3, data: new Float32Array(n) }, M[v.VertexAttrConstants.NORMAL] = { size: 3, data: I }, new c.GeometryData(M, g); } function m(t, e, r, a, n, o, s, l) { var i = e ? new Float64Array([e[0], e[1], e[2]]) : new Float32Array([0, 0, 0]), A = t ? new Float32Array([t[0], t[1], t[2]]) : new Float32Array([0, 0, 1]), f = o ? new Float32Array(o) : new Float32Array([0, 0]), y = r ? new Uint8Array([255 * r[0], 255 * r[1], 255 * r[2], r.length > 3 ? 255 * r[3] : 255]) : new Uint8Array([255, 255, 255, 255]), V = null != a && 2 === a.length ? new Float32Array(a) : new Float32Array([1, 1]), d = {}; if (d[v.VertexAttrConstants.POSITION] = { size: 3, data: i }, d[v.VertexAttrConstants.NORMAL] = { size: 3, data: A }, d[v.VertexAttrConstants.UV0] = { size: f.length, data: f }, d[v.VertexAttrConstants.COLOR] = { size: 4, data: y }, d[v.VertexAttrConstants.SIZE] = { size: 2, data: V }, null != n) { var u = new Float32Array([n[0], n[1], n[2], n[3]]); d[v.VertexAttrConstants.AUXPOS1] = { size: 4, data: u }; } if (null != s) { var m = new Float32Array([s[0], s[1], s[2], s[3]]); d[v.VertexAttrConstants.AUXPOS2] = { size: 4, data: m }; } return null != l ? (c.GeometryData.call(l, d, c.GeometryData.DefaultIndices, c.GeometryData.DefaultOffsets, "point"), l) : new c.GeometryData(d, c.GeometryData.DefaultIndices, c.GeometryData.DefaultOffsets, "point"); } function O(t, e, r, a, n, o, s, c) { var l = c.vertexAttributes; if (null != t) { var i = l[v.VertexAttrConstants.NORMAL].data; i[0] = t[0], i[1] = t[1], i[2] = t[2]; } if (null != e) { var i = l[v.VertexAttrConstants.POSITION].data; i[0] = e[0], i[1] = e[1], i[2] = e[2]; } if (null != r) { var i = l[v.VertexAttrConstants.COLOR].data; i[0] = r[0], i[1] = r[1], i[2] = r[2], i[3] = r[3]; } if (null != a) { var i = l[v.VertexAttrConstants.SIZE].data; i[0] = a[0], i[1] = a[1]; } if (null != n) { var i = l[v.VertexAttrConstants.AUXPOS1].data; i[0] = n[0], i[1] = n[1], i[2] = n[2], i[3] = n[3]; } if (null != o) { var i = l[v.VertexAttrConstants.UV0].data; i[0] = o[0], i[1] = o[1]; } if (null != s) { var i = l[v.VertexAttrConstants.AUXPOS2].data; i[0] = s[0], i[1] = s[1], i[2] = s[2], i[3] = s[3]; } return c; } function h(t, e) { for (var r = new Float32Array(3 * t.length), a = new Float32Array(e ? 3 * t.length : 3), n = new Uint32Array(t.length), o = new Uint32Array(t.length), s = 0; s < t.length; s++) r[3 * s] = t[s][0], r[3 * s + 1] = t[s][1], r[3 * s + 2] = t[s][2], e && (a[3 * s] = e[s][0], a[3 * s + 1] = e[s][1], a[3 * s + 2] = e[s][2]), n[s] = s, o[s] = 0; e || (a[0] = 0, a[1] = 1, a[2] = 0); var l = new Float32Array(2); l[0] = 0, l[1] = 0; var i = {}; i[v.VertexAttrConstants.POSITION] = n, i[v.VertexAttrConstants.NORMAL] = e ? n : o, i[v.VertexAttrConstants.UV0] = o; var A = {}; return A[v.VertexAttrConstants.POSITION] = { size: 3, data: r }, A[v.VertexAttrConstants.NORMAL] = { size: 3, data: a }, A[v.VertexAttrConstants.UV0] = { size: 2, data: l }, new c.GeometryData(A, i, c.GeometryData.DefaultOffsets, "point"); } function x() { var t = new Float32Array([0, 0, 0, 0, 0, 100, 100, 0, 0]), e = new Uint32Array([0, 1, 2]), r = new Float32Array([0, 1, 0]), a = new Uint32Array([0, 0, 0]), n = new Float32Array([0, 0]), o = new Uint32Array([0, 0, 0]), s = {}; s[v.VertexAttrConstants.POSITION] = e, s[v.VertexAttrConstants.NORMAL] = a, s[v.VertexAttrConstants.UV0] = o; var l = {}; return l[v.VertexAttrConstants.POSITION] = { size: 3, data: t }, l[v.VertexAttrConstants.NORMAL] = { size: 3, data: r }, l[v.VertexAttrConstants.UV0] = { size: 2, data: n }, new c.GeometryData(l, s); } function C(t) { var e = new Float32Array(12); if (t) for (var r = 0; r < 4; r++) for (var a = 0; a < 3; a++) e[3 * r + a] = t[r][a];else e[0] = -1, e[1] = -1, e[2] = 0, e[3] = 1, e[4] = -1, e[5] = 0, e[6] = 1, e[7] = 1, e[8] = 0, e[9] = -1, e[10] = 1, e[11] = 0; var n = new Uint32Array([0, 1, 2, 2, 3, 0]), o = new Float32Array([0, 0, 1]), s = new Uint32Array([0, 0, 0, 0, 0, 0]), l = new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]), i = new Uint8Array([255, 255, 255, 255]), A = {}; A[v.VertexAttrConstants.POSITION] = n, A[v.VertexAttrConstants.NORMAL] = s, A[v.VertexAttrConstants.UV0] = n, A[v.VertexAttrConstants.COLOR] = s; var f = {}; return f[v.VertexAttrConstants.POSITION] = { size: 3, data: e }, f[v.VertexAttrConstants.NORMAL] = { size: 3, data: o }, f[v.VertexAttrConstants.UV0] = { size: 2, data: l }, f[v.VertexAttrConstants.COLOR] = { size: 4, data: i }, new c.GeometryData(f, A); } function w(t, e, r, n, o, s) { void 0 === o && (o = !0), void 0 === s && (s = !0); var l = 0, i = e, A = t, f = a.vec3f32.fromValues(0, l, 0), y = a.vec3f32.fromValues(0, l + A, 0), V = a.vec3f32.fromValues(0, -1, 0), d = a.vec3f32.fromValues(0, 1, 0); n && (l = A, y = a.vec3f32.fromValues(0, 0, 0), f = a.vec3f32.fromValues(0, l, 0), V = a.vec3f32.fromValues(0, 1, 0), d = a.vec3f32.fromValues(0, -1, 0)); var u = [y, f], m = [V, d], O = r + 2, h = Math.sqrt(A * A + i * i); if (n) for (var x = r - 1; x >= 0; x--) { var C = x * (2 * Math.PI / r), w = a.vec3f32.fromValues(Math.cos(C) * i, l, Math.sin(C) * i); u.push(w); var I = a.vec3f32.fromValues(A * Math.cos(C) / h, -i / h, A * Math.sin(C) / h); m.push(I); } else for (var x = 0; x < r; x++) { var C = x * (2 * Math.PI / r), w = a.vec3f32.fromValues(Math.cos(C) * i, l, Math.sin(C) * i); u.push(w); var I = a.vec3f32.fromValues(A * Math.cos(C) / h, i / h, A * Math.sin(C) / h); m.push(I); } var g = new Uint32Array(2 * (r + 2) * 3), M = new Uint32Array(2 * (r + 2) * 3), z = 0, N = 0; if (o) { for (var x = 3; x < u.length; x++) g[z++] = 1, g[z++] = x - 1, g[z++] = x, M[N++] = 0, M[N++] = 0, M[N++] = 0; g[z++] = u.length - 1, g[z++] = 2, g[z++] = 1, M[N++] = 0, M[N++] = 0, M[N++] = 0; } if (s) { for (var x = 3; x < u.length; x++) g[z++] = x, g[z++] = x - 1, g[z++] = 0, M[N++] = x, M[N++] = x - 1, M[N++] = 1; g[z++] = 0, g[z++] = 2, g[z++] = u.length - 1, M[N++] = 1, M[N++] = 2, M[N++] = m.length - 1; } for (var P = new Float32Array(3 * O), x = 0; x < O; x++) P[3 * x] = u[x][0], P[3 * x + 1] = u[x][1], P[3 * x + 2] = u[x][2]; for (var U = new Float32Array(3 * O), x = 0; x < O; x++) U[3 * x] = m[x][0], U[3 * x + 1] = m[x][1], U[3 * x + 2] = m[x][2]; var G = {}; G[v.VertexAttrConstants.POSITION] = g, G[v.VertexAttrConstants.NORMAL] = M; var F = {}; return F[v.VertexAttrConstants.POSITION] = { size: 3, data: P }, F[v.VertexAttrConstants.NORMAL] = { size: 3, data: U }, new c.GeometryData(F, G); } function I(t, e, n, o, s, l) { var i = o ? a.vec3f32.clone(o) : a.vec3f32.fromValues(1, 0, 0), A = s ? a.vec3f32.clone(s) : a.vec3f32.fromValues(0, 0, 0), f = void 0 === l || l, y = a.vec3f32.create(); r.vec3.normalize(y, i); var V = a.vec3f32.create(); r.vec3.scale(V, y, Math.abs(t)); var d = a.vec3f32.create(); r.vec3.scale(d, V, -.5), r.vec3.add(d, d, A); var u = a.vec3f32.fromValues(0, 1, 0); Math.abs(1 - r.vec3.dot(y, u)) < .2 && r.vec3.set(u, 0, 0, 1); var m = a.vec3f32.create(); r.vec3.cross(m, y, u), r.vec3.normalize(m, m), r.vec3.cross(u, m, y); var O = 2 * n + (f ? 2 : 0), h = n + (f ? 2 : 0), x = new Float32Array(3 * O), C = new Float32Array(3 * h), w = new Float32Array(2 * O), I = new Uint32Array(3 * n * (f ? 4 : 2)), g = new Uint32Array(3 * n * (f ? 4 : 2)); f && (x[3 * (O - 2) + 0] = d[0], x[3 * (O - 2) + 1] = d[1], x[3 * (O - 2) + 2] = d[2], w[2 * (O - 2)] = 0, w[2 * (O - 2) + 1] = 0, x[3 * (O - 1) + 0] = x[3 * (O - 2) + 0] + V[0], x[3 * (O - 1) + 1] = x[3 * (O - 2) + 1] + V[1], x[3 * (O - 1) + 2] = x[3 * (O - 2) + 2] + V[2], w[2 * (O - 1)] = 1, w[2 * (O - 1) + 1] = 1, C[3 * (h - 2) + 0] = -y[0], C[3 * (h - 2) + 1] = -y[1], C[3 * (h - 2) + 2] = -y[2], C[3 * (h - 1) + 0] = y[0], C[3 * (h - 1) + 1] = y[1], C[3 * (h - 1) + 2] = y[2]); for (var M = function M(t, e, r) { I[t] = e, g[t] = r; }, z = 0, N = a.vec3f32.create(), P = a.vec3f32.create(), U = 0; U < n; U++) { var G = U * (2 * Math.PI / n); r.vec3.scale(N, u, Math.sin(G)), r.vec3.scale(P, m, Math.cos(G)), r.vec3.add(N, N, P), C[3 * U + 0] = N[0], C[3 * U + 1] = N[1], C[3 * U + 2] = N[2], r.vec3.scale(N, N, e), r.vec3.add(N, N, d), x[3 * U + 0] = N[0], x[3 * U + 1] = N[1], x[3 * U + 2] = N[2], w[2 * U + 0] = U / n, w[2 * U + 1] = 0, x[3 * (U + n) + 0] = x[3 * U + 0] + V[0], x[3 * (U + n) + 1] = x[3 * U + 1] + V[1], x[3 * (U + n) + 2] = x[3 * U + 2] + V[2], w[2 * (U + n) + 0] = U / n, w[2 * U + 1] = 1; var F = (U + 1) % n; M(z++, U, U), M(z++, U + n, U), M(z++, F, F), M(z++, F, F), M(z++, U + n, U), M(z++, F + n, F); } if (f) { for (var U = 0; U < n; U++) { var F = (U + 1) % n; M(z++, O - 2, h - 2), M(z++, U, h - 2), M(z++, F, h - 2); } for (var U = 0; U < n; U++) { var F = (U + 1) % n; M(z++, U + n, h - 1), M(z++, O - 1, h - 1), M(z++, F + n, h - 1); } } var S = {}; S[v.VertexAttrConstants.POSITION] = I, S[v.VertexAttrConstants.NORMAL] = g, S[v.VertexAttrConstants.UV0] = I; var p = {}; return p[v.VertexAttrConstants.POSITION] = { size: 3, data: x }, p[v.VertexAttrConstants.NORMAL] = { size: 3, data: C }, p[v.VertexAttrConstants.UV0] = { size: 2, data: w }, new c.GeometryData(p, S); } function g(e, r, a, n, o) { a = a || 10, n = null == n || n, v.assert(e.length > 1); for (var s = [[0, 0, 0]], c = [], l = [], i = 0; i < a; i++) { c.push([0, -i - 1, -(i + 1) % a - 1]); var A = i / a * 2 * Math.PI; l.push([Math.cos(A) * r, Math.sin(A) * r]); } return t.createPathExtrusionGeometry(l, e, s, c, n, o); } function M(t, e, s, l, i, A) { void 0 === A && (A = a.vec3f32.fromValues(0, 0, 0)); var f = t.length, y = new Float32Array(e.length * f * 3 + (6 * s.length || 0)), d = new Float32Array(e.length * f + (2 * s.length || 0)), u = new Float32Array(e.length * f * 3 + (s ? 6 : 0)), m = (e.length - 1) * f * 6 + 3 * l.length * 2, O = new Uint32Array(m), h = new Uint32Array(m), x = 0, C = 0, w = 0, I = 0, g = 0, M = a.vec3f32.create(), z = a.vec3f32.create(), N = a.vec3f32.create(), P = a.vec3f32.create(), U = a.vec3f32.create(), G = a.vec3f32.create(), F = a.vec3f32.create(), S = n.vec3f64.create(), T = a.vec3f32.create(), R = a.vec3f32.create(), L = a.vec3f32.create(), D = a.vec3f32.create(), b = a.vec3f32.create(), E = o.plane.create(); r.vec3.set(T, 0, 1, 0), r.vec3.subtract(z, e[1], e[0]), r.vec3.normalize(z, z), i ? (r.vec3.add(S, e[0], A), r.vec3.normalize(N, S)) : r.vec3.set(N, 0, 0, 1), p(z, N, T, T, U, N, V), r.vec3.copy(P, N), r.vec3.copy(D, U); for (var q = 0; q < s.length; q++) r.vec3.scale(G, U, s[q][0]), r.vec3.scale(S, N, s[q][2]), r.vec3.add(G, G, S), r.vec3.add(G, G, e[0]), y[x++] = G[0], y[x++] = G[1], y[x++] = G[2], d[w++] = 0; u[C++] = -z[0], u[C++] = -z[1], u[C++] = -z[2]; for (var q = 0; q < l.length; q++) O[I++] = l[q][0] > 0 ? l[q][0] : -l[q][0] - 1 + s.length, O[I++] = l[q][1] > 0 ? l[q][1] : -l[q][1] - 1 + s.length, O[I++] = l[q][2] > 0 ? l[q][2] : -l[q][2] - 1 + s.length, h[g++] = 0, h[g++] = 0, h[g++] = 0; for (var B = s.length, X = s.length - 1, k = 0; k < e.length; k++) { var Z = !1; if (k > 0) { r.vec3.copy(M, z), k < e.length - 1 ? (r.vec3.subtract(z, e[k + 1], e[k]), r.vec3.normalize(z, z)) : Z = !0, r.vec3.add(R, M, z), r.vec3.normalize(R, R), r.vec3.add(L, e[k - 1], P), o.plane.fromPositionAndNormal(e[k], R, E); o.plane.intersectRay(E, o.ray.wrap(L, M), S) ? (r.vec3.subtract(S, S, e[k]), r.vec3.normalize(N, S), r.vec3.cross(U, R, N), r.vec3.normalize(U, U)) : p(R, P, D, T, U, N, V), r.vec3.copy(P, N), r.vec3.copy(D, U); } i && (r.vec3.add(S, e[k], A), r.vec3.normalize(b, S)); for (var j = 0; j < f; j++) if (r.vec3.scale(G, U, t[j][0]), r.vec3.scale(S, N, t[j][1]), r.vec3.add(G, G, S), r.vec3.normalize(F, G), u[C++] = F[0], u[C++] = F[1], u[C++] = F[2], d[w++] = i ? r.vec3.dot(G, b) : G[2], r.vec3.add(G, G, e[k]), y[x++] = G[0], y[x++] = G[1], y[x++] = G[2], !Z) { var H = (j + 1) % f; O[I++] = B + j, O[I++] = B + f + j, O[I++] = B + H, O[I++] = B + H, O[I++] = B + f + j, O[I++] = B + f + H; for (var J = 0; J < 6; J++) h[g++] = O[I - 6 + J] - X; } B += f; } for (var K = e[e.length - 1], q = 0; q < s.length; q++) r.vec3.scale(G, U, s[q][0]), r.vec3.scale(S, N, s[q][1]), r.vec3.add(G, G, S), r.vec3.add(G, G, K), y[x++] = G[0], y[x++] = G[1], y[x++] = G[2], d[w++] = 0; var Q = C / 3; u[C++] = z[0], u[C++] = z[1], u[C++] = z[2]; for (var W = B - f, q = 0; q < l.length; q++) O[I++] = l[q][0] >= 0 ? B + l[q][0] : -l[q][0] - 1 + W, O[I++] = l[q][2] >= 0 ? B + l[q][2] : -l[q][2] - 1 + W, O[I++] = l[q][1] >= 0 ? B + l[q][1] : -l[q][1] - 1 + W, h[g++] = Q, h[g++] = Q, h[g++] = Q; var Y = {}; Y[v.VertexAttrConstants.POSITION] = O, Y[v.VertexAttrConstants.NORMAL] = h; var $ = {}; return $[v.VertexAttrConstants.POSITION] = { size: 3, data: y }, $.zOffset = { size: 1, data: d }, $[v.VertexAttrConstants.NORMAL] = { size: 3, data: u }, new c.GeometryData($, Y); } function z(t, e) { v.assert(t.length > 1, "createPolylineGeometry(): polyline needs at least 2 points"), v.assert(3 === t[0].length, "createPolylineGeometry(): malformed vertex"), v.assert(void 0 === e || e.length === t.length, "createPolylineGeometry: need same number of points and normals"), v.assert(void 0 === e || 3 === e[0].length, "createPolylineGeometry(): malformed normal"); for (var r = new Float32Array(3 * t.length), a = new Uint32Array(2 * (t.length - 1)), n = 0, o = 0, s = 0; s < t.length; s++) { for (var l = 0; l < 3; l++) r[n++] = t[s][l]; s > 0 && (a[o++] = s - 1, a[o++] = s); } var i = {}, A = {}; if (i[v.VertexAttrConstants.POSITION] = a, A[v.VertexAttrConstants.POSITION] = { size: 3, data: r }, e) { for (var f = new Float32Array(3 * e.length), y = 0, s = 0; s < t.length; s++) for (var l = 0; l < 3; l++) f[y++] = e[s][l]; i[v.VertexAttrConstants.NORMAL] = a, A[v.VertexAttrConstants.NORMAL] = { size: 3, data: f }; } return new c.GeometryData(A, i, c.GeometryData.DefaultOffsets, "line"); } function N(t, e, r, a) { for (var n, o, s = new Float32Array(18), l = [[-e, 0, a / 2], [r, 0, a / 2], [0, t, a / 2], [-e, 0, -a / 2], [r, 0, -a / 2], [0, t, -a / 2]], i = [0, 1, 2, 3, 0, 2, 2, 5, 3, 1, 4, 5, 5, 2, 1, 1, 0, 3, 3, 4, 1, 4, 3, 5], A = 0; A < 6; A++) s[3 * A] = l[A][0], s[3 * A + 1] = l[A][1], s[3 * A + 2] = l[A][2]; var f = (n = {}, n[v.VertexAttrConstants.POSITION] = new Uint32Array(i), n), y = (o = {}, o[v.VertexAttrConstants.POSITION] = { size: 3, data: s }, o); return new c.GeometryData(y, f); } function P(t, e) { for (var a = t.vertexAttributes[v.VertexAttrConstants.POSITION].data, n = 0; n < a.length; n += 3) { var o = a[n], s = a[n + 1], c = a[n + 2]; r.vec3.set(d, o, s, c), r.vec3.transformMat4(d, d, e), a[n] = d[0], a[n + 1] = d[1], a[n + 2] = d[2]; } } function U(t, e) { var r = e || [1, 1, 1, 1], a = new Uint8Array(4); a[0] = 255 * r[0], a[1] = 255 * r[1], a[2] = 255 * r[2], a[3] = 255 * (r.length > 3 ? r[3] : 1); var n = {}, o = t.getVertexAttr(); for (var s in o) n[s] = o[s]; n[v.VertexAttrConstants.COLOR] = { size: 4, data: a }; var l = {}; for (var s in t.indices) l[s] = t.indices[s]; var i = l[v.VertexAttrConstants.POSITION].length; return l[v.VertexAttrConstants.COLOR] = new Uint32Array(i), t = new c.GeometryData(n, l, t.componentOffsets, t.primitiveType); } function G(t) { for (var e = t.getVertexAttr(), a = t.indices, n = s.Vec3Compact.subtract, o = a.position.length / 3, c = new Float32Array(3 * o), l = e.position.data, i = 0, A = a.position, f = new Uint32Array(A.length), y = 0; y < A.length; y += 3) { n(l, 3 * A[y], l, 3 * A[y + 2], u, 0), n(l, 3 * A[y], l, 3 * A[y + 1], d, 0), r.vec3.cross(d, d, u), r.vec3.normalize(d, d); var V = i / 3; c[i++] = d[0], c[i++] = d[1], c[i++] = d[2], f[y] = V, f[y + 1] = V, f[y + 2] = V; } e[v.VertexAttrConstants.NORMAL] = { size: 3, data: c, offsetIdx: 0, strideIdx: 3 }, a[v.VertexAttrConstants.NORMAL] = f; } function F(t, e) { void 0 === e && (e = t); var r = t.getVertexAttr(), a = r.position.data, n = r.normal.data, o = e.getVertexAttr(), s = o.position.data, c = o.normal.data; if (n) for (var v = 0; v < n.length; v += 3) { var l = n[v + 1]; c[v + 1] = -n[v + 2], c[v + 2] = l; } if (a) for (var v = 0; v < a.length; v += 3) { var l = a[v + 1]; s[v + 1] = -a[v + 2], s[v + 2] = l; } return e; } function S(t, e, a, n, o) { return !(Math.abs(r.vec3.dot(e, t)) > o) && (r.vec3.cross(a, t, e), r.vec3.normalize(a, a), r.vec3.cross(n, a, t), r.vec3.normalize(n, n), !0); } function p(t, e, r, a, n, o, s) { return S(t, e, n, o, s) || S(t, r, n, o, s) || S(t, a, n, o, s); } t.createBoxGeometry = l.createGeometry, t.createDiamondGeometry = A.createGeometry, t.createTetrahedronGeometry = f.createGeometry, t.createSphereGeometry = e, t.createPolySphereGeometry = y, t.createPointGeometry = m, t.updatePointGeometry = O, t.createPointArrayGeometry = h, t.createTriangleGeometry = x, t.createSquareGeometry = C, t.createConeGeometry = w, t.createCylinderGeometry = I, t.createTubeGeometry = g, t.createPathExtrusionGeometry = M, t.createPolylineGeometry = z, t.createExtrudedTriangle = N, t.transformInPlace = P, t.addVertexColors = U, t.addNormals = G, t.cgToGIS = F, t.makeOrthoBasisDirUp = S, t.makeOrthoBasisDirUpFallback = p; }(y || (y = {})); var V = .99619469809, d = a.vec3f32.create(), u = a.vec3f32.create(); return y; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/HighlightUtils.js": /*!********************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/HighlightUtils.js ***! \********************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibHighlightUtilsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ./IdGen */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IdGen.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n, i) { function r() { return t.gen("highlight"); } Object.defineProperty(n, "__esModule", { value: !0 }); var t = new i.IdGen(); n.generateHighlightId = r; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IdGen.js": /*!***********************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IdGen.js ***! \***********************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibIdGenJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n) { Object.defineProperty(n, "__esModule", { value: !0 }); var t = function () { function e() { this._count = 0; } return e.prototype.gen = function (e) { return null == e && (e = "a"), e + "_" + this._count++; }, e; }(); n.IdGen = t; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Intersector.js": /*!*****************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Intersector.js ***! \*****************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibIntersectorJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/has */ "./node_modules/arcgis-js-api/core/has.js"), __webpack_require__( /*! ../../../../core/maybe */ "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__( /*! ../../../../core/now */ "./node_modules/arcgis-js-api/core/now.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/mat4f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4f64.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ../../support/geometryUtils */ "./node_modules/arcgis-js-api/views/3d/support/geometryUtils.js"), __webpack_require__( /*! ./intersectorUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/intersectorUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (r, e, t, i, s, n, a, o, d, c) { var f = t("dojo-debug-messages"), u = 1e-5; return function () { function r(r) { this.options = new c.IntersectorOptions(), this.results = new c.IntersectorResults(), this.transform = new c.IntersectorTransform(), this.performanceInfo = { queryDuration: 0, numObjectsTested: 0 }, this.tolerance = u, this._ray = { origin: o.vec3f64.create(), direction: o.vec3f64.create() }, this._rayEndPoint = o.vec3f64.create(), this._rayStartPointTransformed = o.vec3f64.create(), this._rayEndPointTransformed = o.vec3f64.create(), this.viewingMode = r || "global"; } return Object.defineProperty(r.prototype, "ray", { get: function get() { return this._ray; }, enumerable: !0, configurable: !0 }), Object.defineProperty(r.prototype, "rayBeginPoint", { get: function get() { return this._ray.origin; }, enumerable: !0, configurable: !0 }), Object.defineProperty(r.prototype, "rayEndPoint", { get: function get() { return this._rayEndPoint; }, enumerable: !0, configurable: !0 }), r.prototype.reset = function (r, e) { this.resetWithRay(d.ray.fromPoints(r, e, this._ray)); }, r.prototype.resetWithRay = function (r) { r !== this._ray && d.ray.copy(r, this._ray), a.vec3.add(this._rayEndPoint, this._ray.origin, this._ray.direction), this._numObjectsTested = 0, this.results.init(this._ray); }, r.prototype.intersect = function (r, e, t, n, a, o) { var d = this; this.point = e, this.camera = t, this.filterPredicate = a, this.tolerance = null == n ? u : n; var c, l = i.isSome(this.options.verticalOffset) ? this.options.verticalOffset.object3D : null; f && (c = s()); var y = o ? function (r) { o(r) && d.intersectObject(r); } : function (r) { d.intersectObject(r); }; if (r && r.length > 0) for (var h = 0, m = r; h < m.length; h++) { var p = m[h], v = p.getSpatialQueryAccelerator ? p.getSpatialQueryAccelerator() : void 0; if (v) l ? v.forEachAlongRayWithVerticalOffset(this._ray.origin, this._ray.direction, y, l) : v.forEachAlongRay(this._ray.origin, this._ray.direction, y), this.options.selectionMode && this.options.hud && v.forEachDegenerateObject(y);else for (var g = p.getObjects(), _ = 0, O = g; _ < O.length; _++) { var b = O[_]; y(b); } } this.sortResults(), f && (this.performanceInfo.queryDuration = s() - c, this.performanceInfo.numObjectsTested = this._numObjectsTested); }, r.prototype.intersectObject = function (r) { var e = this; this._numObjectsTested++; var t = r.geometryRecords; if (t) for (var s, o = r.id, d = r.objectTransformation, f = i.isSome(this.options.verticalOffset) ? this.options.verticalOffset.object3D : null, u = this, l = 0, y = t; l < y.length; l++) { var h = y[l]; !function (t) { var l = t.geometry, y = t.material, h = t.instanceParameters; if (h.hidden) return "continue"; s = l.id, u.transform.setAndInvalidateLazyTransforms(d, t.getShaderTransformation()), a.vec3.transformMat4(u._rayStartPointTransformed, u._ray.origin, u.transform.inverse), a.vec3.transformMat4(u._rayEndPointTransformed, u._rayEndPoint, u.transform.inverse); var m = u.transform.transform; i.isSome(f) && (f.objectTransform = u.transform), y.intersect(l, h, u.transform.transform, u, u._rayStartPointTransformed, u._rayEndPointTransformed, function (t, i, a, d, f, u) { if (t >= 0) { if (null != e.filterPredicate && !e.filterPredicate(e._ray.origin, e._rayEndPoint, t)) return; if (f) return void ((null == e.results.hud.dist || t < e.results.hud.dist) && e.results.hud.set(r, o, t, i, n.mat4f64.IDENTITY, d, u, s, a)); var l = function l(e) { return e.set(r, o, t, i, m, d, null, s, a); }; if ((null == e.results.min.drapedLayerOrder || d >= e.results.min.drapedLayerOrder) && (null == e.results.min.dist || t < e.results.min.dist) && l(e.results.min), 0 !== e.options.store && (null == e.results.max.drapedLayerOrder || d < e.results.max.drapedLayerOrder) && (null == e.results.max.dist || t > e.results.max.dist) && l(e.results.max), 2 === e.options.store) { var y = new c.IntersectorResult(e._ray); l(y), e.results.all.push(y); } } }, t.shaderTransformation); }(h); } }, r.prototype.sortResults = function () { this.results.all.sort(function (r, e) { return r.dist !== e.dist ? r.dist - e.dist : r.drapedLayerOrder !== e.drapedLayerOrder ? (void 0 !== r.drapedLayerOrder ? r.drapedLayerOrder : Number.MAX_VALUE) - (void 0 !== e.drapedLayerOrder ? e.drapedLayerOrder : Number.MAX_VALUE) : (void 0 !== e.drapedLayerGraphicOrder ? e.drapedLayerGraphicOrder : Number.MIN_VALUE) - (void 0 !== r.drapedLayerGraphicOrder ? r.drapedLayerGraphicOrder : Number.MIN_VALUE); }); }, r.DEFAULT_TOLERANCE = u, r; }(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IntervalUtilities.js": /*!***********************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IntervalUtilities.js ***! \***********************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibIntervalUtilitiesJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports], __WEBPACK_AMD_DEFINE_RESULT__ = function (r, n) { return function () { function r() {} return r.copyIntervals = function (r) { for (var n = [], t = 0; t < r.length; t++) { var e = r[t]; n.push([e[0], e[1]]); } return n; }, r.convertFaceToIndexRange = function (r, n) { for (var t = 0; t < r.length; t++) { var e = r[t]; e[0] = e[0] * n, e[1] = e[1] * n + (n - 1); } }, r.sortIntervals = function (r) { return r.sort(function (r, n) { return r[0] === n[0] ? r[1] > n[1] ? 1 : r[1] < n[1] ? -1 : 0 : r[0] > n[0] ? 1 : r[0] < n[0] ? -1 : 0; }); }, r.intersectIntervals = function (r, n) { if (r.length <= 0) return []; for (var t = [], e = 0; e < r.length; e++) { var u = r[e]; if (!(u[1] < n[0] || u[0] > n[1])) { var o = [u[0], u[1]]; o[0] < n[0] && (o[0] = n[0]), o[1] > n[1] && (o[1] = n[1]), t.push(o); } } return t; }, r.mergeIntervals = function (r) { if (r.length <= 0) return []; var n = []; r = this.sortIntervals(r), n.push(r[0]); for (var t = 1; t < r.length; t++) { var e = n[n.length - 1]; e[1] + 1 < r[t][0] ? n.push(r[t]) : e[1] < r[t][1] && (e[1] = r[t][1], n.pop(), n.push(e)); } return n; }, r.invertIntervals = function (r, n) { for (var t = [], e = 0, u = 0; u < r.length; u++) { var o = r[u]; o[0] > e && t.push([e, o[0] - 1]), e = o[1] + 1; } return e <= n && t.push([e, n]), t; }, r.offsetIntervals = function (r, n) { for (var t = [], e = 0; e < r.length; e++) { var u = r[e]; t.push([u[0] + n, u[1] + n]); } return t; }, r; }(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Layer.js": /*!***********************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Layer.js ***! \***********************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibLayerJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/tsSupport/extendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/extendsHelper.js"), __webpack_require__( /*! ../../../../core/arrayUtils */ "./node_modules/arcgis-js-api/core/arrayUtils.js"), __webpack_require__( /*! ../../../../core/Evented */ "./node_modules/arcgis-js-api/core/Evented.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ./IdGen */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IdGen.js"), __webpack_require__( /*! ./Octree */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Octree.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, i, r, n, o, a, s, c) { return function (t) { function e(i, r, n) { var o = t.call(this) || this; return o._parentStages = new Map(), o._children = new Set(), o.id = e._idGen.gen(i), o.apiLayerUid = n, o.name = i, r = r || {}, o.group = r.group || "", o.isVisible = null == r.isVisible || r.isVisible, o.isPickable = null == r.isPickable || r.isPickable, o.isSliceable = !1, o.translation = r.translation ? a.vec3f64.clone(r.translation) : a.vec3f64.create(), o._extent = [a.vec3f64.fromValues(0, 0, 0), a.vec3f64.fromValues(1e3, 1e3, 1e3)], o._extentDirty = !0, o; } return i(e, t), e.prototype.addParentStage = function (t) { if (!this._parentStages.has(t)) { var e = this.on("dirty", function (e) { t.notifyDirty(e.origin, e.dirtyType, e.subObject); }); this._parentStages.set(t, e); } }, e.prototype.removeParentStage = function (t) { var e = this._parentStages.get(t); e && (e.remove(), this._parentStages["delete"](t)), this.invalidateSpatialQueryAccelerator(); }, e.prototype.getName = function () { return this.name; }, e.prototype.getGroup = function () { return this.group; }, e.prototype.getTranslation = function () { return this.translation; }, e.prototype.getObjectIds = function () { return r.keysOfSet(this._children, function (t) { return t.id; }); }, e.prototype.getObjects = function () { return r.keysOfSet(this._children); }, e.prototype.getExtent = function () { return this._updateExtent(), this._extent; }, e.prototype.addObject = function (t) { this._children.add(t), t.parentLayer = this, this.notifyDirty("layerObjectAdded", t), this._invalidateExtent(), this._octree && this._octree.add(t); }, e.prototype.hasObject = function (t) { return this._children.has(t); }, e.prototype.removeObject = function (t) { return !!this._children["delete"](t) && (t.parentLayer = null, this.notifyDirty("layerObjectRemoved", t), this._invalidateExtent(), this._octree && this._octree.remove(t), !0); }, e.prototype.notifyObjectBBChanged = function (t, e) { this._octree && this._octree.update(t, e); }, e.prototype.getCenter = function () { this._updateExtent(); var t = a.vec3f64.create(); return o.vec3.lerp(t, this._extent[0], this._extent[1], .5); }, e.prototype.getBSRadius = function () { return this._updateExtent(), .5 * o.vec3.distance(this._extent[0], this._extent[1]); }, e.prototype.getSpatialQueryAccelerator = function () { return !this._octree && this._children.size > 50 && this._createOctree(), this._octree; }, e.prototype.shaderTransformationChanged = function () { this.notifyDirty("shaderTransformationChanged", null); }, e.prototype.invalidateSpatialQueryAccelerator = function () { this._octree && (this._octree.destroy(), this._octree = null); }, e.prototype.notifyDirty = function (t, e, i, r) { i = i || 0; var n = r || this, o = { origin: n, dirtyType: t, subObject: e }; this.emit("dirty", o); }, e.prototype._createOctree = function () { for (var t = this.getExtent(), e = 0, i = 0; i < 3; i++) e = Math.max(e, t[1][i] - t[0][i]); var n = a.vec3f64.create(); o.vec3.lerp(n, t[0], t[1], .5), this._octree = new c(n, 1.2 * e, { getRadius: function getRadius(t) { return t.getBSRadius(); }, getCenter: function getCenter(t) { return t.getCenter(); } }), this._octree.add(r.keysOfSet(this._children)); }, e.prototype._invalidateExtent = function () { this._extentDirty = !0; }, e.prototype._updateExtent = function () { var t = this; if (this._extentDirty) { if (this._extentDirty = !1, 0 === this._children.size) return void (this._extent = [[0, 0, 0], [0, 0, 0]]); var e = null; this._children.forEach(function (i) { var r = i.getBBMin(), n = i.getBBMax(); if (e) for (var o = 0; o < 3; ++o) t._extent[0][o] = Math.min(t._extent[0][o], r[o]), t._extent[1][o] = Math.max(t._extent[1][o], n[o]);else e = [a.vec3f64.clone(r), a.vec3f64.clone(n)]; }), this._extent = e; } }, e._idGen = new s.IdGen(), e; }(n); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Material.js": /*!**************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Material.js ***! \**************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibMaterialJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ./IdGen */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IdGen.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r) { Object.defineProperty(t, "__esModule", { value: !0 }); var i = function () { function e(t) { this.supportsEdges = !1, this._parentStage = null, this._visible = !0, this._renderOccluded = 1, this._renderPriority = 0, this.id = e._idGen.gen(t); } return e.prototype.update = function (e) { return !1; }, Object.defineProperty(e.prototype, "parentStage", { get: function get() { return this._parentStage; }, enumerable: !0, configurable: !0 }), e.prototype.addParentStage = function (e) { this._parentStage = e; }, e.prototype.removeParentStage = function () { this._parentStage = null; }, Object.defineProperty(e.prototype, "visible", { get: function get() { return this._visible; }, set: function set(e) { e !== this._visible && (this._visible = e, this.notifyDirty("matChanged")); }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "renderOccluded", { get: function get() { return this._renderOccluded; }, set: function set(e) { e !== this._renderOccluded && (this._renderOccluded = e, this.notifyDirty("matChanged")); }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "renderPriority", { get: function get() { return this._renderPriority; }, set: function set(e) { e !== this._renderPriority && (this._renderPriority = e, this.notifyDirty("matChanged")); }, enumerable: !0, configurable: !0 }), e.prototype.isVisibleInPass = function (e) { return !0; }, e.prototype.isVisible = function () { return this._visible; }, e.prototype.notifyDirty = function (e) { this.parentStage && this.parentStage.notifyDirty(this, e); }, e._idGen = new r.IdGen(), e; }(); t.Material = i; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Object3D.js": /*!**************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Object3D.js ***! \**************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibObject3DJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/tsSupport/extendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/extendsHelper.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/mat4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/mat4f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4f64.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ../../support/mathUtils */ "./node_modules/arcgis-js-api/views/3d/support/mathUtils.js"), __webpack_require__( /*! ./ComponentUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/ComponentUtils.js"), __webpack_require__( /*! ./GeometryRecord */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryRecord.js"), __webpack_require__( /*! ./HighlightUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/HighlightUtils.js"), __webpack_require__( /*! ./IdGen */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IdGen.js"), __webpack_require__( /*! ./Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, i, o, n, r, s, a, l, m, h, c, p) { var d = p.assert, b = function () { function t(e) { void 0 === e && (e = {}), this._objectTransformation = n.mat4f64.create(), this._bvObjectSpace = new g(), this._bvWorldSpace = new g(), this._bvDirty = !0, this._hasVolatileTransformation = !1, this._allComponentsHiddenDirty = !0, this._allComponentsVisibleDirty = !0, this.id = t._idGen.gen(e.idHint), this.castShadow = null == e.castShadow || e.castShadow, this.metadata = e.metadata, this.metadata && this.metadata.isElevationSource && (this.metadata.lastValidElevationBB = new u()), this.objectTransformation = n.mat4f64.create(), this._initializeGeometryRecords(e.geometries, e.materials, e.transformations, e.origins); } return Object.defineProperty(t.prototype, "geometryRecords", { get: function get() { return this._geometryRecords; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "geometries", { get: function get() { return this._geometries; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "objectTransformation", { get: function get() { return this._objectTransformation; }, set: function set(t) { o.mat4.copy(this._objectTransformation, t), this._invalidateBoundingVolume(), this._notifyDirty("objTransformation"); }, enumerable: !0, configurable: !0 }), t.prototype.dispose = function () { for (var t = 0, e = this._geometryRecords; t < e.length; t++) { var i = e[t]; m.pool.release(i); } this._geometryRecords = null, this._geometries = null; }, t.prototype._initializeGeometryRecords = function (t, e, i, o) { if (!Array.isArray(t)) return this._geometryRecords = [], void (this._geometries = []); d(e.length === t.length, "Object3D: materials don't match geometries"), d(i.length === t.length, "Object3D: transformations don't match geometries"), this._geometryRecords = new Array(t.length), this._geometries = t.slice(); for (var r = 0; r < t.length; r++) { var s = {}; this._geometryRecords[r] = m.pool.acquire(t[r], e[r], n.mat4f64.clone(i[r]), s, o && o[r]); } this._hasVolatileTransformation = !1; }, Object.defineProperty(t.prototype, "parentLayer", { get: function get() { return this._parentLayer; }, set: function set(t) { d(null == this._parentLayer || null == t, "Object3D can only be added to a single Layer"), this._parentLayer = t; }, enumerable: !0, configurable: !0 }), t.prototype.getNumGeometryRecords = function () { return this._geometryRecords.length; }, t.prototype.findGeometryRecords = function (t) { for (var e = [], i = 0; i < this._geometries.length; i++) this._geometries[i] === t && e.push(this._geometryRecords[i]); return e; }, t.prototype.getGeometryRecord = function (t) { return d(t >= 0 && t < this._geometryRecords.length, "Object3d.getGeometryDataByIndex: index out of range"), this._geometryRecords[t]; }, t.prototype.addGeometry = function (t, e, i, o, r, s) { i = i ? n.mat4f64.clone(i) : n.mat4f64.IDENTITY, this._geometries.push(t); var a = m.pool.acquire(t, e, i, o || {}, r, s); return this._geometryRecords.push(a), this._hasVolatileTransformation = this._geometryRecords.some(function (t) { return !!t.shaderTransformation; }), this._notifyDirty("objGeometryAdded", a), this._invalidateBoundingVolume(), this._allComponentsHiddenDirty = !0, this._allComponentsVisibleDirty = !0, a; }, t.prototype.removeGeometry = function (t) { var e = this._geometryRecords.splice(t, 1)[0]; return m.pool.release(e), this._hasVolatileTransformation = this._geometryRecords.some(function (t) { return !!t.shaderTransformation; }), this._geometries.splice(t, 1), this._notifyDirty("objGeometryRemoved", e), this._invalidateBoundingVolume(), this._allComponentsHiddenDirty = !0, this._allComponentsVisibleDirty = !0, e; }, t.prototype.removeAllGeometries = function () { for (; this.getNumGeometryRecords() > 0;) this.removeGeometry(0); }, t.prototype.geometryVertexAttrsUpdated = function (t) { this._notifyDirty("vertexAttrsUpdated", this._geometryRecords[t]), this._invalidateBoundingVolume(); }, t.prototype.areAllComponentsHidden = function () { if (this._allComponentsHiddenDirty) { this._allComponentsHiddenDirty = !1, this._allComponentsHidden = !0; for (var t = 0, e = this._geometryRecords; t < e.length; t++) { var i = e[t], o = i.instanceParameters.componentVisibilities, n = i.geometry.data.componentOffsets; if (!l.isAllHidden(o, n)) { this._allComponentsHidden = !1; break; } } } return this._allComponentsHidden; }, t.prototype.areAllComponentsVisible = function () { if (this._allComponentsVisibleDirty) { this._allComponentsVisibleDirty = !1, this._allComponentsVisible = !0; for (var t = 0, e = this._geometryRecords; t < e.length; t++) { var i = e[t], o = i.instanceParameters.componentVisibilities, n = i.geometry.data.componentOffsets; if (!l.isAllVisible(o, n)) { this._allComponentsVisible = !1; break; } } } return this._allComponentsVisible; }, t.prototype.hasComponents = function () { for (var t = !1, e = 0; e < this._geometries.length; e++) { var i = this._geometries[e]; if (t = l.hasComponents(i.data.componentOffsets)) break; } return t; }, t.prototype.setComponentVisibility = function (t, e, i) { var o = t.geometry, n = t.instanceParameters.componentVisibilities, r = o.data.componentOffsets, s = l.updateVisibility(n, r, e, i); t.instanceParameters.componentVisibilities = s, this._notifyDirty("visibilityChanged", t), this._allComponentsHiddenDirty = !0, this._allComponentsVisibleDirty = !0; }, t.prototype.setHidden = function (t, e) { t.instanceParameters.hidden = !!e, this._notifyDirty("visibilityChanged", t); }, t.prototype.isHidden = function (t) { return !!t.instanceParameters.hidden; }, t.prototype.getComponentVisibility = function (t, e) { var i = t.instanceParameters.componentVisibilities; return l.getVisibility(i, e); }, t.prototype.hideAllComponents = function () { if (this._allComponentsHiddenDirty || !this._allComponentsHidden) { for (var t = 0, e = this._geometryRecords; t < e.length; t++) { var i = e[t], o = i.instanceParameters.componentVisibilities, n = l.hideAllComponents(o); i.instanceParameters.componentVisibilities = n; } this._notifyDirty("visibilityChanged"), this._allComponentsHiddenDirty = !1, this._allComponentsVisibleDirty = !1, this._allComponentsHidden = !0, this._allComponentsVisible = !1; } }, t.prototype.unhideAllComponents = function () { if (this._allComponentsVisibleDirty || !this._allComponentsVisible) { for (var t = 0, e = this._geometryRecords; t < e.length; t++) { var i = e[t], o = i.instanceParameters.componentVisibilities, n = l.unhideAllComponents(o); i.instanceParameters.componentVisibilities = n; } this._notifyDirty("visibilityChanged"), this._allComponentsHiddenDirty = !1, this._allComponentsVisibleDirty = !1, this._allComponentsHidden = !1, this._allComponentsVisible = !0; } }, t.prototype._setComponentHighlight = function (t, e, i, o) { var n = t.instanceParameters.componentHighlights, r = l.addHighlight(n, e, i, o); t.instanceParameters.componentHighlights = r; }, t.prototype.setComponentHighlight = function (t, e, i) { var o = h.generateHighlightId(); return this._setComponentHighlight(t, e, i, o), this._notifyDirty("componentHighlightChanged"), o; }, t.prototype.highlightAllComponents = function (t) { for (var e = h.generateHighlightId(), i = 0, o = this._geometryRecords; i < o.length; i++) { var n = o[i]; this._setComponentHighlight(n, null, t, e); } return this._notifyDirty("componentHighlightChanged"), e; }, t.prototype.removeHighlights = function (t) { for (var e = 0, i = this._geometryRecords; e < i.length; e++) { var o = i[e], n = o.instanceParameters, r = n.componentHighlights, s = l.removeHighlight(r, t); n.componentHighlights = s; } this._notifyDirty("componentHighlightChanged"); }, t.prototype.getComponentFromTriangleNr = function (t, e) { d(t >= 0 && t < this._geometryRecords.length, "Object3d.getComponentFromTriangleNr: index out of range"); var i = this._geometryRecords[t], o = i.geometry.data.componentOffsets; return l.componentFind(o, 3 * e); }, t.prototype.setGeometryTransformation = function (t, e) { d(t >= 0 && t < this._geometryRecords.length, "Object3d.setGeometryTransformation: index out of range"); var i = this._geometryRecords[t]; m.pool.release(i); var o = m.pool.acquire(i.geometry, i.material, n.mat4f64.clone(e), i.instanceParameters); this._geometryRecords[t] = o, this._notifyDirty("objGeometryReplaced", [i, o]), this._invalidateBoundingVolume(); }, t.prototype.getCombinedStaticTransformation = function (t, e) { return e = e || n.mat4f64.create(), o.mat4.multiply(e, this.objectTransformation, t.getStaticTransformation()), e; }, t.prototype.getCombinedShaderTransformation = function (t, e) { return e = e || n.mat4f64.create(), o.mat4.multiply(e, this.objectTransformation, t.getShaderTransformation()), e; }, t.prototype.hasVolativeTransformation = function () { return this._hasVolatileTransformation; }, t.prototype.getMetadata = function () { return this.metadata; }, t.prototype.getBBMin = function (t) { return this._validateBoundingVolume(), t ? this._bvObjectSpace.bbMin : this._bvWorldSpace.bbMin; }, t.prototype.getBBMax = function (t) { return this._validateBoundingVolume(), t ? this._bvObjectSpace.bbMax : this._bvWorldSpace.bbMax; }, t.prototype.getCenter = function (t) { return this._validateBoundingVolume(), t ? this._bvObjectSpace.center : this._bvWorldSpace.center; }, t.prototype.getBSRadius = function (t) { return this._validateBoundingVolume(), t ? this._bvObjectSpace.bsRadius : this._bvWorldSpace.bsRadius; }, t.prototype._validateBoundingVolume = function () { if (this._bvDirty || this._hasVolatileTransformation) { this._bvObjectSpace.init(), this._bvWorldSpace.init(); for (var t = 0; t < this._geometryRecords.length; ++t) { var e = this._geometries[t], i = this._geometryRecords[t], o = e.boundingInfo; this._calculateTransformedBoundingVolume(o, this._bvObjectSpace, i.getShaderTransformation()), this._calculateTransformedBoundingVolume(o, this._bvWorldSpace, this.getCombinedShaderTransformation(i)); } r.vec3.lerp(this._bvObjectSpace.center, this._bvObjectSpace.bbMin, this._bvObjectSpace.bbMax, .5), r.vec3.lerp(this._bvWorldSpace.center, this._bvWorldSpace.bbMin, this._bvWorldSpace.bbMax, .5); for (var n = s.vec3f64.create(), l = s.vec3f64.create(), m = a.maxScale(this.objectTransformation), t = 0; t < this._geometryRecords.length; ++t) { var e = this._geometries[t], h = this._geometryRecords[t].getShaderTransformation(), c = a.maxScale(h), o = e.boundingInfo; r.vec3.transformMat4(n, o.getCenter(), h); var p = r.vec3.distance(n, this._bvObjectSpace.center), d = o.getBSRadius() * c; this._bvObjectSpace.bsRadius = Math.max(this._bvObjectSpace.bsRadius, p + d), r.vec3.transformMat4(l, n, this.objectTransformation); var b = r.vec3.distance(l, this._bvWorldSpace.center), u = d * m; this._bvWorldSpace.bsRadius = Math.max(this._bvWorldSpace.bsRadius, b + u); } this._bvDirty = !1; } }, t.prototype._calculateTransformedBoundingVolume = function (t, e, i) { var o = t.getBBMin(), n = t.getBBMax(), a = s.vec3f64.clone(o), l = s.vec3f64.clone(n); r.vec3.transformMat4(a, a, i), r.vec3.transformMat4(l, l, i); for (var m = 0; m < 3; ++m) e.bbMin[m] = Math.min(e.bbMin[m], a[m], l[m]), e.bbMax[m] = Math.max(e.bbMax[m], a[m], l[m]); for (var m = 0; m < 3; ++m) { r.vec3.copy(a, o), r.vec3.copy(l, n), a[m] = n[m], l[m] = o[m], r.vec3.transformMat4(a, a, i), r.vec3.transformMat4(l, l, i); for (var h = 0; h < 3; ++h) e.bbMin[h] = Math.min(e.bbMin[h], a[h], l[h]), e.bbMax[h] = Math.max(e.bbMax[h], a[h], l[h]); } }, t.prototype._invalidateBoundingVolume = function () { this._bvDirty = !0, this._parentLayer && this._parentLayer.notifyObjectBBChanged(this, { center: this._bvWorldSpace.center, radius: this._bvWorldSpace.bsRadius }); }, t.prototype._notifyDirty = function (t, e, i, o) { if (this._parentLayer) { i = i || 1; var n = o || this; this._parentLayer.notifyDirty(t, e, i, n); } }, Object.defineProperty(t.prototype, "test", { get: function get() { var t = this; return { hasGeometry: function hasGeometry(e) { return t._geometries.indexOf(e) > -1; }, getGeometryIndex: function getGeometryIndex(e) { return t._geometries.indexOf(e); } }; }, enumerable: !0, configurable: !0 }), t._idGen = new c.IdGen(), t; }(), u = function () { function t() { this.bbMin = s.vec3f64.fromValues(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE), this.bbMax = s.vec3f64.fromValues(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE); } return t.prototype.isEmpty = function () { return this.bbMax[0] < this.bbMin[0] && this.bbMax[1] < this.bbMin[1] && this.bbMax[2] < this.bbMin[2]; }, t; }(), g = function (t) { function e() { var e = t.call(this) || this; return e.center = s.vec3f64.create(), e.bsRadius = 0, e; } return i(e, t), e.prototype.init = function () { r.vec3.set(this.bbMin, Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE), r.vec3.set(this.bbMax, -Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE), r.vec3.set(this.center, 0, 0, 0), this.bsRadius = 0; }, e.prototype.getCenter = function () { return this.center; }, e.prototype.getBSRadius = function () { return this.bsRadius; }, e; }(u); return b; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Octree.js": /*!************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Octree.js ***! \************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibOctreeJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/ObjectPool */ "./node_modules/arcgis-js-api/core/ObjectPool.js"), __webpack_require__( /*! ../../../../core/PooledArray */ "./node_modules/arcgis-js-api/core/PooledArray.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ../../support/geometryUtils */ "./node_modules/arcgis-js-api/views/3d/support/geometryUtils.js"), __webpack_require__( /*! ./Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, n, i, o, a, s) { function c(e, t, r) { e[0] = Math.min(e[0], t[0] - r), e[1] = Math.min(e[1], t[1] - r), e[2] = Math.min(e[2], t[2] - r); } function u(e, t, r) { e[0] = Math.max(e[0], t[0] + r), e[1] = Math.max(e[1], t[1] + r), e[2] = Math.max(e[2], t[2] + r); } function h(e, t, r) { return r = r || e, r[0] = e[0] + t, r[1] = e[1] + t, r[2] = e[2] + t, r; } function f(e, t, r) { return !a.frustum.intersectsSphere(r.planes, a.sphere.wrap(t, e)); } function d(e, t, r) { if (!V.length) for (var n = 0; n < 8; ++n) V.push({ index: 0, distance: 0 }); for (var n = 0; n < 8; ++n) { var i = v[n]; V.data[n].index = n, V.data[n].distance = p(e, t, i); } V.sort(function (e, t) { return e.distance - t.distance; }), r.clear(); for (var n = 0; n < 8; ++n) r.push(V.data[n].index); } function l(e, t) { for (var r = 1 / 0, n = null, i = 0; i < 8; ++i) { var o = p(e, t, g[i]); o < r && (r = o, n = g[i]); } return n; } function p(e, t, r) { return t * (e[0] * r[0] + e[1] * r[1] + e[2] * r[2]); } var _ = function () { function e(e, t, r, n) { this._maximumObjectsPerNode = 10, this._maximumDepth = 20, this._degenerateObjects = new Set(), this._objectCount = 0, this._objectToBoundingSphere = r, n && (void 0 !== n.maximumObjectsPerNode && (this._maximumObjectsPerNode = n.maximumObjectsPerNode), void 0 !== n.maximumDepth && (this._maximumDepth = n.maximumDepth)), isNaN(e[0]) || isNaN(e[1]) || isNaN(e[2]) || isNaN(t) ? this._root = new m(null, o.vec3f64.fromValues(0, 0, 0), .5) : this._root = new m(null, e, t / 2); } return Object.defineProperty(e.prototype, "center", { get: function get() { return this._root.center; }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "size", { get: function get() { return 2 * this._root.halfSize; }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "root", { get: function get() { return this._root.node; }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "maximumObjectsPerNode", { get: function get() { return this._maximumObjectsPerNode; }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "maximumDepth", { get: function get() { return this._maximumDepth; }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "objectCount", { get: function get() { return this._objectCount; }, enumerable: !0, configurable: !0 }), e.prototype.destroy = function () { this._degenerateObjects.clear(), this._root = null, m.clearPool(), y = [null], N.prune(), V.prune(), D.prune(); }, e.prototype.add = function (e, t) { var r = this._objectOrObjectsArray(e); t = null == t ? r.length : t, this._objectCount += t, this._grow(r, t); for (var n = m.acquire(), i = 0; i < t; i++) { var o = r[i]; n.init(this._root), this._isDegenerate(o) ? this._degenerateObjects.add(o) : this._add(o, n); } m.release(n); }, e.prototype.remove = function (e, t) { var r = this._objectOrObjectsArray(e); this._objectCount -= r.length; for (var n = m.acquire(), i = 0; i < r.length; i++) { var o = r[i], a = t || this._boundingSphereFromObject(o, E); this._isValidRadius(a.radius) ? (n.init(this._root), this._remove(o, a, n)) : this._degenerateObjects["delete"](o); } m.release(n), this._shrink(); }, e.prototype.update = function (e, t) { !this._isValidRadius(t.radius) && this._isDegenerate(e) || (this.remove(e, t), this.add(e)); }, e.prototype.forEachAlongRay = function (e, t, r) { var n = this, i = a.ray.wrap(e, t); this._forEachNode(this._root, function (e) { if (!n._intersectsNode(i, e)) return !1; var t = e.node; return t.terminals.forEach(function (e) { n._intersectsObject(i, e) && r(e); }), null !== t.residents && t.residents.forEach(function (e) { n._intersectsObject(i, e) && r(e); }), !0; }); }, e.prototype.forEachAlongRayWithVerticalOffset = function (e, t, r, n) { var i = this, o = a.ray.wrap(e, t); this._forEachNode(this._root, function (e) { if (!i._intersectsNodeWithOffset(o, e, n)) return !1; var t = e.node; return t.terminals.forEach(function (e) { i._intersectsObjectWithOffset(o, e, n) && r(e); }), null !== t.residents && t.residents.forEach(function (e) { i._intersectsObjectWithOffset(o, e, n) && r(e); }), !0; }); }, e.prototype.forEach = function (e) { this._forEachNode(this._root, function (t) { var r = t.node; return r.terminals.forEach(e), null !== r.residents && r.residents.forEach(e), !0; }), this._degenerateObjects.forEach(e); }, e.prototype.forEachDegenerateObject = function (e) { this._degenerateObjects.forEach(e); }, e.prototype.findClosest = function (e, t, r, n, i) { return this._findClosest(e, "front-to-back" === t ? 1 : -1, r, n, i); }, e.prototype.forEachInDepthRange = function (e, t, r, n, i, o, a, s) { this._forEachInDepthRange(e, t, "front-to-back" === r ? 1 : -1, n, i, o, a, s); }, e.prototype.forEachNode = function (e) { this._forEachNode(this._root, function (t) { return e(t.node, t.center, 2 * t.halfSize); }); }, e.prototype._intersectsNode = function (e, t) { return h(t.center, 2 * -t.halfSize, O), h(t.center, 2 * t.halfSize, x), s.rayBoxTest(e.origin, e.direction, O, x); }, e.prototype._intersectsNodeWithOffset = function (e, t, r) { return h(t.center, 2 * -t.halfSize, O), h(t.center, 2 * t.halfSize, x), r.applyToMinMax(O, x), s.rayBoxTest(e.origin, e.direction, O, x); }, e.prototype._intersectsObject = function (e, t) { var r = this._objectToBoundingSphere.getRadius(t); return !(r > 0) || a.sphere.intersectsRay(a.sphere.wrap(r, this._objectToBoundingSphere.getCenter(t)), e); }, e.prototype._intersectsObjectWithOffset = function (e, t, r) { var n = this._objectToBoundingSphere.getRadius(t); return !(n > 0) || a.sphere.intersectsRay(r.applyToBoundingSphere(n, this._objectToBoundingSphere.getCenter(t)), e); }, e.prototype._forEachNode = function (e, t) { for (var r = m.acquire().init(e), n = [r]; 0 !== n.length;) { if (r = n.pop(), t(r) && !r.isLeaf()) for (var i = 0; i < r.node.children.length; i++) { var o = r.node.children[i]; o && n.push(m.acquire().init(r).advance(i)); } m.release(r); } }, e.prototype._forEachNodeDepthOrdered = function (e, t, r, n) { void 0 === n && (n = 1); var i = m.acquire().init(e), o = [i]; for (d(r, n, D); 0 !== o.length;) { if (i = o.pop(), t(i) && !i.isLeaf()) for (var a = 7; a >= 0; --a) { var s = D.data[a]; if (!(s >= i.node.children.length)) { var c = i.node.children[s]; c && o.push(m.acquire().init(i).advance(s)); } } m.release(i); } }, e.prototype._findClosest = function (e, t, r, n, o) { var a = this, s = 1 / 0, c = 1 / 0, u = null, h = l(e, t), d = 0, _ = function _(i) { if (++d, !n || n(i)) { var o = a._objectToBoundingSphere.getCenter(i), h = a._objectToBoundingSphere.getRadius(i); if (!r || !f(o, h, r)) { var l = p(e, t, o), _ = l - h, m = l + h; _ < s && (s = _, c = m, u = i); } } }; return this._forEachNodeDepthOrdered(this._root, function (n) { if (null != o && d >= o) return !1; if (r && f(n.center, n.halfSize * b, r)) return !1; if (i.vec3.scale(S, h, n.halfSize), i.vec3.add(S, S, n.center), p(e, t, S) > c) return !1; var a = n.node; return a.terminals.forEach(function (e) { _(e); }), null !== a.residents && a.residents.forEach(function (e) { _(e); }), !0; }, e, t), u; }, e.prototype._forEachInDepthRange = function (e, t, r, n, o, a, s, c) { var u = this, h = -1 / 0, d = 1 / 0, _ = { setRange: function setRange(e) { 1 === r ? (h = Math.max(h, e.near), d = Math.min(d, e.far)) : (h = Math.max(h, -e.far), d = Math.min(d, -e.near)); } }; _.setRange(n); var m = p(t, r, e), v = l(t, r), g = l(t, -1 * r), y = 0, j = function j(e) { if (++y, !s || s(e)) { var n = u._objectToBoundingSphere.getCenter(e), i = u._objectToBoundingSphere.getRadius(e), c = p(t, r, n) - m, l = c - i, v = c + i; l > d || v < h || a && f(n, i, a) || o(e, _); } }; this._forEachNodeDepthOrdered(this._root, function (e) { if (null != c && y >= c) return !1; if (a && f(e.center, e.halfSize * b, a)) return !1; if (i.vec3.scale(S, v, e.halfSize), i.vec3.add(S, S, e.center), p(t, r, S) - m > d) return !1; if (i.vec3.scale(S, g, e.halfSize), i.vec3.add(S, S, e.center), p(t, r, S) - m < h) return !1; var n = e.node; return n.terminals.forEach(function (e) { j(e); }), null !== n.residents && n.residents.forEach(function (e) { j(e); }), !0; }, t, r); }, e.prototype._objectOrObjectsArray = function (e) { return Array.isArray(e) ? e : (y[0] = e, y); }, e.prototype._remove = function (e, t, r) { N.clear(); var n = r.advanceTo(t, function (e, t) { N.push(e.node), N.push(t); }), i = n ? r.node.terminals : r.node.residents; if (i.removeUnordered(e), 0 === i.length) for (var o = N.length - 2; o >= 0; o -= 2) { var a = N.data[o], s = N.data[o + 1]; if (!this._purge(a, s)) break; } }, e.prototype._nodeIsEmpty = function (e) { if (0 !== e.terminals.length) return !1; if (null !== e.residents) return 0 === e.residents.length; for (var t = 0; t < e.children.length; t++) if (e.children[t]) return !1; return !0; }, e.prototype._purge = function (e, t) { return t >= 0 && (e.children[t] = null), !!this._nodeIsEmpty(e) && (null === e.residents && (e.residents = new n({ shrink: !0 })), !0); }, e.prototype._add = function (e, t) { t.advanceTo(this._boundingSphereFromObject(e, E)) ? t.node.terminals.push(e) : (t.node.residents.push(e), t.node.residents.length > this._maximumObjectsPerNode && t.depth < this._maximumDepth && this._split(t)); }, e.prototype._split = function (e) { var t = e.node.residents; e.node.residents = null; for (var r = 0; r < t.length; r++) { var n = m.acquire().init(e); this._add(t.data[r], n), m.release(n); } }, e.prototype._grow = function (e, t) { var r = this; if (0 !== t) { var n = this._boundingSphereFromObjects(e, t, function (e, t) { return r._boundingSphereFromObject(e, t); }, M); if (this._isValidRadius(n.radius) && !this._fitsInsideTree(n)) if (this._nodeIsEmpty(this._root.node)) i.vec3.copy(this._root.center, n.center), this._root.halfSize = 1.25 * n.radius;else { var o = m.acquire(); this._rootBoundsForRootAsSubNode(n, o), this._placingRootViolatesMaxDepth(o) ? this._rebuildTree(n, o) : this._growRootAsSubNode(o), m.release(o); } } }, e.prototype._rebuildTree = function (e, t) { var r = this; i.vec3.copy(z.center, t.center), z.radius = t.halfSize; var n = this._boundingSphereFromObjects([e, z], 2, function (e) { return e; }, R), o = m.acquire().init(this._root); this._root.initFrom(null, n.center, 1.25 * n.radius), this._forEachNode(o, function (e) { return r.add(e.node.terminals.data, e.node.terminals.length), null !== e.node.residents && r.add(e.node.residents.data, e.node.residents.length), !0; }), m.release(o); }, e.prototype._placingRootViolatesMaxDepth = function (e) { var t = 0; return this._forEachNode(this._root, function (e) { return t = Math.max(t, e.depth), !0; }), t + Math.log(e.halfSize / this._root.halfSize) * Math.LOG2E > this._maximumDepth; }, e.prototype._rootBoundsForRootAsSubNode = function (e, t) { for (var r = e.radius, n = e.center, i = -1 / 0, o = this._root.center, a = this._root.halfSize, s = 0; s < 3; s++) { var c = o[s] - a - (n[s] - r), u = n[s] + r - (o[s] + a), h = Math.max(0, Math.ceil(c / (2 * a))), f = Math.max(0, Math.ceil(u / (2 * a))) + 1, d = Math.pow(2, Math.ceil(Math.log(h + f) * Math.LOG2E)); i = Math.max(i, d), T[s].min = h, T[s].max = f; } for (var s = 0; s < 3; s++) { var h = T[s].min, f = T[s].max, l = (i - (h + f)) / 2; h += Math.ceil(l), f += Math.floor(l); var p = o[s] - a - h * a * 2; j[s] = p + (f + h) * a; } return t.initFrom(null, j, i * a, 0); }, e.prototype._growRootAsSubNode = function (e) { var t = this._root.node; i.vec3.copy(M.center, this._root.center), M.radius = this._root.halfSize, this._root.init(e), e.advanceTo(M, null, !0), e.node.children = t.children, e.node.residents = t.residents, e.node.terminals = t.terminals; }, e.prototype._shrink = function () { for (;;) { var e = this._findShrinkIndex(); if (-1 === e) break; this._root.advance(e), this._root.depth = 0; } }, e.prototype._findShrinkIndex = function () { if (0 !== this._root.node.terminals.length || this._root.isLeaf()) return -1; for (var e = null, t = this._root.node.children, r = 0, n = 0; n < t.length && null == e;) r = n++, e = t[r]; for (; n < t.length;) if (t[n++]) return -1; return r; }, e.prototype._isDegenerate = function (e) { var t = this._objectToBoundingSphere.getRadius(e); return !this._isValidRadius(t); }, e.prototype._isValidRadius = function (e) { return !isNaN(e) && e !== -1 / 0 && e !== 1 / 0 && e > 0; }, e.prototype._fitsInsideTree = function (e) { var t = this._root.center, r = this._root.halfSize, n = e.center; return e.radius <= r && n[0] >= t[0] - r && n[0] <= t[0] + r && n[1] >= t[1] - r && n[1] <= t[1] + r && n[2] >= t[2] - r && n[2] <= t[2] + r; }, e.prototype._boundingSphereFromObject = function (e, t) { return i.vec3.copy(t.center, this._objectToBoundingSphere.getCenter(e)), t.radius = this._objectToBoundingSphere.getRadius(e), t; }, e.prototype._boundingSphereFromObjects = function (e, t, r, n) { if (1 === t) { var o = r(e[0], M); i.vec3.copy(n.center, o.center), n.radius = o.radius; } else { O[0] = 1 / 0, O[1] = 1 / 0, O[2] = 1 / 0, x[0] = -1 / 0, x[1] = -1 / 0, x[2] = -1 / 0; for (var a = 0; a < t; a++) { var o = r(e[a], M); this._isValidRadius(o.radius) && (c(O, o.center, o.radius), u(x, o.center, o.radius)); } i.vec3.lerp(n.center, O, x, .5), n.radius = Math.max(x[0] - O[0], x[1] - O[1], x[2] - O[2]) / 2; } return n; }, e; }(), m = function () { function e(e, t, r) { void 0 === r && (r = 0), this.center = o.vec3f64.create(), this.initFrom(e, t, r, 0); } return e.prototype.init = function (e) { return this.initFrom(e.node, e.center, e.halfSize, e.depth); }, e.prototype.initFrom = function (t, r, n, o) { return void 0 === t && (t = null), void 0 === n && (n = this.halfSize), void 0 === o && (o = this.depth), this.node = t || e.createEmptyNode(), r && i.vec3.copy(this.center, r), this.halfSize = n, this.depth = o, this; }, e.prototype.advance = function (t) { var r = this.node.children[t]; r || (r = e.createEmptyNode(), this.node.children[t] = r), this.node = r, this.halfSize /= 2, this.depth++; var n = v[t]; return this.center[0] += n[0] * this.halfSize, this.center[1] += n[1] * this.halfSize, this.center[2] += n[2] * this.halfSize, this; }, e.prototype.advanceTo = function (e, t, r) { for (void 0 === r && (r = !1);;) { if (this.isTerminalFor(e)) return t && t(this, -1), !0; if (this.isLeaf() && !r) return t && t(this, -1), !1; this.isLeaf() && (this.node.residents = null); var n = this._childIndex(e); t && t(this, n), this.advance(n); } }, e.prototype.isLeaf = function () { return null != this.node.residents; }, e.prototype.isTerminalFor = function (e) { return e.radius > this.halfSize / 2; }, e.prototype._childIndex = function (e) { for (var t = e.center, r = this.center, n = 0, i = 0; i < 3; i++) r[i] < t[i] && (n |= 1 << i); return n; }, e.createEmptyNode = function () { return { children: [null, null, null, null, null, null, null, null], terminals: new n({ shrink: !0 }), residents: new n({ shrink: !0 }) }; }, e.acquire = function () { return e._pool.acquire(); }, e.release = function (t) { e._pool.release(t); }, e.clearPool = function () { e._pool.prune(); }, e._pool = new r(e), e; }(), v = [o.vec3f64.fromValues(-1, -1, -1), o.vec3f64.fromValues(1, -1, -1), o.vec3f64.fromValues(-1, 1, -1), o.vec3f64.fromValues(1, 1, -1), o.vec3f64.fromValues(-1, -1, 1), o.vec3f64.fromValues(1, -1, 1), o.vec3f64.fromValues(-1, 1, 1), o.vec3f64.fromValues(1, 1, 1)], g = [o.vec3f64.fromValues(-1, -1, -1), o.vec3f64.fromValues(-1, -1, 1), o.vec3f64.fromValues(-1, 1, -1), o.vec3f64.fromValues(-1, 1, 1), o.vec3f64.fromValues(1, -1, -1), o.vec3f64.fromValues(1, -1, 1), o.vec3f64.fromValues(1, 1, -1), o.vec3f64.fromValues(1, 1, 1)], b = Math.sqrt(3), y = [null], j = o.vec3f64.create(), S = o.vec3f64.create(), O = o.vec3f64.create(), x = o.vec3f64.create(), N = new n(), E = { center: o.vec3f64.create(), radius: 0 }, M = { center: o.vec3f64.create(), radius: 0 }, z = { center: o.vec3f64.create(), radius: 0 }, R = { center: o.vec3f64.create(), radius: 0 }, T = [{ min: 0, max: 0 }, { min: 0, max: 0 }, { min: 0, max: 0 }], V = new n(), D = new n(); return _; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/ResizableFloat32Array.js": /*!***************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/ResizableFloat32Array.js ***! \***************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibResizableFloat32ArrayJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/mathUtils */ "./node_modules/arcgis-js-api/core/mathUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (r, e, t) { Object.defineProperty(e, "__esModule", { value: !0 }); var a = function () { function r(r) { null == r ? r = 16 : r < 65536 && (r = t.nextHighestPowerOfTwo(r)), this._array = new Float32Array(r), this._size = 0; } return r.prototype.resize = function (r, e) { if (this._size = r, this._size > this._array.length) { for (var t = this._array.length || 1; t < this._size;) t *= 2; var a = new Float32Array(t); return e && a.set(this._array), this._array = a, !0; } var i = 2 * this._size; if (i <= this._array.length) { for (var t = this._array.length; t >= i;) t = Math.floor(t / 2); var a = new Float32Array(t); return e && a.set(this._array.subarray(0, t)), this._array = a, !0; } return !1; }, r.prototype.append = function (r) { var e = this._size; this.resize(this._size + r.length, !0), this._array.set(r, e); }, r.prototype.erase = function (r, e) { for (var t = r; t < e; ++t) this._array[t] = 0; }, Object.defineProperty(r.prototype, "array", { get: function get() { return this._array; }, enumerable: !0, configurable: !0 }), Object.defineProperty(r.prototype, "size", { get: function get() { return this._size; }, enumerable: !0, configurable: !0 }), r; }(); e.ResizableFloat32Array = a; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/WebGLDriverTest.js": /*!*********************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/WebGLDriverTest.js ***! \*********************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibWebGLDriverTestJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/maybe */ "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ../../../webgl */ "./node_modules/arcgis-js-api/views/webgl.js"), __webpack_require__( /*! ./doublePrecisionUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/doublePrecisionUtils.js"), __webpack_require__( /*! ./Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js"), __webpack_require__( /*! ../shaders/sources/shaderRepository */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/sources/shaderRepository.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n, o, t, r, i, a, s) { function u(e) { return (o.isNone(f) || f.context !== e) && (f = new c(e)), f; } function l(e, n) { var o = new r.FramebufferObject(e, { colorTarget: 0, depthStencilTarget: 0 }, { target: 3553, wrapMode: 33071, pixelFormat: 6408, dataType: 5121, samplingMode: 9728, width: 1, height: 1 }), u = r.BufferObject.createVertex(e, 35044, new Uint16Array([0, 0, 1, 0, 0, 1, 1, 1])), l = new r.VertexArrayObject(e, { a_pos: 0 }, { geometry: [{ name: "a_pos", count: 2, type: 5123, offset: 0, stride: 4, normalized: !1 }] }, { geometry: u }), c = t.vec3f64.fromValues(5633261.287538229, 2626832.878767164, 1434988.0495278358), f = t.vec3f64.fromValues(5633271.46742708, 2626873.6381334523, 1434963.231608387); e.bindFramebuffer(o); var d = function (o, t) { var a = s.util["doublePrecision.glsl"], u = n ? "#define DOUBLE_PRECISION_REQUIRES_OBFUSCATION" : "", l = "\n\n precision highp float;\n\n attribute vec2 a_pos;\n\n uniform vec3 u_highA;\n uniform vec3 u_lowA;\n uniform vec3 u_highB;\n uniform vec3 u_lowB;\n\n varying vec4 v_color;\n\n " + u + "\n\n " + a + "\n\n const float MAX_RGBA_FLOAT =\n 255.0 / 256.0 +\n 255.0 / 256.0 / 256.0 +\n 255.0 / 256.0 / 256.0 / 256.0 +\n 255.0 / 256.0 / 256.0 / 256.0 / 256.0;\n\n const vec4 FIXED_POINT_FACTORS = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);\n\n vec4 float2rgba(const float value) {\n // Make sure value is in the domain we can represent\n float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);\n\n // Decompose value in 32bit fixed point parts represented as\n // uint8 rgba components. Decomposition uses the fractional part after multiplying\n // by a power of 256 (this removes the bits that are represented in the previous\n // component) and then converts the fractional part to 8bits.\n vec4 fixedPointU8 = floor(fract(valueInValidDomain * FIXED_POINT_FACTORS) * 256.0);\n\n // Convert uint8 values (from 0 to 255) to floating point representation for\n // the shader\n const float toU8AsFloat = 1.0 / 255.0;\n\n return fixedPointU8 * toU8AsFloat;\n }\n\n void main() {\n vec3 val = dpAdd(u_highA, u_lowA, -u_highB, -u_lowB);\n\n v_color = float2rgba(val.z / 25.0);\n\n gl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\n }\n ", c = new r.Program(e, l, "\n precision highp float;\n\n varying vec4 v_color;\n\n void main() {\n gl_FragColor = v_color;\n }\n ", { a_pos: 0 }), f = new Float32Array(6); i.encodeDoubleArray(o, f, 3); var d = new Float32Array(6); return i.encodeDoubleArray(t, d, 3), e.bindProgram(c), c.setUniform3f("u_highA", f[0], f[2], f[4]), c.setUniform3f("u_lowA", f[1], f[3], f[5]), c.setUniform3f("u_highB", d[0], d[2], d[4]), c.setUniform3f("u_lowB", d[1], d[3], d[5]), c; }(c, f), p = e.getViewport(), v = p.x, h = p.y, _ = p.width, b = p.height; e.setViewport(0, 0, 1, 1), e.bindVAO(l), e.drawArrays(5, 0, 4), e.setViewport(v, h, _, b); var m = new Uint8Array(4); o.readPixels(0, 0, 1, 1, 6408, 5121, m), d.dispose(), l.dispose(!1), u.dispose(), o.dispose(); var g = (c[2] - f[2]) / 25, A = a.unpackFloatRGBA(m); return Math.abs(g - A); } Object.defineProperty(n, "__esModule", { value: !0 }); var c = function () { function e(e) { this.context = e, this._doublePrecisionRequiresObfuscation = null; } return Object.defineProperty(e.prototype, "doublePrecisionRequiresObfuscation", { get: function get() { if (o.isNone(this._doublePrecisionRequiresObfuscation)) { var e = l(this.context, !1), n = l(this.context, !0); this._doublePrecisionRequiresObfuscation = 0 !== e && (0 === n || e / n > 5); } return this._doublePrecisionRequiresObfuscation; }, enumerable: !0, configurable: !0 }), e; }(), f = null; n.testWebGLDriver = u; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/doublePrecisionUtils.js": /*!**************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/doublePrecisionUtils.js ***! \**************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibDoublePrecisionUtilsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r) { function o(e, r) { c[0] = e, c[1] = e - c[0], r[0] = c[0], r[1] = c[1]; } function n(e, r, o) { for (var n = 0; n < o; ++n) r[2 * n] = e[n], r[2 * n + 1] = e[n] - r[2 * n]; } function a(e, r, o) { for (var n = 0; n < o; ++n) r[n] = e[2 * n] + e[2 * n + 1]; } function u(e, r, o, a) { for (var u = 0; u < a; ++u) t[0] = e[u], n(t, c, 1), r[u] = c[0], o[u] = c[1]; } Object.defineProperty(r, "__esModule", { value: !0 }), r.encodeDouble = o, r.encodeDoubleArray = n, r.decodeDoubleArray = a, r.encodeDoubleArraySplit = u; var t = new Float64Array(1), c = new Float32Array(2); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/glUtil3D.js": /*!**************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/glUtil3D.js ***! \**************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibGlUtil3DJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ./DefaultVertexAttributeLocations */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js"), __webpack_require__( /*! ./DefaultVertexBufferLayouts */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js"), __webpack_require__( /*! ../../../webgl/BufferObject */ "./node_modules/arcgis-js-api/views/webgl/BufferObject.js"), __webpack_require__( /*! ../../../webgl/Texture */ "./node_modules/arcgis-js-api/views/webgl/Texture.js"), __webpack_require__( /*! ../../../webgl/VertexArrayObject */ "./node_modules/arcgis-js-api/views/webgl/VertexArrayObject.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, a, o, n, i) { function u(e, t, n) { void 0 === t && (t = a.Pos2), void 0 === n && (n = r.Default3D); var u = null; switch (t) { case a.Pos3Tex: u = new Float32Array([-1, -1, 0, 0, 0, 1, -1, 0, 1, 0, -1, 1, 0, 0, 1, 1, 1, 0, 1, 1]); break; case a.Pos3: u = new Float32Array([-1, -1, 0, 1, -1, 0, -1, 1, 0, 1, 1, 0]); break; case a.Pos2Tex: u = new Float32Array([-1, -1, 0, 0, 1, -1, 1, 0, -1, 1, 0, 1, 1, 1, 1, 1]); break; case a.Pos2: default: u = new Float32Array([-1, -1, 1, -1, -1, 1, 1, 1]); } return new i(e, n, { geometry: t }, { geometry: o.createVertex(e, 35044, u) }); } function l(e, t) { return void 0 === t && (t = s), new n(e, { target: 3553, pixelFormat: 6408, dataType: 5121, samplingMode: 9728, width: t, height: t }); } function c(e, t, r) { void 0 === r && (r = s); for (var a = new Uint8Array(r * r * 4), o = 0; o < a.length; o += 4) a[o + 0] = 255 * t[0], a[o + 1] = 255 * t[1], a[o + 2] = 255 * t[2], a[o + 3] = 255 * t[3]; return new n(e, { target: 3553, pixelFormat: 6408, dataType: 5121, samplingMode: 9728, width: r, height: r }, a); } Object.defineProperty(t, "__esModule", { value: !0 }), t.createQuadVAO = u; var s = 4; t.createEmptyTexture = l, t.createColorTexture = c; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/intersectorUtils.js": /*!**********************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/intersectorUtils.js ***! \**********************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibIntersectorUtilsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/maybe */ "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/mat3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat3.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/mat3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat3f64.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/mat4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/mat4f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4f64.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/quat */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/quat.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/quatf64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/quatf64.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3f32 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f32.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec4.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec4f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec4f64.js"), __webpack_require__( /*! ../../support/geometryUtils */ "./node_modules/arcgis-js-api/views/3d/support/geometryUtils.js"), __webpack_require__( /*! ../../support/geometryUtils/boundedPlane */ "./node_modules/arcgis-js-api/views/3d/support/geometryUtils/boundedPlane.js"), __webpack_require__( /*! ../../support/geometryUtils/sphere */ "./node_modules/arcgis-js-api/views/3d/support/geometryUtils/sphere.js"), __webpack_require__( /*! ./Object3D */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Object3D.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, r, i, n, a, s, o, h, c, f, l, p, u, m, b, d, y) { function g(t) { return function (e, r, i) { return c.vec3.lerp(P, e, r, i), !b.extrusionContainsPoint(t, P); }; } function v(t, e) { return r.isNone(t) || null == t.layerUid ? null : r.isSome(e.graphicsView) && t.layerUid === e.graphicsView.mockLayerId ? e.graphics : e.map.findLayerByUid(t.layerUid); } function O(t, e) { if (r.isNone(t)) return null; var i = v(t, e); if (r.isNone(i)) return null; if (i === e.graphics) return r.isSome(e.graphicsView) ? r.expect(e.graphicsView.getGraphicFromGraphicUid(t.graphicUid)) : null; var n = e.allLayerViews.find(function (t) { return t.layer === i; }); return n ? x(n, t) : null; } function x(t, e) { return !t || t.suspended ? null : "getGraphicFromIntersectorMetadata" in t && e ? t.getGraphicFromIntersectorMetadata(e) : "getGraphicFromGraphicUid" in t && null != e.graphicUid ? t.getGraphicFromGraphicUid(e.graphicUid) : null; } function T(t, e) { var r = t.metadata.layerUid; return null != r ? e.map.findLayerByUid(r) : null; } function S(t) { return t.metadata.createGraphic(); } Object.defineProperty(e, "__esModule", { value: !0 }), e.sliceFilterPredicate = g; var M = function () { function t() { this.selectionMode = !1, this.hud = !0, this.selectOpaqueTerrainOnly = !0, this.invisibleTerrain = !1, this.backfacesTerrain = !0, this.storeTerrainResults = !0, this.store = 2; } return t; }(); e.IntersectorOptions = M; var z = function () { function t() { this._transform = s.mat4f64.create(), this._transformInverse = new I({ value: this._transform }, a.mat4.invert, s.mat4f64.create), this._transformInverseTranspose = new I(this._transformInverse, a.mat4.transpose, s.mat4f64.create), this._transformTranspose = new I({ value: this._transform }, a.mat4.transpose, s.mat4f64.create), this._transformInverseRotation = new I({ value: this._transform }, i.mat3.normalFromMat4Legacy, n.mat3f64.create); } return t.prototype.invalidateLazyTransforms = function () { this._transformInverse.invalidate(), this._transformInverseTranspose.invalidate(), this._transformTranspose.invalidate(), this._transformInverseRotation.invalidate(); }, Object.defineProperty(t.prototype, "transform", { get: function get() { return this._transform; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "inverse", { get: function get() { return this._transformInverse.value; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "inverseTranspose", { get: function get() { return this._transformInverseTranspose.value; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "inverseRotation", { get: function get() { return this._transformInverseRotation.value; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "transpose", { get: function get() { return this._transformTranspose.value; }, enumerable: !0, configurable: !0 }), t.prototype.setTransformMatrix = function (t) { a.mat4.copy(this._transform, t); }, t.prototype.multiplyTransform = function (t) { a.mat4.multiply(this._transform, this._transform, t); }, t.prototype.set = function (t) { a.mat4.copy(this._transform, t), this.invalidateLazyTransforms(); }, t.prototype.setAndInvalidateLazyTransforms = function (t, e) { this.setTransformMatrix(t), this.multiplyTransform(e), this.invalidateLazyTransforms(); }, t; }(); e.IntersectorTransform = z; var I = function () { function t(t, e, r) { this.original = t, this.update = e, this.dirty = !0, this.transform = r(); } return t.prototype.invalidate = function () { this.dirty = !0; }, Object.defineProperty(t.prototype, "value", { get: function get() { return this.dirty && (this.update(this.transform, this.original.value), this.dirty = !1), this.transform; }, enumerable: !0, configurable: !0 }), t; }(), V = function () { function t() { this.min = new _(), this.max = new _(), this.hud = new _(), this.terrain = new _(); } return t.prototype.init = function (t) { this.min.init(t), this.max.init(t), this.hud.init(t), this.terrain.init(t), this.all = []; }, t; }(); e.IntersectorResults = V; var _ = function () { function t(t) { this.normal = l.vec3f64.create(), this.transformation = s.mat4f64.create(), this._ray = m.ray.create(), this.init(t); } return Object.defineProperty(t.prototype, "ray", { get: function get() { return this._ray; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "hasIntersectionPoint", { get: function get() { return null != this.dist; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "distanceInRenderSpace", { get: function get() { if (null != this.dist) return c.vec3.scale(G, this.ray.direction, this.dist), c.vec3.length(G); }, enumerable: !0, configurable: !0 }), t.prototype.getIntersectionPoint = function (t) { return !!this.hasIntersectionPoint && (c.vec3.scale(G, this.ray.direction, this.dist), c.vec3.add(t, this.ray.origin, G), !0); }, t.prototype.getTransformedNormal = function (t) { return c.vec3.copy(R, this.normal), R[3] = 0, p.vec4.transformMat4(R, R, this.transformation), c.vec3.copy(t, R), c.vec3.normalize(t, t), t; }, t.prototype.set = function (t, e, r, i, n, s, o, h, f, p) { t instanceof y && (t = { type: "stage", obj: t }), this.dist = r, c.vec3.copy(this.normal, i), a.mat4.copy(this.transformation, n), this.target = t, this.name = e, this.drapedLayerOrder = s, this.center = o ? l.vec3f64.clone(o) : null, this.geometryId = h, this.triangleNr = f, this.drapedLayerGraphicOrder = p; }, t.prototype.copyFrom = function (t) { m.ray.copy(t._ray, this._ray), this.dist = t.dist, this.target = t.target, this.name = t.name, this.drapedLayerOrder = t.drapedLayerOrder, this.center = t.center ? l.vec3f64.clone(t.center) : null, this.geometryId = t.geometryId, this.triangleNr = t.triangleNr, this.intersector = t.intersector, this.drapedLayerGraphicOrder = t.drapedLayerGraphicOrder, c.vec3.copy(this.normal, t.normal), a.mat4.copy(this.transformation, t.transformation); }, t.prototype.init = function (t) { this.dist = void 0, this.target = void 0, this.name = void 0, this.drapedLayerOrder = void 0, this.drapedLayerGraphicOrder = void 0, this.center = null, this.geometryId = null, this.triangleNr = null, this.intersector = "Stage", t ? m.ray.copy(t, this._ray) : this._ray = m.ray.create(); }, t.prototype.toOwner = function (t) { if (!this.target) return null; switch (this.target.type) { case "stage": return v(this.target.obj.getMetadata(), t); case "external": switch (this.intersector) { case "PointRenderer": return T(this.target, t); case "I3S": case "LodRenderer": case "DrapedRenderer": return v(this.target.metadata, t); case "TerrainRenderer": return t.map && t.map.ground; } } return null; }, t.prototype.toGraphic = function (t) { if (!this.target) return null; switch (this.target.type) { case "stage": return O(this.target.obj.getMetadata(), t); case "external": switch (this.intersector) { case "PointRenderer": return S(this.target); case "I3S": case "LodRenderer": case "DrapedRenderer": return O(this.target.metadata, t); } } return null; }, t; }(); e.IntersectorResult = _; var L = function () { function t(t) { this.offset = t, this.tmpVertex = l.vec3f64.create(); } return t.prototype.applyToVertex = function (t, e, r) { var i = t + this.localOrigin[0], n = e + this.localOrigin[1], a = r + this.localOrigin[2], s = this.offset / Math.sqrt(i * i + n * n + a * a); return this.tmpVertex[0] = t + i * s, this.tmpVertex[1] = e + n * s, this.tmpVertex[2] = r + a * s, this.tmpVertex; }, t.prototype.applyToAABB = function (t) { var e = t[0] + this.localOrigin[0], r = t[1] + this.localOrigin[1], i = t[2] + this.localOrigin[2], n = t[3] + this.localOrigin[0], a = t[4] + this.localOrigin[1], s = t[5] + this.localOrigin[2], o = this.offset / Math.sqrt(e * e + r * r + i * i); t[0] += e * o, t[1] += r * o, t[2] += i * o; var h = this.offset / Math.sqrt(n * n + a * a + s * s); return t[3] += n * h, t[4] += a * h, t[5] += s * h, t; }, t; }(); e.TerrainVerticalOffsetGlobalViewingMode = L; var q = function () { function t(t) { this.offset = t, this.componentLocalOriginLength = 0, this.tmpVertex = l.vec3f64.create(), this.mbs = u.vec4f64.create(), this.obb = { center: l.vec3f64.create(), halfSize: f.vec3f32.create(), quaternion: null }; } return Object.defineProperty(t.prototype, "localOrigin", { set: function set(t) { this.componentLocalOriginLength = Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]); }, enumerable: !0, configurable: !0 }), t.prototype.applyToVertex = function (t, e, r) { var i = t, n = e, a = r + this.componentLocalOriginLength, s = this.offset / Math.sqrt(i * i + n * n + a * a); return this.tmpVertex[0] = t + i * s, this.tmpVertex[1] = e + n * s, this.tmpVertex[2] = r + a * s, this.tmpVertex; }, t.prototype.applyToAABB = function (t) { var e = t[0], r = t[1], i = t[2] + this.componentLocalOriginLength, n = t[3], a = t[4], s = t[5] + this.componentLocalOriginLength, o = this.offset / Math.sqrt(e * e + r * r + i * i); t[0] += e * o, t[1] += r * o, t[2] += i * o; var h = this.offset / Math.sqrt(n * n + a * a + s * s); return t[3] += n * h, t[4] += a * h, t[5] += s * h, t; }, t.prototype.applyToMbs = function (t) { var e = Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]), r = this.offset / e; return this.mbs[0] = t[0] + t[0] * r, this.mbs[1] = t[1] + t[1] * r, this.mbs[2] = t[2] + t[2] * r, this.mbs[3] = t[3] + t[3] * this.offset / e, this.mbs; }, t.prototype.applyToObb = function (t) { var e = t.center, r = this.offset / Math.sqrt(e[0] * e[0] + e[1] * e[1] + e[2] * e[2]); this.obb.center[0] = e[0] + e[0] * r, this.obb.center[1] = e[1] + e[1] * r, this.obb.center[2] = e[2] + e[2] * r, c.vec3.transformQuat(this.obb.halfSize, t.halfSize, t.quaternion), c.vec3.add(this.obb.halfSize, this.obb.halfSize, t.center); var i = this.offset / Math.sqrt(this.obb.halfSize[0] * this.obb.halfSize[0] + this.obb.halfSize[1] * this.obb.halfSize[1] + this.obb.halfSize[2] * this.obb.halfSize[2]); return this.obb.halfSize[0] += this.obb.halfSize[0] * i, this.obb.halfSize[1] += this.obb.halfSize[1] * i, this.obb.halfSize[2] += this.obb.halfSize[2] * i, c.vec3.subtract(this.obb.halfSize, this.obb.halfSize, t.center), o.quat.conjugate(U, t.quaternion), c.vec3.transformQuat(this.obb.halfSize, this.obb.halfSize, U), this.obb.halfSize[0] *= this.obb.halfSize[0] < 0 ? -1 : 1, this.obb.halfSize[1] *= this.obb.halfSize[1] < 0 ? -1 : 1, this.obb.halfSize[2] *= this.obb.halfSize[2] < 0 ? -1 : 1, this.obb.quaternion = t.quaternion, this.obb; }, t; }(); e.I3SVerticalOffsetGlobalViewingMode = q; var w = function () { function t(t) { this.offset = t, this.sphere = d.create(), this.tmpVertex = l.vec3f64.create(); } return t.prototype.applyToVertex = function (t, e, r) { var i = this.objectTransform.transform, n = i[0] * t + i[4] * e + i[8] * r + i[12], a = i[1] * t + i[5] * e + i[9] * r + i[13], s = i[2] * t + i[6] * e + i[10] * r + i[14], o = this.offset / Math.sqrt(n * n + a * a + s * s); n += n * o, a += a * o, s += s * o; var h = this.objectTransform.inverse; return this.tmpVertex[0] = h[0] * n + h[4] * a + h[8] * s + h[12], this.tmpVertex[1] = h[1] * n + h[5] * a + h[9] * s + h[13], this.tmpVertex[2] = h[2] * n + h[6] * a + h[10] * s + h[14], this.tmpVertex; }, t.prototype.applyToMinMax = function (t, e) { var r = this.offset / Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]); t[0] += t[0] * r, t[1] += t[1] * r, t[2] += t[2] * r; var i = this.offset / Math.sqrt(e[0] * e[0] + e[1] * e[1] + e[2] * e[2]); e[0] += e[0] * i, e[1] += e[1] * i, e[2] += e[2] * i; }, t.prototype.applyToAABB = function (t) { var e = this.offset / Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]); t[0] += t[0] * e, t[1] += t[1] * e, t[2] += t[2] * e; var r = this.offset / Math.sqrt(t[3] * t[3] + t[4] * t[4] + t[5] * t[5]); return t[3] += t[3] * r, t[4] += t[4] * r, t[5] += t[5] * r, t; }, t.prototype.applyToBoundingSphere = function (t, e) { var r = Math.sqrt(e[0] * e[0] + e[1] * e[1] + e[2] * e[2]), i = this.offset / r; return this.sphere.center[0] = e[0] + e[0] * i, this.sphere.center[1] = e[1] + e[1] * i, this.sphere.center[2] = e[2] + e[2] * i, this.sphere.radius = t + t * this.offset / r, this.sphere; }, t; }(); e.Object3DVerticalOffsetGlobalViewingMode = w; var j = function () { function t(t) { this.terrain = new L(t), this.i3s = new q(t), this.object3D = new w(t); } return t; }(); e.VerticalOffsetForGlobalViewingMode = j, e.TERRAIN_ID = "terrain"; var P = l.vec3f64.create(), G = l.vec3f64.create(), R = u.vec4f64.create(), U = h.quatf64.create(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/screenSizePerspectiveUtils.js": /*!********************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/screenSizePerspectiveUtils.js ***! \********************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineLibScreenSizePerspectiveUtilsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/mathUtils */ "./node_modules/arcgis-js-api/core/mathUtils.js"), __webpack_require__( /*! ../../support/earthUtils */ "./node_modules/arcgis-js-api/views/3d/support/earthUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, a, t, r) { function i(e) { return new g(e, a.defaultDescription); } function n(e) { var t = a.defaultDescription.curvatureDependent, r = a.defaultDescription.scaleStart, i = a.defaultDescription.scaleFallOffRange; return new g(e, { curvatureDependent: { min: { curvature: t.min.curvature, tiltAngle: t.min.tiltAngle, scaleFallOffFactor: P.curvatureDependent.min.scaleFallOffFactor }, max: { curvature: t.max.curvature, tiltAngle: t.max.tiltAngle, scaleFallOffFactor: P.curvatureDependent.max.scaleFallOffFactor } }, scaleStart: r, scaleFallOffRange: i, minPixelSize: P.minPixelSize }); } function l(e) { return Math.abs(e * e * e); } function c(e, a, t, r) { void 0 === r && (r = x); var i = t.parameters, n = t.paddingPixelsOverride; return r.scale = Math.min(i.divisor / (a - i.offset), 1), r.factor = l(e), r.minPixelSize = i.minPixelSize, r.paddingPixels = n, r; } function s(e, a) { return 0 === e ? a.minPixelSize : a.minPixelSize * (1 + 2 * a.paddingPixels / e); } function o(e, a) { return Math.max(t.lerp(e * a.scale, e, a.factor), s(e, a)); } function u(e, a, r) { void 0 === r && (r = [0, 0]); var i = Math.min(Math.max(a.scale, s(e[1], a) / e[1]), 1); return r[0] = t.lerp(e[0] * i, e[0], a.factor), r[1] = t.lerp(e[1] * i, e[1], a.factor), r; } function d(e, a, t) { var r = c(e, a, t); return r.minPixelSize = 0, r.paddingPixels = 0, o(1, r); } function f(e, a, t, r) { return r.scale = d(e, a, t), r.factor = 0, r.minPixelSize = t.parameters.minPixelSize, r.paddingPixels = t.paddingPixelsOverride, r; } function p(e, a, t) { void 0 === t && (t = [0, 0]); var r = Math.min(Math.max(a.scale, s(e[1], a) / e[1]), 1); return t[0] = e[0] * r, t[1] = e[1] * r, t; } function m(e, a, t, r) { return o(e, c(a, t, r)); } function v() { return { camera: { distance: 0, fovY: 0 }, divisor: 0, offset: 0, minPixelSize: 0, paddingPixels: 0 }; } function h(e, a) { return a.camera.distance = e.camera.distance, a.camera.fovY = e.camera.fovY, a.divisor = e.divisor, a.offset = e.offset, a.minPixelSize = e.minPixelSize, a; } Object.defineProperty(a, "__esModule", { value: !0 }), a.getSettings = i, a.getLabelSettings = n, a.perspectiveFactor = l, a.scaleFactor = c, a.applyScaleFactor = o, a.applyScaleFactorVec2 = u, a.precomputeScale = d, a.precomputeScaleFactor = f, a.applyPrecomputedScaleFactorVec2 = p, a.scale = m; var g = function () { function e(e, a, t, r) { void 0 === t && (t = v()), this.viewingMode = e, this.description = a, this.parameters = t, this._paddingPixelsOverride = r, "local" === this.viewingMode ? (this.coverageCompensation = this.surfaceCoverageCompensationLocal, this.calculateCurvatureDependentParameters = this.calculateCurvatureDependentParametersLocal) : (this.coverageCompensation = this.surfaceCoverageCompensationGlobal, this.calculateCurvatureDependentParameters = this.calculateCurvatureDependentParametersGlobal); } return Object.defineProperty(e.prototype, "paddingPixelsOverride", { get: function get() { return this._paddingPixelsOverride || this.parameters.paddingPixels; }, enumerable: !0, configurable: !0 }), e.prototype.update = function (e) { return (!this.parameters || this.parameters.camera.fovY !== e.fovY || this.parameters.camera.distance !== e.distance) && (this.calculateParameters(e, this.parameters), !0); }, e.prototype.overridePadding = function (a) { return a !== this.paddingPixelsOverride ? new e(this.viewingMode, this.description, this.parameters, a) : this; }, e.prototype.calculateParameters = function (e, a) { var t = this.description, r = t.scaleStart, i = t.scaleFallOffRange, n = t.minPixelSize, l = e.fovY, c = e.distance, s = this.calculateCurvatureDependentParameters(e), o = this.coverageCompensation(e, s), u = s.tiltAngle, d = s.scaleFallOffFactor, f = Math.sin(u) * c, p = .5 * Math.PI - u - l * (.5 - r * o), m = f / Math.cos(p), v = p + l * i * o, h = f / Math.cos(v), g = (m - d * h) / (1 - d); return a.camera.fovY = e.fovY, a.camera.distance = e.distance, a.offset = g, a.divisor = m - g, a.minPixelSize = n, a; }, e.prototype.calculateCurvatureDependentParametersLocal = function (e, a) { return void 0 === a && (a = F), a.tiltAngle = this.description.curvatureDependent.min.tiltAngle, a.scaleFallOffFactor = this.description.curvatureDependent.min.scaleFallOffFactor, a; }, e.prototype.calculateCurvatureDependentParametersGlobal = function (e, a) { void 0 === a && (a = F); var i = this.description.curvatureDependent, n = 1 + e.distance / r.earthRadius, l = Math.sqrt(n * n - 1), c = [i.min.curvature, i.max.curvature], s = c[0], o = c[1], u = t.clamp((l - s) / (o - s), 0, 1), d = [i.min, i.max], f = d[0], p = d[1]; return a.tiltAngle = t.lerp(f.tiltAngle, p.tiltAngle, u), a.scaleFallOffFactor = t.lerp(f.scaleFallOffFactor, p.scaleFallOffFactor, u), a; }, e.prototype.surfaceCoverageCompensationLocal = function (e, a) { return (e.fovY - a.tiltAngle) / e.fovY; }, e.prototype.surfaceCoverageCompensationGlobal = function (e, a) { var t = r.earthRadius * r.earthRadius, i = a.tiltAngle + .5 * Math.PI, n = e.fovY, l = e.distance, c = l * l, s = c + t - 2 * Math.cos(i) * l * r.earthRadius, o = Math.sqrt(s), u = Math.sqrt(s - t); return (Math.acos(u / o) - Math.asin(r.earthRadius / (o / Math.sin(i))) + .5 * n) / n; }, e; }(); a.defaultDescription = { curvatureDependent: { min: { curvature: t.deg2rad(10), tiltAngle: t.deg2rad(12), scaleFallOffFactor: .5 }, max: { curvature: t.deg2rad(70), tiltAngle: t.deg2rad(40), scaleFallOffFactor: .8 } }, scaleStart: .3, scaleFallOffRange: .65, minPixelSize: 0 }; var P = { curvatureDependent: { min: { scaleFallOffFactor: .7 }, max: { scaleFallOffFactor: .95 } }, minPixelSize: 14 }; a.copyParameters = h; var x = { scale: 0, factor: 0, minPixelSize: 0, paddingPixels: 0 }, F = { tiltAngle: 0, scaleFallOffFactor: 0 }; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/DefaultMaterial.js": /*!***************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/DefaultMaterial.js ***! \***************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineMaterialsDefaultMaterialJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/tsSupport/extendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/extendsHelper.js"), __webpack_require__( /*! ../../../../core/tsSupport/assignHelper */ "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__( /*! ../../../../core/maybe */ "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/mat3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat3f64.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ../../support/buffer/InterleavedLayout */ "./node_modules/arcgis-js-api/views/3d/support/buffer/InterleavedLayout.js"), __webpack_require__( /*! ../core/shaderLibrary/DiscardOrAdjustAlpha.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/DiscardOrAdjustAlpha.glsl.js"), __webpack_require__( /*! ../lib/GLMaterialTexture */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GLMaterialTexture.js"), __webpack_require__( /*! ../lib/Material */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Material.js"), __webpack_require__( /*! ../lib/Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js"), __webpack_require__( /*! ./internal/bufferWriterUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js"), __webpack_require__( /*! ./internal/MaterialUtil */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/MaterialUtil.js"), __webpack_require__( /*! ./renderers/InstancedRenderer */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/InstancedRenderer.js"), __webpack_require__( /*! ./renderers/MergedRenderer */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/MergedRenderer.js"), __webpack_require__( /*! ../shaders/DefaultMaterialTechnique */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js"), __webpack_require__( /*! ../../../webgl/renderState */ "./node_modules/arcgis-js-api/views/webgl/renderState.js"), __webpack_require__( /*! ../../../webgl/renderState */ "./node_modules/arcgis-js-api/views/webgl/renderState.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, i, r, a, n, s, o, c, l, u, p, h, f, m, d, v, g, b, P) { function y(e, t) { return e ? t ? 6 : 9 : 4; } function x(e) { return e.cullFace ? 0 !== e.cullFace : !e.slicePlaneEnabled && !e.transparent && !e.doubleSided; } var q = h.assert, S = function (e) { function t(i, r) { var a = e.call(this, r) || this; return a.supportsEdges = !0, a.techniqueConfig = new g.DefaultMaterialTechniqueConfiguration(), a.params = m.copyParameters(i, I), a.vertexBufferLayout = t.getVertexBufferLayout(a.params), a.instanceBufferLayout = i.instanced ? t.getInstanceBufferLayout(a.params) : null, a; } return i(t, e), t.prototype.isVisibleInPass = function (e) { return 3 !== e || this.params.castShadows; }, t.prototype.isVisible = function () { var t = this.params; if (!e.prototype.isVisible.call(this) || 0 === t.layerOpacity) return !1; var i = t.instanced, r = t.vertexColors, a = t.symbolColors, n = !!i && i.indexOf("color") > -1, s = t.vvColorEnabled, o = "replace" === t.colorMixMode, c = t.opacity > 0, l = t.externalColor && t.externalColor[3] > 0; return r && (n || s || a) ? !!o || c : r ? o ? l : c : n || s || a ? !!o || c : o ? l : c; }, t.prototype.setParameterValues = function (e) { var t = this.params; for (var i in e) "instanced" === i && q(e.instanced === t.instanced, "Can not change instanced attributes"), "textureId" === i && q(t.textureId, "Can only change texture of material that already has a texture"), "vertexColors" === i && !0 === e[i] && e[i] !== t[i] && q(t.vertexColors, "Can not enable vertex colors after DefaultMaterial creation"), t[i] = e[i]; this.notifyDirty("matChanged"); }, t.prototype.getParameters = function () { return this.params; }, t.prototype.getTechniqueConfig = function (e) { return this.techniqueConfig.output = e, this.techniqueConfig.hasNormalTexture = !!this.params.normalTextureId, this.techniqueConfig.hasColorTexture = !!this.params.textureId, this.techniqueConfig.vertexTangents = this.params.vertexTangents, this.techniqueConfig.instanced = !!this.params.instanced, this.techniqueConfig.instancedDoublePrecision = this.params.instancedDoublePrecision, this.techniqueConfig.vvSize = this.params.vvSizeEnabled, this.techniqueConfig.verticalOffset = null !== this.params.verticalOffset, this.techniqueConfig.screenSizePerspective = null !== this.params.screenSizePerspective, this.techniqueConfig.slice = this.params.slicePlaneEnabled, this.techniqueConfig.sliceHighlightDisabled = this.params.sliceHighlightDisabled, this.techniqueConfig.alphaDiscardMode = "opaque" === this.params.textureAlphaMode ? 1 : "mask" === this.params.textureAlphaMode ? 2 : "maskBlend" === this.params.textureAlphaMode ? 3 : 0, this.techniqueConfig.normalsTypeDerivate = "screenDerivative" === this.params.normals, 0 === e && (this.techniqueConfig.treeRendering = !!this.params.treeRendering, this.techniqueConfig.vertexColors = this.params.vertexColors, this.techniqueConfig.symbolColors = this.params.symbolColors, this.techniqueConfig.doubleSidedMode = this.params.doubleSided && "normal" === this.params.doubleSidedType ? 1 : this.params.doubleSided && "winding-order" === this.params.doubleSidedType ? 2 : 0, this.techniqueConfig.instancedColor = !!this.params.instanced && this.params.instanced.indexOf("color") > -1, this.techniqueConfig.receiveShadows = this.params.receiveShadows, this.techniqueConfig.receiveAmbientOcclusion = this.params.receiveSSAO, this.techniqueConfig.vvColor = this.params.vvColorEnabled, this.techniqueConfig.textureAlphaPremultiplied = !!this.params.textureAlphaPremultiplied, this.techniqueConfig.usePBR = this.params.usePBR, this.techniqueConfig.hasMetalnessAndRoughnessTexture = !!this.params.metallicRoughnessTextureId, this.techniqueConfig.hasEmissionTexture = !!this.params.emissiveTextureId, this.techniqueConfig.hasOcclusionTexture = !!this.params.occlusionTextureId, this.techniqueConfig.offsetBackfaces = !(!this.params.transparent || !this.params.offsetTransparentBackfaces)), this.techniqueConfig; }, t.prototype.intersect = function (e, t, i, r, n, o, c) { if (null !== this.params.verticalOffset) { var l = r.camera; s.vec3.set(W, i[12], i[13], i[14]); var u = null; switch (r.viewingMode) { case "global": u = s.vec3.normalize(B, W); break; case "local": u = s.vec3.copy(B, E); } var p = 0; if (null !== this.params.verticalOffset) { var h = s.vec3.subtract(k, W, l.eye), f = s.vec3.length(h), d = s.vec3.scale(h, h, 1 / f), v = null; this.params.screenSizePerspective && (v = s.vec3.dot(u, d)), p += m.verticalOffsetAtDistance(l, f, this.params.verticalOffset, v, this.params.screenSizePerspective); } s.vec3.scale(u, u, p), s.vec3.transformMat3(L, u, r.transform.inverseRotation), n = s.vec3.subtract(R, n, L), o = s.vec3.subtract(z, o, L); } m.intersectTriangleGeometry(e, t, r, n, o, a.isSome(r.options.verticalOffset) ? r.options.verticalOffset.object3D : void 0, c); }, t.prototype.getGLMaterials = function () { return { color: C, depthShadowMap: w, normal: D, depth: T, highlight: M }; }, t.prototype.createRenderer = function (e, t) { return this.params.softwareInstanced ? new d(e, t, this) : new v(e, t, this); }, t.prototype.createBufferWriter = function () { return new O(this.vertexBufferLayout, this.instanceBufferLayout); }, t.getVertexBufferLayout = function (e) { var t = e.textureId || e.normalTextureId || e.metallicRoughnessTextureId || e.emissiveTextureId || e.occlusionTextureId, i = c.newLayout().vec3f("position").vec3f("normal"); return e.vertexTangents && i.vec4f("tangent"), t && i.vec2f("uv0"), e.vertexColors && i.vec4u8("color"), e.symbolColors && i.vec4u8("symbolColor"), i; }, t.getInstanceBufferLayout = function (e) { var t = c.newLayout(); return t = e.instancedDoublePrecision ? t.vec3f("modelOriginHi").vec3f("modelOriginLo").mat3f("model").mat3f("modelNormal") : t.mat4f("model").mat4f("modelNormal"), e.instanced && e.instanced.indexOf("color") > -1 && (t = t.vec4f("instanceColor")), e.instanced && e.instanced.indexOf("featureAttribute") > -1 && (t = t.vec4f("instanceFeatureAttribute")), t; }, t; }(p.Material), C = function (e) { function t(t) { var i = this, r = t.material, a = r.getParameters(); i = e.call(this, u.makeCtorParameters(t, a)) || this, i.params = m.copyParameters(a); var n = i.params; return i.slot = y(n.transparent, n.writeDepth), i.technique = i.techniqueRep.acquireAndReleaseExisting(g.DefaultMaterialTechnique, i.material.getTechniqueConfig(0), i.technique), i.selectPipeline(0), i; } return i(t, e), t.prototype.selectPipeline = function (e) { var t = this.params, i = 0 === e ? A(t) : null; this.pipelineState = P.makePipelineState({ blending: i, culling: V(t), depthTest: { func: 513 }, depthWrite: t.writeDepth && P.defaultDepthWriteParams, colorWrite: P.defaultColorWriteParams }); }, t.prototype.beginSlot = function (e) { return e === this.slot; }, t.prototype.getProgram = function () { return this.technique.program; }, t.prototype.getPrograms = function () { return null; }, t.prototype.updateParameters = function () { this.params = m.copyParameters(this.material.getParameters()), this.slot = y(this.params.transparent, this.params.writeDepth), this.updateTexture(this.params.textureId), this.technique = this.techniqueRep.acquireAndReleaseExisting(g.DefaultMaterialTechnique, this.material.getTechniqueConfig(0), this.technique), this.selectPipeline(0); }, t.prototype._updateShadowState = function (e) { e.shadowMappingEnabled !== this.params.receiveShadows && (this.material.setParameterValues({ receiveShadows: e.shadowMappingEnabled }), this.updateParameters()); }, t.prototype.bind = function (e, t) { var i = this.params; this._updateShadowState(t); var r = this.technique.program; e.bindProgram(r), e.setPipelineState(this.pipelineState), this.technique.bindPass(e, i, t), m.bindVerticalOffset(i.verticalOffset, t, r), m.bindScreenSizePerspective(i.screenSizePerspective, r), this.bindTexture(e, r); }, t.prototype.release = function () {}, t.prototype.bindView = function (e) { var t = this.technique.program, i = this.params, r = i.instancedDoublePrecision ? o.vec3f64.fromValues(e.viewInvTransp[3], e.viewInvTransp[7], e.viewInvTransp[11]) : e.origin; m.bindView(r, e.view, t), m.bindCamPos(r, e.viewInvTransp, t), i.instancedDoublePrecision && m.bindViewOriginDouble(r, t), i.slicePlaneEnabled && m.bindSlicePlane(r, e.slicePlane, t), e.shadowMappingEnabled && e.shadowMap.bindView(t, r); }, t.prototype.bindInstance = function (e) { var t = this.technique.program; t.setUniformMatrix4fv("model", e.transformation), t.setUniformMatrix4fv("modelNormal", e.transformationNormal); }, t.prototype.getDrawMode = function () { return 4; }, t; }(u), T = function (e) { function t(t) { var i = this, r = t.material; return i = e.call(this, u.makeCtorParameters(t, r.getParameters())) || this, i.updateParameters(), i; } return i(t, e), t.prototype.beginSlot = function (e) { return e === this.slot; }, t.prototype.getProgram = function () { return this.technique.program; }, t.prototype.getPrograms = function () { return null; }, t.prototype.selectPipeline = function () { var e = this.params; this.pipelineState = P.makePipelineState({ culling: V(e), depthTest: { func: 513 }, depthWrite: e.writeDepth && P.defaultDepthWriteParams, colorWrite: P.defaultColorWriteParams }); }, t.prototype.selectSlot = function () { this.slot = y(this.params.transparent, this.params.writeDepth); }, t.prototype.updateParameters = function () { this.params = m.copyParameters(this.material.getParameters()), this.technique = this.techniqueRep.acquireAndReleaseExisting(g.DefaultMaterialTechnique, this.material.getTechniqueConfig(1), this.technique), this.selectPipeline(), this.selectSlot(), this.updateTexture(this.params.textureId); }, t.prototype.bind = function (e, t) { var i = this.technique.program, r = this.params; e.bindProgram(i), e.setPipelineState(this.pipelineState), this.technique.bindPass(e, r, t), m.bindVerticalOffset(r.verticalOffset, t, i), m.bindScreenSizePerspective(r.screenSizePerspective, i), this.bindTexture(e, i); }, t.prototype.release = function () {}, t.prototype.bindView = function (e) { var t = this.technique.program, i = this.params, r = i.instancedDoublePrecision ? o.vec3f64.fromValues(e.viewInvTransp[3], e.viewInvTransp[7], e.viewInvTransp[11]) : e.origin; m.bindView(r, e.view, t), i.slicePlaneEnabled && m.bindSlicePlane(r, e.slicePlane, t), i.screenSizePerspective && m.bindCamPos(r, e.viewInvTransp, t), i.instancedDoublePrecision && m.bindViewOriginDouble(r, t); }, t.prototype.bindInstance = function (e) { this.technique.program.setUniformMatrix4fv("model", e.transformation); }, t.prototype.getDrawMode = function () { return 4; }, t; }(u), w = function (e) { function t(t) { return e.call(this, t) || this; } return i(t, e), t.prototype.updateParameters = function () { this.params = m.copyParameters(this.material.getParameters()), this.technique = this.techniqueRep.acquireAndReleaseExisting(g.DefaultMaterialTechnique, this.material.getTechniqueConfig(3), this.technique), this.selectPipeline(), this.selectSlot(), this.updateTexture(this.params.textureId); }, t; }(T), D = function (e) { function t(t) { var i = this, r = t.material, a = r.getParameters(); return i = e.call(this, u.makeCtorParameters(t, a)) || this, i.params = m.copyParameters(a), i.technique = i.techniqueRep.acquireAndReleaseExisting(g.DefaultMaterialTechnique, i.material.getTechniqueConfig(2), i.technique), i.selectPipeline(), i.selectSlot(), i; } return i(t, e), t.prototype.beginSlot = function (e) { return e === this.slot; }, t.prototype.getProgram = function () { return this.technique.program; }, t.prototype.getPrograms = function () { return null; }, t.prototype.selectPipeline = function () { var e = this.params; this.pipelineState = P.makePipelineState({ culling: V(e), depthTest: { func: 513 }, depthWrite: e.writeDepth && P.defaultDepthWriteParams, colorWrite: P.defaultColorWriteParams }); }, t.prototype.selectSlot = function () { this.slot = y(this.params.transparent, this.params.writeDepth); }, t.prototype.updateParameters = function () { this.params = m.copyParameters(this.material.getParameters()), this.technique = this.techniqueRep.acquireAndReleaseExisting(g.DefaultMaterialTechnique, this.material.getTechniqueConfig(2), this.technique), this.selectPipeline(), this.selectSlot(), this.updateTexture(this.params.textureId); }, t.prototype.bind = function (e, t) { var i = this.technique.program, r = this.params; e.bindProgram(i), e.setPipelineState(this.pipelineState), this.technique.bindPass(e, r, t), m.bindVerticalOffset(r.verticalOffset, t, i), m.bindScreenSizePerspective(r.screenSizePerspective, i), this.bindTexture(e, i); }, t.prototype.release = function () {}, t.prototype.bindView = function (e) { var t = this.technique.program, i = this.params, r = i.instancedDoublePrecision ? o.vec3f64.fromValues(e.viewInvTransp[3], e.viewInvTransp[7], e.viewInvTransp[11]) : e.origin; m.bindView(r, e.view, t), t.setUniformMatrix4fv("viewNormal", e.viewInvTransp), i.slicePlaneEnabled && m.bindSlicePlane(r, e.slicePlane, t), i.screenSizePerspective && m.bindCamPos(r, e.viewInvTransp, t), i.instancedDoublePrecision && m.bindViewOriginDouble(r, t); }, t.prototype.bindInstance = function (e) { var t = this.technique.program; t.setUniformMatrix4fv("model", e.transformation), t.setUniformMatrix4fv("modelNormal", e.transformationNormal); }, t.prototype.getDrawMode = function () { return 4; }, t; }(u), M = function (e) { function t(t) { var i = this, r = t.material; return i = e.call(this, u.makeCtorParameters(t, r.getParameters())) || this, i.updateParameters(), i; } return i(t, e), t.prototype.beginSlot = function (e) { return e === this.slot; }, t.prototype.getProgram = function () { return this.technique.program; }, t.prototype.getPrograms = function () { return null; }, t.prototype.selectPipeline = function () { var e = this.params; this.pipelineState = P.makePipelineState({ culling: V(e), depthTest: { func: 513 }, depthWrite: e.writeDepth && P.defaultDepthWriteParams, colorWrite: P.defaultColorWriteParams }); }, t.prototype.selectSlot = function () { this.slot = y(this.params.transparent, this.params.writeDepth); }, t.prototype.updateParameters = function () { this.params = m.copyParameters(this.material.getParameters()), this.technique = this.techniqueRep.acquireAndReleaseExisting(g.DefaultMaterialTechnique, this.material.getTechniqueConfig(4), this.technique), this.selectPipeline(), this.selectSlot(), this.updateTexture(this.params.textureId); }, t.prototype.bind = function (e, t) { var i = this.technique.program, r = this.params; e.bindProgram(i), e.setPipelineState(this.pipelineState), this.technique.bindPass(e, r, t), m.bindVerticalOffset(r.verticalOffset, t, i), m.bindScreenSizePerspective(r.screenSizePerspective, i), this.bindTexture(e, i); }, t.prototype.release = function () {}, t.prototype.bindView = function (e) { var t = this.technique.program, i = this.params, r = i.instancedDoublePrecision ? o.vec3f64.fromValues(e.viewInvTransp[3], e.viewInvTransp[7], e.viewInvTransp[11]) : e.origin; m.bindView(r, e.view, t), i.slicePlaneEnabled && m.bindSlicePlane(r, e.slicePlane, t), i.screenSizePerspective && m.bindCamPos(r, e.viewInvTransp, t), i.instancedDoublePrecision && m.bindViewOriginDouble(r, t); }, t.prototype.bindInstance = function (e) { var t = this.technique.program; t.setUniformMatrix4fv("model", e.transformation), t.setUniformMatrix4fv("modelNormal", e.transformationNormal); }, t.prototype.getDrawMode = function () { return 4; }, t; }(u); !function (e) { e.COLOR_GAMMA = 2.1; }(S || (S = {})); var I = { textureId: void 0, initTextureTransparent: !1, usePBR: !1, normalTextureId: void 0, vertexTangents: !1, occlusionTextureId: void 0, emissiveTextureId: void 0, metallicRoughnessTextureId: void 0, emissiveFactor: [0, 0, 0], metallicFactor: 0, roughnessFactor: 1, reflectanceFactor: .5, ambient: [.2, .2, .2], diffuse: [.8, .8, .8], specular: [0, 0, 0], externalColor: [1, 1, 1, 1], colorMixMode: "multiply", opacity: 1, layerOpacity: 1, vertexColors: !1, symbolColors: !1, doubleSided: !1, doubleSidedType: "normal", cullFace: void 0, softwareInstanced: !1, instanced: void 0, instancedDoublePrecision: !1, normals: "default", receiveSSAO: !0, receiveShadows: !1, castShadows: !0, verticalOffset: null, screenSizePerspective: null, slicePlaneEnabled: !1, sliceHighlightDisabled: !1, offsetTransparentBackfaces: !1, vvSizeEnabled: !1, vvSizeMinSize: [1, 1, 1], vvSizeMaxSize: [100, 100, 100], vvSizeOffset: [0, 0, 0], vvSizeFactor: [1, 1, 1], vvSizeValue: [1, 1, 1], vvColorEnabled: !1, vvColorValues: [0, 0, 0, 0, 0, 0, 0, 0], vvColorColors: [1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0], vvSymbolAnchor: [0, 0, 0], vvSymbolRotationMatrix: n.mat3f64.create(), transparent: !1, writeDepth: !0, textureAlphaMode: "blend", textureAlphaCutoff: l.TEXTURE_ALPHA_CUTOFF_DEFAULT, textureAlphaPremultiplied: !1 }, O = function () { function e(e, t) { this.vertexBufferLayout = e, this.instanceBufferLayout = t; } return e.prototype.allocate = function (e) { return this.vertexBufferLayout.createBuffer(e); }, e.prototype.elementCount = function (e) { return e.indices.position.length; }, e.prototype.write = function (e, t, i, r) { f.writeDefaultAttributes(t, this.vertexBufferLayout, e.transformation, e.invTranspTransformation, i, r); }, e; }(), A = function A(e) { return e.transparent && b.separateBlendingParams(770, 1, 771, 771); }, V = function V(e) { return x(e) && { face: 1 === e.cullFace ? 1028 : 1029, mode: 2305 }; }, R = o.vec3f64.create(), z = o.vec3f64.create(), E = o.vec3f64.fromValues(0, 0, 1), B = o.vec3f64.create(), L = o.vec3f64.create(), W = o.vec3f64.create(), k = o.vec3f64.create(); return S; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/RibbonLineMaterial.js": /*!******************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/RibbonLineMaterial.js ***! \******************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineMaterialsRibbonLineMaterialJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/tsSupport/extendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/extendsHelper.js"), __webpack_require__( /*! ../../../../core/tsSupport/assignHelper */ "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__( /*! ../../../../core/Logger */ "./node_modules/arcgis-js-api/core/Logger.js"), __webpack_require__( /*! ../../../../core/mathUtils */ "./node_modules/arcgis-js-api/core/mathUtils.js"), __webpack_require__( /*! ../../../../core/maybe */ "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__( /*! ../../../../core/screenUtils */ "./node_modules/arcgis-js-api/core/screenUtils.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec2 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec2.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ../../support/geometryUtils */ "./node_modules/arcgis-js-api/views/3d/support/geometryUtils.js"), __webpack_require__( /*! ../../support/buffer/InterleavedLayout */ "./node_modules/arcgis-js-api/views/3d/support/buffer/InterleavedLayout.js"), __webpack_require__( /*! ../lib/ComponentUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/ComponentUtils.js"), __webpack_require__( /*! ../lib/geometryDataUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/geometryDataUtils.js"), __webpack_require__( /*! ../lib/GLMaterial */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GLMaterial.js"), __webpack_require__( /*! ../lib/Material */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Material.js"), __webpack_require__( /*! ../lib/Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js"), __webpack_require__( /*! ./VisualVariableMaterialParameters */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/VisualVariableMaterialParameters.js"), __webpack_require__( /*! ./internal/MaterialUtil */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/MaterialUtil.js"), __webpack_require__( /*! ./renderers/MergedRenderer */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/MergedRenderer.js"), __webpack_require__( /*! ../shaders/RibbonLineTechnique */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/RibbonLineTechnique.js"), __webpack_require__( /*! ../shaders/RibbonLineTechnique */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/RibbonLineTechnique.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, i, n, r, a, s, o, c, p, u, l, h, v, b, f, d, m, g, C, A, S, y) { function R(t, e, i, n, r) { for (var a = 0; a < r; a++) i[n++] = t[e++]; return n; } var x = r.getLogger("esri.views.3d.webgl-engine.materials.RibbonLineMaterial"), P = function (t) { function e(e, i) { var n = t.call(this, i) || this; return n.techniqueConfig = new y.RibbonLineTechniqueConfiguration(), n.params = C.copyParameters(e, V), n.validateParams(), n.params.transparent = n.params.color[3] < 1 || n.params.transparent, n.layout = n.createLayout(), n; } return i(e, t), e.prototype.dispose = function () {}, e.prototype.setParameterValues = function (t) { for (var e in t) if ("cap" !== e) { if ("join" === e) { var i = "round" === this.params[e], n = "round" === t[e]; if (i !== n) { x.error("join cannot be changed after creation"); continue; } } if ("stipplePattern" === e) { var r = !!this.params[e], a = !!t[e]; if (r !== a) { x.error("stippledness cannot be changed after creation"); continue; } } this.params[e] = t[e]; } else x.error("cap cannot be changed after creation"); this.validateParams(), this.notifyDirty("matChanged"); }, e.prototype.getParameters = function () { return this.params; }, e.prototype.getPassParameters = function () { return this.params; }, e.prototype.getTechniqueConfig = function (t) { this.techniqueConfig.output = t; var e = s.isSome(this.params.stipplePattern); return this.techniqueConfig.stippleEnabled = e, this.techniqueConfig.stippleIntegerRepeatsEnabled = e && this.params.stippleIntegerRepeats, this.techniqueConfig.stippleOffColorEnabled = e && s.isSome(this.params.stippleOffColor), this.techniqueConfig.slicePlaneEnabled = this.params.slicePlaneEnabled, this.techniqueConfig.roundJoins = "round" === this.params.join, this.techniqueConfig.roundCaps = "round" === this.params.cap, this.techniqueConfig.transparent = this.params.transparent, this.techniqueConfig.polygonOffset = this.params.polygonOffset, this.techniqueConfig.writeDepth = this.params.writeDepth, this.techniqueConfig.vvColor = this.params.vvColorEnabled, this.techniqueConfig.vvOpacity = this.params.vvOpacityEnabled, this.techniqueConfig.vvSize = this.params.vvSizeEnabled, this.techniqueConfig.writeDepth = this.params.writeDepth, this.techniqueConfig.writeDepth = this.params.writeDepth, this.techniqueConfig; }, e.prototype.intersect = function (t, e, i, n, r, a, s, o, c) { c ? C.intersectDrapedRenderLineGeometry(t, n, a, this.params.width, s) : this.intersectLineGeometry(t, e, i, n, this.params.width, s); }, e.prototype.intersectLineGeometry = function (t, e, i, n, r, s) { if (n.options.selectionMode && !v.isAllHidden(e.componentVisibilities, t.componentOffsets)) { if (!m.isTranslationMatrix(i)) return void x.error("intersection assumes a translation-only matrix"); var o = t.data, u = o.getVertexAttr(), h = u[y.RibbonVertexAttributeConstants.POSITION].data, b = r; if (this.params.vvSizeEnabled) { var f = u[y.RibbonVertexAttributeConstants.SIZEFEATUREATTRIBUTE].data[0]; b *= a.clamp(this.params.vvSizeOffset[0] + f * this.params.vvSizeFactor[0], this.params.vvSizeMinSize[0], this.params.vvSizeMaxSize[0]); } else u[y.RibbonVertexAttributeConstants.SIZE] && (b *= u[y.RibbonVertexAttributeConstants.SIZE].data[0]); var d = n.camera, g = B; c.vec2.copy(g, n.point); var C = b * d.pixelRatio, A = 4 * d.pixelRatio, S = C / 2 + A; p.vec3.set(H[0], g[0] - S, g[1] + S, 0), p.vec3.set(H[1], g[0] + S, g[1] + S, 0), p.vec3.set(H[2], g[0] + S, g[1] - S, 0), p.vec3.set(H[3], g[0] - S, g[1] - S, 0); for (var R = 0; R < 4; R++) d.unprojectPoint(H[R], Y[R]); l.plane.fromPoints(d.eye, Y[0], Y[1], _), l.plane.fromPoints(d.eye, Y[1], Y[2], W), l.plane.fromPoints(d.eye, Y[2], Y[3], K), l.plane.fromPoints(d.eye, Y[3], Y[0], Q); for (var P = Number.MAX_VALUE, E = this.params.isClosed ? h.length - 2 : h.length - 5, R = 0; R < E; R += 3) { U[0] = h[R] + i[12], U[1] = h[R + 1] + i[13], U[2] = h[R + 2] + i[14]; var I = (R + 3) % h.length; if (w[0] = h[I] + i[12], w[1] = h[I + 1] + i[13], w[2] = h[I + 2] + i[14], !(l.plane.signedDistance(_, U) < 0 && l.plane.signedDistance(_, w) < 0 || l.plane.signedDistance(W, U) < 0 && l.plane.signedDistance(W, w) < 0 || l.plane.signedDistance(K, U) < 0 && l.plane.signedDistance(K, w) < 0 || l.plane.signedDistance(Q, U) < 0 && l.plane.signedDistance(Q, w) < 0)) { if (d.projectPoint(U, N), d.projectPoint(w, z), N[2] < 0 && z[2] > 0) { p.vec3.subtract(D, U, w); var O = d.frustum, V = -l.plane.signedDistance(O.planes[4], U), T = V / p.vec3.dot(D, O.planes[4]); p.vec3.scale(D, D, T), p.vec3.add(U, U, D), d.projectPoint(U, N); } else if (N[2] > 0 && z[2] < 0) { p.vec3.subtract(D, w, U); var O = d.frustum, V = -l.plane.signedDistance(O.planes[4], w), T = V / p.vec3.dot(D, O.planes[4]); p.vec3.scale(D, D, T), p.vec3.add(w, w, D), d.projectPoint(w, z); } else if (N[2] < 0 && z[2] < 0) continue; N[2] = 0, z[2] = 0; var q = l.lineSegment.distance2(l.lineSegment.fromPoints(N, z, Z), g); q < P && (P = q, p.vec3.copy(j, U), p.vec3.copy(F, w)); } } var L = n.rayBeginPoint, J = n.rayEndPoint; if (P < S * S) { var X = Number.MAX_VALUE; if (l.lineSegment.closestLineSegmentPoint(l.lineSegment.fromPoints(j, F, Z), l.lineSegment.fromPoints(L, J, G), M)) { p.vec3.subtract(M, M, L); var k = p.vec3.length(M); p.vec3.scale(M, M, 1 / k), X = k / p.vec3.distance(L, J); } s(X, M); } } }, e.prototype.computeAttachmentOrigin = function (t, e) { var i = t.data, n = "getVertexAttr" in i ? i.getVertexAttr() : "vertexAttr" in i ? i.vertexAttr : null; if (!n) return null; var r = y.RibbonVertexAttributeConstants.POSITION, a = n[r]; return b.computeAttachmentOriginLines(a, null, e); }, e.prototype.createLayout = function () { var t = h.newLayout().vec3f(y.RibbonVertexAttributeConstants.POSITION).f32(y.RibbonVertexAttributeConstants.SUBDIVISIONFACTOR).vec2f(y.RibbonVertexAttributeConstants.UV0).vec3f(y.RibbonVertexAttributeConstants.AUXPOS1).vec3f(y.RibbonVertexAttributeConstants.AUXPOS2); return this.params.vvSizeEnabled ? t.f32(y.RibbonVertexAttributeConstants.SIZEFEATUREATTRIBUTE) : t.f32(y.RibbonVertexAttributeConstants.SIZE), this.params.vvColorEnabled ? t.f32(y.RibbonVertexAttributeConstants.COLORFEATUREATTRIBUTE) : t.vec4f(y.RibbonVertexAttributeConstants.COLOR), this.params.vvOpacityEnabled && t.f32(y.RibbonVertexAttributeConstants.OPACITYFEATUREATTRIBUTE), t; }, e.prototype.createBufferWriter = function () { return new T(this.layout, this.params); }, e.prototype.createRenderer = function (t, e) { return new A(t, e, this, y.ribbonVertexAttributeLocations); }, e.prototype.getGLMaterials = function () { return { color: I, depthShadowMap: void 0, normal: void 0, depth: void 0, highlight: O }; }, e.prototype.validateParams = function () { this.params.width && this.params.width > 1 && (this.params.width = Math.round(this.params.width)), "miter" !== this.params.join && (this.params.miterLimit = 0); }, e; }(d.Material), E = function (t) { function e(e) { var i = t.call(this, e) || this; return i.output = e.output, i.updateParameters(), i; } return i(e, t), e.prototype.updateParameters = function () { this.technique = this.techniqueRep.acquireAndReleaseExisting(S.RibbonLineTechnique, this.material.getTechniqueConfig(this.output), this.technique); }, e.prototype.beginSlot = function (t) { if (0 === this.output) { return t === (this.technique.configuration.writeDepth ? 6 : 9); } return 4 === t; }, e.prototype.getProgram = function () { return this.technique.program; }, e.prototype.getPrograms = function () { return null; }, e.prototype.bind = function (t, e) { t.bindProgram(this.technique.program), this.technique.bindPipelineState(t), this.technique.bindPass(t, this.material.getPassParameters(), e); }, e.prototype.release = function () {}, e.prototype.bindView = function (t) { this.technique.bindDraw(t); }, e.prototype.bindInstance = function (t) { this.technique.bindInstance(t); }, e.prototype.getDrawMode = function () { return 5; }, e; }(f.GLMaterial), I = function (t) { function e(e) { return t.call(this, n({}, e, { output: 0 })) || this; } return i(e, t), e; }(E), O = function (t) { function e(e) { return t.call(this, n({}, e, { output: 4 })) || this; } return i(e, t), e; }(E), V = n({ width: 0, color: [1, 1, 1, 1], join: "miter", cap: "butt", miterLimit: 5, writeDepth: !0, polygonOffset: !1, stipplePattern: null, stippleIntegerRepeats: !1, stippleOffColor: null, slicePlaneEnabled: !1, vvFastUpdate: !1, transparent: !1, isClosed: !1 }, g.Default), T = function () { function t(t, e) { if (this.params = e, this.numCapSubdivisions = 0, this.numJoinSubdivisions = 0, this.vertexBufferLayout = t, !e.isClosed) switch (this.params.cap) { case "butt": this.numCapSubdivisions = 0; break; case "square": this.numCapSubdivisions = 1; break; case "round": this.numCapSubdivisions = q; } switch (this.params.join) { case "miter": case "bevel": this.numJoinSubdivisions = e.stipplePattern ? 1 : 0; break; case "round": this.numJoinSubdivisions = L; } } return t.prototype.allocate = function (t) { return this.vertexBufferLayout.createBuffer(t); }, t.prototype.elementCount = function (t) { var e = 2 * this.numCapSubdivisions + 2, i = t.indices[y.RibbonVertexAttributeConstants.POSITION].length / 2 + 1, n = this.params.isClosed, r = n ? 2 : 2 * e, a = n ? 0 : 1, s = n ? i : i - 1; if (t.vertexAttr[y.RibbonVertexAttributeConstants.SUBDIVISIONS]) for (var o = t.vertexAttr[y.RibbonVertexAttributeConstants.SUBDIVISIONS].data, c = a; c < s; ++c) { var p = o[c]; r += 4 + 2 * p; } else { r += s * (2 * this.numJoinSubdivisions + 4); } return r += 2; }, t.prototype.write = function (t, e, i, n) { var r = this, a = J, s = X, o = k, c = e.vertexAttr[y.RibbonVertexAttributeConstants.POSITION].data, u = e.indices && e.indices[y.RibbonVertexAttributeConstants.POSITION]; u && u.length !== 2 * (c.length / 3 - 1) && console.warn("RibbonLineMaterial does not support indices"); var l = null; e.vertexAttr[y.RibbonVertexAttributeConstants.SUBDIVISIONS] && (l = e.vertexAttr[y.RibbonVertexAttributeConstants.SUBDIVISIONS].data); var h = 1, v = 0; this.params.vvSizeEnabled ? v = e.vertexAttr[y.RibbonVertexAttributeConstants.SIZEFEATUREATTRIBUTE].data[0] : e.vertexAttr[y.RibbonVertexAttributeConstants.SIZE] && (h = e.vertexAttr[y.RibbonVertexAttributeConstants.SIZE].data[0]); var b = [1, 1, 1, 1], f = 0; this.params.vvColorEnabled ? f = e.vertexAttr[y.RibbonVertexAttributeConstants.COLORFEATUREATTRIBUTE].data[0] : e.vertexAttr[y.RibbonVertexAttributeConstants.COLOR] && (b = e.vertexAttr[y.RibbonVertexAttributeConstants.COLOR].data); var d = 0; this.params.vvOpacityEnabled && (d = e.vertexAttr[y.RibbonVertexAttributeConstants.OPACITYFEATUREATTRIBUTE].data[0]); var m = c.length / 3, g = t.transformation, C = new Float32Array(i.buffer), A = this.vertexBufferLayout.stride / 4, S = n * A, x = S, P = function P(t, e, i, n, a, s) { C[S++] = e[0], C[S++] = e[1], C[S++] = e[2], C[S++] = n, C[S++] = a, C[S++] = s, C[S++] = t[0], C[S++] = t[1], C[S++] = t[2], C[S++] = i[0], C[S++] = i[1], C[S++] = i[2], r.params.vvSizeEnabled ? C[S++] = v : C[S++] = h, r.params.vvColorEnabled ? C[S++] = f : (C[S++] = b[0], C[S++] = b[1], C[S++] = b[2], C[S++] = b[3]), r.params.vvOpacityEnabled && (C[S++] = d); }; S += A, p.vec3.set(s, c[0], c[1], c[2]), g && p.vec3.transformMat4(s, s, g); var E = this.params.isClosed; if (E) { var I = c.length - 3; p.vec3.set(a, c[I], c[I + 1], c[I + 2]), g && p.vec3.transformMat4(a, a, g); } else { p.vec3.copy(a, s), p.vec3.set(o, c[3], c[4], c[5]), g && p.vec3.transformMat4(o, o, g); for (var O = 0; O < this.numCapSubdivisions; ++O) { var V = 1 - O / this.numCapSubdivisions; P(a, s, o, V, 1, -4), P(a, s, o, V, 1, 4); } P(a, s, o, 0, 0, -4), P(a, s, o, 0, 0, 4), p.vec3.copy(a, s), p.vec3.copy(s, o); } for (var T = E ? 0 : 1, q = E ? m : m - 1, O = T; O < q; O++) { var L = (O + 1) % m * 3; p.vec3.set(o, c[L + 0], c[L + 1], c[L + 2]), g && p.vec3.transformMat4(o, o, g), P(a, s, o, 0, 1, -1), P(a, s, o, 0, 1, 1); for (var U = l ? l[O] : this.numJoinSubdivisions, w = 0; w < U; ++w) { var V = (w + 1) / (U + 1); P(a, s, o, V, 1, -2), P(a, s, o, V, 1, 2); } P(a, s, o, 1, 0, -2), P(a, s, o, 1, 0, 2), p.vec3.copy(a, s), p.vec3.copy(s, o); } if (E) { S = R(C, x + A, C, S, 2 * A); } else { P(a, s, o, 0, 1, -5), P(a, s, o, 0, 1, 5); for (var O = 0; O < this.numCapSubdivisions; ++O) { var V = (O + 1) / this.numCapSubdivisions; P(a, s, o, V, 1, -5), P(a, s, o, V, 1, 5); } } R(C, x + A, C, x, A), S = R(C, S - A, C, S, A); }, t; }(), q = 3, L = 1, U = u.vec3f64.create(), w = u.vec3f64.create(), D = u.vec3f64.create(), M = u.vec3f64.create(), B = u.vec3f64.create(), N = o.createRenderScreenPointArray3(), z = o.createRenderScreenPointArray3(), j = u.vec3f64.create(), F = u.vec3f64.create(), Z = l.lineSegment.create(), G = l.lineSegment.create(), J = u.vec3f64.create(), X = u.vec3f64.create(), k = u.vec3f64.create(), H = [o.createRenderScreenPointArray3(), o.createRenderScreenPointArray3(), o.createRenderScreenPointArray3(), o.createRenderScreenPointArray3()], Y = [u.vec3f64.create(), u.vec3f64.create(), u.vec3f64.create(), u.vec3f64.create()], _ = l.plane.create(), W = l.plane.create(), K = l.plane.create(), Q = l.plane.create(); return P; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/VisualVariableMaterialParameters.js": /*!********************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/VisualVariableMaterialParameters.js ***! \********************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineMaterialsVisualVariableMaterialParametersJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/mat3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat3f64.js"), __webpack_require__( /*! ../../../../core/libs/gl-matrix-2/vec3f32 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f32.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, v, a, i) { var o; return function (e) { e.Default = { vvSizeEnabled: !1, vvSizeMinSize: i.vec3f32.fromValues(1, 1, 1), vvSizeMaxSize: i.vec3f32.fromValues(100, 100, 100), vvSizeOffset: i.vec3f32.fromValues(0, 0, 0), vvSizeFactor: i.vec3f32.fromValues(1, 1, 1), vvSizeValue: i.vec3f32.fromValues(1, 1, 1), vvColorEnabled: !1, vvColorValues: [0, 0, 0, 0, 0, 0, 0, 0], vvColorColors: [1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0], vvOpacityEnabled: !1, vvOpacityValues: [0, 0, 0, 0, 0, 0, 0, 0], vvOpacityOpacities: [1, 1, 1, 1, 1, 1, 1, 1], vvSymbolAnchor: [0, 0, 0], vvSymbolRotationMatrix: a.mat3f64.create() }; }(o || (o = {})), o; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/WaterGLMaterial.js": /*!***************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/WaterGLMaterial.js ***! \***************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineMaterialsWaterGLMaterialJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/tsSupport/extendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/extendsHelper.js"), __webpack_require__( /*! ../lib/GLMaterial */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GLMaterial.js"), __webpack_require__( /*! ./WaterTechnique */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/WaterTechnique.js"), __webpack_require__( /*! ./internal/MaterialUtil */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/MaterialUtil.js"), __webpack_require__( /*! ./internal/waterMaterialUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/waterMaterialUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, i, r, a, n, o) { Object.defineProperty(t, "__esModule", { value: !0 }); var s = function (e) { function t(t) { var i = e.call(this, t) || this; return i.techniqueConfig = new a.WaterTechniqueConfiguration(), i.updateParameters(), i; } return i(t, e), t.prototype.updateParameters = function () { this.params = n.copyParameters(this.material.getParameters()), this.selectProgram(0); }, t.prototype.selectProgram = function (e) { this.techniqueConfig.output = e, this.techniqueConfig.writeDepth = this.params.writeDepth, this.techniqueConfig.receiveShadows = this.params.receiveShadows, this.techniqueConfig.slice = this.params.slicePlaneEnabled, this.techniqueConfig.transparent = this.params.transparent, this.technique = this.techniqueRep.acquireAndReleaseExisting(a.WaterTechnique, this.techniqueConfig, this.technique); }, t.prototype.beginSlot = function (e) { var t = 4; return this.params.transparent && (t = this.params.writeDepth ? 6 : 9), e === t; }, t.prototype.getProgram = function () { return this.technique.program; }, t.prototype.getPrograms = function () { return null; }, t.prototype._initTextures = function (e) { this.texturePaths = [this.params.waveTexture, this.params.perturbationTexture], o.waterTextureRepo.initialize(e, this.texturePaths); }, t.prototype._setWaveUniforms = function (e) { e.setUniform1i("texWaveNormal", 0), e.setUniform1i("texWavePerturbation", 1), e.setUniform4f("waveParams", this.params.waveStrength, this.params.waveTextureRepeat, this.params.flowStrength, this.params.flowOffset), e.setUniform2f("waveDirection", this.params.waveDirection[0] * this.params.waveVelocity, this.params.waveDirection[1] * this.params.waveVelocity); var t = .001 * this.material.animation.time; e.setUniform1f("timeElapsed", t * this.params.animationSpeed); }, t.prototype._updateShadowState = function (e) { e.shadowMappingEnabled !== this.params.receiveShadows && (this.material.setParameterValues({ receiveShadows: e.shadowMappingEnabled }), this.updateParameters()); }, t.prototype.ensureResources = function (e) { return o.waterTextureRepo.ready() || o.waterTextureRepo.loading() || this._initTextures(e), o.waterTextureRepo.ready() ? 2 : 1; }, t.prototype.bind = function (e, t) { o.waterTextureRepo.ready() && (this._updateShadowState(t), e.bindProgram(this.technique.program), e.setPipelineState(this.technique.pipeline), o.waterTextureRepo.bindRepo(e), this.technique.program.setUniform4fv("waterColor", this.params.color), this._setWaveUniforms(this.technique.program)); }, t.prototype.release = function () {}, t.prototype.bindView = function (e) { var t = this.technique.program; t.setUniform3fv("localOrigin", e.origin), n.bindView(e.origin, e.view, t), n.bindCamPos(e.origin, e.viewInvTransp, t), this.params.slicePlaneEnabled && n.bindSlicePlane(e.origin, e.slicePlane, t), e.shadowMappingEnabled && (e.shadowMap.bind(t), e.shadowMap.bindView(t, e.origin)); }, t.prototype.bindInstance = function (e) { this.technique.program.setUniformMatrix4fv("model", e.transformation); }, t.prototype.getDrawMode = function () { return 4; }, t; }(r.GLMaterial); t.WaterGLMaterial = s; var p = function (e) { function t() { return null !== e && e.apply(this, arguments) || this; } return i(t, e), t.prototype.updateParameters = function () { this.params = n.copyParameters(this.material.getParameters()), this.selectProgram(5); }, t.prototype.bind = function (e) { e.bindProgram(this.technique.program), e.setPipelineState(this.technique.pipeline), this.technique.program.setUniform4fv("waterColor", this.params.color); }, t.prototype.bindView = function (e) { this.technique.program.setUniform3fv("localOrigin", e.origin), n.bindView(e.origin, e.view, this.technique.program); }, t.prototype.beginSlot = function (e) { return null == e; }, t; }(s); t.WaterDrapedGLMaterial = p; var h = function (e) { function t() { return null !== e && e.apply(this, arguments) || this; } return i(t, e), t.prototype.updateParameters = function () { this.params = n.copyParameters(this.material.getParameters()), this.selectProgram(2); }, t.prototype.bind = function (e) { o.waterTextureRepo.ready() && (e.bindProgram(this.technique.program), e.setPipelineState(this.technique.pipeline), o.waterTextureRepo.bindRepo(e), this._setWaveUniforms(this.technique.program)); }, t.prototype.bindView = function (e) { this.technique.program.setUniform3fv("localOrigin", e.origin), n.bindView(e.origin, e.view, this.technique.program); }, t.prototype.beginSlot = function (e) { return 19 === e; }, t; }(s); t.WaterNormalGLMaterial = h; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/WaterTechnique.js": /*!**************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/WaterTechnique.js ***! \**************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineMaterialsWaterTechniqueJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/tsSupport/extendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/extendsHelper.js"), __webpack_require__( /*! ../../../../core/tsSupport/decorateHelper */ "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__( /*! ../../../../core/tsSupport/assignHelper */ "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__( /*! ../core/shaderTechnique/ReloadableShaderModule */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ReloadableShaderModule.js"), __webpack_require__( /*! ../core/shaderTechnique/ShaderTechnique */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js"), __webpack_require__( /*! ../core/shaderTechnique/ShaderTechniqueConfiguration */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js"), __webpack_require__( /*! ../lib/DefaultVertexAttributeLocations */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js"), __webpack_require__( /*! ../shaders/WaterSurface.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/WaterSurface.glsl.js"), __webpack_require__( /*! ../../../webgl/Program */ "./node_modules/arcgis-js-api/views/webgl/Program.js"), __webpack_require__( /*! ../../../webgl/renderState */ "./node_modules/arcgis-js-api/views/webgl/renderState.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, i, a, o, n, u, p, l, s, d) { Object.defineProperty(t, "__esModule", { value: !0 }); var c = function (t) { function i() { return null !== t && t.apply(this, arguments) || this; } return r(i, t), i.prototype.initializeProgram = function (e) { var t = i.shader.get(), r = this.configuration, a = t.build({ output: r.output, viewingMode: e.viewingMode, slicePlaneEnabled: r.slice, sliceHighlightDisabled: !1, receiveShadows: r.receiveShadows, usePBR: !1, usePBRforWater: !0, useCustomDTRExponentForWater: !0 }); return new s(e.rctx, a.generateSource("vertex"), a.generateSource("fragment"), p.Default3D); }, i.prototype.initializePipeline = function () { var e = this.configuration; return 2 === e.output ? d.makePipelineState({ depthTest: { func: 513 }, depthWrite: e.writeDepth && d.defaultDepthWriteParams, colorWrite: d.defaultColorWriteParams }) : d.makePipelineState({ blending: e.transparent && d.separateBlendingParams(770, 1, 771, 771), depthTest: { func: 513 }, depthWrite: e.writeDepth && d.defaultDepthWriteParams, colorWrite: d.defaultColorWriteParams }); }, i.prototype.bindPipelineState = function (e) { e.setPipelineState(this.pipeline); }, i.shader = new o.ReloadableShaderModule(l, "../shaders/WaterSurface.glsl", e), i; }(n.ShaderTechnique); t.WaterTechnique = c; var h = function (e) { function t() { var t = null !== e && e.apply(this, arguments) || this; return t.output = 0, t.receiveShadows = !1, t.slice = !1, t.transparent = !1, t.writeDepth = !1, t; } return r(t, e), i([u.parameter({ count: 6 })], t.prototype, "output", void 0), i([u.parameter()], t.prototype, "receiveShadows", void 0), i([u.parameter()], t.prototype, "slice", void 0), i([u.parameter()], t.prototype, "transparent", void 0), i([u.parameter()], t.prototype, "writeDepth", void 0), t; }(u.ShaderTechniqueConfiguration); t.WaterTechniqueConfiguration = h; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/DefaultBufferWriter.js": /*!****************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/DefaultBufferWriter.js ***! \****************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineMaterialsInternalDefaultBufferWriterJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../support/buffer/InterleavedLayout */ "./node_modules/arcgis-js-api/views/3d/support/buffer/InterleavedLayout.js"), __webpack_require__( /*! ../../lib/Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js"), __webpack_require__( /*! ./bufferWriterUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, r, n, o) { Object.defineProperty(e, "__esModule", { value: !0 }), e.PositionLayout = r.newLayout().vec3f(n.VertexAttrConstants.POSITION), e.PositionUVLayout = r.newLayout().vec3f(n.VertexAttrConstants.POSITION).vec2f(n.VertexAttrConstants.UV0), e.PositionColorLayout = r.newLayout().vec3f(n.VertexAttrConstants.POSITION).vec4u8(n.VertexAttrConstants.COLOR); var u = function () { function t(t) { this.vertexBufferLayout = t; } return t.prototype.allocate = function (t) { return this.vertexBufferLayout.createBuffer(t); }, t.prototype.elementCount = function (t) { return t.indices[n.VertexAttrConstants.POSITION].length; }, t.prototype.write = function (t, e, r, n) { o.writeDefaultAttributes(e, this.vertexBufferLayout, t.transformation, t.invTranspTransformation, r, n); }, t; }(); e.DefaultBufferWriter = u; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/MaterialUtil.js": /*!*********************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/MaterialUtil.js ***! \*********************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineMaterialsInternalMaterialUtilJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/tsSupport/assignHelper */ "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__( /*! ../../../../../core/mathUtils */ "./node_modules/arcgis-js-api/core/mathUtils.js"), __webpack_require__( /*! ../../../../../core/maybe */ "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/mat4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/mat4f32 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4f32.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/mat4f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4f64.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec4.js"), __webpack_require__( /*! ../../../../../geometry/support/aaBoundingBox */ "./node_modules/arcgis-js-api/geometry/support/aaBoundingBox.js"), __webpack_require__( /*! ../../lib/ComponentUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/ComponentUtils.js"), __webpack_require__( /*! ../../lib/doublePrecisionUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/doublePrecisionUtils.js"), __webpack_require__( /*! ../../lib/screenSizePerspectiveUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/screenSizePerspectiveUtils.js"), __webpack_require__( /*! ../../lib/Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, i, n, a, o, c, s, f, l, u, v, m, d, g) { function p(e, t, r, i, n, a, o) { var c = t && t.componentVisibilities, s = r.tolerance; if (e.componentCount > 1) b(e, c, i, n, s, a, o);else if (!c || v.getVisibility(c, 0)) if (e.boundingInfo) g.assert("triangle" === e.data.primitiveType), h(e.boundingInfo, i, n, s, a, o);else { var f = e.getIndices(X.POSITION), l = e.getAttribute(X.POSITION), u = f.length / 3; x(i, n, 0, u, f, l, void 0, a, o); } } function h(e, t, r, i, a, o) { var c = B(t, r, Z); if (u.setMin(k, e.getBBMin()), u.setMax(k, e.getBBMax()), n.isSome(a) && a.applyToAABB(k), S(k, t, c, i)) { var s = e.getPrimitiveIndices(), f = e.getIndices(), l = e.getPosition(), v = s ? s.length : f.length / 3; if (v > ne) { var m = e.getChildren(); if (void 0 !== m) { for (var d = 0; d < 8; ++d) void 0 !== m[d] && h(m[d], t, r, i, a, o); return; } } x(t, r, 0, v, f, l, s, a, o); } } function b(e, t, r, i, a, o, c) { var s = B(r, i, Z), f = e.componentCount, l = e.componentOffsets, m = e.getIndices(X.POSITION), d = e.getAttribute(X.POSITION), g = e.boundingInfo; if (!g || (u.setMin(k, g.getBBMin()), u.setMax(k, g.getBBMax()), n.isSome(o) && o.applyToAABB(k), S(k, r, s, a))) for (var p = 0; p < f; p++) if (!t || v.getVisibility(t, p)) { if (e.getComponentAABB) { var h = e.getComponentAABB(p, k); if (n.isSome(o) && o.applyToAABB(h), !S(h, r, s, a)) continue; } var b = l[p] / 3, M = l[p + 1] / 3; x(r, i, b, M, m, d, void 0, o, c); } } function x(e, t, r, i, a, o, c, s, f) { var l, u, v; if (c) return M(e, t, r, i, a, o, c, s, f); for (var m = o.data, d = o.offsetIdx, g = o.strideIdx, p = e[0], h = e[1], b = e[2], x = t[0], B = t[1], S = t[2], A = x - p, I = B - h, T = S - b, y = r, O = 3 * r; y < i; ++y) { var U = d + g * a[O++], L = m[U++], V = m[U++], w = m[U]; U = d + g * a[O++]; var D = m[U++], W = m[U++], R = m[U]; U = d + g * a[O++]; var E = m[U++], N = m[U++], C = m[U]; n.isSome(s) && (l = s.applyToVertex(L, V, w), L = l[0], V = l[1], w = l[2], u = s.applyToVertex(D, W, R), D = u[0], W = u[1], R = u[2], v = s.applyToVertex(E, N, C), E = v[0], N = v[1], C = v[2]); var z = D - L, F = W - V, H = R - w, q = E - L, _ = N - V, j = C - w, G = I * j - _ * T, Y = T * q - j * A, k = A * _ - q * I, X = z * G + F * Y + H * k; if (!(Math.abs(X) <= J)) { var Z = p - L, Q = h - V, $ = b - w, ee = Z * G + Q * Y + $ * k; if (X > 0) { if (ee < 0 || ee > X) continue; } else if (ee > 0 || ee < X) continue; var te = Q * H - F * $, re = $ * z - H * Z, ie = Z * F - z * Q, ne = A * te + I * re + T * ie; if (X > 0) { if (ne < 0 || ee + ne > X) continue; } else if (ne > 0 || ee + ne < X) continue; var ae = (q * te + _ * re + j * ie) / X; if (ae >= 0) { f(ae, P(z, F, H, q, _, j, K), y); } } } } function M(e, t, r, i, a, o, c, s, f) { for (var l, u, v, m = o.data, d = o.offsetIdx, g = o.strideIdx, p = e[0], h = e[1], b = e[2], x = t[0], M = t[1], B = t[2], S = x - p, A = M - h, I = B - b, T = r; T < i; ++T) { var y = c[T], O = 3 * y, U = d + g * a[O++], L = m[U++], V = m[U++], w = m[U]; U = d + g * a[O++]; var D = m[U++], W = m[U++], R = m[U]; U = d + g * a[O]; var E = m[U++], N = m[U++], C = m[U]; n.isSome(s) && (l = s.applyToVertex(L, V, w), L = l[0], V = l[1], w = l[2], u = s.applyToVertex(D, W, R), D = u[0], W = u[1], R = u[2], v = s.applyToVertex(E, N, C), E = v[0], N = v[1], C = v[2]); var z = D - L, F = W - V, H = R - w, q = E - L, _ = N - V, j = C - w, G = A * j - _ * I, Y = I * q - j * S, k = S * _ - q * A, X = z * G + F * Y + H * k; if (!(Math.abs(X) <= J)) { var Z = p - L, Q = h - V, $ = b - w, ee = Z * G + Q * Y + $ * k; if (X > 0) { if (ee < 0 || ee > X) continue; } else if (ee > 0 || ee < X) continue; var te = Q * H - F * $, re = $ * z - H * Z, ie = Z * F - z * Q, ne = S * te + A * re + I * ie; if (X > 0) { if (ne < 0 || ee + ne > X) continue; } else if (ne > 0 || ee + ne < X) continue; var ae = (q * te + _ * re + j * ie) / X; if (ae >= 0) { f(ae, P(z, F, H, q, _, j, K), y); } } } } function P(e, t, r, i, n, a, o) { return s.vec3.set(Q, e, t, r), s.vec3.set($, i, n, a), s.vec3.cross(o, Q, $), s.vec3.normalize(o, o), o; } function B(e, t, r) { return s.vec3.set(r, 1 / (t[0] - e[0]), 1 / (t[1] - e[1]), 1 / (t[2] - e[2])); } function S(e, t, r, i) { return A(e, t, r, i, 1 / 0); } function A(e, t, r, i, n) { var a = (e[0] - i - t[0]) * r[0], o = (e[3] + i - t[0]) * r[0], c = Math.min(a, o), s = Math.max(a, o), f = (e[1] - i - t[1]) * r[1], l = (e[4] + i - t[1]) * r[1]; if ((s = Math.min(s, Math.max(f, l))) < 0) return !1; if ((c = Math.max(c, Math.min(f, l))) > s) return !1; var u = (e[2] - i - t[2]) * r[2], v = (e[5] + i - t[2]) * r[2]; return !((s = Math.min(s, Math.max(u, v))) < 0) && !((c = Math.max(c, Math.min(u, v))) > s) && c < n; } function I(e, t, r) { return l.vec4.set(r, e[0] - t[0], e[1] - t[1], e[2] - t[2], 1); } function T(e, t, r, i) { return a.mat4.translate(Y, r, t), r = Y, l.vec4.transformMat4(i, e, r); } function y(e, t, r, i) { return i[0] = e[0] + r[0], i[1] = e[1] + r[1], i[2] = e[2] + r[2], i[3] = e[3], l.vec4.transformMat4(i, i, t); } function O(e, t) { return l.vec4.scale(t, e, 1 / Math.abs(e[3])); } function U(e, t, r, i) { return d.scale(e, r, t, i); } function L(e, t, r, n, a) { var o = (r.screenLength || 0) * e.pixelRatio; a && (o = U(o, t, n, a)); var c = o * Math.tan(.5 * e.fovY) / (.5 * e.fullHeight); return i.clamp(c * t, r.minWorldLength || 0, null != r.maxWorldLength ? r.maxWorldLength : 1 / 0); } function V(e, t, r) { if (void 0 !== e) return t.acquire(e, r); } function w(e, t) { void 0 !== e && t.release(e); } function D(e, t, r) { a.mat4.translate(ee, t, e), r.setUniform3fv("localOrigin", e), r.setUniformMatrix4fv("view", ee); } function W(e, t, r) { r.setUniform3f("camPos", t[3] - e[0], t[7] - e[1], t[11] - e[2]); } function R(e, t) { m.encodeDoubleArraySplit(e, te, re, 3), t.setUniform3fv("viewOriginHi", te), t.setUniform3fv("viewOriginLo", re); } function E(e, t, r) { s.vec3.subtract(ie, t.origin, e), r.setUniform3fv("slicePlaneOrigin", ie), r.setUniform3fv("slicePlaneBasis1", t.basis1), r.setUniform3fv("slicePlaneBasis2", t.basis2); } function N(e, t, r) { if (e) { var i = z(e, t.fovY, t.viewport[3]), n = t.pixelRatio || 1; r.setUniform4f("verticalOffset", i.screenLength * n, i.perDistance, i.minWorldLength, i.maxWorldLength); } } function C(e, t, r) { e.bindTexture(t.highlightDepthTexture, 5), r.setUniform1i("depthTex", 5), r.setUniform4f("highlightViewportPixelSz", 0, 0, 1 / t.viewport[2], 1 / t.viewport[3]); } function z(e, t, r, i) { return void 0 === i && (i = ae), i.screenLength = e.screenLength, i.perDistance = Math.tan(.5 * t) / (.5 * r), i.minWorldLength = e.minWorldLength, i.maxWorldLength = e.maxWorldLength, i; } function F(e, t, r) { if (void 0 === r && (r = "screenSizePerspectiveAlignment"), e) { var i = e.parameters, n = e.paddingPixelsOverride; t.setUniform4f(r, i.divisor, i.offset, i.minPixelSize, n); } } function H(e, t) { var r = t ? H(t) : {}; for (var i in e) { var n = e[i]; n && n.forEach && (n = j(n)), null == n && i in r || (r[i] = n); } return r; } function q(e, t) { var r = !1; for (var i in t) { var n = t[i]; void 0 !== n && (r = !0, Array.isArray(n) ? e[i] = n.slice() : e[i] = n); } return r; } function _(e, t, r, n, a) { if (t.options.selectionMode) { for (var o = e.getAttribute(X.POSITION).data, c = e.getAttribute(X.SIZE), s = c && c.data[0], f = r[0], l = r[1], u = s + n, v = (u / 2 + 4) * e.pixelRatio, m = Number.MAX_VALUE, d = 0; d < o.length - 5; d += 3) { var g = o[d], p = o[d + 1], h = o[d + 3], b = o[d + 4], x = f - g, M = l - p, P = h - g, B = b - p, S = P * x + B * M, A = P * P + B * B, I = i.clamp(S / A, 0, 1), T = P * I - x, y = B * I - M, O = T * T + y * y; O < m && (m = O); } m < v * v && a(); } } function j(e) { var t = []; return e.forEach(function (e) { return t.push(e); }), t; } function G(e, i) { return r({ usePBR: e }, i ? t.defaultPBRTreeMaterialParameters : t.defaultPBRMaterialParameters); } Object.defineProperty(t, "__esModule", { value: !0 }); var Y = c.mat4f64.create(), k = u.create(), X = g.VertexAttrConstants; t.intersectTriangleGeometry = p; var Z = f.vec3f64.create(), J = Math.pow(2, -52), K = f.vec3f64.create(); t.intersectTriangles = x; var Q = f.vec3f64.create(), $ = f.vec3f64.create(); t.computeNormal = P, t.computeInvDir = B, t.intersectAabbInvDir = S, t.intersectAabbInvDirBefore = A, t.transformToWorld = I, t.transformToView = T, t.transformToProjection = y, t.transformToNDC = O, t.applyScreenSizePerspectiveScale = U, t.verticalOffsetAtDistance = L, t.acquireIfNotUndefined = V, t.releaseIfNotUndefined = w; var ee = o.mat4f32.create(); t.bindView = D, t.bindCamPos = W; var te = f.vec3f64.create(), re = f.vec3f64.create(); t.bindViewOriginDouble = R; var ie = f.vec3f64.create(); t.bindSlicePlane = E, t.bindVerticalOffset = N, t.bindHighlightRendering = C, t.bindScreenSizePerspective = F, t.copyParameters = H, t.updateParameters = q; !function (e) { function t(e, t) { for (var r = [], i = 0; i < 2; i++) for (var a = 0; a < 2; a++) { var o = n({ shadowMappingEnabled: 1 === i, ssaoEnabled: 1 === a }), c = n({ shadowMappingEnabled: 1 === i, ssaoEnabled: 1 === a && e.receiveSSAO }); r[o] = r[c] || t({ receiveShadows: 1 === i, receiveSSAO: 1 === a && e.receiveSSAO }); } return { programs: r.filter(function (e) { return null != e; }), byParameter: r }; } function r(e, t) { return e.byParameter[n(t)]; } function i(e) { return e.programs; } function n(e) { return (e.shadowMappingEnabled ? 1 : 0) | (e.ssaoEnabled ? 2 : 0); } e.create = t, e.lookup = r, e.programs = i; }(t.BindParametersMap || (t.BindParametersMap = {})), t.intersectDrapedRenderLineGeometry = _, t.colorMixModes = { multiply: 1, ignore: 2, replace: 3, tint: 4 }; var ne = 1e3, ae = { screenLength: 0, perDistance: 0, minWorldLength: 0, maxWorldLength: 0 }; t.defaultPBRMaterialParameters = { roughnessFactor: .6, metallicFactor: 0, reflectanceFactor: .2 }, t.defaultPBRTreeMaterialParameters = { roughnessFactor: 1, metallicFactor: 0, reflectanceFactor: .2 }, t.getDefaultPBRMaterialParameters = G; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js": /*!**************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js ***! \**************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineMaterialsInternalBufferWriterUtilsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../support/buffer/BufferView */ "./node_modules/arcgis-js-api/views/3d/support/buffer/BufferView.js"), __webpack_require__( /*! ../../lib/Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, f, t) { function a(e, r, f, t, a) { var i = f.typedBuffer, s = f.typedBufferStride, o = e.length; if (t *= s, null == a || 1 === a) for (var u = 0; u < o; ++u) { var v = 2 * e[u]; i[t] = r[v], i[t + 1] = r[v + 1], t += s; } else for (var u = 0; u < o; ++u) for (var v = 2 * e[u], n = 0; n < a; ++n) i[t] = r[v], i[t + 1] = r[v + 1], t += s; } function i(e, r, f, t, a) { var i = f.typedBuffer, s = f.typedBufferStride, o = e.length; if (t *= s, null == a || 1 === a) for (var u = 0; u < o; ++u) { var v = 3 * e[u]; i[t] = r[v], i[t + 1] = r[v + 1], i[t + 2] = r[v + 2], t += s; } else for (var u = 0; u < o; ++u) for (var v = 3 * e[u], n = 0; n < a; ++n) i[t] = r[v], i[t + 1] = r[v + 1], i[t + 2] = r[v + 2], t += s; } function s(e, r, f, t, a) { var i = f.typedBuffer, s = f.typedBufferStride, o = e.length; if (t *= s, null == a || 1 === a) for (var u = 0; u < o; ++u) { var v = 4 * e[u]; i[t] = r[v], i[t + 1] = r[v + 1], i[t + 2] = r[v + 2], i[t + 3] = r[v + 3], t += s; } else for (var u = 0; u < o; ++u) for (var v = 4 * e[u], n = 0; n < a; ++n) i[t] = r[v], i[t + 1] = r[v + 1], i[t + 2] = r[v + 2], i[t + 3] = r[v + 3], t += s; } function o(e, r, f, t) { var a = f.typedBuffer, i = f.typedBufferStride, s = e.length; t *= i; for (var o = 0; o < s; ++o) { for (var u = 9 * e[o], v = 0; v < 9; ++v) a[t + v] = r[u + v]; t += i; } } function u(e, r, f, t) { var a = f.typedBuffer, i = f.typedBufferStride, s = e.length; t *= i; for (var o = 0; o < s; ++o) { for (var u = 16 * e[o], v = 0; v < 16; ++v) a[t + v] = r[u + v]; t += i; } } function v(e, r, f, t, a, s) { if (f) { var o = f, u = t.typedBuffer, v = t.typedBufferStride, n = e.length; if (a *= v, null == s || 1 === s) for (var l = 0; l < n; ++l) { var d = 3 * e[l], B = r[d], c = r[d + 1], V = r[d + 2]; u[a] = o[0] * B + o[4] * c + o[8] * V + o[12], u[a + 1] = o[1] * B + o[5] * c + o[9] * V + o[13], u[a + 2] = o[2] * B + o[6] * c + o[10] * V + o[14], a += v; } else for (var l = 0; l < n; ++l) for (var d = 3 * e[l], B = r[d], c = r[d + 1], V = r[d + 2], p = o[0] * B + o[4] * c + o[8] * V + o[12], w = o[1] * B + o[5] * c + o[9] * V + o[13], y = o[2] * B + o[6] * c + o[10] * V + o[14], g = 0; g < s; ++g) u[a] = p, u[a + 1] = w, u[a + 2] = y, a += v; } else i(e, r, t, a, s); } function n(e, r, f, t, a, s) { if (f) { var o = f, u = t.typedBuffer, v = t.typedBufferStride, n = e.length; if (a *= v, null == s || 1 === s) for (var l = 0; l < n; ++l) { var d = 3 * e[l], B = r[d], c = r[d + 1], V = r[d + 2]; u[a] = o[0] * B + o[4] * c + o[8] * V, u[a + 1] = o[1] * B + o[5] * c + o[9] * V, u[a + 2] = o[2] * B + o[6] * c + o[10] * V, a += v; } else for (var l = 0; l < n; ++l) for (var d = 3 * e[l], B = r[d], c = r[d + 1], V = r[d + 2], p = o[0] * B + o[4] * c + o[8] * V, w = o[1] * B + o[5] * c + o[9] * V, y = o[2] * B + o[6] * c + o[10] * V, g = 0; g < s; ++g) u[a] = p, u[a + 1] = w, u[a + 2] = y, a += v; } else i(e, r, t, a, s); } function l(e, r, f, t, a, i) { var s = t.typedBuffer, o = t.typedBufferStride, u = e.length; if (a *= o, null == i || 1 === i) { if (4 === f) for (var v = 0; v < u; ++v) { var n = 4 * e[v]; s[a] = r[n], s[a + 1] = r[n + 1], s[a + 2] = r[n + 2], s[a + 3] = r[n + 3], a += o; } else if (3 === f) for (var v = 0; v < u; ++v) { var n = 3 * e[v]; s[a] = r[n], s[a + 1] = r[n + 1], s[a + 2] = r[n + 2], s[a + 3] = 255, a += o; } } else if (4 === f) for (var v = 0; v < u; ++v) for (var n = 4 * e[v], l = 0; l < i; ++l) s[a] = r[n], s[a + 1] = r[n + 1], s[a + 2] = r[n + 2], s[a + 3] = r[n + 3], a += o;else if (3 === f) for (var v = 0; v < u; ++v) for (var n = 3 * e[v], l = 0; l < i; ++l) s[a] = r[n], s[a + 1] = r[n + 1], s[a + 2] = r[n + 2], s[a + 3] = 255, a += o; } function d(e, r, f, t, a, i, s) { var o = a.typedBuffer, u = a.typedBufferStride, v = e.length; if (i *= u, null == s || 1 === s) { if (4 === f) for (var n = 0; n < v; ++n) { var l = 4 * e[n]; o[i] = r[l] * t[0], o[i + 1] = r[l + 1] * t[1], o[i + 2] = r[l + 2] * t[2], o[i + 3] = r[l + 3] * t[3], i += u; } else if (3 === f) for (var d = 255 * t[3], n = 0; n < v; ++n) { var l = 3 * e[n]; o[i] = r[l] * t[0], o[i + 1] = r[l + 1] * t[1], o[i + 2] = r[l + 2] * t[2], o[i + 3] = d, i += u; } } else if (4 === f) for (var n = 0; n < v; ++n) for (var l = 4 * e[n], B = 0; B < s; ++B) o[i] = r[l] * t[0], o[i + 1] = r[l + 1] * t[1], o[i + 2] = r[l + 2] * t[2], o[i + 3] = r[l + 3] * t[3], i += u;else if (3 === f) for (var d = 255 * t[3], n = 0; n < v; ++n) for (var l = 3 * e[n], B = 0; B < s; ++B) o[i] = r[l] * t[0], o[i + 1] = r[l + 1] * t[1], o[i + 2] = r[l + 2] * t[2], o[i + 3] = d, i += u; } function B(e, r, i, o, u, d) { for (var B = 0, c = r.fieldNames; B < c.length; B++) { var V = c[B], p = e.vertexAttr[V], w = e.indices[V]; if (p && w) switch (V) { case t.VertexAttrConstants.POSITION: t.assert(3 === p.size); var y = u.getField(V, f.BufferViewVec3f); y && v(w, p.data, i, y, d); break; case t.VertexAttrConstants.NORMAL: t.assert(3 === p.size); var g = u.getField(V, f.BufferViewVec3f); g && n(w, p.data, o, g, d); break; case t.VertexAttrConstants.UV0: t.assert(2 === p.size); var h = u.getField(V, f.BufferViewVec2f); h && a(w, p.data, h, d); break; case t.VertexAttrConstants.REGION: t.assert(4 === p.size); var z = u.getField(V, f.BufferViewVec4u16); z && s(w, p.data, z, d); break; case t.VertexAttrConstants.COLOR: t.assert(3 === p.size || 4 === p.size); var A = u.getField(V, f.BufferViewVec4u8); A && l(w, p.data, p.size, A, d); break; case t.VertexAttrConstants.SYMBOLCOLOR: t.assert(3 === p.size || 4 === p.size); var C = u.getField(V, f.BufferViewVec4u8); C && l(w, p.data, p.size, C, d); break; case t.VertexAttrConstants.TANGENT: t.assert(4 === p.size); var S = u.getField(V, f.BufferViewVec4f); S && s(w, p.data, S, d); } } } Object.defineProperty(r, "__esModule", { value: !0 }), r.writeBufferVec2 = a, r.writeBufferVec3 = i, r.writeBufferVec4 = s, r.writeBufferMat3f = o, r.writeBufferMat4f = u, r.writePosition = v, r.writeNormal = n, r.writeColor = l, r.writeMultipliedColor = d, r.writeDefaultAttributes = B; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/waterMaterialUtils.js": /*!***************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/waterMaterialUtils.js ***! \***************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineMaterialsInternalWaterMaterialUtilsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/tsSupport/generatorHelper */ "./node_modules/arcgis-js-api/core/tsSupport/generatorHelper.js"), __webpack_require__( /*! ../../../../../core/tsSupport/awaiterHelper */ "./node_modules/arcgis-js-api/core/tsSupport/awaiterHelper.js"), __webpack_require__( /*! ../../../../../core/Logger */ "./node_modules/arcgis-js-api/core/Logger.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/vec2f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec2f64.js"), __webpack_require__( /*! ../../../support/imageUtils */ "./node_modules/arcgis-js-api/views/3d/support/imageUtils.js"), __webpack_require__( /*! ../../../../webgl/Texture */ "./node_modules/arcgis-js-api/views/webgl/Texture.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, a, i, n, o, l) { Object.defineProperty(t, "__esModule", { value: !0 }); var u = i.getLogger("esri.views.3d.webgl-engine.materials.internal.waterMaterialUtils"); t.waterParameterDefaultsLocal = { waveTexture: e.toUrl("../../../../../images/materials/water/normals.jpg"), perturbationTexture: e.toUrl("../../../../../images/materials/water/perturbation.jpg"), waveStrength: .06, waveTextureRepeat: 32, waveDirection: n.vec2f64.fromValues(1, 0), waveVelocity: .05, flowStrength: .015, flowOffset: -.5, animationSpeed: .35, color: [0, .35686, .4, 1], transparent: !1, writeDepth: !0, slicePlaneEnabled: !1, isDraped: !1, receiveShadows: !0 }, t.wavePresets = { "calm-small": { waveStrength: .005, perturbationStrength: .02, textureRepeat: 12, waveVelocity: .01 }, "rippled-small": { waveStrength: .02, perturbationStrength: .09, textureRepeat: 32, waveVelocity: .07 }, "slight-small": { waveStrength: .05, perturbationStrength: .07, textureRepeat: 28, waveVelocity: .1 }, "moderate-small": { waveStrength: .075, perturbationStrength: .07, textureRepeat: 24, waveVelocity: .1 }, "calm-medium": { waveStrength: .003125, perturbationStrength: .01, textureRepeat: 8, waveVelocity: .02 }, "rippled-medium": { waveStrength: .035, perturbationStrength: .015, textureRepeat: 12, waveVelocity: .07 }, "slight-medium": { waveStrength: .06, perturbationStrength: .015, textureRepeat: 8, waveVelocity: .12 }, "moderate-medium": { waveStrength: .09, perturbationStrength: .03, textureRepeat: 4, waveVelocity: .12 }, "calm-large": { waveStrength: .01, perturbationStrength: 0, textureRepeat: 4, waveVelocity: .05 }, "rippled-large": { waveStrength: .025, perturbationStrength: .01, textureRepeat: 8, waveVelocity: .11 }, "slight-large": { waveStrength: .06, perturbationStrength: .02, textureRepeat: 3, waveVelocity: .13 }, "moderate-large": { waveStrength: .14, perturbationStrength: .03, textureRepeat: 2, waveVelocity: .15 } }; var p = function () { function e() { this.loadingCount = 0, this.data = [], this.loadingState = 0; } return e.prototype.loadTexture = function (e, t, i) { return a(this, void 0, void 0, function () { var a, n; return r(this, function (r) { switch (r.label) { case 0: this.loadingCount++, r.label = 1; case 1: return r.trys.push([1, 3,, 4]), [4, o.requestImage(i)]; case 2: return a = r.sent(), this.data[t] = new l(e, this.getTextureProps(a.width, a.height, !0), a), [3, 4]; case 3: return n = r.sent(), u.warn("Failed to load texture for water material.", n), this.data[t] = new l(e, this.getTextureProps(1, 1, !0)), [3, 4]; case 4: return this.loadingCount--, [2]; } }); }); }, e.prototype.getTextureProps = function (e, t, r) { return void 0 === r && (r = !1), { target: 3553, pixelFormat: 6408, dataType: 5121, wrapMode: 10497, samplingMode: 9987, hasMipmap: r, maxAnisotropy: 8, width: e, height: t }; }, e.prototype.ready = function () { return 2 === this.loadingState || 1 === this.loadingState && 0 === this.loadingCount && (this.loadingState = 2, !0); }, e.prototype.loading = function () { return 1 === this.loadingState; }, e.prototype.initialize = function (e, t) { for (var r = 0; r < t.length; r++) this.loadTexture(e, r, t[r]); this.loadingState = 1; }, e.prototype.bindRepo = function (e) { for (var t = 0; t < this.data.length; t++) e.bindTexture(this.data[t], t); }, e; }(); t.waterTextureRepo = new p(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/lineStippleUtils.js": /*!****************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/lineStippleUtils.js ***! \****************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineMaterialsLineStippleUtilsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/maybe */ "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__( /*! ../../../webgl */ "./node_modules/arcgis-js-api/views/webgl.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, n) { function i(e) { return e.slice(); } function o(e) { return [e, e]; } Object.defineProperty(t, "__esModule", { value: !0 }); var u = function () { function e() { this.cache = new Map(); } return e.prototype.dispose = function () { this.cache.forEach(function (e) { r.isSome(e.texture) && (e.texture.dispose(), e.texture = null); }), this.cache.clear(); }, e.prototype.acquire = function (e) { if (r.isNone(e)) return null; var t = this.patternId(e), i = this.cache.get(t); if (i) return i.refCount++, i.bind; var o = this.patternToTextureData(e, 2), u = o.length / 2, a = { refCount: 1, texture: null, bind: function bind(e, t) { return r.isNone(a.texture) && (a.texture = new n.Texture(e, { width: o.length, height: 1, internalFormat: 6406, pixelFormat: 6406, dataType: 5121, wrapMode: 33071 }, o)), e.bindTexture(a.texture, t), u; } }; return this.cache.set(t, a), a.bind; }, e.prototype.release = function (e) { if (!r.isNone(e)) { var t = this.patternId(e), n = this.cache.get(t); n && 0 === --n.refCount && (r.isSome(n.texture) && n.texture.dispose(), this.cache["delete"](t)); } }, e.prototype.swap = function (e, t) { var r = this.acquire(t); return this.release(e), r; }, e.prototype.bind = function (e, t, n, i, o) { var u = r.isSome(i) ? i(e, o) * t.pixelRatio : 1; n.setUniform1i("stipplePatternTexture", o), n.setUniform1f("stipplePatternPixelSizeInv", 1 / u); }, e.prototype.patternId = function (e) { return e.join(","); }, e.prototype.patternToTextureData = function (e, t) { for (var r = e.reduce(function (e, t) { return e + t; }) * t, n = new Uint8Array(r), i = !0, o = 0, u = 0, a = e; u < a.length; u++) { for (var p = a[u], c = 0; c < p * t; c++) n[o++] = i ? 255 : 0; i = !i; } return n; }, e; }(); t.StippleTextureRepository = u, t.createStipplePattern = i, t.createStipplePatternSimple = o; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/Instance.js": /*!******************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/Instance.js ***! \******************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineMaterialsRenderersInstanceJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/mat4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/mat4f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4f64.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, i, a, r) { return function () { function t(t, i, n, s, o, e, m, h, l) { this.name = t, this.from = i, this.to = n, this.displayedIndexRange = s, this.highlightedIndexRanges = o, this.transformation = e, this.instanceParameters = m, this.idx = h, this.dataId = l, null != e && (this.transformationNormal = r.mat4f64.clone(e), a.mat4.invert(this.transformationNormal, this.transformationNormal), a.mat4.transpose(this.transformationNormal, this.transformationNormal)); } return t; }(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/InstancedRenderer.js": /*!***************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/InstancedRenderer.js ***! \***************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineMaterialsRenderersInstancedRendererJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/mat4f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4f64.js"), __webpack_require__( /*! ../../../support/buffer/glUtil */ "./node_modules/arcgis-js-api/views/3d/support/buffer/glUtil.js"), __webpack_require__( /*! ../../lib/DefaultVertexAttributeLocations */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js"), __webpack_require__( /*! ./Instance */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/Instance.js"), __webpack_require__( /*! ./utils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/utils.js"), __webpack_require__( /*! ../../../../webgl/BufferObject */ "./node_modules/arcgis-js-api/views/webgl/BufferObject.js"), __webpack_require__( /*! ../../../../webgl/Util */ "./node_modules/arcgis-js-api/views/webgl/Util.js"), __webpack_require__( /*! ../../../../webgl/VertexArrayObject */ "./node_modules/arcgis-js-api/views/webgl/VertexArrayObject.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, i, n, a, o, h, g, s) { function u(e, t) { var r = new Map(), i = function i(e, t) { var i = e.origin.id, n = e.data.id, a = r.get(i); a || (a = { origin: e.origin.vec3, deltaByGeometry: new Map() }, r.set(i, a)); var o = a.deltaByGeometry.get(n); o || (o = { renderData: e.data, toAdd: [], toRemove: [] }, a.deltaByGeometry.set(n, o)), (t ? o.toAdd : o.toRemove).push(e); }; return e.forEach(function (e) { i(e, !0); }), t.forEach(function (e) { i(e, !1); }), r; } function l(e, t, r) { var i = t.elementCount(e), n = t.allocate(i); t.write({}, e, n, 0), r.setData(n.buffer); } return function () { function e(e, t, r, i) { void 0 === i && (i = n.Default3D), this.type = "InstancedRenderer", this._dataByOrigin = new Map(), this._highlightCount = 0, this._rctx = e, this._vertexAttributeLocations = i, this._material = r, this._materialRep = t, this._glMaterials = o.acquireMaterials(this._material, this._materialRep), this._bufferWriter = r.createBufferWriter(); } return e.prototype.dispose = function () { o.releaseMaterials(this._material, this._materialRep); }, Object.defineProperty(e.prototype, "isEmpty", { get: function get() { return 0 === this._dataByOrigin.size; }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "hasHighlights", { get: function get() { return this._highlightCount > 0; }, enumerable: !0, configurable: !0 }), e.prototype.hasWater = function () { return !1; }, e.prototype.renderPriority = function () { return this._material.renderPriority; }, e.prototype.modify = function (e) { this.updateGeometries(e.toUpdate), this.addAndRemoveGeometries(e.toAdd, e.toRemove), this.updateHighlightCount(); }, e.prototype.addAndRemoveGeometries = function (e, t) { var n = this, d = this._rctx, f = this._bufferWriter, c = this._dataByOrigin, y = u(e, t), m = f.vertexBufferLayout; y.forEach(function (e, t) { var u = c.get(t); u || (u = { origin: e.origin, highlightCount: 0, dataByGeometry: new Map() }, c.set(t, u)), e.deltaByGeometry.forEach(function (e, t) { var c = u.dataByGeometry.get(t); !c && e.toAdd.length > 0 && (c = { vao: new s(d, n._vertexAttributeLocations, { geometry: i.glLayout(m) }, { geometry: h.createVertex(d, 35044) }), vertexCount: 0, instances: new Map(), highlightCount: 0 }, l(e.renderData, f, c.vao.vertexBuffers.geometry), c.vertexCount = g.vertexCount(c.vao, "geometry"), u.dataByGeometry.set(t, c)); var y = c.instances; e.toAdd.forEach(function (e) { var t = r.mat4f64.create(); o.calculateTransformRelToOrigin(e, t); var i = o.generateRenderGeometryVisibleIndexRanges(e), n = o.generateRenderGeometryHighlightRanges(e), h = new a(e.name, 0, c.vertexCount, i, n, t, e.instanceParameters, e.idx, e.data.id); y.set(e.uniqueName, h), u.highlightCount = null, c.highlightCount = null; }), e.toRemove.forEach(function (e) { y["delete"](e.uniqueName); }), 0 === y.size && (c.vao.dispose(), u.dataByGeometry["delete"](t)); }), 0 === u.dataByGeometry.size && c["delete"](t); }); }, e.prototype.updateGeometries = function (e) { var t = this._dataByOrigin, r = this._bufferWriter; e.forEach(function (e) { var i = e.updateType, n = e.renderGeometry, a = t.get(n.origin.id), h = a && a.dataByGeometry.get(n.data.id), g = h && h.instances.get(n.uniqueName); g && (1 & i && (g.displayedIndexRange = o.generateRenderGeometryVisibleIndexRanges(n)), 17 & i && (g.highlightedIndexRanges = o.generateRenderGeometryHighlightRanges(n), a.highlightCount = null, h.highlightCount = null), 2 & i && l(n.data, r, h.vao.vertexBuffers.geometry), 4 & i && o.calculateTransformRelToOrigin(n, g.transformation, g.transformationNormal)); }); }, e.prototype.updateHighlightCount = function () { var e = this; this._highlightCount = 0, this._dataByOrigin.forEach(function (t) { if (null == t.highlightCount) { var r = 0; t.dataByGeometry.forEach(function (e) { if (null == e.highlightCount) { var t = 0; e.instances.forEach(function (e) { e.highlightedIndexRanges && ++t; }), e.highlightCount = t; } r += e.highlightCount; }), t.highlightCount = r; } e._highlightCount += t.highlightCount; }); }, e.prototype.render = function (e, t, r, i) { var n = this, a = this._rctx, o = this._glMaterials.get(t.pass), h = 4 === t.pass; if (!o || null != e && !o.beginSlot(e) || h && 0 === this._highlightCount) return !1; o.bind(a, r); var g = !1; return this._dataByOrigin.forEach(function (e) { h && 0 === e.highlightCount || (r.origin = e.origin, o.bindView(r), e.dataByGeometry.forEach(function (e) { g = h ? n.renderHighlightPass(o, e, i) || g : n.renderDefaultPass(o, e, i) || g; })); }), a.bindVAO(null), o.release(), g; }, e.prototype.renderDefaultPass = function (e, t, r) { var i = this._rctx, n = e.getDrawMode(), a = t.vao, h = t.vertexCount; e.ensureAttributeLocations(a), i.bindVAO(a); var g = !1; return t.instances.forEach(function (t) { var a = t.displayedIndexRange; a && 0 === a.length || (e.bindInstance(t), a ? o.drawArraysFaceRange(i, a, 0, n, r) : o.drawArrays(i, n, 0, h, r), g = !0); }), g; }, e.prototype.renderHighlightPass = function (e, t, r) { var i = this._rctx, n = e.getDrawMode(), a = t.vao, h = t.vertexCount; if (0 !== t.highlightCount) { e.ensureAttributeLocations(a), i.bindVAO(a); var g = !1; return t.instances.forEach(function (t) { var a = t.highlightedIndexRanges; if (a && 0 !== a.length) { e.bindInstance(t); for (var s = 0; s < a.length; s++) { var u = a[s], l = u.range ? u.range[0] : 0, d = u.range ? u.range[1] - u.range[0] + 1 : h; o.drawArrays(i, n, l, d, r), g = !0; } } }), g; } }, e; }(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/MergedRenderer.js": /*!************************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/MergedRenderer.js ***! \************************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineMaterialsRenderersMergedRendererJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/mat4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/mat4f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4f64.js"), __webpack_require__( /*! ../../../support/buffer/glUtil */ "./node_modules/arcgis-js-api/views/3d/support/buffer/glUtil.js"), __webpack_require__( /*! ../../lib/DefaultVertexAttributeLocations */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js"), __webpack_require__( /*! ../../lib/IntervalUtilities */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IntervalUtilities.js"), __webpack_require__( /*! ../../lib/ResizableFloat32Array */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/ResizableFloat32Array.js"), __webpack_require__( /*! ../../lib/Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js"), __webpack_require__( /*! ../WaterGLMaterial */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/WaterGLMaterial.js"), __webpack_require__( /*! ./Instance */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/Instance.js"), __webpack_require__( /*! ./utils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/utils.js"), __webpack_require__( /*! ../../../../webgl/BufferObject */ "./node_modules/arcgis-js-api/views/webgl/BufferObject.js"), __webpack_require__( /*! ../../../../webgl/Util */ "./node_modules/arcgis-js-api/views/webgl/Util.js"), __webpack_require__( /*! ../../../../webgl/VertexArrayObject */ "./node_modules/arcgis-js-api/views/webgl/VertexArrayObject.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, a, n, i, o, s, u, d, l, f, g, h, p) { function m(e, t, r, a) { for (var n = new Map(), i = t.vertexBufferLayout.stride / 4, o = function o(r, a) { var o = r.origin, s = e.get(o.id), u = n.get(o.id); null == u && (u = { optimalCount: null == s ? 0 : s.optimalCount, sparseCount: null == s ? 0 : s.buffer.size, toAdd: [], toRemove: [], origin: o.vec3 }, n.set(o.id, u)); var d = t.elementCount(r.data) * i; a ? (u.optimalCount += d, u.sparseCount += d, u.toAdd.push(r)) : (u.optimalCount -= d, u.toRemove.push(r)); }, s = 0, u = r; s < u.length; s++) { var d = u[s]; o(d, !0); } for (var l = 0, f = a; l < f.length; l++) { var d = f[l]; o(d, !1); } return n; } var c = function () { function e(e, t, r, a) { void 0 === a && (a = i.Default3D), this.type = "MergedRenderer", this._dataByOrigin = new Map(), this._highlightCount = 0, this._rctx = e, this._vertexAttributeLocations = a, this._material = r, this._materialRep = t, this._glMaterials = f.acquireMaterials(this._material, this._materialRep), this._bufferWriter = r.createBufferWriter(); } return e.prototype.dispose = function () { f.releaseMaterials(this._material, this._materialRep); }, Object.defineProperty(e.prototype, "isEmpty", { get: function get() { return 0 === this._dataByOrigin.size; }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "hasHighlights", { get: function get() { return this._highlightCount > 0; }, enumerable: !0, configurable: !0 }), e.prototype.hasWater = function () { var e = !1; return this._glMaterials.forEach(function (t) { e = e || t instanceof d.WaterGLMaterial; }), e; }, e.prototype.renderPriority = function () { return this._material.renderPriority; }, e.prototype.modify = function (e) { var t = this, r = R; r.clear(), this.updateGeometries(e.toUpdate, r), this.addAndRemoveGeometries(e.toAdd, e.toRemove, r), this.updateHighlightCount(), r.forEach(function (e) { return t.updateDisplayedIndexRanges(e); }); }, e.prototype.addAndRemoveGeometries = function (e, t, r) { var a = this, n = this._bufferWriter, i = n.vertexBufferLayout, o = i.stride / 4, s = this._dataByOrigin, d = m(s, n, e, t); d.forEach(function (e, t) { d["delete"](t); var n = e.optimalCount, l = e.sparseCount, f = s.get(t); if (null == f && (u.assert(n > 0), f = a.createData(i, n, e.origin), s.set(t, f)), 0 === n) return f.vao.dispose(!0), f.vao = null, void s["delete"](t); var g = n < e.sparseCount / 2, h = g ? n : l, p = y, m = f.buffer.size, c = f.buffer.array, b = f.buffer.resize(h, !1); g || b ? a.removeAndRebuild(f, e.toRemove, o, c, p) : e.toRemove.length > 0 ? (a.removeByErasing(f, e.toRemove, o, p), e.toAdd.length > 0 && (p.end = m)) : (p.begin = m, p.end = m); var x = v; u.setMatrixTranslation3(x, -e.origin[0], -e.origin[1], -e.origin[2]), a.append(f, e.toAdd, o, x, p); var R = f.vao.vertexBuffers.geometry; if (R.byteSize !== f.buffer.array.buffer.byteLength) R.setData(f.buffer.array);else { var _ = p.begin, C = p.end; if (_ < C) { var I = f.buffer.array, A = 4 * _, w = 4 * C; R.setSubData(I, A, A, w); } } (p.updatedDisplayedIndexRange || f.displayedIndexRanges) && r.add(f); }); }, e.prototype.updateGeometries = function (e, t) { for (var r = this._bufferWriter, a = r.vertexBufferLayout.stride / 4, n = 0, i = e; n < i.length; n++) { var o = i[n], s = o.updateType, d = o.renderGeometry, l = this._dataByOrigin.get(d.origin.id), g = l && l.instances.get(d.uniqueName); if (!g) return; if (1 & s && (g.displayedIndexRange = f.generateRenderGeometryVisibleIndexRanges(d), t.add(l)), 17 & s && (g.highlightedIndexRanges = f.generateRenderGeometryHighlightRanges(d), l.highlightCount = null), 6 & s) { var h = l.buffer.array, p = l.vao; f.calculateTransformRelToOrigin(d, b, x), r.write({ transformation: b, invTranspTransformation: x }, d.data, r.vertexBufferLayout.createView(h.buffer), g.from), u.assert(g.from + r.elementCount(d.data) === g.to, "material VBO layout has changed"), p.vertexBuffers.geometry.setSubData(h, g.from * a * 4, g.from * a * 4, g.to * a * 4); } } }, e.prototype.updateDisplayedIndexRanges = function (e) { e.displayedIndexRanges = []; var t = !0; e.instances.forEach(function (r) { r.displayedIndexRange ? (e.displayedIndexRanges.push.apply(e.displayedIndexRanges, o.offsetIntervals(r.displayedIndexRange, r.from)), t = !1) : e.displayedIndexRanges.push([r.from, r.to - 1]); }), e.displayedIndexRanges = t ? null : o.mergeIntervals(e.displayedIndexRanges); }, e.prototype.updateHighlightCount = function () { var e = this; this._highlightCount = 0, this._dataByOrigin.forEach(function (t) { if (null == t.highlightCount) { var r = 0; t.instances.forEach(function (e) { e.highlightedIndexRanges && ++r; }), t.highlightCount = r; } e._highlightCount += t.highlightCount; }); }, e.prototype.updateLogic = function (e) { return this._material.update(e); }, e.prototype.render = function (e, t, r, n) { var i = this, o = this._rctx, s = this._glMaterials.get(t.pass), u = 4 === t.pass, d = e; if (2 === t.pass && null === d && (d = 19), !s || 1 === s.ensureResources(o) || null != d && !s.beginSlot(d) || u && 0 === this._highlightCount) return !1; s.bind(o, r); var l = s.getProgram(); l.setUniformMatrix4fv("model", a.mat4f64.IDENTITY), l.hasUniform("modelNormal") && l.setUniformMatrix4fv("modelNormal", a.mat4f64.IDENTITY); var f = !1; return this._dataByOrigin.forEach(function (e) { u && 0 === e.highlightCount || (r.origin = e.origin, s.bindView(r), f = u ? i.renderHighlightPass(s, e, n) || f : i.renderDefaultPass(s, e, n) || f); }), s.release(), f; }, e.prototype.renderDefaultPass = function (e, t, r) { var a = this._rctx, n = e.getDrawMode(), i = t.displayedIndexRanges; if (i && 0 === i.length) return !1; if (e.ensureAttributeLocations(t.vao), a.bindVAO(t.vao), i) f.drawArraysFaceRange(a, i, 0, n, r);else { var o = 4 * t.buffer.size / h.getStride(t.vao.layout.geometry); f.drawArrays(a, n, 0, o, r); } return !0; }, e.prototype.renderHighlightPass = function (e, t, r) { var a = this._rctx, n = e.getDrawMode(), i = t.vao; e.ensureAttributeLocations(i), a.bindVAO(i); var o = !1; return t.instances.forEach(function (e) { var t = e.highlightedIndexRanges; if (t && 0 !== t.length) for (var i = 0; i < t.length; i++) { var s = t[i], u = s.range ? s.range[0] + e.from : e.from, d = s.range ? s.range[1] - s.range[0] + 1 : e.to - e.from; f.drawArrays(a, n, u, d, r), o = !0; } }), o; }, e.prototype.createData = function (e, t, r) { return { instances: new Map(), vao: new p(this._rctx, this._vertexAttributeLocations, { geometry: n.glLayout(e) }, { geometry: g.createVertex(this._rctx, 35044) }), buffer: new s.ResizableFloat32Array(t), optimalCount: 0, origin: r, highlightCount: 0 }; }, e.prototype.removeAndRebuild = function (e, t, r, a, n) { for (var i = 0, o = t; i < o.length; i++) { var s = o[i], u = s.uniqueName, d = e.instances.get(u); e.optimalCount -= (d.to - d.from) * r, e.instances["delete"](u); } var l = 0, f = e.buffer.array; n.begin = 0, n.end = 0; var g = -1, h = -1, p = 0; e.instances.forEach(function (e) { var t = e.from * r, n = e.to * r, i = n - t; g !== h && h !== t ? (f.set(a.subarray(g, h), p), p += h - g, g = t) : -1 === g && (g = t), h = n, e.from = l / r, l += i, e.to = l / r; }), g !== h && f.set(a.subarray(g, h), p), n.end = l; }, e.prototype.removeByErasing = function (e, t, r, a) { a.begin = 1 / 0, a.end = -1 / 0; for (var n = -1, i = -1, o = 0, s = t; o < s.length; o++) { var u = s[o], d = u.uniqueName, l = e.instances.get(d), f = l.from * r, g = l.to * r; n !== i && i !== f ? (e.buffer.erase(n, i), n = f) : -1 === n && (n = f), i = g, e.instances["delete"](d), e.optimalCount -= g - f, f < a.begin && (a.begin = f), g > a.end && (a.end = g); } n !== i && e.buffer.erase(n, i); }, e.prototype.append = function (e, t, a, n, i) { i.updatedDisplayedIndexRange = !1; for (var o = this._bufferWriter, s = 0, d = t; s < d.length; s++) { var g = d[s], h = g.data; r.mat4.multiply(b, n, g.transformation), r.mat4.invert(x, b), r.mat4.transpose(x, x); var p = i.end; o.write({ transformation: b, invTranspTransformation: x }, h, o.vertexBufferLayout.createView(e.buffer.array.buffer), i.end / a); var m = o.elementCount(h) * a, c = p + m; u.assert(null == e.instances.get(g.uniqueName)); var y = f.generateRenderGeometryVisibleIndexRanges(g), v = f.generateRenderGeometryHighlightRanges(g); v && (e.highlightCount = null); var R = new l(g.name, p / a, c / a, y, v, void 0, void 0, g.idx); e.instances.set(g.uniqueName, R), y && (i.updatedDisplayedIndexRange = !0), e.optimalCount += m, i.end += m; } }, Object.defineProperty(e.prototype, "test", { get: function get() { return { material: this._material }; }, enumerable: !0, configurable: !0 }), e; }(), y = { updatedDisplayedIndexRange: !1, begin: 0, end: 0 }, v = a.mat4f64.create(), b = a.mat4f64.create(), x = a.mat4f64.create(), R = new Set(); return c; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/utils.js": /*!***************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/utils.js ***! \***************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineMaterialsRenderersUtilsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/mat4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4.js"), __webpack_require__( /*! ../../../../../core/libs/gl-matrix-2/mat4f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4f64.js"), __webpack_require__( /*! ../../lib/ComponentUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/ComponentUtils.js"), __webpack_require__( /*! ../../lib/Util */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Util.js"), __webpack_require__( /*! ../../../../webgl/Util */ "./node_modules/arcgis-js-api/views/webgl/Util.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, n, a, i, s) { function l(e) { if (e.instanceParameters.hidden) return []; var t = e.instanceParameters.componentVisibilities, r = e.componentOffsets; return a.generateVisibleIndexRanges(t, r); } function o(e) { if (e.instanceParameters.hidden) return null; var t = e.instanceParameters.componentVisibilities, r = e.instanceParameters.componentHighlights, n = e.componentOffsets; return a.generateHighlightedIndexRanges(t, r, n); } function c(e) { if (e.instanceParameters.hidden) return !1; var t = e.instanceParameters.componentVisibilities, r = e.instanceParameters.componentHighlights, n = e.componentOffsets; return a.hasHighlights(t, r, n); } function d(e) { if (e.instanceParameters.hidden) return !0; var t = e.instanceParameters.componentVisibilities, r = e.componentOffsets; return a.isAllHidden(t, r); } function m(e, t, r, n, a) { e.drawArrays(t, r, n), a && (a.drawCalls++, 4 === t && (a.triangles += n)); } function g(e, t, r, n, a, i) { var l = s.getBytesPerElement(r); e.drawElements(t, a, r, n * l), i && (i.drawCalls++, 4 === t && (i.triangles += a)); } function h(e, t, r, n, a) { for (var i = 0, s = 0, l = t; s < l.length; s++) { var o = l[s], c = o[0] + r, d = o[1] - o[0] + 1; i += d, e.drawArrays(n, c, d); } a && (a.drawCalls += t.length, 4 === n && (a.triangles = i / 3)); } function u(e, t, r, n, a, i) { for (var l = s.getBytesPerElement(a), o = 0, c = 0, d = t; c < d.length; c++) { var m = d[c], g = m[0] + r, h = m[1] - m[0] + 1; o += h, e.drawElements(n, h, a, g * l); } i && (i.drawCalls += t.length, 4 === n && (i.triangles += o / 3)); } function f(e, t) { var r = new Map(); return r.set(0, t.acquire(e, "color")), r.set(3, t.acquire(e, "depthShadowMap")), r.set(2, t.acquire(e, "normal")), r.set(1, t.acquire(e, "depth")), r.set(4, t.acquire(e, "highlight")), r; } function p(e, t) { t.release(e.id, "color"), t.release(e.id, "depthShadowMap"), t.release(e.id, "normal"), t.release(e.id, "depth"), t.release(e.id, "highlight"); } function v(e, t, n) { var a = e.origin.vec3; i.setMatrixTranslation3(w, -a[0], -a[1], -a[2]), r.mat4.multiply(t, w, e.transformation), n && (r.mat4.invert(n, t), r.mat4.transpose(n, n)); } Object.defineProperty(t, "__esModule", { value: !0 }), t.generateRenderGeometryVisibleIndexRanges = l, t.generateRenderGeometryHighlightRanges = o, t.doesRenderGeometryHaveHighlights = c, t.isRenderGeometryHidden = d, t.drawArrays = m, t.drawElements = g, t.drawArraysFaceRange = h, t.drawElementsFaceRange = u, t.acquireMaterials = f, t.releaseMaterials = p, t.calculateTransformRelToOrigin = v; var w = n.mat4f64.create(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js": /*!******************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js ***! \******************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineShadersDefaultMaterialGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../collections/Component/Material/shader/DecodeSymbolColor.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/collections/Component/Material/shader/DecodeSymbolColor.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/DiscardOrAdjustAlpha.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/DiscardOrAdjustAlpha.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/ForwardLinearDepth.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/Offset.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/Slice.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/Transform.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/attributes/PositionAttribute.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/attributes/VertexColor.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/attributes/VertexNormal.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/attributes/VerticalOffset.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/output/OutputDepth.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/ComputeNormalTexture.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/EvaluateSceneLighting.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/HighlightData.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/HighlightData.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/Normals.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/PhysicallyBasedRendering.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/ReadShadowMap.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/VisualVariables.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/util/DoublePrecision.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/DoublePrecision.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/util/MixExternalColor.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js"), __webpack_require__( /*! ../core/shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js"), __webpack_require__( /*! ../core/shaderModules/ShaderBuilder */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (o, e, a, n, l, i, r, t, d, s, c, v, m, g, u, p, h, x, f, b, y, C, O, w, P, L, D, M) { function N(o) { var e = new M.ShaderBuilder(), N = e.vertex.code, Bo = e.fragment.code; return N.add(D.glsl(A || (A = a(["\n // --- Default Material:\n // ", "\n // ---\n "], ["\n // --- Default Material:\n // ", "\n // ---\n "])), JSON.stringify(o))), Bo.add(D.glsl(S || (S = a(["\n // --- Default Material:\n // ", "\n // ---\n "], ["\n // --- Default Material:\n // ", "\n // ---\n "])), JSON.stringify(o))), e.vertex.uniforms.add("proj", "mat4").add("view", "mat4").add("camPos", "vec3").add("localOrigin", "vec3"), e.include(s.PositionAttribute), e.varyings.add("vpos", "vec3"), e.include(w.VisualVariables, o), o.instanced && o.instancedDoublePrecision ? (e.attributes.add("modelOriginHi", "vec3"), e.attributes.add("modelOriginLo", "vec3"), e.attributes.add("model", "mat3"), e.attributes.add("modelNormal", "mat3")) : (e.vertex.uniforms.add("model", "mat4"), e.vertex.uniforms.add("modelNormal", "mat4")), o.instancedDoublePrecision ? (e.include(P.DoublePrecision, o), e.vertex.uniforms.add("viewOriginHi", "vec3"), e.vertex.uniforms.add("viewOriginLo", "vec3"), N.add(D.glsl(F || (F = a(["\n vec3 calculateVPos() {\n return model * localPosition().xyz;\n }\n "], ["\n vec3 calculateVPos() {\n return model * localPosition().xyz;\n }\n "]))))) : N.add(D.glsl(T || (T = a(["\n vec3 calculateVPos() {\n return (model * localPosition()).xyz;\n }\n "], ["\n vec3 calculateVPos() {\n return (model * localPosition()).xyz;\n }\n "])))), e.include(g.VerticalOffset, o), 0 === o.output && (e.include(d.Transform, { linearDepth: !1 }), 0 === o.normalType && o.offsetBackfaces && e.include(r.Offset), e.include(p.ComputeNormalTexture, o), e.include(m.VertexNormal, o), o.instancedColor && e.attributes.add("instanceColor", "vec4"), e.varyings.add("localvpos", "vec3"), e.include(c.TextureCoordinateAttribute, o), e.include(i.ForwardLinearDepth, o), o.symbolColor ? (e.include(n.DecodeSymbolColor), e.attributes.add("symbolColor", "vec4"), e.varyings.add("colorMixMode", "mediump float")) : e.fragment.uniforms.add("colorMixMode", "int"), e.include(v.VertexColor, o), e.vertex.uniforms.add("externalColor", "vec4"), e.varyings.add("vcolorExt", "vec4"), e.vertex.defines.addFloat("SYMBOL_ALPHA_CUTOFF", .001), N.add(D.glsl(_ || (_ = a(["\n void main(void) {\n forwardNormalizedVertexColor();\n vcolorExt = externalColor;\n ", "\n vcolorExt *= vvColor();\n "], ["\n void main(void) {\n forwardNormalizedVertexColor();\n vcolorExt = externalColor;\n ", "\n vcolorExt *= vvColor();\n "])), o.instancedColor ? "vcolorExt *= instanceColor;" : "")), o.symbolColor && N.add(D.glsl(V || (V = a(["\n int symbolColorMixMode;\n vcolorExt *= decodeSymbolColor(symbolColor, symbolColorMixMode) * 0.003921568627451; // = 1/255;\n colorMixMode = float(symbolColorMixMode) + 0.5; // add 0.5 to avoid interpolation artifacts\n "], ["\n int symbolColorMixMode;\n vcolorExt *= decodeSymbolColor(symbolColor, symbolColorMixMode) * 0.003921568627451; // = 1/255;\n colorMixMode = float(symbolColorMixMode) + 0.5; // add 0.5 to avoid interpolation artifacts\n "])))), N.add(D.glsl(z || (z = a(["\n if (vcolorExt.a < SYMBOL_ALPHA_CUTOFF) {\n gl_Position = vec4(1e38, 1e38, 1e38, 1.0);\n }\n else {\n vpos = calculateVPos();\n localvpos = vpos - view[3].xyz;\n "], ["\n if (vcolorExt.a < SYMBOL_ALPHA_CUTOFF) {\n gl_Position = vec4(1e38, 1e38, 1e38, 1.0);\n }\n else {\n vpos = calculateVPos();\n localvpos = vpos - view[3].xyz;\n "])))), o.instancedDoublePrecision ? (0 === o.normalType && N.add(D.glsl(E || (E = a(["\n vNormalWorld = normalize(modelNormal * vvLocalNormal(normalModel()).xyz);\n "], ["\n vNormalWorld = normalize(modelNormal * vvLocalNormal(normalModel()).xyz);\n "])))), N.add(D.glsl(B || (B = a(["\n vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\n vpos -= originDelta;\n "], ["\n vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\n vpos -= originDelta;\n "]))))) : 0 === o.normalType && N.add(D.glsl(H || (H = a(["\n vNormalWorld = normalize((modelNormal * vvLocalNormal(normalModel())).xyz);\n "], ["\n vNormalWorld = normalize((modelNormal * vvLocalNormal(normalModel())).xyz);\n "])))), N.add(D.glsl(j || (j = a(["\n ", "\n ", "\n gl_Position = transformPosition(proj, view, vpos);\n ", "\n }\n forwardLinearDepth();\n forwardTextureCoordinates();\n }\n "], ["\n ", "\n ", "\n gl_Position = transformPosition(proj, view, vpos);\n ", "\n }\n forwardLinearDepth();\n forwardTextureCoordinates();\n }\n "])), o.verticalOffsetEnabled ? "vpos += calculateVerticalOffset(vpos, localOrigin);" : "", o.vertexTangets ? "transformVertexTangent(mat3(modelNormal));" : "", 0 === o.normalType && o.offsetBackfaces ? "gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, camPos);" : "")), e.include(t.Slice, o), e.include(x.EvaluateSceneLighting, o), e.include(h.EvaluateAmbientOcclusion, o), e.include(l.DiscardOrAdjustAlpha, o), o.receiveShadows && e.include(O.ReadShadowMap, o), e.fragment.uniforms.add("camPos", "vec3").add("localOrigin", "vec3").add("ambient", "vec3").add("diffuse", "vec3").add("specular", "vec3").add("opacity", "float").add("layerOpacity", "float"), o.treeRendering && e.fragment.uniforms.add("view", "mat4"), o.hasColorTexture && e.fragment.uniforms.add("tex", "sampler2D"), 3 === o.normalType && e.extensions.add("GL_OES_standard_derivatives"), e.include(C.PhysicallyBasedRenderingParameters, o), e.include(y.PhysicallyBasedRendering, o), e.include(L.MixExternalColor, { stages: 1 }), e.include(b.Normals, o), Bo.add(D.glsl(R || (R = a(["\n void main() {\n discardBySlice(vpos);\n "], ["\n void main() {\n discardBySlice(vpos);\n "])))), o.hasColorTexture ? (Bo.add(D.glsl(W || (W = a(["\n vec4 texColor = texture2D(tex, vuv0);\n "], ["\n vec4 texColor = texture2D(tex, vuv0);\n "])))), o.textureAlphaPremultiplied && Bo.add(D.glsl(I || (I = a(["\n texColor.rgb /= texColor.a;\n "], ["\n texColor.rgb /= texColor.a;\n "])))), Bo.add(D.glsl(k || (k = a(["\n discardOrAdjustAlpha(texColor);\n "], ["\n discardOrAdjustAlpha(texColor);\n "]))))) : Bo.add(D.glsl(G || (G = a(["\n vec4 texColor = vec4(1.0);\n "], ["\n vec4 texColor = vec4(1.0);\n "])))), Bo.add(D.glsl(U || (U = a(["\n shadingParams.viewDirection = normalize(vpos - camPos);\n "], ["\n shadingParams.viewDirection = normalize(vpos - camPos);\n "])))), 3 === o.normalType ? Bo.add(D.glsl(Y || (Y = a(["\n vec3 normal = normalize(cross(dFdx(localvpos),dFdy(localvpos)));\n "], ["\n vec3 normal = normalize(cross(dFdx(localvpos),dFdy(localvpos)));\n "])))) : Bo.add(D.glsl(J || (J = a(["\n shadingParams.normalView = vNormalWorld;\n vec3 normal = shadingNormal(shadingParams);\n "], ["\n shadingParams.normalView = vNormalWorld;\n vec3 normal = shadingNormal(shadingParams);\n "])))), o.usePBR && Bo.add(D.glsl(q || (q = a(["applyPBRFactors();"], ["applyPBRFactors();"])))), Bo.add(D.glsl(K || (K = a(["\n float ssao = evaluateAmbientOcclusionInverse();\n ssao *= getBakedOcclusion();\n\n float additionalAmbientScale = _oldHeuristicLighting(vpos + localOrigin);\n vec3 additionalLight = ssao * lightingMainIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;\n "], ["\n float ssao = evaluateAmbientOcclusionInverse();\n ssao *= getBakedOcclusion();\n\n float additionalAmbientScale = _oldHeuristicLighting(vpos + localOrigin);\n vec3 additionalLight = ssao * lightingMainIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;\n "])))), o.receiveShadows ? e.fragment.code.add(D.glsl(Q || (Q = a(["\n float shadow = readShadowMap(vpos, linearDepth);\n "], ["\n float shadow = readShadowMap(vpos, linearDepth);\n "])))) : 0 === o.viewingMode ? e.fragment.code.add(D.glsl(X || (X = a(["\n float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);\n "], ["\n float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);\n "])))) : e.fragment.code.add(D.glsl(Z || (Z = a(["\n float shadow = 0.0;\n "], ["\n float shadow = 0.0;\n "])))), Bo.add(D.glsl($ || ($ = a(["\n vec3 matColor = max(ambient, diffuse);\n "], ["\n vec3 matColor = max(ambient, diffuse);\n "])))), o.attributeColor ? Bo.add(D.glsl(oo || (oo = a(["\n vec3 albedo_ = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));\n float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));\n "], ["\n vec3 albedo_ = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));\n float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));\n "])))) : (Bo.add(D.glsl(eo || (eo = a(["\n vec3 albedo_ = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));\n float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));\n "], ["\n vec3 albedo_ = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));\n float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));\n "])))), o.usePBR && Bo.add(D.glsl(ao || (ao = a(["\n if (int(colorMixMode) == 3 /* replace */) {\n reflectance = 0.2;\n roughness = 0.6;\n metalness = 0.0;\n }\n "], ["\n if (int(colorMixMode) == 3 /* replace */) {\n reflectance = 0.2;\n roughness = 0.6;\n metalness = 0.0;\n }\n "]))))), o.hasNormalTexture ? (o.vertexTangets ? Bo.add(D.glsl(no || (no = a(["\n mat3 tangentSpace = computeTangentSpace(normal);\n "], ["\n mat3 tangentSpace = computeTangentSpace(normal);\n "])))) : Bo.add(D.glsl(lo || (lo = a(["\n mat3 tangentSpace = computeTangentSpace(normal, vpos, vuv0);\n "], ["\n mat3 tangentSpace = computeTangentSpace(normal, vpos, vuv0);\n "])))), Bo.add(D.glsl(io || (io = a(["\n vec3 shadedNormal = computeTextureNormal(tangentSpace, vuv0);\n "], ["\n vec3 shadedNormal = computeTextureNormal(tangentSpace, vuv0);\n "]))))) : Bo.add(D.glsl(ro || (ro = a(["\n vec3 shadedNormal = normal;\n "], ["\n vec3 shadedNormal = normal;\n "])))), o.treeRendering && Bo.add(D.glsl(to || (to = a(["\n shadedNormal = normalize(vNormalWorld);\n albedo_ *= 1.2;\n vec3 viewForward = - vec3(view[0][2], view[1][2], view[2][2]);\n float alignmentLightView = clamp(dot(-viewForward, lightingMainDirection), 0.0, 1.0);\n\n float transmittance = 1.0 - clamp(dot(-viewForward, shadedNormal), 0.0, 1.0);\n float treeRadialFalloff = vColor.r;\n float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);\n additionalLight += backLightFactor * lightingMainIntensity;\n "], ["\n shadedNormal = normalize(vNormalWorld);\n albedo_ *= 1.2;\n vec3 viewForward = - vec3(view[0][2], view[1][2], view[2][2]);\n float alignmentLightView = clamp(dot(-viewForward, lightingMainDirection), 0.0, 1.0);\n\n float transmittance = 1.0 - clamp(dot(-viewForward, shadedNormal), 0.0, 1.0);\n float treeRadialFalloff = vColor.r;\n float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);\n additionalLight += backLightFactor * lightingMainIntensity;\n "])))), o.usePBR ? Bo.add(D.glsl(so || (so = a(["\n float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * lightingMainIntensity[2];\n vec3 normalGround = normalize(vpos + localOrigin);\n vec3 shadedColor = evaluateSceneLightingPBR(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, roughness, metalness, emission, reflectance, additionalAmbientIrradiance);\n "], ["\n float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * lightingMainIntensity[2];\n vec3 normalGround = normalize(vpos + localOrigin);\n vec3 shadedColor = evaluateSceneLightingPBR(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, roughness, metalness, emission, reflectance, additionalAmbientIrradiance);\n "])))) : Bo.add(D.glsl(co || (co = a(["\n vec3 shadedColor = evaluateSceneLighting(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight);\n "], ["\n vec3 shadedColor = evaluateSceneLighting(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight);\n "])))), Bo.add(D.glsl(vo || (vo = a(["\n gl_FragColor = highlightSlice(vec4(shadedColor, opacity_), vpos);\n }\n "], ["\n gl_FragColor = highlightSlice(vec4(shadedColor, opacity_), vpos);\n }\n "]))))), 1 !== o.output && 3 !== o.output || (e.include(d.Transform, { linearDepth: !0 }), e.include(c.TextureCoordinateAttribute, o), e.include(w.VisualVariables, o), e.include(u.OutputDepth, o), e.include(t.Slice, o), e.vertex.uniforms.add("nearFar", "vec2"), e.varyings.add("depth", "float"), o.hasColorTexture && e.fragment.uniforms.add("tex", "sampler2D"), N.add(D.glsl(mo || (mo = a(["\n void main(void) {\n vpos = calculateVPos();\n "], ["\n void main(void) {\n vpos = calculateVPos();\n "])))), o.instancedDoublePrecision && N.add(D.glsl(go || (go = a(["\n vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\n vpos -= originDelta;\n "], ["\n vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\n vpos -= originDelta;\n "])))), o.verticalOffsetEnabled && N.add(D.glsl(uo || (uo = a(["\n vpos += calculateVerticalOffset(vpos, localOrigin);\n "], ["\n vpos += calculateVerticalOffset(vpos, localOrigin);\n "])))), N.add(D.glsl(po || (po = a(["\n gl_Position = transformPositionWithDepth(proj, view, vpos, nearFar, depth);\n forwardTextureCoordinates();\n }\n "], ["\n gl_Position = transformPositionWithDepth(proj, view, vpos, nearFar, depth);\n forwardTextureCoordinates();\n }\n "])))), e.include(l.DiscardOrAdjustAlpha, o), Bo.add(D.glsl(ho || (ho = a(["\n void main(void) {\n discardBySlice(vpos);\n "], ["\n void main(void) {\n discardBySlice(vpos);\n "])))), o.hasColorTexture && Bo.add(D.glsl(xo || (xo = a(["\n vec4 texColor = texture2D(tex, vuv0);\n discardOrAdjustAlpha(texColor);\n "], ["\n vec4 texColor = texture2D(tex, vuv0);\n discardOrAdjustAlpha(texColor);\n "])))), Bo.add(D.glsl(fo || (fo = a(["\n outputDepth(depth);\n }\n "], ["\n outputDepth(depth);\n }\n "]))))), 2 === o.output && (3 === o.normalType && e.extensions.add("GL_OES_standard_derivatives"), e.include(d.Transform, { linearDepth: !1 }), e.include(m.VertexNormal, o), e.include(c.TextureCoordinateAttribute, o), e.include(w.VisualVariables, o), o.hasColorTexture && e.fragment.uniforms.add("tex", "sampler2D"), e.vertex.uniforms.add("viewNormal", "mat4"), e.varyings.add("vPositionView", "vec3"), N.add(D.glsl(bo || (bo = a(["\n void main(void) {\n vpos = calculateVPos();\n "], ["\n void main(void) {\n vpos = calculateVPos();\n "])))), o.instancedDoublePrecision ? (0 === o.normalType && N.add(D.glsl(yo || (yo = a(["\n vNormalWorld = normalize((viewNormal * vec4(modelNormal * vvLocalNormal(normalModel()).xyz, 1.0)).xyz);\n "], ["\n vNormalWorld = normalize((viewNormal * vec4(modelNormal * vvLocalNormal(normalModel()).xyz, 1.0)).xyz);\n "])))), N.add(D.glsl(Co || (Co = a(["\n vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\n vpos -= originDelta;\n "], ["\n vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\n vpos -= originDelta;\n "]))))) : 0 === o.normalType && N.add(D.glsl(Oo || (Oo = a(["\n vNormalWorld = normalize((viewNormal * modelNormal * vvLocalNormal(normalModel())).xyz);\n "], ["\n vNormalWorld = normalize((viewNormal * modelNormal * vvLocalNormal(normalModel())).xyz);\n "])))), o.verticalOffsetEnabled && N.add(D.glsl(wo || (wo = a(["\n vpos += calculateVerticalOffset(vpos, localOrigin);\n "], ["\n vpos += calculateVerticalOffset(vpos, localOrigin);\n "])))), N.add(D.glsl(Po || (Po = a(["\n gl_Position = transformPosition(proj, view, vpos);\n forwardTextureCoordinates();\n }\n "], ["\n gl_Position = transformPosition(proj, view, vpos);\n forwardTextureCoordinates();\n }\n "])))), e.include(t.Slice, o), e.include(l.DiscardOrAdjustAlpha, o), Bo.add(D.glsl(Lo || (Lo = a(["\n void main() {\n discardBySlice(vpos);\n "], ["\n void main() {\n discardBySlice(vpos);\n "])))), o.hasColorTexture && Bo.add(D.glsl(Do || (Do = a(["\n vec4 texColor = texture2D(tex, vuv0);\n discardOrAdjustAlpha(texColor);\n "], ["\n vec4 texColor = texture2D(tex, vuv0);\n discardOrAdjustAlpha(texColor);\n "])))), 3 === o.normalType ? Bo.add(D.glsl(Mo || (Mo = a(["\n vec3 normal = normalize(cross(dFdx(vPositionView),dFdy(vPositionView)));\n "], ["\n vec3 normal = normalize(cross(dFdx(vPositionView),dFdy(vPositionView)));\n "])))) : Bo.add(D.glsl(No || (No = a(["\n vec3 normal = normalize(vNormalWorld);\n if (gl_FrontFacing == false) normal = -normal;\n "], ["\n vec3 normal = normalize(vNormalWorld);\n if (gl_FrontFacing == false) normal = -normal;\n "])))), Bo.add(D.glsl(Ao || (Ao = a(["\n gl_FragColor = vec4(vec3(0.5) + 0.5 * normal, 1.0);\n }\n "], ["\n gl_FragColor = vec4(vec3(0.5) + 0.5 * normal, 1.0);\n }\n "]))))), 4 === o.output && (e.include(d.Transform, { linearDepth: !1 }), e.include(c.TextureCoordinateAttribute, o), e.include(w.VisualVariables, o), o.hasColorTexture && e.fragment.uniforms.add("tex", "sampler2D"), N.add(D.glsl(So || (So = a(["\n void main(void) {\n vpos = calculateVPos();\n "], ["\n void main(void) {\n vpos = calculateVPos();\n "])))), o.instancedDoublePrecision && N.add(D.glsl(Fo || (Fo = a(["\n vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\n vpos -= originDelta;\n "], ["\n vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\n vpos -= originDelta;\n "])))), o.verticalOffsetEnabled && N.add(D.glsl(To || (To = a(["\n vpos += calculateVerticalOffset(vpos, localOrigin);\n "], ["\n vpos += calculateVerticalOffset(vpos, localOrigin);\n "])))), N.add(D.glsl(_o || (_o = a(["\n gl_Position = transformPosition(proj, view, vpos);\n forwardTextureCoordinates();\n }\n "], ["\n gl_Position = transformPosition(proj, view, vpos);\n forwardTextureCoordinates();\n }\n "])))), e.include(t.Slice, o), e.include(l.DiscardOrAdjustAlpha, o), e.include(f.HighlightData), e.fragment.uniforms.add("depthTex", "sampler2D"), e.fragment.uniforms.add("highlightViewportPixelSz", "vec4"), Bo.add(D.glsl(Vo || (Vo = a(["\n void main() {\n discardBySlice(vpos);\n "], ["\n void main() {\n discardBySlice(vpos);\n "])))), o.hasColorTexture && Bo.add(D.glsl(zo || (zo = a(["\n vec4 texColor = texture2D(tex, vuv0);\n discardOrAdjustAlpha(texColor);\n "], ["\n vec4 texColor = texture2D(tex, vuv0);\n discardOrAdjustAlpha(texColor);\n "])))), Bo.add(D.glsl(Eo || (Eo = a(["\n gl_FragColor = highlightData(gl_FragCoord, depthTex, highlightViewportPixelSz);\n }\n "], ["\n gl_FragColor = highlightData(gl_FragCoord, depthTex, highlightViewportPixelSz);\n }\n "]))))), e; } Object.defineProperty(e, "__esModule", { value: !0 }), e.build = N; var A, S, F, T, _, V, z, E, B, H, j, R, W, I, k, G, U, Y, J, q, K, Q, X, Z, $, oo, eo, ao, no, lo, io, ro, to, so, co, vo, mo, go, uo, po, ho, xo, fo, bo, yo, Co, Oo, wo, Po, Lo, Do, Mo, No, Ao, So, Fo, To, _o, Vo, zo, Eo; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js": /*!**********************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js ***! \**********************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineShadersDefaultMaterialTechniqueJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/tsSupport/extendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/extendsHelper.js"), __webpack_require__( /*! ../../../../core/tsSupport/decorateHelper */ "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__( /*! ../core/shaderLibrary/output/OutputHighlight.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/VisualVariables.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/util/DoublePrecision.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/DoublePrecision.glsl.js"), __webpack_require__( /*! ../core/shaderTechnique/ReloadableShaderModule */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ReloadableShaderModule.js"), __webpack_require__( /*! ../core/shaderTechnique/ShaderTechnique */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js"), __webpack_require__( /*! ../core/shaderTechnique/ShaderTechniqueConfiguration */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js"), __webpack_require__( /*! ../lib/DefaultVertexAttributeLocations */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js"), __webpack_require__( /*! ../materials/internal/MaterialUtil */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/MaterialUtil.js"), __webpack_require__( /*! ./DefaultMaterial.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js"), __webpack_require__( /*! ../../../webgl/Program */ "./node_modules/arcgis-js-api/views/webgl/Program.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, t, o, a, i, s, n, l, u, p, d, c, h, m) { Object.defineProperty(r, "__esModule", { value: !0 }); var v = function (r) { function o() { return null !== r && r.apply(this, arguments) || this; } return t(o, r), o.prototype.initializeProgram = function (e) { var r = o.shader.get(), t = this.configuration, a = r.build({ output: t.output, viewingMode: e.viewingMode, receiveShadows: t.receiveShadows, slicePlaneEnabled: t.slice, sliceHighlightDisabled: t.sliceHighlightDisabled, symbolColor: t.symbolColors, vvSize: t.vvSize, vvColor: t.vvColor, instanced: t.instanced, instancedColor: t.instancedColor, instancedDoublePrecision: t.instancedDoublePrecision, useOldSceneLightInterface: !1, usePBR: t.usePBR, hasMetalnessAndRoughnessTexture: t.hasMetalnessAndRoughnessTexture, hasEmissionTexture: t.hasEmissionTexture, hasOcclusionTexture: t.hasOcclusionTexture, hasNormalTexture: t.hasNormalTexture, hasColorTexture: t.hasColorTexture, receiveAmbientOcclusion: t.receiveAmbientOcclusion, usePBRforWater: !1, useCustomDTRExponentForWater: !1, normalType: t.normalsTypeDerivate ? 3 : 0, doubleSidedMode: t.doubleSidedMode, vertexTangets: t.vertexTangents, attributeTextureCoordinates: t.hasMetalnessAndRoughnessTexture || t.hasEmissionTexture || t.hasOcclusionTexture || t.hasNormalTexture || t.hasColorTexture ? 1 : 0, textureAlphaPremultiplied: t.textureAlphaPremultiplied, attributeColor: t.vertexColors, screenSizePerspectiveEnabled: t.screenSizePerspective, verticalOffsetEnabled: t.verticalOffset, offsetBackfaces: t.offsetBackfaces, doublePrecisionRequiresObfuscation: n.doublePrecisionRequiresObfuscation(e.rctx), alphaDiscardMode: t.alphaDiscardMode, treeRendering: t.treeRendering, supportsTextureAtlas: !1 }); return new m(e.rctx, a.generateSource("vertex"), a.generateSource("fragment"), d.Default3D); }, o.prototype.bindPass = function (e, r, t) { var o = this.configuration.output; 0 === o ? (this.program.setUniform3fv("ambient", r.ambient), this.program.setUniform3fv("diffuse", r.diffuse), this.program.setUniform3fv("specular", r.specular), this.program.setUniform4fv("externalColor", r.externalColor), this.program.setUniform1i("colorMixMode", c.colorMixModes[r.colorMixMode]), this.program.setUniform1f("opacity", r.opacity), this.program.setUniform1f("layerOpacity", r.layerOpacity), this.configuration.usePBR && i.PhysicallyBasedRenderingParameters.bindUniforms(this.program, r)) : 1 === o || 3 === o ? this.program.setUniform2fv("nearFar", t.nearFar) : 4 === o && a.OutputHighlight.bindOutputHighlight(e, this.program, t), s.VisualVariables.bindUniformsForSymbols(this.program, r), "mask" !== r.textureAlphaMode && "maskBlend" !== r.textureAlphaMode || this.program.setUniform1f("textureAlphaCutoff", r.textureAlphaCutoff); }, o.prototype.initializePipeline = function () { return null; }, o.shader = new l.ReloadableShaderModule(h, "./DefaultMaterial.glsl", e), o; }(u.ShaderTechnique); r.DefaultMaterialTechnique = v; var f = function (e) { function r() { var r = null !== e && e.apply(this, arguments) || this; return r.output = 0, r.alphaDiscardMode = 1, r.doubleSidedMode = 0, r.vertexColors = !1, r.offsetBackfaces = !1, r.symbolColors = !1, r.vvSize = !1, r.vvColor = !1, r.verticalOffset = !1, r.receiveShadows = !1, r.slice = !1, r.sliceHighlightDisabled = !1, r.receiveAmbientOcclusion = !1, r.screenSizePerspective = !1, r.textureAlphaPremultiplied = !1, r.treeRendering = !1, r.hasColorTexture = !1, r.usePBR = !1, r.hasMetalnessAndRoughnessTexture = !1, r.hasEmissionTexture = !1, r.hasOcclusionTexture = !1, r.hasNormalTexture = !1, r.instanced = !1, r.instancedColor = !1, r.instancedDoublePrecision = !1, r.vertexTangents = !1, r.normalsTypeDerivate = !1, r; } return t(r, e), o([p.parameter({ count: 6 })], r.prototype, "output", void 0), o([p.parameter({ count: 4 })], r.prototype, "alphaDiscardMode", void 0), o([p.parameter({ count: 3 })], r.prototype, "doubleSidedMode", void 0), o([p.parameter()], r.prototype, "vertexColors", void 0), o([p.parameter()], r.prototype, "offsetBackfaces", void 0), o([p.parameter()], r.prototype, "symbolColors", void 0), o([p.parameter()], r.prototype, "vvSize", void 0), o([p.parameter()], r.prototype, "vvColor", void 0), o([p.parameter()], r.prototype, "verticalOffset", void 0), o([p.parameter()], r.prototype, "receiveShadows", void 0), o([p.parameter()], r.prototype, "slice", void 0), o([p.parameter()], r.prototype, "sliceHighlightDisabled", void 0), o([p.parameter()], r.prototype, "receiveAmbientOcclusion", void 0), o([p.parameter()], r.prototype, "screenSizePerspective", void 0), o([p.parameter()], r.prototype, "textureAlphaPremultiplied", void 0), o([p.parameter()], r.prototype, "treeRendering", void 0), o([p.parameter()], r.prototype, "hasColorTexture", void 0), o([p.parameter()], r.prototype, "usePBR", void 0), o([p.parameter()], r.prototype, "hasMetalnessAndRoughnessTexture", void 0), o([p.parameter()], r.prototype, "hasEmissionTexture", void 0), o([p.parameter()], r.prototype, "hasOcclusionTexture", void 0), o([p.parameter()], r.prototype, "hasNormalTexture", void 0), o([p.parameter()], r.prototype, "instanced", void 0), o([p.parameter()], r.prototype, "instancedColor", void 0), o([p.parameter()], r.prototype, "instancedDoublePrecision", void 0), o([p.parameter()], r.prototype, "vertexTangents", void 0), o([p.parameter()], r.prototype, "normalsTypeDerivate", void 0), r; }(p.ShaderTechniqueConfiguration); r.DefaultMaterialTechniqueConfiguration = f; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/LaserLinePrograms.js": /*!***************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/LaserLinePrograms.js ***! \***************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineShadersLaserLineProgramsJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../lib/DefaultVertexAttributeLocations */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js"), __webpack_require__( /*! ./sources/resolver */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/sources/resolver.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, t, a) { Object.defineProperty(r, "__esModule", { value: !0 }), r.program = { name: "laserline", shaders: { vertexShader: a.resolveIncludes("util/quad.vert"), fragmentShader: a.resolveIncludes("renderer/laserLine/laserLine.frag") }, attributes: t.Default3D }; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/RibbonLine.glsl.js": /*!*************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/RibbonLine.glsl.js ***! \*************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineShadersRibbonLineGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../core/shaderLibrary/Slice.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/attributes/RibbonVertexPosition.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/LineStipple.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/PiUtils.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js"), __webpack_require__( /*! ../core/shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js"), __webpack_require__( /*! ../core/shaderModules/ShaderBuilder */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n, t, i, o, r, s, l, a) { function p(e) { var n = new a.ShaderBuilder(); return n.extensions.add("GL_OES_standard_derivatives"), n.include(s.PiUtils), n.include(o.RibbonVertexPosition, e), n.include(r.LineStipple, e), n.vertex.uniforms.add("proj", "mat4").add("view", "mat4").add("model", "mat4").add("nearPlane", "float").add("pixelRatio", "float").add("miterLimit", "float").add("screenSize", "vec2"), n.attributes.add("position", "vec3"), n.attributes.add("subdivisionFactor", "float"), n.attributes.add("uv0", "vec2"), n.attributes.add("auxpos1", "vec3"), n.attributes.add("auxpos2", "vec3"), n.varyings.add("vColor", "vec4"), n.varyings.add("vpos", "vec3"), n.vertex.code.add(l.glsl(c || (c = t(["\n\t\t#define PERPENDICULAR(v) vec2(v.y, -v.x);\n\t\t#define ISOUTSIDE (left.x * right.y - left.y * right.x)*uv0.y > 0.0\n\n\t\tfloat interp(float ncp, vec4 a, vec4 b) {\n\t\t\treturn (-ncp - a.z) / (b.z - a.z);\n\t\t}\n\n\t\tvec2 rotate(vec2 v, float a) {\n\t\t\tfloat s = sin(a);\n\t\t\tfloat c = cos(a);\n\t\t\tmat2 m = mat2(c, -s, s, c);\n\t\t\treturn m * v;\n\t\t}\n"], ["\n\t\t#define PERPENDICULAR(v) vec2(v.y, -v.x);\n\t\t#define ISOUTSIDE (left.x * right.y - left.y * right.x)*uv0.y > 0.0\n\n\t\tfloat interp(float ncp, vec4 a, vec4 b) {\n\t\t\treturn (-ncp - a.z) / (b.z - a.z);\n\t\t}\n\n\t\tvec2 rotate(vec2 v, float a) {\n\t\t\tfloat s = sin(a);\n\t\t\tfloat c = cos(a);\n\t\t\tmat2 m = mat2(c, -s, s, c);\n\t\t\treturn m * v;\n\t\t}\n"])))), n.vertex.code.add(l.glsl(d || (d = t(["\n vec4 projectAndScale(vec4 pos) {\n vec4 posNdc = proj * pos;\n\n // Note that posNdc is in -1:1, scaling by screenSize converts this to a coordinate system\n // that is twice scaled (going from -size:size).\n posNdc.xy *= screenSize / posNdc.w;\n return posNdc;\n }\n"], ["\n vec4 projectAndScale(vec4 pos) {\n vec4 posNdc = proj * pos;\n\n // Note that posNdc is in -1:1, scaling by screenSize converts this to a coordinate system\n // that is twice scaled (going from -size:size).\n posNdc.xy *= screenSize / posNdc.w;\n return posNdc;\n }\n"])))), n.vertex.code.add(l.glsl(v || (v = t(["\n void clipAndTransform(inout vec4 pos, inout vec4 prev, inout vec4 next, in bool isStartVertex) {\n float vnp = nearPlane*0.99;\n\n //current pos behind ncp --\x3e we need to clip\n if(pos.z > -nearPlane) {\n if (!isStartVertex) {\n //previous in front of ncp\n if(prev.z < -nearPlane) {\n pos = mix(prev, pos, interp(vnp, prev, pos));\n next = pos;\n } else {\n pos = vec4(0.0, 0.0, 0.0, 1.0);\n }\n }\n //next in front of ncp\n if(isStartVertex) {\n if(next.z < -nearPlane) {\n pos = mix(pos, next, interp(vnp, pos, next));\n prev = pos;\n } else {\n pos = vec4(0.0, 0.0, 0.0, 1.0);\n }\n }\n } else {\n //current position visible\n //previous behind ncp\n if (prev.z > -nearPlane) {\n prev = mix(pos, prev, interp(vnp, pos, prev));\n }\n //next behind ncp\n if (next.z > -nearPlane) {\n next = mix(next, pos, interp(vnp, next, pos));\n }\n }\n\n pos = projectAndScale(pos);\n next = projectAndScale(next);\n prev = projectAndScale(prev);\n }\n"], ["\n void clipAndTransform(inout vec4 pos, inout vec4 prev, inout vec4 next, in bool isStartVertex) {\n float vnp = nearPlane*0.99;\n\n //current pos behind ncp --\x3e we need to clip\n if(pos.z > -nearPlane) {\n if (!isStartVertex) {\n //previous in front of ncp\n if(prev.z < -nearPlane) {\n pos = mix(prev, pos, interp(vnp, prev, pos));\n next = pos;\n } else {\n pos = vec4(0.0, 0.0, 0.0, 1.0);\n }\n }\n //next in front of ncp\n if(isStartVertex) {\n if(next.z < -nearPlane) {\n pos = mix(pos, next, interp(vnp, pos, next));\n prev = pos;\n } else {\n pos = vec4(0.0, 0.0, 0.0, 1.0);\n }\n }\n } else {\n //current position visible\n //previous behind ncp\n if (prev.z > -nearPlane) {\n prev = mix(pos, prev, interp(vnp, pos, prev));\n }\n //next behind ncp\n if (next.z > -nearPlane) {\n next = mix(next, pos, interp(vnp, next, pos));\n }\n }\n\n pos = projectAndScale(pos);\n next = projectAndScale(next);\n prev = projectAndScale(prev);\n }\n"])))), n.vertex.code.add(l.glsl(m || (m = t(["\n void main(void) {\n float coverage = 1.0;\n vpos = (model * vec4(position, 1.0)).xyz;\n\n // Check for special value of uv0.y which is used by the Renderer when graphics\n // are removed before the VBO is recompacted. If this is the case, then we just\n // project outside of clip space.\n if (uv0.y == 0.0) {\n // Project out of clip space\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n }\n else {\n bool isStartVertex = abs(abs(uv0.y)-3.0) == 1.0;\n bool isJoin = abs(uv0.y)-3.0 < 0.0;\n\n float lineWidth = getSize() * pixelRatio;\n\n // convert sub-pixel coverage to alpha\n if( lineWidth<1.0 ){\n coverage = lineWidth;\n lineWidth = 1.0;\n }\n\n vec4 pos = view * vec4((model * vec4(position.xyz, 1.0)).xyz, 1.0);\n vec4 prev = view * vec4((model * vec4(auxpos1.xyz, 1.0)).xyz, 1.0);\n vec4 next = view * vec4((model * vec4(auxpos2.xyz, 1.0)).xyz, 1.0);\n\n clipAndTransform(pos, prev, next, isStartVertex);\n\n vec2 left = (pos.xy - prev.xy);\n vec2 right = (next.xy - pos.xy);\n\n float leftLen = length(left);\n float rightLen = length(right);\n "], ["\n void main(void) {\n float coverage = 1.0;\n vpos = (model * vec4(position, 1.0)).xyz;\n\n // Check for special value of uv0.y which is used by the Renderer when graphics\n // are removed before the VBO is recompacted. If this is the case, then we just\n // project outside of clip space.\n if (uv0.y == 0.0) {\n // Project out of clip space\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n }\n else {\n bool isStartVertex = abs(abs(uv0.y)-3.0) == 1.0;\n bool isJoin = abs(uv0.y)-3.0 < 0.0;\n\n float lineWidth = getSize() * pixelRatio;\n\n // convert sub-pixel coverage to alpha\n if( lineWidth<1.0 ){\n coverage = lineWidth;\n lineWidth = 1.0;\n }\n\n vec4 pos = view * vec4((model * vec4(position.xyz, 1.0)).xyz, 1.0);\n vec4 prev = view * vec4((model * vec4(auxpos1.xyz, 1.0)).xyz, 1.0);\n vec4 next = view * vec4((model * vec4(auxpos2.xyz, 1.0)).xyz, 1.0);\n\n clipAndTransform(pos, prev, next, isStartVertex);\n\n vec2 left = (pos.xy - prev.xy);\n vec2 right = (next.xy - pos.xy);\n\n float leftLen = length(left);\n float rightLen = length(right);\n "])))), e.stippleEnabled && n.vertex.code.add(l.glsl(f || (f = t(["\n // uv0.x is either 0 or 1, depending on whether this is considered the start of a line segment\n // or the end. If start, then use pos->next, otherwise use prev->pos to define the line segment\n // vector\n vec4 stippleSegmentInfo = mix(vec4(pos.xy, right), vec4(prev.xy, left), uv0.x);\n vec2 stippleSegmentOrigin = stippleSegmentInfo.xy;\n\n // Scale s.t. it's in units of stipple pattern size.\n vec2 stippleSegmentDirection = stippleSegmentInfo.zw;\n "], ["\n // uv0.x is either 0 or 1, depending on whether this is considered the start of a line segment\n // or the end. If start, then use pos->next, otherwise use prev->pos to define the line segment\n // vector\n vec4 stippleSegmentInfo = mix(vec4(pos.xy, right), vec4(prev.xy, left), uv0.x);\n vec2 stippleSegmentOrigin = stippleSegmentInfo.xy;\n\n // Scale s.t. it's in units of stipple pattern size.\n vec2 stippleSegmentDirection = stippleSegmentInfo.zw;\n "])))), n.vertex.code.add(l.glsl(h || (h = t(['\n left = (leftLen > 0.001) ? left/leftLen : vec2(0.0, 0.0);\n right = (rightLen > 0.001) ? right/rightLen : vec2(0.0, 0.0);\n\n vec2 capDisplacementDir = vec2(0, 0);\n vec2 joinDisplacementDir = vec2(0, 0);\n float displacementLen = lineWidth;\n\n if (isJoin) {\n\n // JOIN handling ---------------------------------------------------\n // determine if vertex is on the "outside or "inside" of the join\n bool isOutside = ISOUTSIDE;\n\n // compute miter join position first\n joinDisplacementDir = normalize(left + right);\n joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);\n\n // computer miter stretch\n if (leftLen > 0.001 && rightLen > 0.001) {\n float nDotSeg = dot(joinDisplacementDir, left);\n displacementLen /= length(nDotSeg*left - joinDisplacementDir);\n\n // limit displacement of inner vertices\n if (!isOutside) {\n displacementLen = min(displacementLen, min(leftLen, rightLen)/abs(nDotSeg));\n }\n }\n\n if (isOutside && (displacementLen > miterLimit*lineWidth)) {\n '], ['\n left = (leftLen > 0.001) ? left/leftLen : vec2(0.0, 0.0);\n right = (rightLen > 0.001) ? right/rightLen : vec2(0.0, 0.0);\n\n vec2 capDisplacementDir = vec2(0, 0);\n vec2 joinDisplacementDir = vec2(0, 0);\n float displacementLen = lineWidth;\n\n if (isJoin) {\n\n // JOIN handling ---------------------------------------------------\n // determine if vertex is on the "outside or "inside" of the join\n bool isOutside = ISOUTSIDE;\n\n // compute miter join position first\n joinDisplacementDir = normalize(left + right);\n joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);\n\n // computer miter stretch\n if (leftLen > 0.001 && rightLen > 0.001) {\n float nDotSeg = dot(joinDisplacementDir, left);\n displacementLen /= length(nDotSeg*left - joinDisplacementDir);\n\n // limit displacement of inner vertices\n if (!isOutside) {\n displacementLen = min(displacementLen, min(leftLen, rightLen)/abs(nDotSeg));\n }\n }\n\n if (isOutside && (displacementLen > miterLimit*lineWidth)) {\n '])))), e.roundJoins ? n.vertex.code.add(l.glsl(g || (g = t(["\n vec2 startDir;\n vec2 endDir;\n\n if (leftLen < 0.001) {\n startDir = right;\n }\n else{\n startDir = left;\n }\n startDir = normalize(startDir);\n startDir = PERPENDICULAR(startDir);\n\n if (rightLen < 0.001) {\n endDir = left;\n }\n else{\n endDir = right;\n }\n endDir = normalize(endDir);\n endDir = PERPENDICULAR(endDir);\n\n float rotationAngle = acos(clamp(dot(startDir, endDir), -1.0, 1.0));\n joinDisplacementDir = rotate(startDir, -sign(uv0.y) * subdivisionFactor * rotationAngle);\n "], ["\n vec2 startDir;\n vec2 endDir;\n\n if (leftLen < 0.001) {\n startDir = right;\n }\n else{\n startDir = left;\n }\n startDir = normalize(startDir);\n startDir = PERPENDICULAR(startDir);\n\n if (rightLen < 0.001) {\n endDir = left;\n }\n else{\n endDir = right;\n }\n endDir = normalize(endDir);\n endDir = PERPENDICULAR(endDir);\n\n float rotationAngle = acos(clamp(dot(startDir, endDir), -1.0, 1.0));\n joinDisplacementDir = rotate(startDir, -sign(uv0.y) * subdivisionFactor * rotationAngle);\n "])))) : n.vertex.code.add(l.glsl(D || (D = t(["\n // convert to bevel join if miterLimit is exceeded\n if (leftLen < 0.001) {\n joinDisplacementDir = right;\n }\n else if (rightLen < 0.001) {\n joinDisplacementDir = left;\n }\n else {\n joinDisplacementDir = isStartVertex ? right : left;\n }\n joinDisplacementDir = normalize(joinDisplacementDir);\n joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);\n "], ["\n // convert to bevel join if miterLimit is exceeded\n if (leftLen < 0.001) {\n joinDisplacementDir = right;\n }\n else if (rightLen < 0.001) {\n joinDisplacementDir = left;\n }\n else {\n joinDisplacementDir = isStartVertex ? right : left;\n }\n joinDisplacementDir = normalize(joinDisplacementDir);\n joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);\n "])))), n.vertex.code.add(l.glsl(x || (x = t(["\n displacementLen = lineWidth;\n }\n } else {\n // CAP handling ---------------------------------------------------\n if (leftLen < 0.001) {\n joinDisplacementDir = right;\n }\n else if (rightLen < 0.001) {\n joinDisplacementDir = left;\n }\n else {\n joinDisplacementDir = isStartVertex ? right : left;\n }\n joinDisplacementDir = normalize(joinDisplacementDir);\n joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);\n displacementLen = lineWidth;\n\n capDisplacementDir = isStartVertex ? -right : left;\n "], ["\n displacementLen = lineWidth;\n }\n } else {\n // CAP handling ---------------------------------------------------\n if (leftLen < 0.001) {\n joinDisplacementDir = right;\n }\n else if (rightLen < 0.001) {\n joinDisplacementDir = left;\n }\n else {\n joinDisplacementDir = isStartVertex ? right : left;\n }\n joinDisplacementDir = normalize(joinDisplacementDir);\n joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);\n displacementLen = lineWidth;\n\n capDisplacementDir = isStartVertex ? -right : left;\n "])))), e.roundCaps ? n.vertex.code.add(l.glsl(u || (u = t(["\n float angle = subdivisionFactor*PI*0.5;\n joinDisplacementDir *= cos(angle);\n capDisplacementDir *= sin(angle);\n "], ["\n float angle = subdivisionFactor*PI*0.5;\n joinDisplacementDir *= cos(angle);\n capDisplacementDir *= sin(angle);\n "])))) : n.vertex.code.add(l.glsl(S || (S = t(["\n capDisplacementDir *= subdivisionFactor;\n "], ["\n capDisplacementDir *= subdivisionFactor;\n "])))), n.vertex.code.add(l.glsl(L || (L = t(["\n }\n\n pos.xy += joinDisplacementDir * sign(uv0.y) * displacementLen;\n pos.xy += capDisplacementDir * displacementLen;\n "], ["\n }\n\n pos.xy += joinDisplacementDir * sign(uv0.y) * displacementLen;\n pos.xy += capDisplacementDir * displacementLen;\n "])))), e.stippleEnabled && (n.vertex.code.add(l.glsl(b || (b = t(["\n {\n // Compute the stipple pattern UV coordinate from the actual position, based on the origin\n // and direction of the line segment on which the stipple pattern is based.\n\n // Project the vector from the origin of the segment to the vertex onto the line segment.\n // Note the 0.5 factor due to projected positions being at twice the screen size scale (see projectAndScale)\n vec2 posVec = pos.xy - stippleSegmentOrigin;\n\n float stippleSegmentDirectionLength = length(stippleSegmentDirection);\n "], ["\n {\n // Compute the stipple pattern UV coordinate from the actual position, based on the origin\n // and direction of the line segment on which the stipple pattern is based.\n\n // Project the vector from the origin of the segment to the vertex onto the line segment.\n // Note the 0.5 factor due to projected positions being at twice the screen size scale (see projectAndScale)\n vec2 posVec = pos.xy - stippleSegmentOrigin;\n\n float stippleSegmentDirectionLength = length(stippleSegmentDirection);\n "])))), e.stippleIntegerRepeatsEnabled && n.vertex.code.add(l.glsl(P || (P = t(["\n float numberOfPatternRepeats = stippleSegmentDirectionLength * 0.5 * stipplePatternPixelSizeInv;\n float roundedNumberOfPatternRepeats = max(1.0, floor(numberOfPatternRepeats + 0.5));\n stipplePatternUvMax = roundedNumberOfPatternRepeats;\n "], ["\n float numberOfPatternRepeats = stippleSegmentDirectionLength * 0.5 * stipplePatternPixelSizeInv;\n float roundedNumberOfPatternRepeats = max(1.0, floor(numberOfPatternRepeats + 0.5));\n stipplePatternUvMax = roundedNumberOfPatternRepeats;\n "])))), n.vertex.code.add(l.glsl(y || (y = t(["\n if (stippleSegmentDirectionLength >= 0.001) {\n // Project the vertex position onto the line segment.\n float projectedLength = dot(stippleSegmentDirection, posVec) / stippleSegmentDirectionLength * 0.5;\n ", "\n stipplePatternUv = projectedLength * wholeNumberOfRepeatsScale * stipplePatternPixelSizeInv * pos.w;\n } else {\n stipplePatternUv = 1.0;\n }\n }\n "], ["\n if (stippleSegmentDirectionLength >= 0.001) {\n // Project the vertex position onto the line segment.\n float projectedLength = dot(stippleSegmentDirection, posVec) / stippleSegmentDirectionLength * 0.5;\n ", "\n stipplePatternUv = projectedLength * wholeNumberOfRepeatsScale * stipplePatternPixelSizeInv * pos.w;\n } else {\n stipplePatternUv = 1.0;\n }\n }\n "])), e.stippleIntegerRepeatsEnabled ? "float wholeNumberOfRepeatsScale = roundedNumberOfPatternRepeats / numberOfPatternRepeats;" : "float wholeNumberOfRepeatsScale = 1.0;"))), n.vertex.code.add(l.glsl(j || (j = t(["\n // Convert back into NDC\n pos.xy = pos.xy / screenSize * pos.w;\n\n vColor = getColor();\n vColor.a *= coverage;\n\n gl_Position = pos;\n }\n }\n "], ["\n // Convert back into NDC\n pos.xy = pos.xy / screenSize * pos.w;\n\n vColor = getColor();\n vColor.a *= coverage;\n\n gl_Position = pos;\n }\n }\n "])))), n.include(i.Slice, e), 0 === e.output && (n.fragment.uniforms.add("symbolColor", "vec4"), n.fragment.code.add(l.glsl(z || (z = t(["\n void main() {\n discardBySlice(vpos);\n float stippleAlpha = getStippleAlpha();\n discardByStippleAlpha(stippleAlpha, STIPPLE_ALPHA_COLOR_DISCARD);\n vec4 color = symbolColor * vColor;\n gl_FragColor = highlightSlice(blendStipple(color, stippleAlpha), vpos);\n }\n "], ["\n void main() {\n discardBySlice(vpos);\n float stippleAlpha = getStippleAlpha();\n discardByStippleAlpha(stippleAlpha, STIPPLE_ALPHA_COLOR_DISCARD);\n vec4 color = symbolColor * vColor;\n gl_FragColor = highlightSlice(blendStipple(color, stippleAlpha), vpos);\n }\n "]))))), 4 === e.output && n.fragment.code.add(l.glsl(A || (A = t(["\n void main() {\n discardBySlice(vpos);\n discardByStippleAlpha(getStippleAlpha(), STIPPLE_ALPHA_HIGHLIGHT_DISCARD);\n gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\n }\n "], ["\n void main() {\n discardBySlice(vpos);\n discardByStippleAlpha(getStippleAlpha(), STIPPLE_ALPHA_HIGHLIGHT_DISCARD);\n gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\n }\n "])))), n; } Object.defineProperty(n, "__esModule", { value: !0 }), n.build = p; var c, d, v, m, f, h, g, D, x, u, S, L, b, P, y, j, z, A; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/RibbonLineTechnique.js": /*!*****************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/RibbonLineTechnique.js ***! \*****************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineShadersRibbonLineTechniqueJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/tsSupport/extendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/extendsHelper.js"), __webpack_require__( /*! ../../../../core/tsSupport/decorateHelper */ "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__( /*! ../../../../core/tsSupport/assignHelper */ "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__( /*! ../../../../core/maybe */ "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__( /*! ../../../../core/maybe */ "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__( /*! ../core/shaderLibrary/Slice.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/Transform.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/output/OutputHighlight.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/VisualVariables.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js"), __webpack_require__( /*! ../core/shaderTechnique/ReloadableShaderModule */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ReloadableShaderModule.js"), __webpack_require__( /*! ../core/shaderTechnique/ShaderTechnique */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js"), __webpack_require__( /*! ../core/shaderTechnique/ShaderTechniqueConfiguration */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js"), __webpack_require__( /*! ./RibbonLine.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/RibbonLine.glsl.js"), __webpack_require__( /*! ../../../webgl/Program */ "./node_modules/arcgis-js-api/views/webgl/Program.js"), __webpack_require__( /*! ../../../webgl/renderState */ "./node_modules/arcgis-js-api/views/webgl/renderState.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, i, r, o, p, a, n, s, l, u, d, h, f, c, b, g) { Object.defineProperty(t, "__esModule", { value: !0 }), t.RibbonVertexAttributeConstants = { POSITION: "position", SUBDIVISIONFACTOR: "subdivisionFactor", UV0: "uv0", AUXPOS1: "auxpos1", AUXPOS2: "auxpos2", SUBDIVISIONS: "subdivisions", COLOR: "color", COLORFEATUREATTRIBUTE: "colorFeatureAttribute", SIZE: "size", SIZEFEATUREATTRIBUTE: "sizeFeatureAttribute", OPACITYFEATUREATTRIBUTE: "opacityFeatureAttribute" }, t.ribbonVertexAttributeLocations = { position: 0, subdivisionFactor: 1, uv0: 2, auxpos1: 3, auxpos2: 4, size: 6, sizeFeatureAttribute: 6, color: 5, colorFeatureAttribute: 5, opacityFeatureAttribute: 7 }; var m = function (r) { function o(e, t) { var i = r.call(this, e, t) || this; return i.stipplePattern = null, i.stippleTextureBind = null, i.stippleTextureRepository = e.stippleTextureRepository, i; } return i(o, r), o.prototype.initializeProgram = function (e) { var i = o.shader.get(), r = this.configuration, p = i.build({ output: r.output, slicePlaneEnabled: r.slicePlaneEnabled, sliceHighlightDisabled: r.sliceHighlightDisabled, stippleEnabled: r.stippleEnabled, stippleOffColorEnabled: r.stippleOffColorEnabled, stippleUVMaxEnabled: r.stippleIntegerRepeatsEnabled, stippleIntegerRepeatsEnabled: r.stippleIntegerRepeatsEnabled, roundCaps: r.roundCaps, roundJoins: r.roundJoins, vvColor: r.vvColor, vvSize: r.vvSize, vvOpacity: r.vvOpacity }); return new b(e.rctx, p.generateSource("vertex"), p.generateSource("fragment"), t.ribbonVertexAttributeLocations); }, o.prototype.dispose = function () { r.prototype.dispose.call(this), this.stippleTextureRepository.release(this.stipplePattern), this.stipplePattern = null, this.stippleTextureBind = null; }, o.prototype.bindPass = function (e, t, i) { if (4 === this.configuration.output && l.OutputHighlight.bindOutputHighlight(e, this.program, i), this.program.setUniform1f("symbolLineWidth", t.width), this.program.setUniform4fv("symbolColor", t.color), this.program.setUniform1f("miterLimit", "miter" !== t.join ? 0 : t.miterLimit), this.program.setUniform1f("nearPlane", i.nearFar[0]), this.program.setUniform1f("pixelRatio", i.pixelRatio), this.program.setUniform2fv("screenSize", [i.viewport[2], i.viewport[3]]), u.VisualVariables.bindUniformsWithOpacity(this.program, t), this.stipplePattern !== t.stipplePattern) { var r = t.stipplePattern; this.stippleTextureBind = this.stippleTextureRepository.swap(this.stipplePattern, r), this.stipplePattern = r; } if (this.configuration.stippleEnabled) { var o = a.isSome(this.stippleTextureBind) ? this.stippleTextureBind(e, 0) * i.pixelRatio : 1; if (this.program.setUniform1i("stipplePatternTexture", 0), this.program.setUniform1f("stipplePatternPixelSizeInv", 1 / o), this.configuration.stippleOffColorEnabled) { var n = p.expect(t.stippleOffColor); this.program.setUniform4f("stippleOffColor", n[0], n[1], n[2], n.length > 3 ? n[3] : 1); } } }, o.prototype.bindDraw = function (e) { s.Transform.bindUniforms(this.program, e), n.Slice.bindUniformsWithOrigin(this.program, this.configuration, e); }, o.prototype.bindInstance = function (e) { this.program.setUniformMatrix4fv("model", e.transformation); }, o.prototype.initializePipeline = function () { var e = this.configuration; return 0 === e.output ? g.makePipelineState({ blending: g.separateBlendingParams(770, 1, 771, 771), polygonOffset: e.polygonOffset && v, depthTest: { func: 513 }, depthWrite: !e.transparent && e.writeDepth && g.defaultDepthWriteParams, colorWrite: g.defaultColorWriteParams }) : g.makePipelineState({ polygonOffset: e.polygonOffset && v, depthTest: { func: 513 }, depthWrite: !e.transparent && e.writeDepth && g.defaultDepthWriteParams, colorWrite: g.defaultColorWriteParams }); }, o.prototype.bindPipelineState = function (e) { e.setPipelineState(this.pipeline); }, o.shader = new d.ReloadableShaderModule(c, "./RibbonLine.glsl", e), o; }(h.ShaderTechnique); t.RibbonLineTechnique = m; var v = { factor: 0, units: -4 }, y = function (e) { function t() { var t = null !== e && e.apply(this, arguments) || this; return t.output = 0, t.slicePlaneEnabled = !1, t.sliceHighlightDisabled = !1, t.vertexColors = !1, t.transparent = !1, t.polygonOffset = !1, t.writeDepth = !1, t.stippleEnabled = !1, t.stippleOffColorEnabled = !1, t.stippleIntegerRepeatsEnabled = !1, t.roundCaps = !1, t.roundJoins = !1, t.vvSize = !1, t.vvColor = !1, t.vvOpacity = !1, t; } return i(t, e), r([f.parameter({ count: 6 })], t.prototype, "output", void 0), r([f.parameter()], t.prototype, "slicePlaneEnabled", void 0), r([f.parameter()], t.prototype, "sliceHighlightDisabled", void 0), r([f.parameter()], t.prototype, "vertexColors", void 0), r([f.parameter()], t.prototype, "transparent", void 0), r([f.parameter()], t.prototype, "polygonOffset", void 0), r([f.parameter()], t.prototype, "writeDepth", void 0), r([f.parameter()], t.prototype, "stippleEnabled", void 0), r([f.parameter()], t.prototype, "stippleOffColorEnabled", void 0), r([f.parameter()], t.prototype, "stippleIntegerRepeatsEnabled", void 0), r([f.parameter()], t.prototype, "roundCaps", void 0), r([f.parameter()], t.prototype, "roundJoins", void 0), r([f.parameter()], t.prototype, "vvSize", void 0), r([f.parameter()], t.prototype, "vvColor", void 0), r([f.parameter()], t.prototype, "vvOpacity", void 0), t; }(f.ShaderTechniqueConfiguration); t.RibbonLineTechniqueConfiguration = y; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/WaterSurface.glsl.js": /*!***************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/WaterSurface.glsl.js ***! \***************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineShadersWaterSurfaceGlslJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../../../core/tsSupport/makeTemplateObjectHelper */ "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__( /*! ../core/shaderLibrary/ForwardLinearDepth.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/Slice.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/Transform.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/NormalUtils.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/ReadShadowMap.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/Water.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js"), __webpack_require__( /*! ../core/shaderLibrary/shading/WaterDistortion.glsl */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js"), __webpack_require__( /*! ../core/shaderModules/interfaces */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js"), __webpack_require__( /*! ../core/shaderModules/ShaderBuilder */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (n, a, e, o, r, i, t, l, d, v, s, c) { function g(n) { var a = new c.ShaderBuilder(); return a.include(i.Transform, { linearDepth: !1 }), a.attributes.add("position", "vec3"), a.attributes.add("uv0", "vec2"), a.vertex.uniforms.add("proj", "mat4").add("view", "mat4").add("model", "mat4").add("localOrigin", "vec3"), 0 === n.output && (a.include(t.NormalUtils, n), a.include(o.ForwardLinearDepth, n), a.varyings.add("vuv", "vec2"), a.varyings.add("vpos", "vec3"), a.varyings.add("vnormal", "vec3"), a.varyings.add("vtbnMatrix", "mat3"), a.vertex.code.add(s.glsl(m || (m = e(["\n void main(void) {\n vuv = uv0;\n vpos = (model * vec4(position, 1.0)).xyz;\n\n vnormal = getLocalUp(vpos, localOrigin);\n vtbnMatrix = getTBNMatrix(vnormal);\n\n gl_Position = transformPosition(proj, view, vpos);\n forwardLinearDepth();\n }\n "], ["\n void main(void) {\n vuv = uv0;\n vpos = (model * vec4(position, 1.0)).xyz;\n\n vnormal = getLocalUp(vpos, localOrigin);\n vtbnMatrix = getTBNMatrix(vnormal);\n\n gl_Position = transformPosition(proj, view, vpos);\n forwardLinearDepth();\n }\n "])))), a.include(v.WaterDistortion, n), a.include(r.Slice, n), n.receiveShadows && a.include(l.ReadShadowMap, n), a.include(d.Water, n), a.fragment.uniforms.add("waterColor", "vec4").add("lightingMainDirection", "vec3").add("lightingMainIntensity", "vec3").add("camPos", "vec3").add("timeElapsed", "float"), a.fragment.code.add(s.glsl(p || (p = e(["\n void main() {\n discardBySlice(vpos);\n vec3 localUp = vnormal;\n // the created normal is in tangent space\n vec3 tangentNormal = getSurfaceNormal(vuv, timeElapsed);\n\n // we rotate the normal according to the tangent-bitangent-normal-Matrix\n vec3 n = normalize(vtbnMatrix * tangentNormal);\n vec3 v = -normalize(vpos - camPos);\n vec3 l = normalize(-lightingMainDirection);\n "], ["\n void main() {\n discardBySlice(vpos);\n vec3 localUp = vnormal;\n // the created normal is in tangent space\n vec3 tangentNormal = getSurfaceNormal(vuv, timeElapsed);\n\n // we rotate the normal according to the tangent-bitangent-normal-Matrix\n vec3 n = normalize(vtbnMatrix * tangentNormal);\n vec3 v = -normalize(vpos - camPos);\n vec3 l = normalize(-lightingMainDirection);\n "])))), n.receiveShadows ? a.fragment.code.add(s.glsl(h || (h = e(["\n float shadow = 1.0 - readShadowMap(vpos, linearDepth);\n "], ["\n float shadow = 1.0 - readShadowMap(vpos, linearDepth);\n "])))) : a.fragment.code.add(s.glsl(u || (u = e(["\n float shadow = 1.0;\n "], ["\n float shadow = 1.0;\n "])))), a.fragment.code.add(s.glsl(f || (f = e(["\n vec4 final = vec4(getSeaColor(n, v, l, waterColor.rgb, lightingMainIntensity, localUp, shadow), waterColor.w);\n\n // gamma correction\n gl_FragColor = delinearizeGamma(final);\n gl_FragColor = highlightSlice(gl_FragColor, vpos);\n }\n "], ["\n vec4 final = vec4(getSeaColor(n, v, l, waterColor.rgb, lightingMainIntensity, localUp, shadow), waterColor.w);\n\n // gamma correction\n gl_FragColor = delinearizeGamma(final);\n gl_FragColor = highlightSlice(gl_FragColor, vpos);\n }\n "]))))), 2 === n.output && (a.include(t.NormalUtils, n), a.include(v.WaterDistortion, n), a.include(r.Slice, n), a.varyings.add("vpos", "vec3"), a.varyings.add("vuv", "vec2"), a.vertex.code.add(s.glsl(w || (w = e(["\n void main(void) {\n vuv = uv0;\n vpos = (model * vec4(position, 1.0)).xyz;\n gl_Position = transformPosition(proj, view, vpos);\n }\n "], ["\n void main(void) {\n vuv = uv0;\n vpos = (model * vec4(position, 1.0)).xyz;\n gl_Position = transformPosition(proj, view, vpos);\n }\n "])))), a.fragment.uniforms.add("timeElapsed", "float"), a.fragment.code.add(s.glsl(y || (y = e(["\n void main() {\n discardBySlice(vpos);\n // the created normal is in tangent space\n vec3 tangentNormal = getSurfaceNormal(vuv, timeElapsed);\n tangentNormal = normalize(tangentNormal);\n gl_FragColor = vec4((tangentNormal + vec3(1.0)) * 0.5, 0.0);\n }\n "], ["\n void main() {\n discardBySlice(vpos);\n // the created normal is in tangent space\n vec3 tangentNormal = getSurfaceNormal(vuv, timeElapsed);\n tangentNormal = normalize(tangentNormal);\n gl_FragColor = vec4((tangentNormal + vec3(1.0)) * 0.5, 0.0);\n }\n "]))))), 5 === n.output && (a.include(t.NormalUtils, n), a.varyings.add("vpos", "vec3"), a.vertex.code.add(s.glsl(S || (S = e(["\n void main(void) {\n vpos = (model * vec4(position, 1.0)).xyz;\n gl_Position = transformPosition(proj, view, vpos);\n }\n "], ["\n void main(void) {\n vpos = (model * vec4(position, 1.0)).xyz;\n gl_Position = transformPosition(proj, view, vpos);\n }\n "])))), a.fragment.uniforms.add("waterColor", "vec4"), a.fragment.code.add(s.glsl(M || (M = e(["\n void main() {\n gl_FragColor = waterColor;\n }\n "], ["\n void main() {\n gl_FragColor = waterColor;\n }\n "]))))), a; } Object.defineProperty(a, "__esModule", { value: !0 }), a.build = g; var m, p, h, u, f, w, y, S, M; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/sources/resolver.js": /*!**************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/sources/resolver.js ***! \**************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineShadersSourcesResolverJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ./shaderRepository */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/sources/shaderRepository.js"), __webpack_require__( /*! ../../../../webgl/ShaderCompiler */ "./node_modules/arcgis-js-api/views/webgl/ShaderCompiler.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, n, o) { function t(e) { var r = n; return e.split("/").forEach(function (e) { r && (r = r[e]); }), r; } function u(e) { return i.resolveIncludes(e); } Object.defineProperty(r, "__esModule", { value: !0 }); var i = new o(t); r.resolveIncludes = u; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/sources/shaderRepository.js": /*!**********************************************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/sources/shaderRepository.js ***! \**********************************************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViews3dWebglEngineShadersSourcesShaderRepositoryJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n) { return { environment: { "realisticAtmosphere.frag": "#include <util/fsPrecision.glsl>\n#include <util/encoding.glsl>\n#include <util/color.glsl>\nuniform vec3 lightingMainDirection;\nuniform vec3 invWavelength;\nuniform vec3 invWavelengthScaled;\nconst float krESun = 0.075;\nconst float kmESun = 0.015;\nuniform vec2 radii;\n#define innerRadius radii[0]\n#define outerRadius radii[1]\nuniform vec4 atmosParams1;\nuniform vec4 atmosParams2;\n#define shellScale atmosParams1.x\n#define shellDepth vec2(atmosParams1.y, atmosParams2.y)\n#define scaleOverScaleDepth vec2(atmosParams1.z, atmosParams2.z)\n#define oneOverScaleDepth vec2(atmosParams1.w, atmosParams2.w)\n#ifndef HAZE\nuniform vec3 atmosParams3;\nuniform float innerFadeDistance;\nuniform float altitudeFade;\n#define g atmosParams2.x\n#define gSq atmosParams3.x\n#define miePhaseCoefficients atmosParams3.y\n#define lowerAlphaBlendBound atmosParams3.z\n#endif\nuniform vec3 cameraPosition;\nuniform vec2 nearFar;\nuniform vec4 sphereComp;\n#define cameraHeight sphereComp[0]\n#define cameraHeightSq sphereComp[1]\n#define C sphereComp[2]\n#define CSur sphereComp[3]\n#ifdef HAZE\nconst float exposure = 1.5;\n#else\nconst float exposure = 2.0;\n#endif\n#ifdef HAZE\nuniform sampler2D depthTex;\n#endif\nvarying vec3 eyeDir;\nvarying vec3 worldRay;\nvarying vec2 vtc;\nconst float samples = 5.0;\nconst int maxSamples = 5;\n#ifdef HAZE\n const vec3 oneOverGamma = vec3(1.0);\n#else\n const vec3 oneOverGamma = vec3(0.454545);\n#endif\nvec3 expTM(vec3 inputColor,float _exposure) {\n return pow(1.0 - exp(inputColor * -_exposure), oneOverGamma);\n}\n#ifndef HAZE\nvec3 reinhardTM(vec3 inputColor, float _exposure) {\n vec3 intermediate = inputColor * _exposure;\n intermediate /= ( 1.0 + intermediate );\n return pow(intermediate, oneOverGamma);\n}\n#endif\nfloat scale(float _cos) {\n float x = 1.0 - _cos;\n return exp( -0.00287 + x * ( 0.459 + x * ( 3.83 + x * (-6.80 + x * 5.25 ))));\n}\nvoid main() {\n vec3 worldSpaceRay = normalize(worldRay);\n float B = 2.0 * dot(cameraPosition, worldSpaceRay);\n float det = B * B - 4.0 * C;\n float detSur = B * B - 4.0 * CSur;\n float minRayStart = 0.0;\n#ifndef HAZE\n float surfaceBlend = 0.0;\n vec4 surfaceColor = vec4(0.0);\n if (detSur >= 0.0) {\n float nearSurface = max(0.0, 0.5 *(-B - sqrt(detSur)));\n float farSurface = max(0.0, 0.5 *(-B + sqrt(detSur)));\n if (nearSurface == 0.0) {\n minRayStart = farSurface;\n }\n vec3 vPos = cameraPosition + worldSpaceRay * nearSurface;\n float lightAngle = dot(-lightingMainDirection, normalize(vPos));\n float brightness = max(0.0, (smoothstep(-1.0, 0.8, 2.0 * lightAngle)));\n surfaceColor = vec4(brightness, brightness, brightness, 1.0 - altitudeFade);\n float relDist = (farSurface - nearSurface) / innerFadeDistance;\n if (relDist > 1.0) {\n gl_FragColor = surfaceColor;\n return;\n }\n surfaceBlend = smoothstep(0.0, 1.0, relDist * relDist);\n }\n#endif\n if (det >= 0.0) {\n#ifdef HAZE\n float depthSample = texture2D(depthTex, vtc).r;\n float zNear = nearFar[0];\n float zFar = nearFar[1];\n float zNorm = 2.0 * depthSample - 1.0;\n float linDepth = 2.0 * zNear * zFar /\n (zFar + zNear - zNorm * (zFar - zNear));\n float rayEnd;\n float altitudeAlpha = 1.0;\n if (depthSample < 1.0 && depthSample > 0.0) {\n vec3 cameraSpaceRay = normalize(eyeDir);\n cameraSpaceRay /= cameraSpaceRay.z;\n cameraSpaceRay *= linDepth;\n float cameraSpaceRayLength = length(cameraSpaceRay);\n vec3 world = cameraPosition + worldSpaceRay * cameraSpaceRayLength;\n float worldRadiusSq = dot(world, world);\n float transitionStart = innerRadius + 20000.0;\n float transitionHeight = 25000.0;\n float transitionEnd = transitionStart + transitionHeight;\n float edge0 = transitionStart * transitionStart;\n float edge1 = transitionEnd * transitionEnd;\n altitudeAlpha = 1.0 - clamp((worldRadiusSq - edge0) / (edge1 - edge0), 0.0, 1.0);\n rayEnd = cameraSpaceRayLength;\n if (altitudeAlpha > 0.0 && detSur > 0.0) {\n float nearSurface = 0.5 * ( -B - sqrt(detSur) );\n float interp = clamp(((cameraHeight - innerRadius) - 2000000.0) / 6000000.0, 0.0, 1.0);\n rayEnd = mix(cameraSpaceRayLength, nearSurface, interp);\n }\n }\n#endif\n float rayStart = 0.5 *(-B - sqrt(det));\n#ifdef HAZE\n float near = abs(rayStart);\n float far = abs(rayEnd);\n#else\n float rayEnd = 0.5 *(-B + sqrt(det));\n#endif\n float scatterDistance;\n if (rayStart < minRayStart)\n {\n rayStart = minRayStart;\n#ifndef HAZE\n scatterDistance = shellScale * min(0.0, innerRadius - cameraHeight);\n#endif\n }\n#ifndef HAZE\n else\n {\n scatterDistance = -1.0;\n }\n#endif\n vec3 start = cameraPosition + worldSpaceRay * rayStart;\n#ifdef HAZE\n vec3 end = cameraPosition + worldSpaceRay * rayEnd;\n float endLength = length(end);\n float altitudeEnd = endLength - innerRadius;\n float altitudeStart = length(start) - innerRadius;\n if (altitudeStart < 0.0) {\n altitudeStart = -altitudeStart;\n altitudeEnd = -altitudeEnd;\n }\n float lightAngle = dot(-lightingMainDirection, end) / endLength;\n if (near > far)\n {\n if (altitudeStart < altitudeEnd)\n {\n end = cameraPosition + worldSpaceRay * rayStart;\n start = cameraPosition + worldSpaceRay * rayEnd;\n worldSpaceRay *= -1.0;\n float tmp = altitudeStart;\n altitudeStart = altitudeEnd;\n altitudeEnd = tmp;\n }\n else if (altitudeStart == altitudeEnd)\n {\n altitudeStart += 1.0;\n }\n }\n if (altitudeStart > outerRadius - innerRadius)\n {\n scatterDistance = innerRadius - outerRadius;\n } else\n {\n scatterDistance = altitudeEnd - altitudeStart;\n }\n#endif\n vec2 opticalStartDepth = exp(scatterDistance * oneOverScaleDepth);\n float rayLength = rayEnd - rayStart;\n float sampleLength = rayLength / samples;\n float scaledLength = sampleLength * shellScale;\n vec3 sampleRay = worldSpaceRay * sampleLength;\n vec3 samplePoint = start + sampleRay * 0.5;\n#ifdef HAZE\n float cameraAngle = dot(-worldSpaceRay, end) / length(end);\n float scaleCameraAngle = scale(cameraAngle);\n vec2 cameraOffset = scaleCameraAngle * opticalStartDepth;\n float scaledValues = scale(lightAngle) + scaleCameraAngle;\n vec2 scaledValuesDepth = scaledValues * shellDepth;\n#else\n float cameraAngle = dot(worldSpaceRay, start / length(start));\n float angleMultiplier = cameraAngle > 0.0 ? cameraAngle : 0.0;\n float scaleCameraAngle = scale(cameraAngle);\n vec2 cameraOffset = scaleCameraAngle * opticalStartDepth * shellDepth;\n#endif\n vec3 frontColor = vec3(0.0);\n vec3 frontColorBlue = vec3(0.0);\n vec3 attenuate = vec3(0.0);\n vec3 attenuateBlue = vec3(0.0);\n for(int i=0; i<maxSamples; i++) {\n float height = length(samplePoint);\n float altitude = abs(height - innerRadius);\n vec2 depth = exp(-altitude * scaleOverScaleDepth);\n#ifdef HAZE\n vec2 scatter = depth * scaledValuesDepth - cameraOffset;\n#else\n float lightAngle = dot(-lightingMainDirection, samplePoint) / height;\n float cameraAngle = dot(worldSpaceRay, samplePoint) / height;\n float tmpScaledValues = scale(lightAngle) - scale(cameraAngle);\n vec2 scatter = cameraOffset + tmpScaledValues * depth * shellDepth;\n#endif\n attenuate = exp(-scatter.x * invWavelengthScaled);\n attenuateBlue = exp(-scatter.y * invWavelengthScaled);\n frontColor += attenuate * depth.x;\n frontColorBlue += attenuateBlue * depth.y;\n samplePoint += sampleRay;\n }\n float LdotR = clamp(dot(-lightingMainDirection, -worldSpaceRay ),-0.9999999,1.0);\n float LdotRSq = LdotR * LdotR + 1.0;\n#ifdef HAZE\n vec3 colorCoefficients = (scaledLength * 0.75 * LdotRSq) * (krESun * invWavelength + kmESun );\n vec3 color = colorCoefficients * frontColor;\n vec3 colorBlue = colorCoefficients * frontColorBlue;\n#else\n vec3 rayleighCoefficients = (scaledLength * 0.75 * LdotRSq * krESun) * invWavelength;\n float mieCoefficients = scaledLength * kmESun * miePhaseCoefficients * LdotRSq / pow(1.0 + gSq - 2.0 * g * LdotR, 1.5);\n vec3 color = rayleighCoefficients * frontColor + mieCoefficients * frontColor;\n vec3 colorBlue = rayleighCoefficients * frontColorBlue + mieCoefficients * frontColorBlue;\n#endif\n vec3 ldrBlue = expTM(colorBlue, 2.0 * exposure);\n vec3 ldrRed = expTM(color, exposure);\n vec3 LDR = mix(ldrBlue, ldrRed, 0.2);\n#ifdef HAZE\n LDR *= (1.0 - cameraAngle);\n vec3 hsv = rgb2hsv(LDR);\n hsv.y = clamp(hsv.y * 1.5, 0.0, 1.0);\n LDR = hsv2rgb(hsv);\n vec3 finalColor = LDR;\n#else\n vec3 ldrReinhard = reinhardTM(color, exposure);\n LDR += angleMultiplier * ldrReinhard;\n float side = (rayEnd + rayStart) * 0.5;\n float atmoHeight = sqrt(cameraHeightSq - side * side);\n float h2 = clamp(1.0 - ( atmoHeight - lowerAlphaBlendBound ) / ( outerRadius - lowerAlphaBlendBound ), 0.0, 1.0);\n vec3 finalColor = LDR * h2;\n vec3 hsv = rgb2hsv(finalColor);\n hsv.y = clamp(hsv.y * 1.5, 0.0, 1.0);\n finalColor = hsv2rgb(hsv);\n#endif\n#ifndef HAZE\n float atmosStrength = clamp((length(ldrRed) - 0.05) * 1.05, 0.0, 1.0);\n gl_FragColor = vec4(finalColor, atmosStrength * clamp(1.0 - ( atmoHeight - innerRadius ) / (outerRadius - innerRadius), 0.0, 1.0));\n if (surfaceBlend > 0.0) {\n gl_FragColor = mix(gl_FragColor, surfaceColor, surfaceBlend);\n }\n#else\n gl_FragColor = vec4(finalColor, 1.0) * altitudeAlpha;\n#endif\n } else {\n gl_FragColor = vec4(0.0);\n }\n}", "realisticAtmosphere.vert": "#include <util/vsPrecision.glsl>\nuniform vec2 halfSizeNearPlane;\nuniform vec3 cameraUp;\nuniform vec3 cameraRight;\nuniform vec3 cameraDir;\nuniform vec2 cameraCenterOffset;\nattribute vec3 position;\nattribute vec2 uv0;\nvarying vec3 worldRay;\nvarying vec2 vtc;\n#ifdef HAZE\nvarying vec3 eyeDir;\n#endif\nvoid main(void) {\n vec3 v3Pos = position;\n vtc = uv0;\n vec2 rayvtc = uv0 - cameraCenterOffset;\n#ifdef HAZE\n eyeDir = vec3((2.0 * halfSizeNearPlane * rayvtc) - halfSizeNearPlane, -1.0);\n#else\n vec3 eyeDir = vec3((2.0 * halfSizeNearPlane * rayvtc) - halfSizeNearPlane, -1.0);\n#endif\n worldRay = eyeDir.z * cameraDir + eyeDir.y * cameraUp + eyeDir.x * cameraRight;\n gl_Position = vec4(v3Pos, 1.0);\n}", "simpleAtmosphere.frag": "#include <util/fsPrecision.glsl>\nuniform sampler2D tex;\nvarying vec2 vtc;\nvarying float falloff;\n#ifndef PANORAMIC\nuniform float altitudeFade;\nvarying float innerFactor;\n#endif\nvoid main() {\n vec4 texColor = texture2D(tex, vtc);\n#ifdef PANORAMIC\n gl_FragColor = texColor * falloff;\n#else\n vec4 atmosphereColor = texColor * falloff;\n vec4 innerColor = vec4(texColor.rgb * falloff, 1.0 - altitudeFade);\n gl_FragColor = mix(atmosphereColor, innerColor, smoothstep(0.0, 1.0, innerFactor));\n#endif\n}", "simpleAtmosphere.vert": "#include <util/vsPrecision.glsl>\n#include <util/transform.glsl>\nuniform mat4 proj;\nuniform mat4 view;\n#ifndef PANORAMIC\nconst float TWICEPI = 2.0*3.14159265;\nconst float ATMOSPHERE_RIM_SEGMENTS = 128.0;\nuniform vec3 silCircleCenter;\nuniform vec3 silCircleV1;\nuniform vec3 silCircleV2;\nuniform vec2 texV;\nuniform float innerScale;\nvarying float innerFactor;\n#endif\nuniform vec3 lightingMainDirection;\nattribute vec3 position;\nvarying vec2 vtc;\nvarying float falloff;\nvoid main(void) {\n vec3 lightDirection = -lightingMainDirection;\n#ifdef PANORAMIC\n vec3 pos = position;\n float ndotl = lightDirection.z;\n vtc = vec2(0.0, position.z+0.05);\n#else\n innerFactor = clamp(-position.z, 0.0, 1.0);\n float scale = position.y * (1.0 + innerFactor * innerScale);\n float phi = position.x * (TWICEPI / ATMOSPHERE_RIM_SEGMENTS) + 1.0;\n vec3 pos = (silCircleCenter + sin(phi) * silCircleV1 + cos(phi) * silCircleV2) * scale;\n float ndotl = dot(normalize(position.y > 0.0 ? pos: silCircleCenter), lightDirection);\n vtc.x = position.x / ATMOSPHERE_RIM_SEGMENTS;\n vtc.y = texV.x * (1.0 - position.z) + texV.y * position.z;\n#endif\n falloff = max(0.0, smoothstep(-1.0, 0.8, 2.0 * ndotl));\n gl_Position = transformPosition(proj, view, pos);\n gl_Position.z = gl_Position.w;\n}", "simpleAtmosphereFade.frag": "#include <util/fsPrecision.glsl>\nvarying vec4 color;\nvoid main() {\n gl_FragColor = color;\n}", "simpleAtmosphereFade.vert": "#include <util/vsPrecision.glsl>\nattribute vec2 position;\nuniform vec3 lightingMainDirection;\nuniform vec3 cameraPosition;\nuniform float undergroundFadeAlpha;\nvarying vec4 color;\nvoid main(void) {\n float ndotl = dot(normalize(cameraPosition), -lightingMainDirection);\n float lighting = max(0.0, smoothstep(-1.0, 0.8, 2.0 * ndotl));\n color = vec4(vec3(lighting), undergroundFadeAlpha);\n gl_Position = vec4(position.xy, 1.0, 1.0);\n}", "stars.frag": "#include <util/fsPrecision.glsl>\nvarying vec4 vcolor;\nvarying float vsize;\nvoid main() {\n float cap = 0.7;\n float scale = 1.0/cap;\n float helper = clamp(length(abs(gl_PointCoord-vec2(0.5))),0.0,cap);\n float alpha = clamp((cap-helper)*scale,0.0,1.0);\n float intensity = alpha*alpha*alpha;\n if (vsize < 3.0)\n intensity *= 0.5;\n gl_FragColor = vec4(1.0,1.0,1.0,intensity);\n gl_FragColor.xyz *= vcolor.xyz;\n}", "stars.vert": "#include <util/vsPrecision.glsl>\n#include <util/alignPixel.glsl>\nuniform mat4 proj;\nuniform mat4 view;\nuniform mat4 model;\nuniform vec4 viewport;\nuniform float pixelRatio;\nattribute vec3 position;\nattribute vec4 color;\nattribute float size;\nvarying vec4 vcolor;\nvarying float vsize;\nvoid main(void) {\n vec4 posProj = proj * view * model*vec4(position*1.0e25,1.0);\n gl_Position = alignToPixelCenter(posProj, viewport.zw);\n gl_Position.z = gl_Position.w;\n vcolor = color / 1.2;\n vsize = size * 5.0 * pixelRatio;\n gl_PointSize = vsize;\n}" }, materials: { hud: { "colorPass.frag": "#include <materials/hud/hudHeader.glsl>\nvoid main() {\n#include <materials/hud/hudMain.glsl>\n}", "highlightPass.frag": "#include <materials/hud/hudHeader.glsl>\n#include <util/highlight.glsl>\nuniform sampler2D depthTex;\nuniform vec4 highlightViewportPixelSz;\nvoid main() {\n#include <materials/hud/hudMain.glsl>\n#ifdef BINARY_HIGHLIGHT_OCCLUSION\n if (voccluded == 1.0) {\n gl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);\n } else {\n gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0);\n }\n#else\n gl_FragColor = highlightData(gl_FragCoord, depthTex, highlightViewportPixelSz);\n#endif\n}", "hud.vert": "#include <util/vsPrecision.glsl>\n#include <util/alignPixel.glsl>\n#include <util/hud.glsl>\n#include <util/visualVariables.glsl>\n#include <util/slice.glsl>\nuniform vec2 screenOffset;\nuniform vec2 anchorPos;\nuniform vec2 textureCoordinateScaleFactor;\n#ifdef SCREEN_SIZE_PERSPECTIVE\nuniform vec4 screenSizePerspective;\n#endif\n#ifdef DEBUG_DRAW_BORDER\nvarying vec4 debugBorderCoords;\n#endif\nattribute vec2 uv0;\nattribute vec4 color;\nattribute vec2 size;\nattribute vec4 auxpos2;\nvarying vec4 vcolor;\nvarying vec2 vtc;\nvarying vec2 vsize;\n#ifdef BINARY_HIGHLIGHT_OCCLUSION\nvarying float voccluded;\n#endif\nvoid main(void) {\n ProjectHUDAux projectAux;\n vec4 posProj = projectPositionHUD(projectAux);\n if (rejectBySlice(projectAux.posModel)) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n vec2 inputSize;\n#ifdef SCREEN_SIZE_PERSPECTIVE\n inputSize = screenSizePerspectiveScaleVec2(size, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspective);\n vec2 screenOffsetScaled = screenSizePerspectiveScaleVec2(screenOffset, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);\n#else\n inputSize = size;\n vec2 screenOffsetScaled = screenOffset;\n#endif\n#ifdef VV_SIZE\n inputSize *= vvGetScale(auxpos2).xx;\n#endif\n vec2 combinedSize = inputSize * pixelRatio;\n vec4 quadOffset = vec4(0.0);\n#if defined(OCCL_TEST) || defined(BINARY_HIGHLIGHT_OCCLUSION)\n bool visible = testVisibilityHUD(posProj);\n#endif\n#ifdef BINARY_HIGHLIGHT_OCCLUSION\nvoccluded = visible ? 0.0 : 1.0;\n#endif\n#ifdef OCCL_TEST\n if (visible) {\n#endif\n vec2 uv01 = floor(uv0);\n vec2 uv = uv0 - uv01;\n quadOffset.xy = ((uv01 - anchorPos) * 2.0 * combinedSize + screenOffsetScaled) / viewport.zw * posProj.w;\n#ifdef SIGNED_DISTANCE_FIELD\n posProj = alignToPixelOrigin(posProj, viewport.zw) + quadOffset;\n#else\n posProj += quadOffset;\n if (inputSize.x == size.x) {\n posProj = alignToPixelOrigin(posProj, viewport.zw);\n }\n#endif\n gl_Position = posProj;\n vtc = uv * textureCoordinateScaleFactor;\n#ifdef DEBUG_DRAW_BORDER\n debugBorderCoords = vec4(uv01, 1.5 / combinedSize);\n#endif\n vsize = inputSize;\n#ifdef OCCL_TEST\n } else {\n vtc = vec2(.0);\n#ifdef DEBUG_DRAW_BORDER\n debugBorderCoords = vec4(0.5, 0.5, 1.5 / combinedSize);\n#endif\n }\n#endif\n gl_Position = posProj;\n#ifdef VV_COLOR\n vcolor = vvGetColor(auxpos2, vvColorValues, vvColorColors);\n#else\n vcolor = color / 255.0;\n#endif\n}", "hudHeader.glsl": "#include <util/enableExtensions.glsl>\n#include <util/fsPrecision.glsl>\n#include <util/encoding.glsl>\n#include <util/color.glsl>\nuniform sampler2D tex;\nuniform vec4 overrideColor;\nuniform vec4 outlineColor;\nuniform float outlineSize;\nvarying vec4 vcolor;\nvarying vec2 vtc;\nvarying vec2 vsize;\n#ifdef BINARY_HIGHLIGHT_OCCLUSION\nvarying float voccluded;\n#endif\n#ifdef DEBUG_DRAW_BORDER\nvarying vec4 debugBorderCoords;\n#endif", "hudMain.glsl": "#ifdef SIGNED_DISTANCE_FIELD\n vec4 color = vec4(0.0, 0.0, 0.0, 0.0);\n vec4 fillPixelColor = overrideColor * vcolor;\n const float txSize = 128.0;\n const float texelSize = 1.0 / txSize;\n vec2 scaleFactor = (vsize - txSize) * texelSize;\n vec2 samplePos = vtc + (vec2(1.0, -1.0) * texelSize) * scaleFactor;\n float d = rgba2float(texture2D(tex, samplePos)) - 0.5;\n float dist = d * vsize.x;\n fillPixelColor.a *= clamp(0.5 - dist, 0.0, 1.0);\n if (outlineSize > 0.25) {\n vec4 outlinePixelColor = outlineColor;\n float clampedOutlineSize = min(outlineSize, 0.5*vsize.x);\n outlinePixelColor.a *= clamp(0.5 - (abs(dist) - 0.5*clampedOutlineSize), 0.0, 1.0);\n float compositeAlpha = outlinePixelColor.a + fillPixelColor.a * (1.0 - outlinePixelColor.a);\n vec3 compositeColor = vec3(outlinePixelColor) * outlinePixelColor.a +\n vec3(fillPixelColor) * fillPixelColor.a * (1.0 - outlinePixelColor.a);\n gl_FragColor = vec4(compositeColor, compositeAlpha);\n }\n else {\n gl_FragColor = premultiplyAlpha(fillPixelColor);\n }\n#else\n gl_FragColor = texture2D(tex, vtc, -0.5) * premultiplyAlpha(overrideColor * vcolor);\n#endif\n#ifdef DEBUG_DRAW_BORDER\n float isBorder = float(any(lessThan(debugBorderCoords.xy, debugBorderCoords.zw)) || any(greaterThan(debugBorderCoords.xy, 1.0 - debugBorderCoords.zw)));\n gl_FragColor = mix(gl_FragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder);\n#endif\n if (gl_FragColor.a < 0.1) {\n discard;\n }", "occlusionTest.frag": "#include <util/fsPrecision.glsl>\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}", "occlusionTest.vert": "#include <util/vsPrecision.glsl>\n#include <util/alignPixel.glsl>\n#include <util/hud.glsl>\n#include <util/slice.glsl>\nvoid main(void) {\n vec4 posProjCenter;\n if (dot(position, position) > 0.0) {\n ProjectHUDAux projectAux;\n vec4 posProj = projectPositionHUD(projectAux);\n posProjCenter = alignToPixelCenter(posProj, viewport.zw);\n vec3 vpos = projectAux.posModel;\n if (rejectBySlice(vpos)) {\n posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);\n }\n }\n else {\n posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);\n }\n gl_Position = posProjCenter;\n gl_PointSize = 1.0;\n}" }, lineCallout: { "lineCallout.frag": "#include <util/fsPrecision.glsl>\nuniform vec4 color;\nuniform vec4 borderColor;\nvarying vec4 coverageSampling;\nvarying vec2 lineSizes;\nvoid main() {\n vec2 coverage = min(1.0 - clamp(abs(coverageSampling.xy) - coverageSampling.zw, 0.0, 1.0), lineSizes);\n float borderAlpha = color.a * borderColor.a * coverage.y;\n float colorAlpha = color.a * coverage.x;\n float finalAlpha = mix(borderAlpha, 1.0, colorAlpha);\n#ifdef DEPTH_HUD\n if (finalAlpha < 0.01) {\n discard;\n }\n#else\n vec3 finalRgb = mix(borderColor.rgb * borderAlpha, color.rgb, colorAlpha);\n gl_FragColor = vec4(finalRgb, finalAlpha);\n#endif\n}", "lineCallout.vert": "#include <util/vsPrecision.glsl>\n#include <util/alignPixel.glsl>\n#include <util/hud.glsl>\n#include <util/slice.glsl>\nattribute vec2 uv0;\nuniform float lineSize;\nuniform vec2 pixelToNDC;\nuniform float borderSize;\nuniform vec2 screenOffset;\nvarying vec4 coverageSampling;\nvarying vec2 lineSizes;\nvoid main(void) {\n ProjectHUDAux projectAux;\n vec4 endPoint = projectPositionHUD(projectAux);\n vec3 vpos = projectAux.posModel;\n if (rejectBySlice(vpos)) {\n gl_Position = vec4(1e38, 1e38, 1e38, 1.0);\n return;\n }\n#ifdef OCCL_TEST\n if (!testVisibilityHUD(endPoint)) {\n gl_Position = vec4(1e38, 1e38, 1e38, 1.0);\n return;\n }\n#endif\n#ifdef SCREEN_SIZE_PERSPECTIVE\n vec4 perspectiveFactor = screenSizePerspectiveScaleFactor(projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);\n vec2 screenOffsetScaled = applyScreenSizePerspectiveScaleFactorVec2(screenOffset, perspectiveFactor);\n#else\n vec2 screenOffsetScaled = screenOffset;\n#endif\n vec3 posView = (view * (model * vec4(position, 1.0))).xyz;\n applyHUDViewDependentPolygonOffset(auxpos1.w, projectAux.absCosAngle, posView);\n vec4 startPoint = proj * vec4(posView, 1.0);\n vec2 screenOffsetNorm = screenOffsetScaled * 2.0 / viewport.zw;\n startPoint.xy += screenOffsetNorm * startPoint.w;\n endPoint.xy += screenOffsetNorm * endPoint.w;\n vec4 startAligned = alignToPixelOrigin(startPoint, viewport.zw);\n vec4 endAligned = alignToPixelOrigin(endPoint, viewport.zw);\n#ifdef DEPTH_HUD\n#ifdef DEPTH_HUD_ALIGN_START\n endAligned = vec4(endAligned.xy / endAligned.w * startAligned.w, startAligned.zw);\n#else\n startAligned = vec4(startAligned.xy / startAligned.w * endAligned.w, endAligned.zw);\n#endif\n#endif\n vec4 projectedPosition = mix(startAligned, endAligned, uv0.y);\n vec2 screenSpaceDirection = normalize(endAligned.xy / endAligned.w - startAligned.xy / startAligned.w);\n vec2 perpendicularScreenSpaceDirection = vec2(screenSpaceDirection.y, -screenSpaceDirection.x);\n#ifdef SCREEN_SIZE_PERSPECTIVE\n float lineSizeScaled = applyScreenSizePerspectiveScaleFactorFloat(lineSize, perspectiveFactor);\n float borderSizeScaled = applyScreenSizePerspectiveScaleFactorFloat(borderSize, perspectiveFactor);\n#else\n float lineSizeScaled = lineSize;\n float borderSizeScaled = borderSize;\n#endif\n float halfPixelSize = lineSizeScaled * 0.5;\n float halfWholePixelSize = floor(lineSizeScaled) * 0.5;\n float halfPixelSizeInt = floor(halfWholePixelSize);\n float subpixelOffset = -fract(lineSizeScaled) * float(halfWholePixelSize > 0.0);\n float pixelOffset = -halfPixelSizeInt + subpixelOffset;\n float padding = 1.0 + borderSizeScaled;\n vec2 ndcOffset = (pixelOffset - padding + uv0.x * (lineSizeScaled + padding + padding)) * pixelToNDC;\n projectedPosition.xy += perpendicularScreenSpaceDirection * ndcOffset * projectedPosition.w;\n float edgeDirection = (uv0.x * 2.0 - 1.0);\n float halfBorderSize = 0.5 * borderSizeScaled;\n float halfPixelSizeAndBorder = halfPixelSize + halfBorderSize;\n float outerEdgeCoverageSampler = edgeDirection * (halfPixelSizeAndBorder + halfBorderSize + 1.0);\n float isOneSided = float(lineSizeScaled < 2.0 && borderSize < 2.0);\n coverageSampling = vec4(\n outerEdgeCoverageSampler,\n outerEdgeCoverageSampler - halfPixelSizeAndBorder * isOneSided,\n halfPixelSize - 0.5,\n halfBorderSize - 0.5 + halfPixelSizeAndBorder * (1.0 - isOneSided)\n );\n lineSizes = vec2(lineSizeScaled, borderSizeScaled);\n gl_Position = projectedPosition;\n}" }, measurementArrow: { "measurementArrow.frag": "#include <util/fsPrecision.glsl>\nuniform float outlineSize;\nuniform vec4 outlineColor;\nuniform float stripeLength;\nuniform vec4 stripeEvenColor;\nuniform vec4 stripeOddColor;\nvarying vec2 vtc;\nvarying float vlength;\nvarying float vradius;\n#define INV_SQRT2 (1.0 / sqrt(2.0))\nvec4 arrowColor(vec2 tc, float len) {\n float d = INV_SQRT2 * (tc.x - abs(tc.y));\n d = min(d, INV_SQRT2 * (len - tc.x - abs(tc.y)));\n d = min(d, 1.0 - abs(tc.y));\n if (d < 0.0) {\n return vec4(0.0);\n } else if (d < outlineSize) {\n return outlineColor;\n } else {\n return fract(0.5 / stripeLength * tc.x * vradius) >= 0.5 ? stripeOddColor : stripeEvenColor;\n }\n}\nvoid main(void) {\n vec2 ntc = vec2(vtc.x / vradius, vtc.y);\n vec4 color = arrowColor(ntc, vlength / vradius);\n if (color.a == 0.0) {\n discard;\n }\n gl_FragColor = color;\n}", "measurementArrow.vert": "#include <util/vsPrecision.glsl>\nuniform mat4 proj;\nuniform mat4 view;\nuniform mat4 model;\nuniform float width;\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv0;\nattribute float auxpos1;\nvarying vec2 vtc;\nvarying float vlength;\nvarying float vradius;\nvoid main(void) {\n vec3 bitangent = normal;\n vtc = uv0;\n vlength = auxpos1;\n vradius = 0.5 * width;\n vec4 pos = view * vec4((model * vec4(position + vradius * bitangent * uv0.y, 1.0)).xyz, 1.0);\n gl_Position = proj * pos;\n}" }, slicePlane: { "slicePlane.frag": "#include <util/enableExtensions.glsl>\n#include <util/fsPrecision.glsl>\nuniform vec4 backgroundColor;\nuniform vec4 gridColor;\nuniform float ratio;\nuniform float gridWidth;\nvarying vec2 vUV;\nvoid main() {\n const float LINE_WIDTH = 1.0;\n vec2 uvScaled = vUV * gridWidth;\n vec2 gridUV = (fract(uvScaled + 0.5) - 0.5) / (LINE_WIDTH * fwidth(uvScaled));\n vec2 grid = (1.0 - step(0.5, gridUV)) * step(-0.5, gridUV);\n grid.x *= step(0.5, uvScaled.x) * step(uvScaled.x, gridWidth - 0.5);\n grid.y *= step(0.5, uvScaled.y) * step(uvScaled.y, gridWidth - 0.5);\n float gridFade = max(grid.x, grid.y);\n float gridAlpha = gridColor.a * gridFade;\n gl_FragColor =\n vec4(backgroundColor.rgb * backgroundColor.a, backgroundColor.a) * (1.0 - gridAlpha) +\n vec4(gridColor.rgb, 1.0) * gridAlpha;\n}", "slicePlane.vert": "#include <util/vsPrecision.glsl>\nuniform mat4 proj;\nuniform mat4 view;\nuniform mat4 model;\nattribute vec3 position;\nattribute vec2 uv0;\nvarying vec2 vUV;\nvoid main(void) {\n vUV = uv0;\n gl_Position = proj * view * vec4((model * vec4(position, 1.0)).xyz, 1.0);\n}" } }, pointRenderer: { "pointRenderer.frag": "#include <util/fsPrecision.glsl>\n#include <util/encoding.glsl>\n#ifdef HIGHLIGHT_PASS\n#include <util/highlight.glsl>\nuniform sampler2D depthTex;\nuniform vec4 highlightViewportPixelSz;\n#endif\n#ifdef DEPTH_PASS\nvarying float depth;\n#elif defined(HIGHLIGHT_PASS)\n#else\nvarying vec3 vColor;\n#endif\nvoid main(void) {\n vec2 vOffset = gl_PointCoord - vec2(0.5, 0.5);\n float r2 = dot(vOffset, vOffset);\n if (r2 > 0.25) {\n discard;\n }\n#ifdef DEPTH_PASS\n gl_FragColor = float2rgba(depth);\n#elif defined(HIGHLIGHT_PASS)\n gl_FragColor = highlightData(gl_FragCoord, depthTex, highlightViewportPixelSz);\n#else\n gl_FragColor = vec4(vColor, 1.0);\n#endif\n}", "pointRenderer.vert": "#include <util/slice.glsl>\n#include <util/vsPrecision.glsl>\nattribute vec3 aPosition;\nattribute vec3 aColor;\nuniform mat4 uModelViewMatrix;\nuniform mat4 uProjectionMatrix;\nuniform vec2 uScreenMinMaxSize;\nuniform vec2 uPointScale;\nuniform vec3 uClipMin;\nuniform vec3 uClipMax;\n#ifdef DEPTH_PASS\nuniform vec2 nearFar;\nvarying float depth;\n#else\nvarying vec3 vColor;\n#endif\nvoid main(void) {\n if (aPosition.x < uClipMin.x || aPosition.y < uClipMin.y || aPosition.z < uClipMin.z ||\n aPosition.x > uClipMax.x || aPosition.y > uClipMax.y || aPosition.z > uClipMax.z) {\n gl_Position = vec4(0.0,0.0,0.0,2.0);\n gl_PointSize = 0.0;\n return;\n }\n if (rejectBySlice(aPosition)) {\n gl_Position = vec4(0.0,0.0,0.0,2.0);\n gl_PointSize = 0.0;\n return;\n }\n vec4 camera = uModelViewMatrix * vec4(aPosition, 1.0);\n float pointSize = uPointScale.x;\n vec4 position = uProjectionMatrix * camera;\n#ifdef DRAW_SCREEN_SIZE\n float clampedScreenSize = pointSize;\n#else\n float pointRadius = 0.5 * pointSize;\n vec4 cameraOffset = camera + vec4(0.0, pointRadius, 0.0, 0.0);\n vec4 positionOffset = uProjectionMatrix * cameraOffset;\n float radius = abs(positionOffset.y - position.y);\n float viewHeight = uPointScale.y;\n float screenPointSize = (radius / position.w) * viewHeight;\n float clampedScreenSize = clamp(screenPointSize, uScreenMinMaxSize.x, uScreenMinMaxSize.y);\n camera.xyz -= normalize(camera.xyz) * pointRadius * clampedScreenSize / screenPointSize;\n position = uProjectionMatrix * camera;\n#endif\n gl_PointSize = clampedScreenSize;\n gl_Position = position;\n#ifdef DEPTH_PASS\n depth = (-camera.z - nearFar[0]) / (nearFar[1] - nearFar[0]);\n#else\n vColor = aColor;\n#endif\n}" }, renderer: { highlight: { "apply.frag": "#include <util/fsPrecision.glsl>\nuniform sampler2D tex;\nuniform sampler2D origin;\nuniform vec4 color;\nuniform vec4 haloColor;\nuniform float outlineSize;\nuniform float blurSize;\nuniform vec4 opacities;\nvarying vec2 uv;\nvoid main() {\n #if defined(GRID_OPTIMIZATION) && defined(GRID_DEBUG)\n gl_FragColor = vec4(uv, 0.0, 1.0);\n #else\n vec4 blurredHighlightValue = texture2D(tex, uv);\n float highlightIntensity = blurredHighlightValue.a;\n if (highlightIntensity == 0.0) {\n discard;\n }\n vec4 origin_color = texture2D(origin, uv);\n float outlineIntensity;\n float fillIntensity;\n if (blurredHighlightValue.g > blurredHighlightValue.b) {\n outlineIntensity = haloColor.w * opacities[1];\n fillIntensity = color.w * opacities[3];\n }\n else {\n outlineIntensity = haloColor.w * opacities[0];\n fillIntensity = color.w * opacities[2];\n }\n float inner = 1.0 - outlineSize / 9.0;\n float outer = 1.0 - (outlineSize + blurSize) / 9.0;\n float outlineFactor = smoothstep(outer, inner, highlightIntensity);\n float fillFactor = any(notEqual(origin_color, vec4(0.0, 0.0, 0.0, 0.0))) ? 1.0 : 0.0;\n float intensity = outlineIntensity * outlineFactor * (1.0 - fillFactor) + fillIntensity * fillFactor;\n gl_FragColor = vec4(mix(haloColor.rgb, color.rgb, fillFactor), intensity);\n #endif\n}", "apply.vert": "#include <util/vsPrecision.glsl>\nattribute vec2 position;\nvarying vec2 uv;\n#ifdef GRID_OPTIMIZATION\n attribute vec2 uv0;\n uniform sampler2D coverageTex;\n#endif\nvoid main() {\n #ifdef GRID_OPTIMIZATION\n #ifdef GRID_DEBUG\n vec4 cov = texture2D(coverageTex, uv0);\n if (cov.r == 0.0 || cov.g == 1.0 || cov.b == 1.0) {\n gl_Position = vec4(0.0);\n return;\n }\n gl_Position = vec4(position, .0, 1.0);\n uv = uv0;\n return;\n #else\n vec4 cov = texture2D(coverageTex, uv0);\n if (cov.r == 0.0) {\n gl_Position = vec4(0.0);\n return;\n }\n #endif\n #endif\n gl_Position = vec4(position, .0, 1.0);\n uv = position.xy * .5 + vec2(.5);\n}", "blur.frag": "#include <util/fsPrecision.glsl>\nuniform sampler2D tex;\n#ifdef GRID_OPTIMIZATION\n uniform vec2 blurSize;\n varying vec3 blurCoordinate;\n#else\n varying vec2 blurCoordinates[GAUSSIAN_SAMPLES];\n#endif\nvoid main() {\n #ifdef GRID_OPTIMIZATION\n vec2 uv = blurCoordinate.xy;\n vec4 center = texture2D(tex, uv);\n if (blurCoordinate.z == 1.0) {\n gl_FragColor = center;\n }\n else {\n vec4 sum = vec4(0.0);\n #if GAUSSIAN_SAMPLES == 3\n sum += center * 0.204164;\n sum += texture2D(tex, uv + blurSize * 1.407333) * 0.304005;\n sum += texture2D(tex, uv - blurSize * 1.407333) * 0.304005;\n #elif GAUSSIAN_SAMPLES == 5\n sum += center * 0.204164;\n sum += texture2D(tex, uv + blurSize * 1.407333) * 0.304005;\n sum += texture2D(tex, uv - blurSize * 1.407333) * 0.304005;\n sum += texture2D(tex, uv + blurSize * 3.294215) * 0.093913;\n sum += texture2D(tex, uv - blurSize * 3.294215) * 0.093913;\n #elif GAUSSIAN_SAMPLES == 7\n sum += center * 0.204164;\n sum += texture2D(tex, uv + blurSize * 1.407333) * 0.304005;\n sum += texture2D(tex, uv - blurSize * 1.407333) * 0.304005;\n sum += texture2D(tex, uv + blurSize * 3.294215) * 0.093913;\n sum += texture2D(tex, uv - blurSize * 3.294215) * 0.093913;\n sum += texture2D(tex, uv + blurSize * 5.1) * 0.03;\n sum += texture2D(tex, uv - blurSize * 5.1) * 0.03;\n #elif GAUSSIAN_SAMPLES == 9\n sum += center * 0.154164;\n sum += texture2D(tex, uv + blurSize * 1.5) * 0.204005;\n sum += texture2D(tex, uv - blurSize * 1.5) * 0.204005;\n sum += texture2D(tex, uv + blurSize * 3.5) * 0.123913;\n sum += texture2D(tex, uv - blurSize * 3.5) * 0.123913;\n sum += texture2D(tex, uv + blurSize * 5.5) * 0.123913;\n sum += texture2D(tex, uv - blurSize * 5.5) * 0.123913;\n sum += texture2D(tex, uv + blurSize * 7.5) * 0.05;\n sum += texture2D(tex, uv - blurSize * 7.5) * 0.05;\n #endif\n gl_FragColor = sum;\n }\n #else\n vec4 sum = vec4(0.0);\n #if GAUSSIAN_SAMPLES == 3\n sum += texture2D(tex, blurCoordinates[0]) * 0.204164;\n sum += texture2D(tex, blurCoordinates[1]) * 0.304005;\n sum += texture2D(tex, blurCoordinates[2]) * 0.304005;\n #elif GAUSSIAN_SAMPLES == 5\n sum += texture2D(tex, blurCoordinates[0]) * 0.204164;\n sum += texture2D(tex, blurCoordinates[1]) * 0.304005;\n sum += texture2D(tex, blurCoordinates[2]) * 0.304005;\n sum += texture2D(tex, blurCoordinates[3]) * 0.093913;\n sum += texture2D(tex, blurCoordinates[4]) * 0.093913;\n #elif GAUSSIAN_SAMPLES == 7\n sum += texture2D(tex, blurCoordinates[0]) * 0.204164;\n sum += texture2D(tex, blurCoordinates[1]) * 0.304005;\n sum += texture2D(tex, blurCoordinates[2]) * 0.304005;\n sum += texture2D(tex, blurCoordinates[3]) * 0.093913;\n sum += texture2D(tex, blurCoordinates[4]) * 0.093913;\n sum += texture2D(tex, blurCoordinates[5]) * 0.03;\n sum += texture2D(tex, blurCoordinates[6]) * 0.03;\n #elif GAUSSIAN_SAMPLES == 9\n sum += texture2D(tex, blurCoordinates[0]) * 0.154164;\n sum += texture2D(tex, blurCoordinates[1]) * 0.204005;\n sum += texture2D(tex, blurCoordinates[2]) * 0.204005;\n sum += texture2D(tex, blurCoordinates[3]) * 0.123913;\n sum += texture2D(tex, blurCoordinates[4]) * 0.123913;\n sum += texture2D(tex, blurCoordinates[5]) * 0.09;\n sum += texture2D(tex, blurCoordinates[6]) * 0.09;\n sum += texture2D(tex, blurCoordinates[7]) * 0.05;\n sum += texture2D(tex, blurCoordinates[8]) * 0.05;\n #endif\n gl_FragColor = sum;\n #endif\n}", "blur.vert": "#include <util/vsPrecision.glsl>\nattribute vec2 position;\nattribute vec2 uv0;\n#ifdef GRID_OPTIMIZATION\n uniform sampler2D coverageTex;\n varying vec3 blurCoordinate;\n#else\n uniform vec2 blurSize;\n varying vec2 blurCoordinates[GAUSSIAN_SAMPLES];\n#endif\nvoid main() {\n gl_Position = vec4(position, 0.0, 1.0);\n #ifdef GRID_OPTIMIZATION\n vec4 cov = texture2D(coverageTex, uv0);\n if (cov.r == 0.0) {\n gl_Position = vec4(0.0);\n }\n blurCoordinate = vec3(gl_Position.xy * .5 + vec2(.5), max(cov.g, cov.b));\n #else\n vec2 uv = position.xy * .5 + vec2(.5);\n #if GAUSSIAN_SAMPLES == 3\n blurCoordinates[0] = uv;\n blurCoordinates[1] = uv + blurSize * 1.407333;\n blurCoordinates[2] = uv - blurSize * 1.407333;\n #elif GAUSSIAN_SAMPLES == 5\n blurCoordinates[0] = uv;\n blurCoordinates[1] = uv + blurSize * 1.407333;\n blurCoordinates[2] = uv - blurSize * 1.407333;\n blurCoordinates[3] = uv + blurSize * 3.294215;\n blurCoordinates[4] = uv - blurSize * 3.294215;\n #elif GAUSSIAN_SAMPLES == 7\n blurCoordinates[0] = uv;\n blurCoordinates[1] = uv + blurSize * 1.407333;\n blurCoordinates[2] = uv - blurSize * 1.407333;\n blurCoordinates[3] = uv + blurSize * 3.294215;\n blurCoordinates[4] = uv - blurSize * 3.294215;\n blurCoordinates[5] = uv + blurSize * 5.1;\n blurCoordinates[6] = uv - blurSize * 5.1;\n #elif GAUSSIAN_SAMPLES == 9\n blurCoordinates[0] = uv;\n blurCoordinates[1] = uv + blurSize * 1.407333;\n blurCoordinates[2] = uv - blurSize * 1.407333;\n blurCoordinates[3] = uv + blurSize * 3.294215;\n blurCoordinates[4] = uv - blurSize * 3.294215;\n blurCoordinates[5] = uv + blurSize * 5.1;\n blurCoordinates[6] = uv - blurSize * 5.1;\n blurCoordinates[7] = uv + blurSize * 7.1;\n blurCoordinates[8] = uv - blurSize * 7.1;\n #endif\n #endif\n}", "downsample.frag": "#include <util/fsPrecision.glsl>\nuniform sampler2D tex;\nuniform vec2 invFramebufferDim;\nvoid main() {\n vec2 coord = gl_FragCoord.xy * invFramebufferDim;\n vec4 value = texture2D(tex, coord);\n float mx = floor(max(value.g, value.b));\n gl_FragColor = vec4(ceil(value.r), mx, mx, 1.0);\n}", "downsample.vert": "#include <util/vsPrecision.glsl>\nattribute vec2 position;\nvoid main() {\n gl_Position = vec4(vec2(1.0) - position * 2.0, .0, 1.0);\n}" }, laserLine: { "laserLine.frag": "#include <util/enableExtensions.glsl>\n#include <util/fsPrecision.glsl>\n#include <util/depth.glsl>\nuniform sampler2D depthMap;\nuniform vec2 nearFar;\nuniform vec4 projInfo;\nuniform vec2 zScale;\nuniform float maxPixelDistance;\nuniform vec4 focusPlane;\nuniform vec4 focusSphere;\nuniform vec4 segmentPlane;\nuniform vec3 segmentStart;\nuniform vec3 segmentEnd;\nuniform vec3 glowColor;\nuniform float glowWidth;\nuniform vec3 innerColor;\nuniform float innerWidth;\nuniform float globalAlpha;\nvarying vec2 uv;\n#define INFINITY 100000.0\nvec3 reconstructPosition(vec2 fragCoord, float depth) {\n return vec3((fragCoord * projInfo.xy + projInfo.zw) * (zScale.x * depth + zScale.y), depth);\n}\nfloat planeDistancePixels(vec4 plane, vec3 pos) {\n float dist = dot(plane.xyz, pos) + plane.w;\n float width = fwidth(dist);\n dist /= min(width, maxPixelDistance);\n return abs(dist);\n}\nfloat sphereDistancePixels(vec4 sphere, vec3 pos) {\n float dist = distance(sphere.xyz, pos) - sphere.w;\n float width = fwidth(dist);\n dist /= min(width, maxPixelDistance);\n return abs(dist);\n}\nvec4 blendPremultiplied(vec4 source, vec4 dest) {\n float oneMinusSourceAlpha = 1.0 - source.a;\n return vec4(\n source.rgb + dest.rgb * oneMinusSourceAlpha,\n source.a + dest.a * oneMinusSourceAlpha\n );\n}\nvec4 premultipliedColor(vec3 rgb, float alpha) {\n return vec4(rgb * alpha, alpha);\n}\nvec4 laserLineProfile(float dist) {\n if (dist > glowWidth) {\n return vec4(0.0);\n }\n float innerAlpha = (1.0 - smoothstep(0.0, innerWidth, dist));\n float glowAlpha = pow(max(0.0, 1.0 - dist / glowWidth), 8.0);\n return blendPremultiplied(\n premultipliedColor(innerColor, innerAlpha),\n premultipliedColor(glowColor, glowAlpha)\n );\n}\nvoid main() {\n float depth = linearDepth(depthMap, uv, nearFar);\n if (-depth == nearFar[0]) {\n discard;\n }\n vec3 pos = reconstructPosition(gl_FragCoord.xy, depth);\n float ddepth = fwidth(depth);\n float depthDiscontinuityAlpha = 1.0 - smoothstep(0.0, 0.01, -ddepth / depth);\n vec3 normal = normalize(cross(dFdx(pos), dFdy(pos)));\n float focusPlaneDistance = planeDistancePixels(focusPlane, pos);\n float focusSphereDistance = sphereDistancePixels(focusSphere, pos);\n float segmentDistance = INFINITY;\n float segmentLength = length(segmentEnd - segmentStart);\n vec3 segmentDir = (segmentEnd - segmentStart) / segmentLength;\n float t = dot(segmentDir, pos - segmentStart);\n if (segmentLength > 0.0 && t >= 0.0 && t <= segmentLength) {\n segmentDistance = planeDistancePixels(segmentPlane, pos);\n }\n vec4 focusPlaneColor = laserLineProfile(focusPlaneDistance);\n vec4 focusSphereColor = laserLineProfile(focusSphereDistance);\n vec4 segmentColor = laserLineProfile(segmentDistance);\n float focusPlaneAlpha = 1.0 - smoothstep(0.995, 0.999, abs(dot(normal, focusPlane.xyz)));\n float focusSphereAlpha = 1.0 - smoothstep(0.995, 0.999, abs(dot(normal, normalize(pos - focusSphere.xyz))));\n float segmentAlpha = 1.0 - smoothstep(0.995, 0.999, abs(dot(normal, segmentPlane.xyz)));\n vec4 color = max(\n focusPlaneColor * focusPlaneAlpha,\n max(\n focusSphereColor * focusSphereAlpha,\n segmentColor * segmentAlpha\n )\n );\n gl_FragColor = color * globalAlpha * depthDiscontinuityAlpha;\n}" }, offscreen: { "composite.frag": "#include <util/fsPrecision.glsl>\nuniform sampler2D tex;\nvarying vec2 vtc;\nvoid main() {\n gl_FragColor = texture2D(tex, vtc);\n}", "compositeOccluded.frag": "#include <util/fsPrecision.glsl>\nuniform sampler2D occludedColorMap;\nuniform float opacity;\nvarying vec2 vtc;\nvoid main() {\n vec4 occludedColor = texture2D(occludedColorMap, vtc);\n gl_FragColor = occludedColor * opacity;\n}", "compositeTransparentToHUDVisibility.frag": "#include <util/fsPrecision.glsl>\nuniform sampler2D tex;\nvarying vec2 vtc;\nvoid main() {\n gl_FragColor = vec4(1.0 - texture2D(tex, vtc).a);\n}", "offscreen.vert": "#include <util/vsPrecision.glsl>\nattribute vec2 position;\nvarying vec2 vtc;\nvoid main(void) {\n gl_Position = vec4(position.xy, 0.0, 1.0);\n vtc = position.xy * 0.5 + 0.5;\n}" } }, util: { "alignPixel.glsl": "vec4 alignToPixelCenter(vec4 clipCoord, vec2 widthHeight) {\n vec2 xy = vec2(.500123) + .5 * clipCoord.xy / clipCoord.w;\n vec2 pixelSz = vec2(1.0) / widthHeight;\n vec2 ij = (floor(xy * widthHeight) + vec2(0.5)) * pixelSz;\n vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;\n return vec4(result, clipCoord.zw);\n}\nvec4 alignToPixelOrigin(vec4 clipCoord, vec2 widthHeight) {\n vec2 xy = vec2(.5) + .5 * clipCoord.xy / clipCoord.w;\n vec2 pixelSz = vec2(1.0) / widthHeight;\n vec2 ij = floor((xy + .5 * pixelSz) * widthHeight) * pixelSz;\n vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;\n return vec4(result, clipCoord.zw);\n}", "color.glsl": "vec4 premultiplyAlpha(vec4 v) {\n return vec4(v.rgb * v.a, v.a);\n}\nvec3 rgb2hsv(vec3 c) {\n vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\n vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\n float d = q.x - min(q.w, q.y);\n float e = 1.0e-10;\n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\n}\nvec3 hsv2rgb(vec3 c) {\n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\n}\nfloat rgb2v(vec3 c) {\n return max(c.x, max(c.y, c.z));\n}", "depth.glsl": "#include <util/encoding.glsl>\nfloat linearDepth(sampler2D depthTex, vec2 uv, vec2 nearFar) {\n return -(rgba2float(texture2D(depthTex, uv)) * (nearFar[1] - nearFar[0]) + nearFar[0]);\n}\nfloat calcFragDepth(const in float depth) {\n const float SLOPE_SCALE = 2.0;\n const float BIAS = 2.0 * .000015259;\n float m = max(abs(dFdx(depth)), abs(dFdy(depth)));\n float result = depth + SLOPE_SCALE * m + BIAS;\n return clamp(result, .0, .999999);\n}", "doublePrecision.glsl": "#ifdef DOUBLE_PRECISION_REQUIRES_OBFUSCATION\nvec3 dpPlusFrc(vec3 a, vec3 b) {\n return mix(a, a + b, vec3(notEqual(b, vec3(0))));\n}\nvec3 dpMinusFrc(vec3 a, vec3 b) {\n return mix(vec3(0), a - b, vec3(notEqual(a, b)));\n}\nvec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\n vec3 t1 = dpPlusFrc(hiA, hiB);\n vec3 e = dpMinusFrc(t1, hiA);\n vec3 t2 = dpMinusFrc(hiB, e) + dpMinusFrc(hiA, dpMinusFrc(t1, e)) + loA + loB;\n return t1 + t2;\n}\n#else\nvec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\n vec3 t1 = hiA + hiB;\n vec3 e = t1 - hiA;\n vec3 t2 = ((hiB - e) + (hiA - (t1 - e))) + loA + loB;\n return t1 + t2;\n}\n#endif", "enableExtensions.glsl": "#define EXTENSIONS_ENABLED\n#extension GL_OES_standard_derivatives : enable\n#extension GL_EXT_shader_texture_lod : enable", "encoding.glsl": "const float MAX_RGBA_FLOAT =\n 255.0 / 256.0 +\n 255.0 / 256.0 / 256.0 +\n 255.0 / 256.0 / 256.0 / 256.0 +\n 255.0 / 256.0 / 256.0 / 256.0 / 256.0;\nconst vec4 fixedPointFactors = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);\nvec4 float2rgba(const float value) {\n float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);\n vec4 fixedPointU8 = floor(fract(valueInValidDomain * fixedPointFactors) * 256.0);\n const float toU8AsFloat = 1.0 / 255.0;\n return fixedPointU8 * toU8AsFloat;\n}\nconst vec4 rgba2float_factors = vec4(\n 255.0 / (256.0),\n 255.0 / (256.0 * 256.0),\n 255.0 / (256.0 * 256.0 * 256.0),\n 255.0 / (256.0 * 256.0 * 256.0 * 256.0)\n);\nfloat rgba2float(vec4 rgba) {\n return dot(rgba, rgba2float_factors);\n}", "fsPrecision.glsl": "#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\nprecision highp sampler2D;\n#else\nprecision mediump float;\nprecision mediump sampler2D;\n#endif", "highlight.glsl": "vec4 highlightData(vec4 fragCoord, sampler2D depthTex, vec4 viewportPixelSize) {\n float sceneDepth = texture2D(depthTex, (fragCoord.xy - viewportPixelSize.xy) * viewportPixelSize.zw).r;\n if (fragCoord.z > sceneDepth + 5e-7) {\n return vec4(1.0, 1.0, 0.0, 1.0);\n }\n else {\n return vec4(1.0, 0.0, 1.0, 1.0);\n }\n}", "hud.glsl": "#include <util/screenSizePerspective.glsl>\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec4 auxpos1;\nuniform mat4 proj;\nuniform mat4 view;\nuniform mat4 viewNormal;\nuniform mat4 model;\nuniform mat4 modelNormal;\nuniform vec4 viewport;\nuniform vec3 camPos;\nuniform float polygonOffset;\nuniform float cameraGroundRelative;\nuniform float pixelRatio;\nuniform float perDistancePixelRatio;\n#ifdef VERTICAL_OFFSET\nuniform vec4 verticalOffset;\n#endif\n#ifdef SCREEN_SIZE_PERSPECTIVE\nuniform vec4 screenSizePerspectiveAlignment;\n#endif\nuniform sampler2D hudVisibilityTexture;\nconst float SMALL_OFFSET_ANGLE = 0.984807753012208;\nstruct ProjectHUDAux {\n vec3 posModel;\n vec3 posView;\n vec3 vnormal;\n float distanceToCamera;\n float absCosAngle;\n};\nfloat applyHUDViewDependentPolygonOffset(float pointGroundDistance, float absCosAngle, inout vec3 posView) {\n float pointGroundSign = sign(pointGroundDistance);\n if (pointGroundSign == 0.0) {\n pointGroundSign = cameraGroundRelative;\n }\n float groundRelative = cameraGroundRelative * pointGroundSign;\n if (polygonOffset > .0) {\n float cosAlpha = clamp(absCosAngle, 0.01, 1.0);\n float tanAlpha = sqrt(1.0 - cosAlpha * cosAlpha) / cosAlpha;\n float factor = (1.0 - tanAlpha / viewport[2]);\n if (groundRelative > 0.0) {\n posView *= factor;\n }\n else {\n posView /= factor;\n }\n }\n return groundRelative;\n}\nvoid applyHUDVerticalGroundOffset(vec3 normalModel, inout vec3 posModel, inout vec3 posView) {\n float distanceToCamera = length(posView);\n float pixelOffset = distanceToCamera * perDistancePixelRatio * 0.5;\n vec3 modelOffset = normalModel * cameraGroundRelative * pixelOffset;\n vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;\n posModel += modelOffset;\n posView += viewOffset;\n}\nvec4 projectPositionHUD(out ProjectHUDAux aux) {\n vec3 centerOffset = auxpos1.xyz;\n float pointGroundDistance = auxpos1.w;\n aux.posModel = (model * vec4(position, 1.0)).xyz;\n aux.posView = (view * vec4(aux.posModel, 1.0)).xyz;\n aux.vnormal = (modelNormal * vec4(normal, 1.0)).xyz;\n applyHUDVerticalGroundOffset(aux.vnormal, aux.posModel, aux.posView);\n aux.distanceToCamera = length(aux.posView);\n vec3 viewDirObjSpace = normalize(camPos - aux.posModel);\n float cosAngle = dot(aux.vnormal, viewDirObjSpace);\n aux.absCosAngle = abs(cosAngle);\n#ifdef SCREEN_SIZE_PERSPECTIVE\n#if defined(VERTICAL_OFFSET) || defined(CENTER_OFFSET_UNITS_SCREEN)\n vec4 perspectiveFactor = screenSizePerspectiveScaleFactor(aux.absCosAngle, aux.distanceToCamera, screenSizePerspectiveAlignment);\n#endif\n#endif\n#ifdef VERTICAL_OFFSET\n#ifdef SCREEN_SIZE_PERSPECTIVE\n float verticalOffsetScreenHeight = applyScreenSizePerspectiveScaleFactorFloat(verticalOffset.x, perspectiveFactor);\n#else\n float verticalOffsetScreenHeight = verticalOffset.x;\n#endif\n float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * aux.distanceToCamera, verticalOffset.z, verticalOffset.w);\n vec3 modelOffset = aux.vnormal * worldOffset;\n aux.posModel += modelOffset;\n vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;\n aux.posView += viewOffset;\n pointGroundDistance += worldOffset;\n#endif\n float groundRelative = applyHUDViewDependentPolygonOffset(pointGroundDistance, aux.absCosAngle, aux.posView);\n#ifndef CENTER_OFFSET_UNITS_SCREEN\n aux.posView += vec3(centerOffset.x, centerOffset.y, 0.0);\n if (centerOffset.z != 0.0) {\n aux.posView -= normalize(aux.posView) * centerOffset.z;\n }\n#endif\n vec4 posProj = proj * vec4(aux.posView, 1.0);\n#ifdef CENTER_OFFSET_UNITS_SCREEN\n#ifdef SCREEN_SIZE_PERSPECTIVE\n float centerOffsetY = applyScreenSizePerspectiveScaleFactorFloat(centerOffset.y, perspectiveFactor);\n#else\n float centerOffsetY = centerOffset.y;\n#endif\n posProj.xy += vec2(centerOffset.x, centerOffsetY) * pixelRatio * 2.0 / viewport.zw * posProj.w;\n#endif\n posProj.z -= groundRelative * polygonOffset * posProj.w;\n return posProj;\n}\nuniform float uRenderTransparentlyOccludedHUD;\nbool testVisibilityHUD(vec4 posProj) {\n vec4 posProjCenter = alignToPixelCenter(posProj, viewport.zw);\n vec4 occlusionPixel = texture2D(hudVisibilityTexture, .5 + .5 * posProjCenter.xy / posProjCenter.w);\n if (uRenderTransparentlyOccludedHUD > 0.5) {\n return occlusionPixel.r * occlusionPixel.g > 0.0 && occlusionPixel.g * uRenderTransparentlyOccludedHUD < 1.0;\n }\n return occlusionPixel.r * occlusionPixel.g > 0.0 && occlusionPixel.g == 1.0;\n}", "quad.vert": "#include <util/vsPrecision.glsl>\nattribute vec2 position;\nvarying vec2 uv;\nvoid main(void) {\n gl_Position = vec4(position.x, position.y, .0, 1.0);\n uv = position * .5 + vec2(.5);\n}", "screenSizePerspective.glsl": "float screenSizePerspectiveMinSize(float size, vec4 factor) {\n float nonZeroSize = 1.0 - step(size, 0.0);\n return (\n factor.z * (\n 1.0 +\n nonZeroSize *\n 2.0 * factor.w / (\n size + (1.0 - nonZeroSize)\n )\n )\n );\n}\nfloat screenSizePerspectiveViewAngleDependentFactor(float absCosAngle) {\n return absCosAngle * absCosAngle * absCosAngle;\n}\nvec4 screenSizePerspectiveScaleFactor(float absCosAngle, float distanceToCamera, vec4 params) {\n return vec4(min(params.x / (distanceToCamera - params.y), 1.0), screenSizePerspectiveViewAngleDependentFactor(absCosAngle), params.z, params.w);\n}\nfloat applyScreenSizePerspectiveScaleFactorFloat(float size, vec4 factor) {\n return max(mix(size * factor.x, size, factor.y), screenSizePerspectiveMinSize(size, factor));\n}\nfloat screenSizePerspectiveScaleFloat(float size, float absCosAngle, float distanceToCamera, vec4 params) {\n return applyScreenSizePerspectiveScaleFactorFloat(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));\n}\nvec2 applyScreenSizePerspectiveScaleFactorVec2(vec2 size, vec4 factor) {\n return mix(size * clamp(factor.x, screenSizePerspectiveMinSize(size.y, factor) / size.y, 1.0), size, factor.y);\n}\nvec2 screenSizePerspectiveScaleVec2(vec2 size, float absCosAngle, float distanceToCamera, vec4 params) {\n return applyScreenSizePerspectiveScaleFactorVec2(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));\n}", "slice.glsl": "#ifdef SLICE\nuniform vec3 slicePlaneOrigin;\nuniform vec3 slicePlaneBasis1;\nuniform vec3 slicePlaneBasis2;\nstruct SliceFactors {\n float front;\n float side0;\n float side1;\n float side2;\n float side3;\n};\nSliceFactors calculateSliceFactors(vec3 pos) {\n vec3 rel = pos - slicePlaneOrigin;\n vec3 slicePlaneNormal = -cross(slicePlaneBasis1, slicePlaneBasis2);\n float slicePlaneW = -dot(slicePlaneNormal, slicePlaneOrigin);\n float basis1Len2 = dot(slicePlaneBasis1, slicePlaneBasis1);\n float basis2Len2 = dot(slicePlaneBasis2, slicePlaneBasis2);\n float basis1Dot = dot(slicePlaneBasis1, rel);\n float basis2Dot = dot(slicePlaneBasis2, rel);\n return SliceFactors(\n dot(slicePlaneNormal, pos) + slicePlaneW,\n -basis1Dot - basis1Len2,\n basis1Dot - basis1Len2,\n -basis2Dot - basis2Len2,\n basis2Dot - basis2Len2\n );\n}\nbool sliceByFactors(SliceFactors factors) {\n return factors.front < 0.0\n && factors.side0 < 0.0\n && factors.side1 < 0.0\n && factors.side2 < 0.0\n && factors.side3 < 0.0;\n}\nbool sliceByPlane(vec3 pos) {\n return sliceByFactors(calculateSliceFactors(pos));\n}\n#ifdef EXTENSIONS_ENABLED\nvec4 applySliceHighlight(vec4 color, vec3 pos) {\n SliceFactors factors = calculateSliceFactors(pos);\n if (sliceByFactors(factors)) {\n return color;\n }\n const float HIGHLIGHT_WIDTH = 1.0;\n const vec4 HIGHLIGHT_COLOR = vec4(0.0, 0.0, 0.0, 0.3);\n factors.front /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.front);\n factors.side0 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side0);\n factors.side1 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side1);\n factors.side2 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side2);\n factors.side3 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side3);\n float highlightFactor = (1.0 - step(0.5, factors.front))\n * (1.0 - step(0.5, factors.side0))\n * (1.0 - step(0.5, factors.side1))\n * (1.0 - step(0.5, factors.side2))\n * (1.0 - step(0.5, factors.side3));\n return mix(color, vec4(HIGHLIGHT_COLOR.rgb, color.a), highlightFactor * HIGHLIGHT_COLOR.a);\n}\n#else\n#endif\n#define rejectBySlice(_pos_) sliceByPlane(_pos_)\n#define discardBySlice(_pos_) { if (sliceByPlane(_pos_)) discard; }\n#ifdef SLICE_HIGHLIGHT_DISABLED\n#define highlightSlice(_color_, _pos_) (_color_)\n#else\n#define highlightSlice(_color_, _pos_) applySliceHighlight(_color_, _pos_)\n#endif\n#else\n#define rejectBySlice(_pos_) false\n#define discardBySlice(_pos_) {}\n#define highlightSlice(_color_, _pos_) (_color_)\n#endif", "transform.glsl": "vec4 transformPosition(mat4 proj, mat4 view, vec3 pos) {\n return proj * (view * vec4(pos, 1.0));\n}\nvec4 transformPositionWithDepth(mat4 proj, mat4 view, vec3 pos, vec2 nearFar, out float depth) {\n vec4 eye = view * vec4(pos, 1.0);\n depth = (-eye.z - nearFar[0]) / (nearFar[1] - nearFar[0]) ;\n return proj * eye;\n}", "visualVariables.glsl": "#ifdef VV_COLOR\n #define VV_COLOR_N 8\n uniform float vvColorValues[VV_COLOR_N];\n uniform vec4 vvColorColors[VV_COLOR_N];\n#endif\n#ifdef VV_SIZE\n uniform vec3 vvSizeMinSize;\n uniform vec3 vvSizeMaxSize;\n uniform vec3 vvSizeOffset;\n uniform vec3 vvSizeFactor;\n uniform mat3 vvSymbolRotationMatrix;\n uniform vec3 vvSymbolAnchor;\n vec3 vvGetScale(vec4 featureAttribute) {\n return clamp(vvSizeOffset + featureAttribute.x * vvSizeFactor, vvSizeMinSize, vvSizeMaxSize);\n }\n vec4 vvTransformPosition(vec3 position, vec4 featureAttribute) {\n return vec4(vvSymbolRotationMatrix * (vvGetScale(featureAttribute) * (position + vvSymbolAnchor)), 1.0);\n }\n vec4 vvTransformNormal(vec3 normal, vec4 featureAttribute) {\n return vec4(vvSymbolRotationMatrix * normal / vvGetScale(featureAttribute), 1.0);\n }\n#endif\n#ifdef VV_COLOR\n vec4 vvGetColor(vec4 featureAttribute, float values[VV_COLOR_N], vec4 colors[VV_COLOR_N]) {\n float value = featureAttribute.y;\n if (value <= values[0]) {\n return colors[0];\n }\n for (int i = 1; i < VV_COLOR_N; ++i) {\n if (values[i] >= value) {\n float f = (value - values[i-1]) / (values[i] - values[i-1]);\n return mix(colors[i-1], colors[i], f);\n }\n }\n return colors[VV_COLOR_N - 1];\n }\n#endif", "vsPrecision.glsl": "precision highp float;\nprecision highp sampler2D;" } }; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/interactive/Manipulator3D.js": /*!***********************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/interactive/Manipulator3D.js ***! \***********************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViewsInteractiveManipulator3DJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../core/tsSupport/decorateHelper */ "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__( /*! ../../core/tsSupport/declareExtendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__( /*! ../../core/tsSupport/assignHelper */ "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__( /*! ../../core/Accessor */ "./node_modules/arcgis-js-api/core/Accessor.js"), __webpack_require__( /*! ../../core/compilerUtils */ "./node_modules/arcgis-js-api/core/compilerUtils.js"), __webpack_require__( /*! ../../core/Evented */ "./node_modules/arcgis-js-api/core/Evented.js"), __webpack_require__( /*! ../../core/maybe */ "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__( /*! ../../core/screenUtils */ "./node_modules/arcgis-js-api/core/screenUtils.js"), __webpack_require__( /*! ../../core/accessorSupport/decorators */ "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__( /*! ../../core/accessorSupport/ensureType */ "./node_modules/arcgis-js-api/core/accessorSupport/ensureType.js"), __webpack_require__( /*! ../../core/libs/gl-matrix-2/mat3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat3.js"), __webpack_require__( /*! ../../core/libs/gl-matrix-2/mat3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat3f64.js"), __webpack_require__( /*! ../../core/libs/gl-matrix-2/mat4 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4.js"), __webpack_require__( /*! ../../core/libs/gl-matrix-2/mat4f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4f64.js"), __webpack_require__( /*! ../../core/libs/gl-matrix-2/vec2 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec2.js"), __webpack_require__( /*! ../../core/libs/gl-matrix-2/vec2f32 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec2f32.js"), __webpack_require__( /*! ../../core/libs/gl-matrix-2/vec3 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__( /*! ../../core/libs/gl-matrix-2/vec3f64 */ "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__( /*! ../../geometry/support/aaBoundingRect */ "./node_modules/arcgis-js-api/geometry/support/aaBoundingRect.js"), __webpack_require__( /*! ../../layers/graphics/dehydratedFeatures */ "./node_modules/arcgis-js-api/layers/graphics/dehydratedFeatures.js"), __webpack_require__( /*! ../3d/support/geometryUtils */ "./node_modules/arcgis-js-api/views/3d/support/geometryUtils.js"), __webpack_require__( /*! ../3d/support/projectionUtils */ "./node_modules/arcgis-js-api/views/3d/support/projectionUtils.js"), __webpack_require__( /*! ../3d/support/stack */ "./node_modules/arcgis-js-api/views/3d/support/stack.js"), __webpack_require__( /*! ../3d/webgl-engine/lib/Intersector */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Intersector.js"), __webpack_require__( /*! ../3d/webgl-engine/lib/intersectorUtils */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/intersectorUtils.js"), __webpack_require__( /*! ../3d/webgl-engine/lib/Layer */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Layer.js"), __webpack_require__( /*! ../3d/webgl-engine/lib/Object3D */ "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Object3D.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, i, n, o, s, a, c, l, p, u, d, h, f, g, _, y, b, m, v, P, S, O, j, R, T, A, w) { function M(e) { return 0 !== e[12] || 0 !== e[13] || 0 !== e[14]; } Object.defineProperty(t, "__esModule", { value: !0 }); var E = function (e) { function t(t) { var r = e.call(this, t) || this; return r.hideOnGrab = !1, r.moveOnDrag = !0, r.snapToPointer = !0, r.collisionType = { type: "point" }, r.collisionPriority = 0, r.renderObjects = [], r.autoScaleRenderObjects = !0, r._radius = 10, r._worldSized = !1, r._focusMultiplier = 2, r._touchMultiplier = 2.5, r.interactive = !0, r.selectable = !1, r.cursor = null, r.dragging = !1, r._areAnyEngineObjectsVisible = !1, r.events = new a({ target: r }), r._position = m.vec3f64.create(), r._modelTransform = g.mat4f64.create(), r._dragOffset = null, r._dirtyScreenPoint = l.createScreenPoint(), r._dirtyScreenPointArray = l.createScreenPointArray(), r._dirtyRenderScreenPointArray = l.createRenderScreenPointArray3(), r._dirtyOriginScreenPointArray = l.createScreenPointArray(), r._dirtyScreenPixelSize = 1, r._screenPositionDirty = !0, r._engineResourcesAddedToStage = !1, r._engineResources = null, r._attached = !1, r._engineLayerId = null, r._materialIdReferences = null, r._hitResult = { onSurface: !1, surfaceType: "ground" }, r; } return i(t, e), t.prototype.initialize = function () { var e = this; this._intersector = new R(this.view.viewingMode), this._mapPoint = P.makeDehydratedPoint(0, 0, 0, this.view.spatialReference), this.events.on("drag", function (t) { return e.drag(t); }); }, t.prototype.destroy = function () { this._removeResourcesFromStage(), this._engineResources = null, this._set("view", null), this._camera = null; }, Object.defineProperty(t.prototype, "alignment", { get: function get() { return this._get("alignment"); }, set: function set(e) { this._set("alignment", e), this.constructed && this._refreshMapPoint(); }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "visible", { set: function set(e) { e !== this._get("visible") && (this._set("visible", e), this._updateEngineObject()); }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "radius", { get: function get() { return this._radius; }, set: function set(e) { e !== this._radius && (this._radius = e, this._updateEngineObject()); }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "worldSized", { get: function get() { return this._worldSized; }, set: function set(e) { e !== this._worldSized && (this._worldSized = e, this._updateEngineObject()); }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "focusMultiplier", { get: function get() { return this._focusMultiplier; }, set: function set(e) { this._focusMultiplier = e; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "touchMultiplier", { get: function get() { return this._touchMultiplier; }, set: function set(e) { this._touchMultiplier = e; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "modelTransform", { get: function get() { return this._modelTransform; }, set: function set(e) { M(e) && (this._screenPositionDirty = !0), f.mat4.copy(this._modelTransform, e), this._updateEngineObject(); }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "position", { get: function get() { return this._position; }, set: function set(e) { this.view.renderCoordsHelper.fromRenderCoords(e, this._mapPoint, this._mapPoint.spatialReference), this._refreshMapPoint(); }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "mapPoint", { get: function get() { return this._mapPoint; }, set: function set(e) { P.clonePoint(e, this._mapPoint), this._refreshMapPoint(); }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "grabbing", { set: function set(e) { e !== this._get("grabbing") && (this._set("grabbing", e), this._updateEngineObject()), e || (this._dragOffset = null); }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "hovering", { set: function set(e) { e !== this._get("hovering") && (this._set("hovering", e), this._updateEngineObject()); }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "selected", { set: function set(e) { e !== this._get("selected") && (this._set("selected", e), this._updateEngineObject()); }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "state", { set: function set(e) { e !== this._get("state") && (this._set("state", e), this._updateEngineObject()); }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "areAnyEngineObjectsVisible", { get: function get() { return this._areAnyEngineObjectsVisible; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "surfaceType", { get: function get() { return this._hitResult.onSurface ? this._hitResult.surfaceType : null; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "focused", { get: function get() { return this._focused; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "_focused", { get: function get() { return this._get("hovering") || this._get("grabbing"); }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "screenPoint", { get: function get() { return this._updateScreenSpaceProperties(), this._dirtyScreenPoint; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "_screenPointArray", { get: function get() { return this._updateScreenSpaceProperties(), this._dirtyScreenPointArray; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "_renderScreenPointArray", { get: function get() { return this._updateScreenSpaceProperties(), this._dirtyRenderScreenPointArray; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "_originScreenPointArray", { get: function get() { return this._updateScreenSpaceProperties(), this._dirtyOriginScreenPointArray; }, enumerable: !0, configurable: !0 }), Object.defineProperty(t.prototype, "_screenPixelSize", { get: function get() { return this._updateScreenSpaceProperties(), this._dirtyScreenPixelSize; }, enumerable: !0, configurable: !0 }), t.prototype._updateScreenSpaceProperties = function () { if (this._screenPositionDirty) { this._screenPositionDirty = !1, this._dirtyScreenPixelSize = this._camera.computeScreenPixelSizeAt(this._position); var e, t = M(this._modelTransform); if (t) { var r = this._calculateModelTransformOffset(U); e = b.vec3.add(r, r, this._position); } else e = this._position; this._camera.projectPoint(e, this._dirtyRenderScreenPointArray), this._camera.renderToScreen(this._dirtyRenderScreenPointArray, this._dirtyScreenPointArray), l.screenPointArrayToObject(this._dirtyScreenPointArray, this._dirtyScreenPoint), t ? (this._camera.projectPoint(this._position, D), this._camera.renderToScreen(D, this._dirtyOriginScreenPointArray)) : _.vec2.copy(this._dirtyOriginScreenPointArray, this._dirtyScreenPointArray); } }, t.prototype.intersectionDistance = function (e, t) { if (!this._get("visible")) return null; var r = l.screenPointObjectToArray(e, x), i = this._getCollisionRadius(t), n = -1 * this._get("collisionPriority"); switch (this.collisionType.type) { case "point": if (_.vec2.squaredDistance(this._screenPointArray, r) < i * i) return this._renderScreenPointArray[2] + n; break; case "line": for (var o = this.collisionType.paths, a = this._getWorldToScreenObjectScale(), c = this._calculateObjectTransform(a, N), p = i * this._screenPixelSize, u = S.ray.fromScreen(this._camera, r, C), h = 0, f = o; h < f.length; h++) { var g = f[h]; if (0 !== g.length) for (var y = b.vec3.transformMat4(H, g[0], c), m = 1; m < g.length; m++) { var v = b.vec3.transformMat4(V, g[m], c), P = S.lineSegment.closestRayDistance2(S.lineSegment.fromPoints(y, v, z), u); if (null != P && P < p * p) { var O = b.vec3.add(j.sv3d.get(), y, v); b.vec3.scale(O, O, .5); var R = l.castRenderScreenPointArray(j.sv3d.get()); return this._camera.projectPoint(O, R), R[2] + n; } b.vec3.copy(y, v); } } break; case "disc": var T = this.collisionType.direction, a = this._getWorldToScreenObjectScale(), c = this._calculateObjectTransform(a, N), p = i * this._screenPixelSize, u = S.ray.fromScreen(this._camera, r, C), A = d.mat3.fromMat4(k, c), w = b.vec3.transformMat3(B, T, A), M = this._calculateModelTransformPosition(G); S.plane.fromPositionAndNormal(M, w, F); var E = W; if (S.plane.intersectRay(F, u, E) && b.vec3.squaredDistance(E, M) < p * p) return this._renderScreenPointArray[2] + n; break; case "ribbon": var I = this.collisionType, o = I.paths, T = I.direction, a = this._getWorldToScreenObjectScale(), c = this._calculateObjectTransform(a, N), p = i * this._camera.computeScreenPixelSizeAt(this._position), u = S.ray.fromScreen(this._camera, r, C), A = d.mat3.fromMat4(k, c), w = b.vec3.transformMat3(B, T, A), M = this._calculateModelTransformPosition(G); S.plane.fromPositionAndNormal(M, w, F); var E = W; if (!S.plane.intersectRay(F, u, E)) break; for (var D = 0, L = o; D < L.length; D++) { var g = L[D]; if (0 !== g.length) for (var y = b.vec3.transformMat4(H, g[0], c), m = 1; m < g.length; m++) { var v = b.vec3.transformMat4(V, g[m], c), P = S.lineSegment.distance2(S.lineSegment.fromPoints(y, v, z), E); if (null != P && P < p * p) { var O = b.vec3.add(j.sv3d.get(), y, v); b.vec3.scale(O, O, .5); var R = l.castRenderScreenPointArray(j.sv3d.get()); return this._camera.projectPoint(O, R), R[2] + n; } b.vec3.copy(y, v); } } break; default: s.neverReached(this.collisionType); } return null; }, t.prototype.drag = function (e) { if (this.moveOnDrag) { var t = l.screenPointObjectToArray(e.screenPoint, x); c.isNone(this._dragOffset) && this.grabbing && !this.snapToPointer && (this._dragOffset = _.vec2.subtract(y.vec2f32.create(), t, this._originScreenPointArray)), c.isSome(this._dragOffset) && _.vec2.subtract(t, t, this._dragOffset), this.view.sceneIntersectionHelper.intersectToolIntersectorScreen(t, this._intersector, "on-the-ground" === this.alignment ? I : null); var r = this._intersector.results.min, i = W; r.getIntersectionPoint(i) ? (this.position = i, this._hitResult.onSurface = !0, this._hitResult.surfaceType = "TerrainRenderer" === r.intersector ? "ground" : "feature") : this._hitResult.onSurface = !1; } }, t.prototype.attach = function (e) { if (void 0 === e && (e = { manipulator3D: {} }), this.view._stage) { var t = e.manipulator3D; if (this._engineLayerId = t.engineLayerId, c.isNone(this._engineLayerId)) { var r = new A("manipulator-3d", { isPickable: !1 }); this.view._stage.add(0, r), this.view._stage.addToViewContent([r.id]), this._engineLayerId = r.id, t.engineLayerId = r.id; } t.engineLayerReferences = (t.engineLayerReferences || 0) + 1, this._materialIdReferences = t.materialIdReferences, c.isNone(this._materialIdReferences) && (this._materialIdReferences = new Map(), t.materialIdReferences = this._materialIdReferences), this._camera = this.view.state.camera, this._attached = !0, this._updateEngineObject(), O.canProject(this._mapPoint.spatialReference, this.view.spatialReference) || (this.mapPoint = P.makeDehydratedPoint(0, 0, 0, this.view.spatialReference)); } }, t.prototype.detach = function (e) { void 0 === e && (e = { manipulator3D: {} }); var t = e.manipulator3D; t.engineLayerReferences--; var r = 0 === t.engineLayerReferences; r && (t.engineLayerId = null), this._removeResourcesFromStage(r), this._engineResources = null, this._engineLayerId = null, this._materialIdReferences = null, this._camera = null, this._attached = !1; }, t.prototype.onViewChange = function () { this._camera = this.view.state.camera, this._screenPositionDirty = !0, this._updateEngineObject(); }, t.prototype.onElevationChange = function (e) { this.view.renderCoordsHelper.fromRenderCoords(this.position, q, e.spatialReference) && v.containsPoint(e.extent, q) && this._refreshMapPoint(!0); }, t.prototype._refreshMapPoint = function (e) { switch (void 0 === e && (e = !1), this.alignment) { case "none": break; case "on-the-ground": var t = this.view.elevationProvider.getElevation(this.mapPoint, "ground"); if (!(t !== this._mapPoint.z || !e)) return; this._mapPoint.z = t; break; default: s.neverReached(this.alignment); } this._screenPositionDirty = !0, this._hitResult.onSurface = !1, this.view.renderCoordsHelper.toRenderCoords(this._mapPoint, this._position), this._updateEngineObject(); }, t.prototype._updateEngineObject = function () { if (this._areAnyEngineObjectsVisible = !1, this._attached) { if (!1 === this._get("visible")) return void this._removeResourcesFromStage(); var e = this._getWorldToScreenObjectScale(), t = N; if (!0 === this._get("autoScaleRenderObjects")) { var r = this._getFocusedSize(this._radius, this._focused) * e; this._calculateObjectTransform(r, t); } else this._calculateObjectTransform(e, t); for (var i = this._ensureEngineResources().objectsByState, n = (this._focused ? 2 : 1) | (this._get("selected") ? 8 : 4), o = this._get("hideOnGrab") && this._get("grabbing"), s = 0, a = i; s < a.length; s++) { var c = a[s], l = c.stateMask, p = c.objects; if (o) for (var u = 0, d = p; u < d.length; u++) { var h = d[u]; h.hideAllComponents(); } else { var f = 0 != (15 & l), g = 0 != (65520 & l), _ = !f || (n & l) == (15 & l), y = !g || (this._get("state") & l) == (65520 & l); if (_ && y) for (var b = 0, m = p; b < m.length; b++) { var h = m[b]; h.unhideAllComponents(), h.objectTransformation = t, this._areAnyEngineObjectsVisible = !0; } else for (var v = 0, P = p; v < P.length; v++) { var h = P[v]; h.hideAllComponents(); } } } } }, t.prototype._ensureEngineResources = function () { if (c.isNone(this._engineResources)) { var e = this.view._stage.getContent(0, c.expect(this._engineLayerId)), t = [], r = new Set(); this.renderObjects.forEach(function (e) { var i = e.material; r.has(i) || (t.push(i), r.add(i)); }); var i = function i(e, t) { var r = t.geometry, i = t.material, n = t.transform; Array.isArray(r) ? r.forEach(function (t) { return e.addGeometry(t, i, n); }) : e.addGeometry(r, i, n); }, n = new Map(); this.renderObjects.forEach(function (e) { var t = new w({ idHint: "manipulator" }); i(t, e); var r = e.stateMask || 0, o = n.get(r) || []; o.push(t), n.set(r, o); }); var o = []; n.forEach(function (e, t) { o.push({ stateMask: t, objects: e }); }), this._engineResources = { objectsByState: o, layer: e, materials: t }; } return this._addResourcesToStage(), this._engineResources; }, t.prototype._addResourcesToStage = function () { var e = this; if (!this._engineResourcesAddedToStage && !c.isNone(this._engineResources)) { var t = this._engineResources, r = t.objectsByState, i = t.layer; t.materials.forEach(function (t) { var r = c.expect(e._materialIdReferences), i = r.get(t.id) || 0; 0 === i && e.view._stage.add(3, t), r.set(t.id, i + 1); }), r.forEach(function (t) { t.objects.forEach(function (t) { i.addObject(t), e.view._stage.add(1, t); }); }), this._engineResourcesAddedToStage = !0; } }, t.prototype._removeResourcesFromStage = function (e) { var t = this; if (void 0 === e && (e = !1), this._engineResourcesAddedToStage && !c.isNone(this._engineResources)) { var r = this._engineResources, i = r.objectsByState, n = r.layer, o = r.materials; i.forEach(function (e) { e.objects.forEach(function (e) { n.removeObject(e), t.view._stage.remove(1, e.id); }); }), o.forEach(function (e) { var r = c.expect(t._materialIdReferences), i = r.get(e.id); 1 === i ? (t.view._stage.remove(3, e.id), r["delete"](e.id)) : r.set(e.id, i - 1); }), e && this.view._stage.remove(0, n.id), this._engineResourcesAddedToStage = !1; } }, t.prototype._getCollisionRadius = function (e) { return this._getFocusedSize(this._radius, !0) * ("touch" === e ? this._touchMultiplier : 1); }, t.prototype._getFocusedSize = function (e, t) { return e * (t ? this._focusMultiplier : 1); }, t.prototype._getWorldToScreenObjectScale = function () { return this._worldSized ? 1 : this._screenPixelSize; }, t.prototype._calculateModelTransformPosition = function (e) { var t = this._getWorldToScreenObjectScale(), r = this._calculateObjectTransform(t, L); return b.vec3.set(e, r[12], r[13], r[14]); }, t.prototype._calculateModelTransformOffset = function (e) { var t = this._calculateModelTransformPosition(e); return b.vec3.subtract(e, t, this._position); }, t.prototype._calculateObjectTransform = function (e, t) { return f.mat4.set(t, e, 0, 0, 0, 0, e, 0, 0, 0, 0, e, 0, 0, 0, 0, 1), f.mat4.multiply(t, t, this._modelTransform), t[12] += this._position[0], t[13] += this._position[1], t[14] += this._position[2], t[15] = 1, t; }, r([p.property({ constructOnly: !0, nonNullable: !0 })], t.prototype, "view", void 0), r([p.property({ value: "none", nonNullable: !0 })], t.prototype, "alignment", null), r([p.property()], t.prototype, "hideOnGrab", void 0), r([p.property()], t.prototype, "moveOnDrag", void 0), r([p.property()], t.prototype, "snapToPointer", void 0), r([p.property()], t.prototype, "collisionType", void 0), r([p.property({ type: u.Integer })], t.prototype, "collisionPriority", void 0), r([p.property({ constructOnly: !0 })], t.prototype, "renderObjects", void 0), r([p.property()], t.prototype, "autoScaleRenderObjects", void 0), r([p.property({ value: !0 })], t.prototype, "visible", null), r([p.property()], t.prototype, "radius", null), r([p.property()], t.prototype, "worldSized", null), r([p.property()], t.prototype, "focusMultiplier", null), r([p.property()], t.prototype, "touchMultiplier", null), r([p.property()], t.prototype, "interactive", void 0), r([p.property()], t.prototype, "selectable", void 0), r([p.property()], t.prototype, "cursor", void 0), r([p.property({ value: !1 })], t.prototype, "grabbing", null), r([p.property()], t.prototype, "dragging", void 0), r([p.property({ value: !1 })], t.prototype, "hovering", null), r([p.property({ value: !1 })], t.prototype, "selected", null), r([p.property({ value: 0 })], t.prototype, "state", null), r([p.property({ dependsOn: ["hovering", "grabbing"] })], t.prototype, "focused", null), t = r([p.subclass("esri.views.interactive.Manipulator3D")], t); }(p.declared(o)); t.Manipulator3D = E; var I = { include: new Set() }; I.include.add(T.TERRAIN_ID); var x = l.createScreenPointArray(), D = l.createRenderScreenPointArray3(), z = S.lineSegment.create(), C = S.ray.create(), k = h.mat3f64.create(), L = g.mat4f64.create(), N = g.mat4f64.create(), F = S.plane.create(), H = m.vec3f64.create(), V = m.vec3f64.create(), W = m.vec3f64.create(), B = m.vec3f64.create(), G = m.vec3f64.create(), U = m.vec3f64.create(), q = m.vec3f64.create(); }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/overlay/LineOverlayItem.js": /*!*********************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/overlay/LineOverlayItem.js ***! \*********************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViewsOverlayLineOverlayItemJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../core/tsSupport/declareExtendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__( /*! ../../core/tsSupport/decorateHelper */ "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__( /*! ../../core/Accessor */ "./node_modules/arcgis-js-api/core/Accessor.js"), __webpack_require__( /*! ../../core/accessorSupport/decorators */ "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__( /*! ../../libs/maquette/index */ "./node_modules/arcgis-js-api/libs/maquette/index.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, r, i, o, s, n) { var p = function (t) { function e(e) { var r = t.call(this, e) || this; return r.startX = 0, r.startY = 0, r.endX = 0, r.endY = 0, r.width = 1, r.color = [0, 0, 0, .5], r.visible = !0, r; } return r(e, t), Object.defineProperty(e.prototype, "startPosition", { get: function get() { return [this.startX, this.startY]; }, set: function set(t) { this._set("startX", t[0]), this._set("startY", t[1]); }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "endPosition", { get: function get() { return [this.endX, this.endY]; }, set: function set(t) { this._set("endX", t[0]), this._set("endY", t[1]); }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "strokeStyle", { get: function get() { var t = this.color; return "rgba(" + t[0] + ", " + t[1] + ", " + t[2] + ", " + t[3] + ")"; }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "lineCap", { get: function get() { return "round"; }, enumerable: !0, configurable: !0 }), e.prototype.render = function () { var t = this.calculateCoordinates(a), e = t.height, r = t.left, i = t.top, o = t.width, s = t.x1, p = t.x2, h = t.y1, d = t.y2, l = "stroke: " + this.strokeStyle + "; stroke-width: " + this.width + "; stroke-linecap: " + this.lineCap + ";"; return n.h("div", { classes: { "esri-line-overlay-item": !0 }, styles: { left: r + "px", top: i + "px", width: o + "px", height: e + "px", visibility: this.visible ? "visible" : "hidden" } }, [n.h("svg", { width: o, height: e }, [n.h("line", { x1: s, y1: h, x2: p, y2: d, style: l })])]); }, e.prototype.renderCanvas = function (t) { if (this.visible) { t.strokeStyle = this.strokeStyle, t.lineWidth = this.width, t.lineCap = this.lineCap; var e = this.calculateCoordinates(a); t.beginPath(), t.moveTo(e.left + e.x1, e.top + e.y1), t.lineTo(e.left + e.x2, e.top + e.y2), t.stroke(); } }, e.prototype.calculateCoordinates = function (t) { var e = Math.min(this.startX, this.endX), r = Math.max(this.startX, this.endX), i = Math.min(this.startY, this.endY), o = Math.max(this.startY, this.endY), s = this.width; return t.left = e - s, t.top = i - s, t.width = r - e + 2 * s, t.height = Math.max(20, o - i + 2 * s), t.x1 = this.startX - e + s, t.y1 = this.startY - i + s, t.x2 = this.endX - e + s, t.y2 = this.endY - i + s, t; }, i([s.property()], e.prototype, "startX", void 0), i([s.property()], e.prototype, "startY", void 0), i([s.property()], e.prototype, "endX", void 0), i([s.property()], e.prototype, "endY", void 0), i([s.property({ dependsOn: ["startX", "startY"] })], e.prototype, "startPosition", null), i([s.property({ dependsOn: ["endX", "endY"] })], e.prototype, "endPosition", null), i([s.property()], e.prototype, "width", void 0), i([s.property()], e.prototype, "color", void 0), i([s.property()], e.prototype, "visible", void 0), i([s.property({ readOnly: !0, dependsOn: ["color"] })], e.prototype, "strokeStyle", null), e = i([s.subclass("esri.views.overlay.LineOverlayItem")], e); }(s.declared(o)), a = { left: 0, top: 0, width: 0, height: 0, x1: 0, y1: 0, x2: 0, y2: 0 }; return p; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ }, /***/ "./node_modules/arcgis-js-api/views/overlay/TextOverlayItem.js": /*!*********************************************************************!*\ !*** ./node_modules/arcgis-js-api/views/overlay/TextOverlayItem.js ***! \*********************************************************************/ /*! no static exports found */ /***/ function node_modulesArcgisJsApiViewsOverlayTextOverlayItemJs(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // This material is licensed for use under the Esri Master License // Agreement (MLA), and is bound by the terms of that agreement. // You may redistribute and use this code without modification, // provided you adhere to the terms of the MLA and include this // copyright notice. // // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english // // For additional information, contact: // Environmental Systems Research Institute, Inc. // Attn: Contracts and Legal Services Department // 380 New York Street // Redlands, California, USA 92373 // USA // // email: contracts@esri.com // // See http://js.arcgis.com/4.14/esri/copyright.txt for details. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__( /*! ../../core/tsSupport/declareExtendsHelper */ "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__( /*! ../../core/tsSupport/decorateHelper */ "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__( /*! ../../core/Accessor */ "./node_modules/arcgis-js-api/core/Accessor.js"), __webpack_require__( /*! ../../core/accessorSupport/decorators */ "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__( /*! ../../libs/maquette/index */ "./node_modules/arcgis-js-api/libs/maquette/index.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, o, r, i, n, l) { for (var s = { bottom: "esri-text-overlay-item-anchor-bottom", "bottom-right": "esri-text-overlay-item-anchor-bottom-right", "bottom-left": "esri-text-overlay-item-anchor-bottom-left", top: "esri-text-overlay-item-anchor-top", "top-right": "esri-text-overlay-item-anchor-top-right", "top-left": "esri-text-overlay-item-anchor-top-left", center: "esri-text-overlay-item-anchor-center", right: "esri-text-overlay-item-anchor-right", left: "esri-text-overlay-item-anchor-left" }, a = function (t) { function e(e) { var o = t.call(this, e) || this; return o.x = 0, o.y = 0, o.text = "-", o.fontSize = 14, o.anchor = "center", o.visible = !0, o.backgroundColor = "rgba(0, 0, 0, 0.6)", o.textColor = "white", o.textShadowColor = [0, 0, 0], o.textShadowSize = 1, o; } return o(e, t), Object.defineProperty(e.prototype, "position", { get: function get() { return [this.x, this.y]; }, set: function set(t) { this._set("x", t[0]), this._set("y", t[1]); }, enumerable: !0, configurable: !0 }), Object.defineProperty(e.prototype, "padding", { get: function get() { return .5 * this.fontSize; }, enumerable: !0, configurable: !0 }), e.prototype.render = function () { return l.h("div", { classes: this._cssClasses(), styles: { left: Math.floor(this.x) + "px", top: Math.floor(this.y) + "px", visibility: this.visible ? "visible" : "hidden", fontSize: this.fontSize + "px", backgroundColor: this.backgroundColor, color: this.textColor, padding: this.padding + "px", borderRadius: this.padding + "px", textShadow: "0 0 " + this.textShadowSize + "px rgb(" + this.textShadowColor[0] + ", " + this.textShadowColor[1] + ", " + this.textShadowColor[2] + ")" } }, [this.text]); }, e.prototype.renderCanvas = function (t) { if (this.visible) { var e = t.font.replace(/^(.*?)px/, ""); t.font = this.fontSize + "px " + e; var o = this.padding, r = this.padding, i = t.measureText(this.text).width, n = this.fontSize, l = h[this.anchor]; t.textAlign = "center", t.textBaseline = "middle"; var s = i + 2 * o, a = n + 2 * o, p = this.x + l.x * s, x = this.y + l.y * a; this.roundedRect(t, p, x, s, a, r), t.fillStyle = this.backgroundColor, t.fill(); var d = this.x + (l.x + .5) * s, c = this.y + (l.y + .5) * a; this._renderTextShadow(t, this.text, d, c), t.fillStyle = this.textColor, t.fillText(this.text, d, c); } }, e.prototype._renderTextShadow = function (t, e, o, r) { t.lineJoin = "miter", t.fillStyle = "rgba(" + this.textShadowColor[0] + ", " + this.textShadowColor[1] + ", " + this.textShadowColor[2] + ", " + 1 / p.length + ")"; for (var i = this.textShadowSize, n = 0, l = p; n < l.length; n++) { var s = l[n], a = s[0], h = s[1]; t.fillText(e, o + i * a, r + i * h); } }, e.prototype.roundedRect = function (t, e, o, r, i, n) { t.beginPath(), t.moveTo(e, o + n), t.arcTo(e, o, e + n, o, n), t.lineTo(e + r - n, o), t.arcTo(e + r, o, e + r, o + n, n), t.lineTo(e + r, o + i - n), t.arcTo(e + r, o + i, e + r - n, o + i, n), t.lineTo(e + n, o + i), t.arcTo(e, o + i, e, o + i - n, n), t.closePath(); }, e.prototype._cssClasses = function () { var t = { "esri-text-overlay-item": !0 }; for (var e in s) t[s[e]] = this.anchor === e; return t; }, r([n.property()], e.prototype, "x", void 0), r([n.property()], e.prototype, "y", void 0), r([n.property({ dependsOn: ["x", "y"] })], e.prototype, "position", null), r([n.property()], e.prototype, "text", void 0), r([n.property()], e.prototype, "fontSize", void 0), r([n.property()], e.prototype, "anchor", void 0), r([n.property()], e.prototype, "visible", void 0), r([n.property({ dependsOn: ["fontSize"] })], e.prototype, "padding", null), e = r([n.subclass("esri.views.overlay.TextOverlayItem")], e); }(n.declared(i)), h = { bottom: { x: -.5, y: -1, textAlign: "center", textBaseline: "bottom" }, "bottom-left": { x: 0, y: -1, textAlign: "left", textBaseline: "bottom" }, "bottom-right": { x: -1, y: -1, textAlign: "right", textBaseline: "bottom" }, center: { x: -.5, y: -.5, textAlign: "center", textBaseline: "middle" }, left: { x: 0, y: -.5, textAlign: "left", textBaseline: "middle" }, right: { x: -1, y: -.5, textAlign: "right", textBaseline: "middle" }, top: { x: -.5, y: 0, textAlign: "center", textBaseline: "top" }, "top-left": { x: 0, y: 0, textAlign: "left", textBaseline: "top" }, "top-right": { x: -1, y: 0, textAlign: "right", textBaseline: "top" } }, p = [], x = 0; x < 360; x += 22.5) p.push([Math.cos(Math.PI * x / 180), Math.sin(Math.PI * x / 180)]); return a; }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); /***/ } }]); //# sourceMappingURL=27-es5.js.map