import { Zondy } from '../../common/Base';
import { extend } from '../../common/Util';
import { toJSON } from '../../common/Util';
/**
* @author 基础平台/产品2部 龚跃健
* @class module:要素服务.QueryFeatureRule
* @classdesc 要素规则查询类构造函数
* @description Zondy.Service.QueryFeatureRule
* @param option - {Object} 属性键值对。<br>
* @param {Boolean} [option.CompareRectOnly=false] 是否仅比较要素的外包矩形,来判定是否与几何约束图形有交集
* @param {Boolean} [option.EnableDisplayCondition=false] 是否将要素的可见性计算在内
* @param {Boolean} [option.MustInside=false] 是否完全包含
* @param {Boolean} [option.Intersect=false] 是否相交
* @example
var rule = new Zondy.Service.QueryFeatureRule({
//是否将要素的可见性计算在内
EnableDisplayCondition: false,
//是否完全包含
MustInside: false,
//是否仅比较要素的外包矩形
CompareRectOnly: false,
//是否相交
Intersect: true
});
*/
var QueryFeatureRule = function (option) {
var options = option ? option : {};
extend(this, options);
/**
* @private
* @member Zondy.Service.QueryFeatureRule.prototype.CompareRectOnly
* @type {Boolean}
* @description 是否仅比较要素的外包矩形,来判定是否与几何约束图形有交集
* @default false
*/
this.CompareRectOnly = options.CompareRectOnly !== undefined && typeof options.CompareRectOnly === 'boolean' ? options.CompareRectOnly : false;
/**
* @private
* @member Zondy.Service.QueryFeatureRule.prototype.EnableDisplayCondition
* @type {Boolean}
* @description 是否将要素的可见性计算在内
* @default false
*/
this.EnableDisplayCondition =
options.EnableDisplayCondition !== undefined && typeof options.EnableDisplayCondition === 'boolean' ? options.EnableDisplayCondition : false;
/**
* @private
* @member Zondy.Service.QueryFeatureRule.MustInside
* @type {Boolean}
* @description 是否完全包含
* @default false
*/
this.MustInside = options.MustInside !== undefined && typeof options.MustInside === 'boolean' ? options.MustInside : false;
/**
* @private
* @member Zondy.Catalog.TileLayer.prototype.Intersect
* @type {Boolean}
* @description 是否相交
* @default false
*/
this.Intersect = options.Intersect !== undefined && typeof options.Intersect === 'boolean' ? options.Intersect : false;
};
/**
* @description 获取此类的json形式的字符串
* @function Zondy.Service.QueryFeatureRule.prototype.toJSON
* @returns json形式字符串
*/
QueryFeatureRule.prototype.toJSON = function () {
return toJSON(this);
};
export { QueryFeatureRule };
Zondy.Service.QueryFeatureRule = QueryFeatureRule;