/*
All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
*/
import{__decorate as e}from"tslib";import t from"./Camera.js";import{JSONSupport as r}from"./core/JSONSupport.js";import{property as o,cast as i,subclass as s}from"./core/accessorSupport/decorators.js";import{fromJSON as a}from"./geometry/support/jsonUtils.js";import{geometryTypes as n}from"./geometry/support/typeUtils.js";var p;let l=p=class extends r{constructor(e){super(e),this.rotation=0,this.scale=0,this.targetGeometry=null,this.camera=null}castRotation(e){return(e%=360)<0&&(e+=360),e}clone(){return new p({rotation:this.rotation,scale:this.scale,targetGeometry:null!=this.targetGeometry?this.targetGeometry.clone():null,camera:null!=this.camera?this.camera.clone():null})}};e([o({type:Number,json:{write:!0,origins:{"web-map":{default:0,write:!0},"web-scene":{write:{overridePolicy:m}}}}})],l.prototype,"rotation",void 0),e([i("rotation")],l.prototype,"castRotation",null),e([o({type:Number,json:{write:!0,origins:{"web-map":{default:0,write:!0},"web-scene":{write:{overridePolicy:m}}}}})],l.prototype,"scale",void 0),e([o({types:n,json:{read:a,write:!0,origins:{"web-scene":{read:a,write:{overridePolicy:m}}}}})],l.prototype,"targetGeometry",void 0),e([o({type:t,json:{write:!0,origins:{"web-scene":{write:{isRequired:!0}}}}})],l.prototype,"camera",void 0),l=p=e([s("esri.Viewpoint")],l);const c=l;function m(){return{enabled:!this.camera}}export{c as default};
