PointSymbol3D.js 2.4 KB

12345
  1. /*
  2. All material copyright ESRI, All Rights Reserved, unless otherwise specified.
  3. See https://js.arcgis.com/4.25/esri/copyright.txt for details.
  4. */
  5. import{_ as t}from"../chunks/tslib.es6.js";import o from"../core/Collection.js";import{clone as r}from"../core/lang.js";import{property as e}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{enumeration as s}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import i from"./IconSymbol3DLayer.js";import m from"./ObjectSymbol3DLayer.js";import a from"./Symbol3D.js";import y from"./TextSymbol3DLayer.js";import{hasVisibleCallout as c,hasVisibleVerticalOffset as n,calloutProperty as p}from"./callouts/calloutUtils.js";import u from"./support/Symbol3DVerticalOffset.js";var b;const f=o.ofType({base:null,key:"type",typeMap:{icon:i,object:m,text:y}});let S=b=class extends a{constructor(t){super(t),this.verticalOffset=null,this.callout=null,this.symbolLayers=new f,this.type="point-3d"}supportsCallout(){if((this.symbolLayers?this.symbolLayers.length:0)<1)return!1;for(const t of this.symbolLayers.items)switch(t.type){case"icon":case"text":case"object":continue;default:return!1}return!0}hasVisibleCallout(){return c(this)}hasVisibleVerticalOffset(){return n(this)}clone(){return new b({verticalOffset:r(this.verticalOffset),callout:r(this.callout),styleOrigin:r(this.styleOrigin),symbolLayers:r(this.symbolLayers),thumbnail:r(this.thumbnail)})}static fromSimpleMarkerSymbol(t){return new b({symbolLayers:[i.fromSimpleMarkerSymbol(t)]})}static fromPictureMarkerSymbol(t){return new b({symbolLayers:[i.fromPictureMarkerSymbol(t)]})}static fromCIMSymbol(t){const o=t.data?.symbol?.type;if("CIMPointSymbol"!==o)return null;const r=t.data.symbol;return new b(r?.callout?{symbolLayers:[i.fromCIMSymbol(t)],callout:{type:"line",size:.5,color:[0,0,0]},verticalOffset:{screenLength:40}}:{symbolLayers:[i.fromCIMSymbol(t)]})}static fromTextSymbol(t){return new b({symbolLayers:[y.fromTextSymbol(t)]})}};t([e({type:u,json:{write:!0}})],S.prototype,"verticalOffset",void 0),t([e(p)],S.prototype,"callout",void 0),t([e({type:f,json:{origins:{"web-scene":{write:!0}}}})],S.prototype,"symbolLayers",void 0),t([s({PointSymbol3D:"point-3d"},{readOnly:!0})],S.prototype,"type",void 0),S=b=t([l("esri.symbols.PointSymbol3D")],S);const h=S;export{h as default};