(function webpackUniversalModuleDefinition(root, factory) {
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory(require("vue"), require("@kq_npm/client_common_vue/_utils/gis-utils"), require("@kq_npm/client_common_vue/init.js"), require("@kq_npm/client_common_vue/_utils/const-image"), require("@kq_npm/client_common_vue/_utils/util"));
	else if(typeof define === 'function' && define.amd)
		define(["vue", "@kq_npm/client_common_vue/_utils/gis-utils", "@kq_npm/client_common_vue/init.js", "@kq_npm/client_common_vue/_utils/const-image", "@kq_npm/client_common_vue/_utils/util"], factory);
	else {
		var a = typeof exports === 'object' ? factory(require("vue"), require("@kq_npm/client_common_vue/_utils/gis-utils"), require("@kq_npm/client_common_vue/init.js"), require("@kq_npm/client_common_vue/_utils/const-image"), require("@kq_npm/client_common_vue/_utils/util")) : factory(root["Vue"], root["@kq_npm/client_common_vue/_utils/gis-utils"], root["@kq_npm/client_common_vue/init.js"], root["@kq_npm/client_common_vue/_utils/const-image"], root["@kq_npm/client_common_vue/_utils/util"]);
		for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
	}
})(this, function(__WEBPACK_EXTERNAL_MODULE__1895__, __WEBPACK_EXTERNAL_MODULE__7135__, __WEBPACK_EXTERNAL_MODULE__7997__, __WEBPACK_EXTERNAL_MODULE__6277__, __WEBPACK_EXTERNAL_MODULE__3458__) {
return /******/ (function() { // webpackBootstrap
/******/ 	"use strict";
/******/ 	var __webpack_modules__ = ({

/***/ 1349:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony import */ var element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9389);
/* harmony import */ var element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7997);
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_init__WEBPACK_IMPORTED_MODULE_1__);
/*
 * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
 * All rights reserved.
 */


element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__.ElMessage.install = (Vue, opts) => {
  _init__WEBPACK_IMPORTED_MODULE_1___default()(Vue, opts);
  Vue.component("KqMessage", element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__.ElMessage);
};
/* harmony default export */ __webpack_exports__["Z"] = (element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__.ElMessage);

/***/ }),

/***/ 348:
/***/ (function(module) {

module.exports = require("@kq_npm/client_icons_vue");

/***/ }),

/***/ 2170:
/***/ (function(module) {

module.exports = require("core-js/modules/esnext.iterator.map.js");

/***/ }),

/***/ 9389:
/***/ (function(module) {

module.exports = require("element-plus/dist/index.full.js");

/***/ }),

/***/ 7080:
/***/ (function(module) {

module.exports = require("vue-i18n/dist/vue-i18n.cjs.js");

/***/ }),

/***/ 6277:
/***/ (function(module) {

module.exports = __WEBPACK_EXTERNAL_MODULE__6277__;

/***/ }),

/***/ 7135:
/***/ (function(module) {

module.exports = __WEBPACK_EXTERNAL_MODULE__7135__;

/***/ }),

/***/ 3458:
/***/ (function(module) {

module.exports = __WEBPACK_EXTERNAL_MODULE__3458__;

/***/ }),

/***/ 7997:
/***/ (function(module) {

module.exports = __WEBPACK_EXTERNAL_MODULE__7997__;

/***/ }),

/***/ 1895:
/***/ (function(module) {

module.exports = __WEBPACK_EXTERNAL_MODULE__1895__;

/***/ }),

/***/ 5301:
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "Z": function() { return /* binding */ _defineProperty; }
});

;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
function _typeof(o) {
  "@babel/helpers - typeof";

  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
    return typeof o;
  } : function (o) {
    return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
  }, _typeof(o);
}

;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js

function toPrimitive(t, r) {
  if ("object" != _typeof(t) || !t) return t;
  var e = t[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t, r || "default");
    if ("object" != _typeof(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r ? String : Number)(t);
}

;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js


function toPropertyKey(t) {
  var i = toPrimitive(t, "string");
  return "symbol" == _typeof(i) ? i : i + "";
}

;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js

function _defineProperty(e, r, t) {
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
    value: t,
    enumerable: !0,
    configurable: !0,
    writable: !0
  }) : e[r] = t, e;
}


/***/ })

/******/ 	});
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
/******/ 		if (cachedModule !== undefined) {
/******/ 			return cachedModule.exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			// no module.id needed
/******/ 			// no module.loaded needed
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/compat get default export */
/******/ 	!function() {
/******/ 		// getDefaultExport function for compatibility with non-harmony modules
/******/ 		__webpack_require__.n = function(module) {
/******/ 			var getter = module && module.__esModule ?
/******/ 				function() { return module['default']; } :
/******/ 				function() { return module; };
/******/ 			__webpack_require__.d(getter, { a: getter });
/******/ 			return getter;
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/define property getters */
/******/ 	!function() {
/******/ 		// define getter functions for harmony exports
/******/ 		__webpack_require__.d = function(exports, definition) {
/******/ 			for(var key in definition) {
/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 				}
/******/ 			}
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	!function() {
/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/make namespace object */
/******/ 	!function() {
/******/ 		// define __esModule on exports
/******/ 		__webpack_require__.r = function(exports) {
/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 			}
/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
/******/ 		};
/******/ 	}();
/******/ 	
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
!function() {
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "ShadowAnalysisViewModel": function() { return /* reexport */ ShadowAnalysisViewModel; },
  "default": function() { return /* reexport */ ShadowAnalysis; }
});

// EXTERNAL MODULE: external {"root":"Vue","commonjs":"vue","commonjs2":"vue","amd":"vue"}
var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(1895);
// EXTERNAL MODULE: external "@kq_npm/client_common_vue/_utils/gis-utils"
var gis_utils_ = __webpack_require__(7135);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js + 3 modules
var defineProperty = __webpack_require__(5301);
// EXTERNAL MODULE: external "core-js/modules/esnext.iterator.map.js"
var esnext_iterator_map_js_ = __webpack_require__(2170);
// EXTERNAL MODULE: ./src/common/_ui/message/index.js
var message = __webpack_require__(1349);
;// CONCATENATED MODULE: ./src/webgl/shadowanalysis/ShadowAnalysisViewModel.js


/*
 * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
 * All rights reserved.
 */
// 分析逻辑类

class ShadowAnalysisViewModel {
  constructor(scenceView, viewModel) {
    (0,defineProperty/* default */.Z)(this, "_shadowAnalysis", null);
    //阴影分析三维对象
    (0,defineProperty/* default */.Z)(this, "_globaOptions", {
      //全局参数
      viewer: null,
      _drawManager: null
    });
    (0,defineProperty/* default */.Z)(this, "_language", {});
    this._language = scenceView._language;
    this._globaOptions.viewer = scenceView._viewer;
    this._globaOptions.viewModel = {
      viewer: this._globaOptions.viewer,
      type: "cube",
      showAnimate: true,
      baseHeight: viewModel.baseHeight,
      extrudeHeight: viewModel.extrudeHeight,
      width: viewModel.width,
      spacing: viewModel.spacing,
      currentDate: new Date(viewModel.currentDate),
      startTime: viewModel.startTime,
      endTime: viewModel.endTime,
      timeSpacing: viewModel.timeSpacing,
      showCurrent: false,
      alpha: true,
      filterValue: viewModel.filterValue,
      alphaScale: viewModel.alphaScale
    };
    this._globaOptions.viewer.shadows = true;
    this._globaOptions.viewer.shouldAnimate = true;
    this._globaOptions.viewer.scene.globe.enableLighting = true;
    this._globaOptions.viewer.scene.globe.depthTestAgainstTerrain = true;
    this._globaOptions.viewer.scene.postProcessStages.fxaa.enabled = true;
    this._globaOptions.viewer.shadowMap.darkness = 0.8;
    this._globaOptions.viewer.shadowMap.maxmimumDistance = 10000.0;
    this._globaOptions._drawManager = scenceView._drawManager;
    var that = this;
    this._globaOptions._drawFinishedEventListener = this._globaOptions._drawManager.drawFinishedEvent.addEventListener(shape => {
      if (shape) {
        that._globaOptions.viewModel.positions = shape._controlPoints;
        // 实例化分析对象
        that.setKq3dShadowAnalyse();
        that._globaOptions._drawManager.clear();
      }
    });
  }
  // 处理绘制坐标，转成二维坐标
  coordinateTransform(points) {
    let cutPoints = points.map(function (point) {
      let cartesPh = Cesium.Cartographic.fromCartesian(point);
      cartesPh.longitude = cartesPh.longitude / Math.PI * 180;
      cartesPh.latitude = cartesPh.latitude / Math.PI * 180;
      let map = {
        longitude: cartesPh.longitude,
        latitude: cartesPh.latitude,
        height: cartesPh.height
      };
      return map;
    });
    return cutPoints;
  }
  // 开始分析
  start() {
    // 判断是否添加了模型
    var flag = false;
    var models = this._globaOptions.viewer.scene.primitives._primitives;
    for (let i = 0; i < models.length; i++) {
      if (models[i]._url) {
        flag = true;
      }
    }
    if (flag) {
      if (this._globaOptions._drawManager) this._globaOptions._drawManager.startDraw("polygon", {
        clampToGround: true
      });
    } else {
      (0,message/* default */.Z)({
        message: this._language["addModelAnalysisTips"],
        type: "warning"
      });
    }
  }
  // 阴影分析
  setKq3dShadowAnalyse() {
    this._shadowAnalysis = new window.Cesium.Kq3dShadowAnalyse(this._globaOptions.viewModel);
    //this._globaOptions.viewer.scene.primitives.add(this._shadowAnalysis);
  }
  // 分析日期
  setCurrentDate(newValue) {
    this._globaOptions.viewModel.currentDate = new Date(newValue);
    if (this._shadowAnalysis) this._shadowAnalysis.currentDate = new Date(newValue);
  }
  //设置时间
  setTime(newValue) {
    if (newValue && newValue.length && newValue.length > 1) {
      if (this._globaOptions.viewModel.startTime == newValue[0] && this._globaOptions.viewModel.endTime == newValue[1]) return;
      this._globaOptions.viewModel.startTime = newValue[0];
      this._globaOptions.viewModel.endTime = newValue[1];
      if (this._shadowAnalysis) {
        this._shadowAnalysis.startTime = Number(this._globaOptions.viewModel.startTime);
        this._shadowAnalysis.endTime = Number(this._globaOptions.viewModel.endTime);
      }
    }
  }
  // 开始时刻
  setStartTime(newValue) {
    if (this._globaOptions.viewModel.startTime == newValue) return;
    this._globaOptions.viewModel.startTime = newValue;
    if (this._shadowAnalysis) this._shadowAnalysis.startTime = Number(newValue);
  }
  // 结束时刻
  setEndTime(newValue) {
    if (this._globaOptions.viewModel.endTime == newValue) return;
    this._globaOptions.viewModel.endTime = newValue;
    if (this._shadowAnalysis) this._shadowAnalysis.endTime = Number(newValue);
  }
  // 分析间隔
  setTimeSpacing(newValue) {
    if (this._globaOptions.viewModel.timeSpacing == newValue) return;
    this._globaOptions.viewModel.timeSpacing = newValue;
    if (this._shadowAnalysis) this._shadowAnalysis.timeSpacing = Number(newValue);
  }
  // 基底高度
  setBaseHeight(newValue) {
    if (this._globaOptions.viewModel.baseHeight == newValue) return;
    this._globaOptions.viewModel.baseHeight = newValue;
    if (this._shadowAnalysis) this._shadowAnalysis.baseHeight = Number(newValue);
  }
  // 拉伸高度
  setExtrudeHeight(newValue) {
    if (this._globaOptions.viewModel.extrudeHeight == newValue) return;
    this._globaOptions.viewModel.extrudeHeight = newValue;
    if (this._shadowAnalysis) this._shadowAnalysis.extrudeHeight = Number(newValue);
  }
  // 是否显示体素
  setShowVoxel(checked) {
    if (this._shadowAnalysis) this._shadowAnalysis.voxel.show = checked;
  }
  // 体素大小
  setRadius(newValue) {
    if (this._globaOptions.viewModel.width == newValue) return;
    this._globaOptions.viewModel.width = newValue;
    if (this._shadowAnalysis) {
      this.clear();
      this.setKq3dShadowAnalyse();
    }
  }
  // 体素间距
  setSpacing(newValue) {
    if (this._globaOptions.viewModel.spacing == newValue) return;
    this._globaOptions.viewModel.spacing = newValue;
    if (this._shadowAnalysis) {
      this.clear();
      this.setKq3dShadowAnalyse();
    }
  }
  // 阴影率过滤
  setFilterValue(newValue) {
    this._globaOptions.viewModel.filterValue = newValue;
    if (this._shadowAnalysis) this._shadowAnalysis.filterValue = Number(newValue);
  }
  // 透明缩放
  setAlphaScale(newValue) {
    this._globaOptions.viewModel.alphaScale = newValue;
    if (this._shadowAnalysis) this._shadowAnalysis.alphaScale = Number(newValue);
  }
  //日照效果
  sunshineEffect() {
    let timeNumber = new Date(this._globaOptions.viewModel.currentDate.toLocaleDateString()).getTime();
    let startTimeNumber = timeNumber + this._globaOptions.viewModel.startTime * 3600 * 1000;
    let endTimeNumber = timeNumber + this._globaOptions.viewModel.endTime * 3600 * 1000;
    let startTime = new Date(startTimeNumber);
    let endTime = new Date(endTimeNumber);
    let clock = this._globaOptions.viewer.clock;
    clock.startTime = Cesium.JulianDate.fromDate(startTime);
    clock.stopTime = Cesium.JulianDate.fromDate(endTime);
    clock.currentTime = Cesium.JulianDate.fromDate(startTime);
    clock.multiplier = 7200;
    clock.clockRange = Cesium.ClockRange.CLAMPED;
    clock.shouldAnimate = true;
  }

  // 清除全部结果
  clear() {
    this._globaOptions._drawManager && this._globaOptions._drawManager.stopDraw();
    if (this._shadowAnalysis) {
      this._globaOptions.viewer.scene.primitives.remove(this._shadowAnalysis);
      this._shadowAnalysis = null;
    }
    this._globaOptions.viewModel.showCurrent = false;
  }
  // 销毁
  destroy() {
    this.clear();
    this._globaOptions.viewer.shadows = false;
    this._globaOptions.viewer.shouldAnimate = false;
    this._globaOptions.viewer.scene.globe.enableLighting = false;
    //移除监听事件
    this._globaOptions._drawFinishedEventListener && this._globaOptions._drawFinishedEventListener();
    this._globaOptions._drawFinishedEventListener = null;
  }
}
// EXTERNAL MODULE: external "@kq_npm/client_common_vue/_utils/const-image"
var const_image_ = __webpack_require__(6277);
// EXTERNAL MODULE: external "@kq_npm/client_icons_vue"
var client_icons_vue_ = __webpack_require__(348);
// EXTERNAL MODULE: external "@kq_npm/client_common_vue/_utils/util"
var util_ = __webpack_require__(3458);
// EXTERNAL MODULE: external "vue-i18n/dist/vue-i18n.cjs.js"
var vue_i18n_cjs_js_ = __webpack_require__(7080);
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/webgl/shadowanalysis/ShadowAnalysis.vue?vue&type=script&setup=true&lang=js

const _hoisted_1 = {
  class: "kq3d-shadow-analysis-box"
};
const _hoisted_2 = {
  class: "kq3d-shadow-analysis-span"
};
const _hoisted_3 = {
  class: "kq3d-shadow-analysis-span"
};
const _hoisted_4 = /*#__PURE__*/(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("span", null, "0.0", -1 /* HOISTED */);
const _hoisted_5 = ["src"];
const _hoisted_6 = /*#__PURE__*/(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("span", null, "1.0", -1 /* HOISTED */);
const _hoisted_7 = {
  class: "kq3d-shadow-analysis-footer"
};







const __default__ = {
  name: "Kq3dShadowAnalysis"
};
/* harmony default export */ var ShadowAnalysisvue_type_script_setup_true_lang_js = (/*#__PURE__*/Object.assign(__default__, {
  props: {
    // 设置参数
    settingParams: {
      type: Object
    },
    // 是否显示阴影效果
    showShadow: {
      type: Boolean,
      default: true
    },
    /**
     * 例："center","topLeft","topRight","bottomLeft","bottomRight", "topCenter", "bottomCenter" {top:'16px',left:'16px'}, {top:16,left:16}
     */
    position: [String, Object],
    // 是否生成HeaderTemp
    showHeaderTemp: {
      type: Boolean,
      default: false
    },
    // 是否折叠HeaderTemp，showHeaderTemp为true时生效
    isCollapseHeaderTemp: {
      type: Boolean,
      default: false
    },
    // HeaderTemp标题
    headerTempTitle: {
      type: String
    },
    // HeaderTemp图标
    headerTempIcon: {
      type: [Object, String],
      default: client_icons_vue_.IconShadowAnalysis
    },
    // HeaderTemp Title&Icon的位置
    isRight: {
      type: Boolean,
      default: true
    }
  },
  setup(__props, {
    expose: __expose
  }) {
    const props = __props;
    const {
      proxy
    } = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.getCurrentInstance)();
    let currentLang = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)("");
    let language = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(proxy.$i18n.global.messages[proxy.$i18n.global.locale]["webgl"]);
    let collapseValue = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)("");
    let time = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)([6, 12]);

    //计算属性
    const timeMarks = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.computed)(() => {
      let marks = {};
      for (let i = 0; i <= 24; i++) {
        if (i % 6 === 0) {
          // 几个特殊的，显示数字
          marks[i] = {
            style: {
              color: "#ccc"
            },
            label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.h)("div", {}, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.h)("span", "|"), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.h)("span", i + ":00")])
          };
        } else if (i % 2 === 0) {
          marks[i] = {
            style: {
              color: "#ccc"
            },
            label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.h)("div", {}, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.h)("span", {
              class: "spanLine"
            })])
          };
        }
      }
      return marks;
    });

    // 获取组件传参

    // 分析类
    let viewModel = null;
    let formItem = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.reactive)({
      showVoxel: props.settingParams && props.settingParams.showBuilding !== undefined || true,
      // 显示体素
      baseHeight: props.settingParams && props.settingParams.baseHeight || 0,
      // 基地高度
      minBaseHeight: props.settingParams && props.settingParams.minBaseHeight || 0,
      // 基地高度范围最小值
      maxBaseHeight: props.settingParams && props.settingParams.maxBaseHeight || 100,
      // 基地高度范围最大值
      extrudeHeight: props.settingParams && props.settingParams.extrudeHeight || 150,
      // 拉伸高度
      minExtrudeHeight: props.settingParams && props.settingParams.minExtrudeHeight || 0,
      // 拉伸高度范围最小值
      maxExtrudeHeight: props.settingParams && props.settingParams.maxExtrudeHeight || 500,
      // 拉伸高度范围最大值
      width: props.settingParams && props.settingParams.width || 6,
      // 体素大小
      minWidth: props.settingParams && props.settingParams.minWidth || 0,
      // 体素大小范围最小值
      maxWidth: props.settingParams && props.settingParams.maxWidth || 100,
      // 体素大小范围最大值
      spacing: props.settingParams && props.settingParams.spacing || 0.8,
      // 体素间距
      minSpacing: props.settingParams && props.settingParams.minSpacing || 0,
      // 体素间距范围最小值
      maxSpacing: props.settingParams && props.settingParams.maxSpacing || 100,
      // 体素间距范围最大值
      currentDate: props.settingParams && props.settingParams.currentDate || new Date().toLocaleDateString(),
      // 日期
      startTime: props.settingParams && props.settingParams.startTime || 12,
      // 开始日期
      endTime: props.settingParams && props.settingParams.endTime || 18,
      // 结束日期
      timeSpacing: props.settingParams && props.settingParams.timeSpacing || 30,
      filterValue: props.settingParams && props.settingParams.filterValue || 0,
      // 阴影率过滤
      minFilterValue: props.settingParams && props.settingParams.minFilterValue || 0,
      // 阴影率过滤范围最小值
      maxFilterValue: props.settingParams && props.settingParams.maxFilterValue || 0,
      // 阴影率过滤范围最大值
      alphaScale: props.settingParams && props.settingParams.alphaScale || 1,
      // 透明缩放
      minAlphaScale: props.settingParams && props.settingParams.alphaScale || 1,
      // 透明缩放范围最小值
      maxAlphaScale: props.settingParams && props.settingParams.alphaScale || 1 // 透明缩放范围最大值
    });

    // 组件容器Ref
    let boxRef = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(null);

    // 生成组件默认header
    let headerTemp = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)();
    let headerTempRef = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)();

    // 国际化
    let {
      locale,
      messages
    } = (0,vue_i18n_cjs_js_.useI18n)();
    let headerTempTitle = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(null);
    (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.watch)(() => locale.value, (newVal, oldVal) => {
      language.value = messages.value[newVal]["webgl"];
      headerTempTitle.value = language.value.shadowAnalysis;
      currentLang.value = newVal;
    });
    (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.onMounted)(() => {
      (0,util_.updatePosition)(boxRef.value, props);
      (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.watch)(() => props.position, (newVal, oldVal) => {
        (0,util_.updatePosition)(boxRef.value, props);
      });
      watchCreateHeaderTemp();
      (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.watch)(() => props.showHeaderTemp, (newVal, oldVal) => {
        (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.nextTick)(() => {
          watchCreateHeaderTemp();
        });
      });
      time.value = [formItem.startTime, formItem.endTime];
      gis_utils_.utils.getWebMap(null, scenceView => {
        if (scenceView) {
          viewModel = new ShadowAnalysisViewModel(scenceView, {
            showVoxel: formItem.showBuilding,
            // 显示体素
            baseHeight: formItem.baseHeight,
            // 基地高度
            extrudeHeight: formItem.extrudeHeight,
            // 拉伸高度
            width: formItem.width,
            // 体素大小
            spacing: formItem.spacing,
            // 体素间距
            currentDate: formItem.currentDate,
            // 日期
            startTime: formItem.startTime,
            // 开始日期
            endTime: formItem.endTime,
            // 结束日期
            timeSpacing: formItem.timeSpacing,
            filterValue: formItem.filterValue,
            // 阴影率过滤
            alphaScale: formItem.alphaScale // 透明缩放
          });
        }
      });
    });

    /**
     * @description 监听header生成
     */
    const watchCreateHeaderTemp = () => {
      if (props.showHeaderTemp) {
        // 生成headerTemp
        headerTemp.value = (0,util_.createHeaderTemp)(boxRef.value, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toRefs)(props), headerTempRef, headerTempTitle);
      }
    };

    // 获取当前日期
    function GetDateStr() {
      var dd = new Date();
      var y = dd.getFullYear();
      var m = dd.getMonth() + 1; //获取当前月份的日期
      var d = dd.getDate();
      console.log(y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d));
      return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d);
    }
    // 日期改变
    function changeDate(val) {
      console.log(formItem.currentDate);
      if (viewModel.setCurrentDate) viewModel.setCurrentDate(formItem.currentDate);
    }
    // 改变时刻
    function changeTime(val) {}
    // 参数改变
    function paramsChanged(key) {
      switch (key) {
        case "currentDate":
          // 改变日期
          if (viewModel.setCurrentDate) viewModel.setCurrentDate(formItem.currentDate);
          break;
        case "time":
          // 改变时刻
          if (!time.value || !time.value.length) return;
          formItem.startTime = time.value[0];
          formItem.endTime = time.value[1];
          if (viewModel.setTime) viewModel.setTime(time.value);
          break;
        case "extrudeHeight":
          // 改变拉伸高度
          if (viewModel.setExtrudeHeight) viewModel.setExtrudeHeight(formItem.extrudeHeight);
          break;
        case "baseHeight":
          // 改变基地高度
          if (viewModel.setBaseHeight) viewModel.setBaseHeight(formItem.baseHeight);
          break;
        case "width":
          // 改变体素大小
          if (viewModel.setRadius) viewModel.setRadius(formItem.width);
          break;
        case "spacing":
          // 改变体素间距
          if (viewModel.setSpacing) viewModel.setSpacing(formItem.spacing);
          break;
        case "filterValue":
          // 改变阴影率过滤
          if (viewModel.setFilterValue) viewModel.setFilterValue(formItem.filterValue);
          break;
        case "alphaScale":
          // 改变透明缩放
          if (viewModel.setAlphaScale) viewModel.setAlphaScale(formItem.alphaScale);
          break;
        default:
          break;
      }
    }
    // 开始分析
    function startAnalysis() {
      // this.clearResult();
      viewModel && viewModel.clear();
      viewModel && viewModel.start();
    }
    // 日照效果
    function playTime() {
      viewModel && viewModel.sunshineEffect();
    }
    //清除结果
    function clearResult() {
      viewModel && viewModel.clear();
    }

    // 销毁
    (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.onBeforeUnmount)(() => {
      viewModel && viewModel.destroy();
    });
    __expose({
      paramsChanged,
      startAnalysis,
      playTime,
      clearResult
    });
    return (_ctx, _cache) => {
      const _component_kq_col = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-col");
      const _component_kq_date_picker = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-date-picker");
      const _component_kq_row = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-row");
      const _component_kq_slider = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-slider");
      const _component_kq_input_number = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-input-number");
      const _component_kq_form_item = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-form-item");
      const _component_kq_form = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-form");
      const _component_kq_collapse_item = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-collapse-item");
      const _component_kq_collapse = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-collapse");
      const _component_kq_button = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-button");
      return (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("section", {
        class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)(["kq3d-shadow-analysis", {
          'kq-box-shadow': __props.showShadow
        }]),
        ref_key: "boxRef",
        ref: boxRef
      }, [__props.showHeaderTemp ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveDynamicComponent)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(headerTemp)), {
        key: 0,
        ref_key: "headerTempRef",
        ref: headerTempRef
      }, null, 512 /* NEED_PATCH */)) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_1, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
        class: "kq3d-shadow-analysis-datetime"
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
          span: 4,
          class: "colDate"
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("span", _hoisted_2, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).analyseDate), 1 /* TEXT */)]),
          _: 1 /* STABLE */
        }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
          span: 20
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_date_picker, {
            modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).currentDate,
            "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).currentDate = $event),
            editable: false,
            type: "date",
            onChange: _cache[1] || (_cache[1] = $event => paramsChanged('currentDate')),
            clearable: false,
            format: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(currentLang) === 'zh' ? 'YYYY年MM月DD日' : 'YYYY-MM-DD'
          }, null, 8 /* PROPS */, ["modelValue", "format"])]),
          _: 1 /* STABLE */
        })]),
        _: 1 /* STABLE */
      }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
        class: "kq3d-shadow-analysis-datetime"
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
          span: 4,
          class: "colTime"
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("span", _hoisted_3, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).time), 1 /* TEXT */)]),
          _: 1 /* STABLE */
        }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
          span: 20
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_slider, {
            modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(time),
            "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.isRef)(time) ? time.value = $event : time = $event),
            step: 1,
            min: 0,
            max: 24,
            range: "",
            "show-tooltip": false,
            onChange: _cache[3] || (_cache[3] = $event => paramsChanged('time')),
            onClick: _cache[4] || (_cache[4] = $event => paramsChanged('time')),
            marks: timeMarks.value
          }, null, 8 /* PROPS */, ["modelValue", "marks"])]),
          _: 1 /* STABLE */
        })]),
        _: 1 /* STABLE */
      }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)(" <kq-row class=\"kq3d-shadow-analysis-datetime\">\r\n        <kq-col :span=\"6\">\r\n          <span class=\"kq3d-shadow-analysis-span\">{{ language.analysisYear }}</span>\r\n        </kq-col>\r\n        <kq-col :span=\"18\">\r\n          <kq-date-picker v-model=\"year\" align=\"right\" type=\"year\" format=\"YYYY年\"></kq-date-picker>\r\n          <kq-row :gutter=\"20\">\r\n            <kq-col :span=\"20\">\r\n              <kq-slider\r\n                v-model=\"month\"\r\n                :step=\"1\"\r\n                :min=\"formItem.1\"\r\n                :max=\"formItem.12\"\r\n                range\r\n                :show-tooltip=\"false\"\r\n                @change=\"changeMonth\"\r\n                :marks=\"monthMarks\"></kq-slider>\r\n            </kq-col>\r\n            <kq-col :span=\"4\" class=\"kq3d-shadow-analysis-timeline\">\r\n              <kq-icon @click=\"playOrPauseMonth\">\r\n                <IconVideoPlay v-if=\"!playMonth\" />\r\n                <IconVideoPause v-else />\r\n              </kq-icon>\r\n            </kq-col>\r\n          </kq-row>\r\n        </kq-col>\r\n      </kq-row> "), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
        class: "kq3d-shadow-analysis-tip"
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).shadowTips), 1 /* TEXT */)]),
        _: 1 /* STABLE */
      }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_collapse, {
        "model-value": (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(collapseValue)
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_collapse_item, {
          title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).analysisSettings,
          name: "setting"
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_form, {
            "label-width": "120px",
            "label-position": "left"
          }, {
            default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
              default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_form_item, {
                label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).extrudeHeight
              }, {
                default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
                  style: {
                    "display": "flex"
                  }
                }, {
                  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
                    span: 16
                  }, {
                    default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_slider, {
                      modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).extrudeHeight,
                      "onUpdate:modelValue": _cache[5] || (_cache[5] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).extrudeHeight = $event),
                      onChange: _cache[6] || (_cache[6] = $event => paramsChanged('extrudeHeight')),
                      onClick: _cache[7] || (_cache[7] = $event => paramsChanged('extrudeHeight')),
                      step: 10,
                      min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minExtrudeHeight,
                      max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxExtrudeHeight
                    }, null, 8 /* PROPS */, ["modelValue", "min", "max"])]),
                    _: 1 /* STABLE */
                  }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
                    span: 8
                  }, {
                    default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_input_number, {
                      modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).extrudeHeight,
                      "onUpdate:modelValue": _cache[8] || (_cache[8] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).extrudeHeight = $event),
                      min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minExtrudeHeight,
                      max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxExtrudeHeight,
                      step: 10,
                      onChange: _cache[9] || (_cache[9] = $event => paramsChanged('extrudeHeight')),
                      "controls-position": "right"
                    }, null, 8 /* PROPS */, ["modelValue", "min", "max"])]),
                    _: 1 /* STABLE */
                  })]),
                  _: 1 /* STABLE */
                })]),
                _: 1 /* STABLE */
              }, 8 /* PROPS */, ["label"])]),
              _: 1 /* STABLE */
            }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
              default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_form_item, {
                label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).baseHeight
              }, {
                default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
                  style: {
                    "display": "flex"
                  }
                }, {
                  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
                    span: 16
                  }, {
                    default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_slider, {
                      modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).baseHeight,
                      "onUpdate:modelValue": _cache[10] || (_cache[10] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).baseHeight = $event),
                      onChange: _cache[11] || (_cache[11] = $event => paramsChanged('baseHeight')),
                      onClick: _cache[12] || (_cache[12] = $event => paramsChanged('baseHeight')),
                      step: 10,
                      min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minBaseHeight,
                      max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxBaseHeight
                    }, null, 8 /* PROPS */, ["modelValue", "min", "max"])]),
                    _: 1 /* STABLE */
                  }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
                    span: 8
                  }, {
                    default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_input_number, {
                      modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).baseHeight,
                      "onUpdate:modelValue": _cache[13] || (_cache[13] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).baseHeight = $event),
                      onChange: _cache[14] || (_cache[14] = $event => paramsChanged('baseHeight')),
                      min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minBaseHeight,
                      max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxBaseHeight,
                      step: 10,
                      "controls-position": "right"
                    }, null, 8 /* PROPS */, ["modelValue", "min", "max"])]),
                    _: 1 /* STABLE */
                  })]),
                  _: 1 /* STABLE */
                })]),
                _: 1 /* STABLE */
              }, 8 /* PROPS */, ["label"])]),
              _: 1 /* STABLE */
            }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
              default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_form_item, {
                label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).voxelSize
              }, {
                default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
                  style: {
                    "display": "flex"
                  }
                }, {
                  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
                    span: 16
                  }, {
                    default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_slider, {
                      modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).width,
                      "onUpdate:modelValue": _cache[15] || (_cache[15] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).width = $event),
                      onChange: _cache[16] || (_cache[16] = $event => paramsChanged('width')),
                      onClick: _cache[17] || (_cache[17] = $event => paramsChanged('width')),
                      step: 1,
                      min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minWidth,
                      max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxWidth
                    }, null, 8 /* PROPS */, ["modelValue", "min", "max"])]),
                    _: 1 /* STABLE */
                  }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
                    span: 8
                  }, {
                    default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_input_number, {
                      modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).width,
                      "onUpdate:modelValue": _cache[18] || (_cache[18] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).width = $event),
                      onChange: _cache[19] || (_cache[19] = $event => paramsChanged('width')),
                      min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minWidth,
                      max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxWidth,
                      step: 1,
                      "controls-position": "right"
                    }, null, 8 /* PROPS */, ["modelValue", "min", "max"])]),
                    _: 1 /* STABLE */
                  })]),
                  _: 1 /* STABLE */
                })]),
                _: 1 /* STABLE */
              }, 8 /* PROPS */, ["label"])]),
              _: 1 /* STABLE */
            }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
              default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_form_item, {
                label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).voxelSpacing
              }, {
                default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
                  style: {
                    "display": "flex"
                  }
                }, {
                  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
                    span: 16
                  }, {
                    default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_slider, {
                      modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).spacing,
                      "onUpdate:modelValue": _cache[20] || (_cache[20] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).spacing = $event),
                      onChange: _cache[21] || (_cache[21] = $event => paramsChanged('spacing')),
                      onClick: _cache[22] || (_cache[22] = $event => paramsChanged('spacing')),
                      step: 0.1,
                      min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minSpacing,
                      max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxSpacing
                    }, null, 8 /* PROPS */, ["modelValue", "step", "min", "max"])]),
                    _: 1 /* STABLE */
                  }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
                    span: 8
                  }, {
                    default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_input_number, {
                      modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).spacing,
                      "onUpdate:modelValue": _cache[23] || (_cache[23] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).spacing = $event),
                      onChange: _cache[24] || (_cache[24] = $event => paramsChanged('spacing')),
                      min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minSpacing,
                      max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxSpacing,
                      step: 0.1,
                      "controls-position": "right"
                    }, null, 8 /* PROPS */, ["modelValue", "min", "max", "step"])]),
                    _: 1 /* STABLE */
                  })]),
                  _: 1 /* STABLE */
                })]),
                _: 1 /* STABLE */
              }, 8 /* PROPS */, ["label"])]),
              _: 1 /* STABLE */
            }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
              default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_form_item, {
                label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).filterValue
              }, {
                default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
                  style: {
                    "display": "flex"
                  }
                }, {
                  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
                    span: 16
                  }, {
                    default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_slider, {
                      modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).filterValue,
                      "onUpdate:modelValue": _cache[25] || (_cache[25] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).filterValue = $event),
                      onInput: _cache[26] || (_cache[26] = $event => paramsChanged('filterValue')),
                      step: 0.01,
                      min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minFilterValue,
                      max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxFilterValue
                    }, null, 8 /* PROPS */, ["modelValue", "step", "min", "max"])]),
                    _: 1 /* STABLE */
                  }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
                    span: 8
                  }, {
                    default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_input_number, {
                      modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).filterValue,
                      "onUpdate:modelValue": _cache[27] || (_cache[27] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).filterValue = $event),
                      min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minFilterValue,
                      max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxFilterValue,
                      step: 0.01,
                      onInput: _cache[28] || (_cache[28] = $event => paramsChanged('filterValue')),
                      "controls-position": "right"
                    }, null, 8 /* PROPS */, ["modelValue", "min", "max", "step"])]),
                    _: 1 /* STABLE */
                  })]),
                  _: 1 /* STABLE */
                })]),
                _: 1 /* STABLE */
              }, 8 /* PROPS */, ["label"])]),
              _: 1 /* STABLE */
            }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, null, {
              default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_form_item, {
                label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).alphaScale
              }, {
                default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
                  style: {
                    "display": "flex"
                  }
                }, {
                  default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
                    span: 16
                  }, {
                    default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_slider, {
                      modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).alphaScale,
                      "onUpdate:modelValue": _cache[29] || (_cache[29] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).alphaScale = $event),
                      onInput: _cache[30] || (_cache[30] = $event => paramsChanged('alphaScale')),
                      step: 0.1,
                      min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minAlphaScale,
                      max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxAlphaScale
                    }, null, 8 /* PROPS */, ["modelValue", "step", "min", "max"])]),
                    _: 1 /* STABLE */
                  }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
                    span: 8
                  }, {
                    default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_input_number, {
                      modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).alphaScale,
                      "onUpdate:modelValue": _cache[31] || (_cache[31] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).alphaScale = $event),
                      min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minAlphaScale,
                      max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxAlphaScale,
                      step: 0.1,
                      onInput: _cache[32] || (_cache[32] = $event => paramsChanged('alphaScale')),
                      "controls-position": "right"
                    }, null, 8 /* PROPS */, ["modelValue", "min", "max", "step"])]),
                    _: 1 /* STABLE */
                  })]),
                  _: 1 /* STABLE */
                })]),
                _: 1 /* STABLE */
              }, 8 /* PROPS */, ["label"])]),
              _: 1 /* STABLE */
            }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
              class: "kq3d-shadow-analysis-legend"
            }, {
              default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_form_item, {
                label: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).shadowRateLegend
              }, {
                default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [_hoisted_4, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("img", {
                  src: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(const_image_.SHADOW_LEGEND_URL),
                  alt: ""
                }, null, 8 /* PROPS */, _hoisted_5), _hoisted_6]),
                _: 1 /* STABLE */
              }, 8 /* PROPS */, ["label"])]),
              _: 1 /* STABLE */
            }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)(" <kq-row :gutter=\"20\" style=\"display: flex\">\r\n              <kq-col :span=\"12\">\r\n                <kq-checkbox v-model=\"formItem.showBuilding\">{{ language.showBuilding }}</kq-checkbox>\r\n              </kq-col>\r\n              <kq-col :span=\"12\">\r\n                <kq-checkbox v-model=\"formItem.showVoxel\">{{ language.showVoxel }}</kq-checkbox>\r\n              </kq-col>\r\n            </kq-row> ")]),
            _: 1 /* STABLE */
          })]),
          _: 1 /* STABLE */
        }, 8 /* PROPS */, ["title"])]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["model-value"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_7, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: _cache[33] || (_cache[33] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startAnalysis(), ["stop"])),
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).startAnalysis,
        type: "primary"
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createTextVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).startAnalysis), 1 /* TEXT */)]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["title"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: _cache[34] || (_cache[34] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => playTime(), ["stop"])),
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).sunshine,
        type: "primary"
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createTextVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).sunshine), 1 /* TEXT */)]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["title"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: _cache[35] || (_cache[35] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => clearResult(), ["stop"])),
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).clearResult
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createTextVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).clearResult), 1 /* TEXT */)]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["title"])])])], 2 /* CLASS */);
    };
  }
}));
;// CONCATENATED MODULE: ./src/webgl/shadowanalysis/ShadowAnalysis.vue?vue&type=script&setup=true&lang=js
 
;// CONCATENATED MODULE: ./src/webgl/shadowanalysis/ShadowAnalysis.vue



const __exports__ = ShadowAnalysisvue_type_script_setup_true_lang_js;

/* harmony default export */ var ShadowAnalysis = (__exports__);
// EXTERNAL MODULE: external "@kq_npm/client_common_vue/init.js"
var init_js_ = __webpack_require__(7997);
var init_js_default = /*#__PURE__*/__webpack_require__.n(init_js_);
;// CONCATENATED MODULE: ./src/webgl/shadowanalysis/index.js
/*
 * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
 * All rights reserved.
 */



ShadowAnalysis.install = (Vue, opts) => {
  init_js_default()(Vue, opts);
  Vue.component(ShadowAnalysis.name, ShadowAnalysis);
};

}();
/******/ 	return __webpack_exports__;
/******/ })()
;
});