(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/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/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/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/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__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");

/***/ }),

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

module.exports = require("core-js/modules/es.array.push.js");

/***/ }),

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

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

/***/ }),

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

module.exports = require("core-js/modules/esnext.iterator.for-each.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");

/***/ }),

/***/ 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__, {
  "TerrainOperationViewModel": function() { return /* reexport */ TerrainOperationViewModel; },
  "default": function() { return /* reexport */ TerrainOperation; }
});

// 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/es.array.push.js"
var es_array_push_js_ = __webpack_require__(2118);
// EXTERNAL MODULE: external "core-js/modules/esnext.iterator.constructor.js"
var esnext_iterator_constructor_js_ = __webpack_require__(8470);
// EXTERNAL MODULE: external "core-js/modules/esnext.iterator.for-each.js"
var esnext_iterator_for_each_js_ = __webpack_require__(1058);
// EXTERNAL MODULE: ./src/common/_ui/message/index.js
var message = __webpack_require__(1349);
;// CONCATENATED MODULE: ./src/webgl/terrainoperation/TerrainOperationViewModel.js




/*
 * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
 * All rights reserved.
 */

//地形淹没分析逻辑类

class TerrainOperationViewModel {
  constructor(scenceView, viewModel) {
    (0,defineProperty/* default */.Z)(this, "_terrainexcavationext", null);
    //地形开挖三维对象
    (0,defineProperty/* default */.Z)(this, "_terrainmodification", null);
    //地形修改三维对象
    (0,defineProperty/* default */.Z)(this, "_drawManager", null);
    //绘制管理对象
    (0,defineProperty/* default */.Z)(this, "_globaOptions", {});
    //全局参数
    (0,defineProperty/* default */.Z)(this, "_positions", []);
    //绘制的坐标点集合
    (0,defineProperty/* default */.Z)(this, "_terrainStyle", null);
    //地形操作类型
    (0,defineProperty/* default */.Z)(this, "_height", 0);
    //开挖深度
    (0,defineProperty/* default */.Z)(this, "_smoothHeight", 2000);
    //平整高度
    (0,defineProperty/* default */.Z)(this, "_removeEventListener", null);
    //绘制完成监听事件
    (0,defineProperty/* default */.Z)(this, "_language", {});
    this._language = scenceView._language;
    this._globaOptions.viewer = scenceView._viewer;
    this._globaOptions.viewer.scene.logarithmicDepthBuffer = false;
    this._globaOptions.viewer.scene.globe.depthTestAgainstTerrain = true;
    this._drawManager = scenceView._drawManager;
    this._terrainStyle = viewModel.terrainStyle;
    this._height = viewModel.excavationDepth;
    this._smoothHeight = viewModel.modificationHeight;
    var that = this;
    this._removeEventListener = this._drawManager.drawFinishedEvent.addEventListener(shape => {
      if (shape) {
        that._globaOptions.positions = shape._controlPoints;
        if (that._terrainStyle === 1) {
          that._positions.push(shape._controlPoints);
          if (that._terrainexcavationext) {
            that.setTerrainExcavationAddPolygon();
          } else {
            this.createTerrainExcavation(() => {
              that.setTerrainExcavationAddPolygon();
            });
          }
        } else if (that._terrainStyle === 2) {
          if (that._terrainmodification) {
            that.setTerrainModification();
          } else {
            this.createTerrainModification();
          }
        }
        that._drawManager.clear();
      }
    });
  }
  // 创建地形分析类
  createTerrainExcavation(callback) {
    var that = this;
    this._globaOptions.viewer.terrainProvider.readyPromise.then(function () {
      setTimeout(() => {
        // 地形开挖
        that._terrainexcavationext = new window.Cesium.Kq3dTerrainExcavationExt({
          viewer: that._globaOptions.viewer
        });
        if (callback) callback();
      }, 500);
    });
  }
  // 创建地形修改分析类
  createTerrainModification(callback) {
    var that = this;
    this._globaOptions.viewer.terrainProvider.readyPromise.then(function () {
      setTimeout(() => {
        let heights = [];
        let positions = [];
        that._globaOptions.positions.forEach((item, index) => {
          console.log(index);
          let cag = window.Cesium.Cartographic.fromCartesian(item);
          positions.push(cag);
          heights.push(cag.height);
        });
        // 地形平整
        if (!that._terrainmodification) {
          that._terrainmodification = new window.Cesium.Kq3dTerrainModification({
            viewer: that._globaOptions.viewer,
            positions: positions,
            height: Number(that._smoothHeight) || 2000,
            heights: heights
          });
        } else {
          that._terrainmodification.heights = heights;
          that._terrainmodification.positions = positions;
        }
        that._terrainmodification._clippingPlanesEnabled = true;
        if (callback) callback();
      }, 500);
    });
  }
  // 地形开挖分析更新分析位置和高度
  setTerrainExcavationAddPolygon() {
    this._terrainexcavationext.addPolygon({
      polygonArray: this._globaOptions.positions,
      height: Number(this._height)
    });
  }
  // 地形平整执行分析
  setTerrainModification() {
    let heights = [];
    let positions = [];
    this._globaOptions.positions.forEach((item, index) => {
      console.log(index);
      let cag = window.Cesium.Cartographic.fromCartesian(item);
      positions.push(cag);
      heights.push(cag.height);
    });
    this._terrainmodification.heights = heights;
    this._terrainmodification.positions = positions;
  }
  //开始分析
  start() {
    // 判断是否添加了地形
    if (this._globaOptions.viewer.terrainProvider.availability) {
      if (this._globaOptions.viewer.terrainProvider instanceof Cesium.CesiumTerrainProvider) {
        this.clear();
        this._drawManager.startDraw("polygon", {
          clampToGround: true
        });
      } else {
        (0,message/* default */.Z)({
          message: this._language["stkTerrainAnalysisTips"],
          type: "warning"
        });
      }
    } else {
      (0,message/* default */.Z)({
        message: this._language["terrainAnalysisTips"],
        type: "warning"
      });
    }
  }
  //改变分析类型
  setTerrainStyle(val) {
    this._terrainStyle = val;
    this.clear();
  }

  // 设置开挖深度
  setHeight(height) {
    let that = this;
    this._height = height;
    if (this._terrainStyle === 0 && this._terrainexcavationext) {
      this._terrainexcavationext && this._terrainexcavationext.destroy();
      this._terrainexcavationext = new window.Cesium.Kq3dTerrainExcavationExt({
        viewer: this._globaOptions.viewer
      });
      this._positions.forEach(item => {
        if (that._terrainexcavationext) {
          that._terrainexcavationext.addPolygon({
            polygonArray: item,
            height: Number(that._height)
          });
        }
      });
    }
  }
  setModificationHeight(height) {
    this._smoothHeight = Number(height);
    if (this._terrainmodification) this._terrainmodification._height = this._smoothHeight;
  }
  //清除全部结果
  clear() {
    this._drawManager.stopDraw();
    // 销毁地形开挖
    if (this._terrainexcavationext) {
      this._terrainexcavationext.destroy();
      this._terrainexcavationext = null;
      this._positions = [];
    }
    // 销毁地形平整
    if (this._terrainmodification) {
      this._terrainmodification && this._terrainmodification.remove();
      this._terrainmodification = null;
    }
  }
  // 销毁
  destroy() {
    this.clear();
    //移除监听事件
    this._removeEventListener && this._removeEventListener();
    this._removeEventListener = null;
  }
}
// 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/terrainoperation/TerrainOperation.vue?vue&type=script&setup=true&lang=js

const _hoisted_1 = {
  class: "kq3d-terrain-operation-analysis-box"
};
const _hoisted_2 = {
  class: "kq3d-terrain-operation-analysis-span"
};
const _hoisted_3 = {
  class: "kq3d-terrain-operation-analysis-span"
};
const _hoisted_4 = {
  class: "kq3d-terrain-operation-analysis-footer"
};






const __default__ = {
  name: "Kq3dTerrainOperation"
};
/* harmony default export */ var TerrainOperationvue_type_script_setup_true_lang_js = (/*#__PURE__*/Object.assign(__default__, {
  props: {
    // 设置参数
    settingParams: {
      type: Object
    },
    // 地形开挖和地形修改显示设置。0:同时显示;1:显示地形开挖;2:显示地形修改
    operationMode: {
      type: Number,
      default: 0
    },
    // 是否显示阴影效果
    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_.IconTerrainOperation
    },
    // 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 formItem = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.reactive)({
      terrainStyle: props.settingParams && props.settingParams.terrainStyle || 1,
      // 地形操作类型。1:地形开挖;2:地形修改
      excavationDepth: props.settingParams && props.settingParams.excavationDepth || 500,
      // 地形开挖深度
      minExcavationDepth: props.settingParams && props.settingParams.minExcavationDepth || 100,
      // 地形开挖深度范围最小值
      maxExcavationDepth: props.settingParams && props.settingParams.maxExcavationDepth || 5000,
      // 地形开挖深度范围最大值
      modificationHeight: props.settingParams && props.settingParams.modificationHeight || 2000,
      // 地形平整
      minModificationHeight: props.settingParams && props.settingParams.minModificationHeight || 100,
      // 地形平整高度最小值
      maxModificationHeight: props.settingParams && props.settingParams.maxModificationHeight || 8000 // 地形平整高度最大值
    });
    let viewModel = null;

    // 组件容器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.terrainOperation;
    });
    (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();
        });
      });
      currentLang.value = proxy.$i18n.locale; // 获取当前语言
      gis_utils_.utils.getWebMap(null, scenceView => {
        if (scenceView) {
          if (props.operationMode !== 0) {
            formItem.terrainStyle = props.operationMode;
          }
          viewModel = new TerrainOperationViewModel(scenceView, {
            terrainStyle: formItem.terrainStyle,
            excavationDepth: formItem.excavationDepth,
            modificationHeight: formItem.modificationHeight
          });
        }
      });
    });

    /**
     * @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 changeStyle() {
      viewModel && viewModel.setTerrainStyle(formItem.terrainStyle);
    }
    // 调整开挖深度
    function changeHeight() {
      viewModel && viewModel.setHeight(formItem.excavationDepth);
    }
    // 调整平整高度
    function changeModificationHeight() {
      viewModel && viewModel.setModificationHeight(formItem.modificationHeight);
    }
    // 开始分析
    function startOperation() {
      viewModel && viewModel.start();
    }
    // 清除
    function clear() {
      viewModel && viewModel.clear();
    }

    // 销毁
    (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.onBeforeUnmount)(() => {
      viewModel && viewModel.destroy();
    });
    __expose({
      changeStyle,
      changeHeight,
      changeModificationHeight,
      startOperation,
      clear
    });
    return (_ctx, _cache) => {
      const _component_kq_radio = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-radio");
      const _component_kq_row = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-row");
      const _component_kq_col = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-col");
      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_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-terrain-operation-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, [__props.operationMode === 0 ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq_row, {
        key: 0
      }, {
        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_radio, {
          modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).terrainStyle,
          "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).terrainStyle = $event),
          label: 1,
          onChange: changeStyle
        }, {
          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).terrainExcavation), 1 /* TEXT */)]),
          _: 1 /* STABLE */
        }, 8 /* PROPS */, ["modelValue"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_radio, {
          modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).terrainStyle,
          "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).terrainStyle = $event),
          label: 2,
          onChange: changeStyle
        }, {
          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).TerrainModification), 1 /* TEXT */)]),
          _: 1 /* STABLE */
        }, 8 /* PROPS */, ["modelValue"])]),
        _: 1 /* STABLE */
      })) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).terrainStyle === 1 ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq_row, {
        key: 1,
        gutter: 10
      }, {
        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: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(currentLang) === 'zh' ? 7 : 10
        }, {
          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).excavationDepth), 1 /* TEXT */)]),
          _: 1 /* STABLE */
        }, 8 /* PROPS */, ["span"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
          span: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(currentLang) === 'zh' ? 11 : 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_slider, {
            modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).excavationDepth,
            "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).excavationDepth = $event),
            step: 100,
            min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minExcavationDepth,
            max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxExcavationDepth,
            onChange: _cache[3] || (_cache[3] = $event => changeHeight()),
            onClick: _cache[4] || (_cache[4] = $event => changeHeight())
          }, null, 8 /* PROPS */, ["modelValue", "min", "max"])]),
          _: 1 /* STABLE */
        }, 8 /* PROPS */, ["span"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
          span: 6,
          style: {
            "text-align": "end"
          }
        }, {
          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).excavationDepth,
            "onUpdate:modelValue": _cache[5] || (_cache[5] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).excavationDepth = $event),
            min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minExcavationDepth,
            step: 100,
            max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxExcavationDepth,
            "controls-position": "right",
            onInput: _cache[6] || (_cache[6] = $event => changeHeight())
          }, null, 8 /* PROPS */, ["modelValue", "min", "max"])]),
          _: 1 /* STABLE */
        })]),
        _: 1 /* STABLE */
      })) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).terrainStyle === 2 ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq_row, {
        key: 2,
        gutter: 10
      }, {
        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: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(currentLang) === 'zh' ? 7 : 10
        }, {
          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).modificationHeight), 1 /* TEXT */)]),
          _: 1 /* STABLE */
        }, 8 /* PROPS */, ["span"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
          span: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(currentLang) === 'zh' ? 11 : 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_slider, {
            modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).modificationHeight,
            "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).modificationHeight = $event),
            step: 100,
            min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minModificationHeight,
            max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxModificationHeight,
            onChange: _cache[8] || (_cache[8] = $event => changeModificationHeight()),
            onClick: _cache[9] || (_cache[9] = $event => changeModificationHeight())
          }, null, 8 /* PROPS */, ["modelValue", "min", "max"])]),
          _: 1 /* STABLE */
        }, 8 /* PROPS */, ["span"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_col, {
          span: 6,
          style: {
            "text-align": "end"
          }
        }, {
          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).modificationHeight,
            "onUpdate:modelValue": _cache[10] || (_cache[10] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).modificationHeight = $event),
            min: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).minModificationHeight,
            step: 100,
            max: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).maxModificationHeight,
            "controls-position": "right",
            onInput: _cache[11] || (_cache[11] = $event => changeModificationHeight())
          }, null, 8 /* PROPS */, ["modelValue", "min", "max"])]),
          _: 1 /* STABLE */
        })]),
        _: 1 /* STABLE */
      })) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_row, {
        class: "kq3d-terrain-operation-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).skylineTips), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)(" <p v-if=\"formItem.terrainStyle === 2\">{{ \"(\" + language.reverseDrawPolygon + \")\" }}</p> ")]),
        _: 1 /* STABLE */
      }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_4, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: _cache[12] || (_cache[12] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startOperation(), ["stop"])),
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).startOperation,
        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).startOperation), 1 /* TEXT */)]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["title"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: _cache[13] || (_cache[13] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => clear(), ["stop"])),
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).clear
      }, {
        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).clear), 1 /* TEXT */)]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["title"])])])], 2 /* CLASS */);
    };
  }
}));
;// CONCATENATED MODULE: ./src/webgl/terrainoperation/TerrainOperation.vue?vue&type=script&setup=true&lang=js
 
;// CONCATENATED MODULE: ./src/webgl/terrainoperation/TerrainOperation.vue



const __exports__ = TerrainOperationvue_type_script_setup_true_lang_js;

/* harmony default export */ var TerrainOperation = (__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/terrainoperation/index.js
/*
 * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
 * All rights reserved.
 */



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

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