import Zondy from '../../Zondy'
/**
* 三维符号图层基类,用来定义在三维中展示的点、线、区几何以及gltf的样式<br/>
* 所有的三维符号都有一个symbolLayers属性,是一个Symbol3DLayer的集合对象,所有的符号必须至少拥有一个或多个三维符号图层,才能进行正常显示<br/>
* 现有如下类型的三维符号图层:<br/>
* IconSymbol3DLayer、ObjectSymbol3DLayer、LineSymbol3DLayer、PathSymbol3DLayer、FillSymbol3DLayer、WaterSymbol3DLayer、ExtrudeSymbol3DLayer、TextSymbol3DLayer<br/>
*
* @class Symbol3DLayer
* @moduleEX SymbolModule
* @extends Symbol
*
* @summary <h5>支持如下方法:</h5>
* <a href='#fromJSON'>[1、通过json数据构造一个Symbol3DLayer对象]</a><br/>
* <a href='#toJSON'>[2、导出为JSON对象]</a><br/>
* <a href='#clone'>[3、克隆并返回一个新的Symbol3DLayer对象]</a><br/>
*/
class Symbol3DLayer {
constructor() {
/**
* 三维符号图层类型,可选 "icon"|"object"|"line"|"path"|"fill"|"water"|"extrude"|"text"
* @member {Symbol3DLayerType} Symbol3DLayer.prototype.type
*/
this.type = 'unkown'
}
/**
* <a id='fromJSON'/>
* 将JSON格式的符号转换为JS对象,由子类实现
*/
static fromJSON() {}
/**
* <a id='toJSON'/>
* 将JS对象转换为JSON格式
* @returns {Object} 符号的实例化JSON
*/
toJSON() {
return {
type: this.type
}
}
/**
* <a id='clone'/>
* 克隆并返回一个新对象,由子类实现
*/
clone() {}
}
Zondy.Symbol.Symbol3DLayer = Symbol3DLayer
export default Symbol3DLayer