// All material copyright ESRI, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.7/esri/copyright.txt for details. //>>built define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper dojo/_base/lang ../request ../core/Error ../core/Logger ../core/promiseUtils ../core/urlUtils ../core/accessorSupport/decorators ./Layer ./mixins/SceneService ./pointCloudFilters/jsonUtils ./pointCloudFilters/typeUtils ./support/Field ../renderers/support/pointCloud/jsonUtils ../renderers/support/pointCloud/typeUtils ../symbols/support/ElevationInfo".split(" "),function(n,B,p,d,k,q,e,r,f,t,c,u,v,g,w,h, x,y,z){function l(c,b,a){c&&((c=x.read(c,b,a)||void 0)||A.error("Failed to create renderer",{rendererDefinition:c,layer:this,context:a}));return c}var A=r.getLogger("esri.layers.PointCloudLayer");return function(m){function b(a,b){a=m.call(this)||this;a.operationalLayerType="PointCloudLayer";a.opacity=1;a.fields=null;a.elevationInfo=null;a.legendEnabled=!0;a.renderer=null;a.type="point-cloud";return a}p(b,m);b.prototype.normalizeCtorArgs=function(a,b){return"string"===typeof a?k.mixin({},{url:a}, b):a};b.prototype.readServiceFields=function(a,b,c){return Array.isArray(a)?a.map(function(a){var b=new h;"FieldTypeInteger"===a.type&&(a=k.clone(a),a.type="esriFieldTypeInteger");b.read(a,c);return b}):Array.isArray(b.attributeStorageInfo)?b.attributeStorageInfo.map(function(a){return new h({name:a.name,type:"ELEVATION"===a.name?"double":"integer"})}):null};b.prototype.load=function(){var a=this,b=this.loadFromPortal({supportedTypes:["Scene Service"]}).always(function(){return a._fetchService()}); this.addResolvingPromise(b);return this.when()};b.prototype.importLayerViewModule=function(a){switch(a.type){case "2d":return f.reject(new e("point-cloud-layer:view-not-supported","PointCloudLayer is only supported in 3D"));case "3d":return f.create(function(a){return n(["../views/3d/layers/PointCloudLayerView3D"],a)})}};b.prototype._validateLayer=function(a){if(a.layerType&&"PointCloud"!==a.layerType)throw new e("pointcloudlayer:layer-type-not-supported","PointCloudLayer does not support this layer type", {layerType:a.layerType});if(isNaN(this.version.major)||isNaN(this.version.minor))throw new e("layer:service-version-not-supported","Service version is not supported.",{serviceVersion:this.version.versionString,supportedVersions:"1.x-2.x"});if(2