// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("../../chunks/tslib.es6 ../../geometry ../../core/JSONSupport ../../core/lang ../../core/Warning ../../core/accessorSupport/decorators/property ../../core/has ../../core/Logger ../../core/accessorSupport/decorators/subclass ../../core/accessorSupport/decorators/writer ../../core/accessorSupport/decorators/persistable ../../geometry/projection ../../geometry/Polygon".split(" "),function(d,b,p,q,r,h,v,w,t,u,k,l,m){var e;b=e=class extends p.JSONSupport{constructor(c){super(c);this.geometry=null; this.type="clip"}writeGeometry(c,f,g,a){if(a.layer?.spatialReference&&!a.layer.spatialReference.equals(this.geometry.spatialReference)){if(!l.canProjectWithoutEngine(c.spatialReference,a.layer.spatialReference)){a?.messages&&a.messages.push(new r("scenemodification:unsupported","Scene modifications with incompatible spatial references are not supported",{modification:this,spatialReference:a.layer.spatialReference,context:a}));return}const n=new m;l.projectPolygon(c,n,a.layer.spatialReference);f[g]= n.toJSON(a)}else f[g]=c.toJSON(a);delete f[g].spatialReference}clone(){return new e({geometry:q.clone(this.geometry),type:this.type})}};d.__decorate([h.property({type:m}),k.persistable()],b.prototype,"geometry",void 0);d.__decorate([u.writer(["web-scene","portal-item"],"geometry")],b.prototype,"writeGeometry",null);d.__decorate([h.property({type:["clip","mask","replace"],nonNullable:!0}),k.persistable()],b.prototype,"type",void 0);return b=e=d.__decorate([t.subclass("esri.layers.support.SceneModification")], b)});