    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