    ﻿import { Zondy } from '../../common/Base';
    import { AnalysisBase } from './AnalysisBase';

    /**
     * 裁剪分析服务基类
     * @class module:分析服务.ClipBase
     * @classdesc 裁剪分析服务基类
     * @description Zondy.Service.ClipBase
     * @extends Zondy.Service.AnalysisBase
     * @param {Object} option 属性键值对
     * @param {String} [option.desInfo = null] 裁剪分析结果图层URL
     * @param {String} [option.attOptType = 1] 属性数据处理方式
     * @param {String} [option.infoOptType = 1] 图形参数处理方式
     * @param {String} [option.overType = 3] 裁剪方式
     * @param {String} [option.tolerance = 0.0001] 容差半径
     * @param {String} [option.isCleanNode = false] 是否结点平差
     * @param {String} [option.isLabelPnt = false] 是否裁剪label点
     * @param {String} [option.isValidReg = false] 是否检查区的合法性
     */
    class ClipBase extends AnalysisBase {
        constructor(option) {
            var options = option || {};
            super(options);

            /**
             * @private
             * @member Zondy.Service.ClipBase.prototype.desInfo
             * @type {String}
             * @description 裁剪分析结果图层URL
             * @default null
             */
            this.desInfo = options.desInfo !== undefined ? options.desInfo : null;

            /**
             * @private
             * @member Zondy.Service.ClipBase.prototype.attOptType
             * @type {Number}
             * @description 属性数据处理方式,该注释缺失，请联系igserver部门
             * @default 1
             */
            this.attOptType = options.attOptType !== undefined ? options.attOptType : 1;

            /**
             * @private
             * @member Zondy.Service.ClipBase.prototype.infoOptType
             * @type {Number}
             * @description 图形参数处理方式,该注释缺失，请联系igserver部门
             * @default 1
             */
            this.infoOptType = options.infoOptType !== undefined ? options.infoOptType : 1;

            /**
             * @private
             * @member Zondy.Service.ClipBase.prototype.overType
             * @type {Number}
             * @description 裁剪方式,该注释缺失，请联系igserver部门
             * @default 3
             */
            this.overType = options.overType !== undefined ? options.overType : 3;

            /**
             * @private
             * @member Zondy.Service.ClipBase.prototype.tolerance
             * @type {Number}
             * @description 容差半径
             * @default 0.0001
             */
            this.tolerance = options.tolerance !== undefined ? options.tolerance : 0.0001;

            /**
             * @private
             * @member Zondy.Service.ClipBase.prototype.isCleanNode
             * @type {Boolean}
             * @description 是否结点平差
             * @default false
             */
            this.isCleanNode = options.isCleanNode !== undefined ? options.isCleanNode : false;

            /**
             * @private
             * @member Zondy.Service.ClipBase.prototype.isLabelPnt
             * @type {Boolean}
             * @description 是否裁剪label点
             * @default false
             */
            this.isLabelPnt = options.isLabelPnt !== undefined ? options.isLabelPnt : false;

            /**
             * @private
             * @member Zondy.Service.ClipBase.prototype.isValidReg
             * @type {Boolean}
             * @description 是否检查区的合法性
             * @default false
             */
            this.isValidReg = options.isValidReg !== undefined ? options.isValidReg : false;
        }
    }
    export { ClipBase };
    Zondy.Service.ClipBase = ClipBase;