(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/_utils/const-image"), require("@kq_npm/client_common_vue/_utils/util"), require("@kq_npm/client_common_vue/init.js"));
	else if(typeof define === 'function' && define.amd)
		define(["vue", "@kq_npm/client_common_vue/_utils/gis-utils", "@kq_npm/client_common_vue/_utils/const-image", "@kq_npm/client_common_vue/_utils/util", "@kq_npm/client_common_vue/init.js"], 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/_utils/const-image"), require("@kq_npm/client_common_vue/_utils/util"), require("@kq_npm/client_common_vue/init.js")) : factory(root["Vue"], root["@kq_npm/client_common_vue/_utils/gis-utils"], root["@kq_npm/client_common_vue/_utils/const-image"], root["@kq_npm/client_common_vue/_utils/util"], root["@kq_npm/client_common_vue/init.js"]);
		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__6277__, __WEBPACK_EXTERNAL_MODULE__3458__, __WEBPACK_EXTERNAL_MODULE__7997__) {
return /******/ (function() { // webpackBootstrap
/******/ 	"use strict";
/******/ 	var __webpack_modules__ = ({

/***/ 7705:
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {



/*
  MIT License http://www.opensource.org/licenses/mit-license.php
  Author Tobias Koppers @sokra
*/
// css base code, injected by the css-loader
// eslint-disable-next-line func-names
__webpack_require__(2118);
__webpack_require__(2170);
module.exports = function (cssWithMappingToString) {
  var list = []; // return the list of modules as css string

  list.toString = function toString() {
    return this.map(function (item) {
      var content = cssWithMappingToString(item);
      if (item[2]) {
        return "@media ".concat(item[2], " {").concat(content, "}");
      }
      return content;
    }).join("");
  }; // import a list of modules into the list
  // eslint-disable-next-line func-names

  list.i = function (modules, mediaQuery, dedupe) {
    if (typeof modules === "string") {
      // eslint-disable-next-line no-param-reassign
      modules = [[null, modules, ""]];
    }
    var alreadyImportedModules = {};
    if (dedupe) {
      for (var i = 0; i < this.length; i++) {
        // eslint-disable-next-line prefer-destructuring
        var id = this[i][0];
        if (id != null) {
          alreadyImportedModules[id] = true;
        }
      }
    }
    for (var _i = 0; _i < modules.length; _i++) {
      var item = [].concat(modules[_i]);
      if (dedupe && alreadyImportedModules[item[0]]) {
        // eslint-disable-next-line no-continue
        continue;
      }
      if (mediaQuery) {
        if (!item[2]) {
          item[2] = mediaQuery;
        } else {
          item[2] = "".concat(mediaQuery, " and ").concat(item[2]);
        }
      }
      list.push(item);
    }
  };
  return list;
};

/***/ }),

/***/ 6868:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7705);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
// Imports

var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
// Module
___CSS_LOADER_EXPORT___.push([module.id, ".coord-sightline{background:rgba(42,42,42,.8);border-radius:4px;padding:5px;color:#edffff;font-size:15px}.coord-sightline .triangle{display:block;height:16px;width:16px;background-color:inherit;border:inherit;position:absolute;bottom:-8px;left:calc(50% - 8px);clip-path:polygon(0% 0%, 100% 100%, 0% 100%);transform:rotate(-45deg)}", ""]);
// Exports
/* harmony default export */ __webpack_exports__["Z"] = (___CSS_LOADER_EXPORT___);


/***/ }),

/***/ 3379:
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {



var isOldIE = function isOldIE() {
  var memo;
  return function memorize() {
    if (typeof memo === 'undefined') {
      // Test for IE <= 9 as proposed by Browserhacks
      // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
      // Tests for existence of standard globals is to allow style-loader
      // to operate correctly into non-standard environments
      // @see https://github.com/webpack-contrib/style-loader/issues/177
      memo = Boolean(window && document && document.all && !window.atob);
    }

    return memo;
  };
}();

var getTarget = function getTarget() {
  var memo = {};
  return function memorize(target) {
    if (typeof memo[target] === 'undefined') {
      var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself

      if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
        try {
          // This will throw an exception if access to iframe is blocked
          // due to cross-origin restrictions
          styleTarget = styleTarget.contentDocument.head;
        } catch (e) {
          // istanbul ignore next
          styleTarget = null;
        }
      }

      memo[target] = styleTarget;
    }

    return memo[target];
  };
}();

var stylesInDom = [];

function getIndexByIdentifier(identifier) {
  var result = -1;

  for (var i = 0; i < stylesInDom.length; i++) {
    if (stylesInDom[i].identifier === identifier) {
      result = i;
      break;
    }
  }

  return result;
}

function modulesToDom(list, options) {
  var idCountMap = {};
  var identifiers = [];

  for (var i = 0; i < list.length; i++) {
    var item = list[i];
    var id = options.base ? item[0] + options.base : item[0];
    var count = idCountMap[id] || 0;
    var identifier = "".concat(id, " ").concat(count);
    idCountMap[id] = count + 1;
    var index = getIndexByIdentifier(identifier);
    var obj = {
      css: item[1],
      media: item[2],
      sourceMap: item[3]
    };

    if (index !== -1) {
      stylesInDom[index].references++;
      stylesInDom[index].updater(obj);
    } else {
      stylesInDom.push({
        identifier: identifier,
        updater: addStyle(obj, options),
        references: 1
      });
    }

    identifiers.push(identifier);
  }

  return identifiers;
}

function insertStyleElement(options) {
  var style = document.createElement('style');
  var attributes = options.attributes || {};

  if (typeof attributes.nonce === 'undefined') {
    var nonce =  true ? __webpack_require__.nc : 0;

    if (nonce) {
      attributes.nonce = nonce;
    }
  }

  Object.keys(attributes).forEach(function (key) {
    style.setAttribute(key, attributes[key]);
  });

  if (typeof options.insert === 'function') {
    options.insert(style);
  } else {
    var target = getTarget(options.insert || 'head');

    if (!target) {
      throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
    }

    target.appendChild(style);
  }

  return style;
}

function removeStyleElement(style) {
  // istanbul ignore if
  if (style.parentNode === null) {
    return false;
  }

  style.parentNode.removeChild(style);
}
/* istanbul ignore next  */


var replaceText = function replaceText() {
  var textStore = [];
  return function replace(index, replacement) {
    textStore[index] = replacement;
    return textStore.filter(Boolean).join('\n');
  };
}();

function applyToSingletonTag(style, index, remove, obj) {
  var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE

  /* istanbul ignore if  */

  if (style.styleSheet) {
    style.styleSheet.cssText = replaceText(index, css);
  } else {
    var cssNode = document.createTextNode(css);
    var childNodes = style.childNodes;

    if (childNodes[index]) {
      style.removeChild(childNodes[index]);
    }

    if (childNodes.length) {
      style.insertBefore(cssNode, childNodes[index]);
    } else {
      style.appendChild(cssNode);
    }
  }
}

function applyToTag(style, options, obj) {
  var css = obj.css;
  var media = obj.media;
  var sourceMap = obj.sourceMap;

  if (media) {
    style.setAttribute('media', media);
  } else {
    style.removeAttribute('media');
  }

  if (sourceMap && typeof btoa !== 'undefined') {
    css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
  } // For old IE

  /* istanbul ignore if  */


  if (style.styleSheet) {
    style.styleSheet.cssText = css;
  } else {
    while (style.firstChild) {
      style.removeChild(style.firstChild);
    }

    style.appendChild(document.createTextNode(css));
  }
}

var singleton = null;
var singletonCounter = 0;

function addStyle(obj, options) {
  var style;
  var update;
  var remove;

  if (options.singleton) {
    var styleIndex = singletonCounter++;
    style = singleton || (singleton = insertStyleElement(options));
    update = applyToSingletonTag.bind(null, style, styleIndex, false);
    remove = applyToSingletonTag.bind(null, style, styleIndex, true);
  } else {
    style = insertStyleElement(options);
    update = applyToTag.bind(null, style, options);

    remove = function remove() {
      removeStyleElement(style);
    };
  }

  update(obj);
  return function updateStyle(newObj) {
    if (newObj) {
      if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {
        return;
      }

      update(obj = newObj);
    } else {
      remove();
    }
  };
}

module.exports = function (list, options) {
  options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
  // tags it will allow on a page

  if (!options.singleton && typeof options.singleton !== 'boolean') {
    options.singleton = isOldIE();
  }

  list = list || [];
  var lastIdentifiers = modulesToDom(list, options);
  return function update(newList) {
    newList = newList || [];

    if (Object.prototype.toString.call(newList) !== '[object Array]') {
      return;
    }

    for (var i = 0; i < lastIdentifiers.length; i++) {
      var identifier = lastIdentifiers[i];
      var index = getIndexByIdentifier(identifier);
      stylesInDom[index].references--;
    }

    var newLastIdentifiers = modulesToDom(newList, options);

    for (var _i = 0; _i < lastIdentifiers.length; _i++) {
      var _identifier = lastIdentifiers[_i];

      var _index = getIndexByIdentifier(_identifier);

      if (stylesInDom[_index].references === 0) {
        stylesInDom[_index].updater();

        stylesInDom.splice(_index, 1);
      }
    }

    lastIdentifiers = newLastIdentifiers;
  };
};

/***/ }),

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

/***/ }),

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

module.exports = require("core-js/modules/esnext.iterator.map.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] = {
/******/ 			id: moduleId,
/******/ 			// 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 });
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/nonce */
/******/ 	!function() {
/******/ 		__webpack_require__.nc = undefined;
/******/ 	}();
/******/ 	
/************************************************************************/
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__, {
  "SightlineAnalysisViewModel": function() { return /* reexport */ SightlineAnalysisViewModel; },
  "default": function() { return /* reexport */ SightlineAnalysis; }
});

// 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);
;// CONCATENATED MODULE: external "core-js/modules/esnext.iterator.some.js"
var esnext_iterator_some_js_namespaceObject = require("core-js/modules/esnext.iterator.some.js");
// EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js
var injectStylesIntoStyleTag = __webpack_require__(3379);
var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);
// EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/webgl/sightlineanalysis/style/divpoint.scss
var divpoint = __webpack_require__(6868);
;// CONCATENATED MODULE: ./src/webgl/sightlineanalysis/style/divpoint.scss

            

var options = {};

options.insert = "head";
options.singleton = false;

var update = injectStylesIntoStyleTag_default()(divpoint/* default */.Z, options);



/* harmony default export */ var style_divpoint = (divpoint/* default.locals */.Z.locals || {});
// EXTERNAL MODULE: external "@kq_npm/client_common_vue/_utils/const-image"
var const_image_ = __webpack_require__(6277);
;// CONCATENATED MODULE: ./src/webgl/sightlineanalysis/SightlineAnalysisViewModel.js




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


//通视分析逻辑类
class SightlineAnalysisViewModel {
  constructor(scenceView, options, language) {
    (0,defineProperty/* default */.Z)(this, "_viewer", null);
    //三维viewer对象
    (0,defineProperty/* default */.Z)(this, "_sightlineAnalysis", null);
    //通视分析三维对象
    (0,defineProperty/* default */.Z)(this, "_drawManager", null);
    //绘制管理对象
    (0,defineProperty/* default */.Z)(this, "_removeEventListener", null);
    //绘制完成监听事件
    (0,defineProperty/* default */.Z)(this, "_obstacleColor", Cesium.Color.RED);
    //障碍物颜色
    (0,defineProperty/* default */.Z)(this, "_isLabel", false);
    //是否显示标注
    (0,defineProperty/* default */.Z)(this, "_addType", 0);
    //添加的点的类型
    (0,defineProperty/* default */.Z)(this, "_pointCollection", []);
    //创建的divpoint集合
    (0,defineProperty/* default */.Z)(this, "_cartographicList", []);
    //拾取的点位集合
    (0,defineProperty/* default */.Z)(this, "_highlightIds", []);
    //高亮的障碍物的id集合
    (0,defineProperty/* default */.Z)(this, "_billboards", []);
    // 点位图标billboards集合
    (0,defineProperty/* default */.Z)(this, "_language", null);
    this._viewer = scenceView._viewer;
    this._viewer.scene.postProcessStages._fxaa.enabled = true;
    this._viewer.scene.globe.depthTestAgainstTerrain = true; //开启深度检测
    this._language = language;
    options.viewer = this._viewer;
    if (options.visibleColor) {
      options.visibleColor = Cesium.Color.fromCssColorString(options.visibleColor);
    }
    if (options.visibleColor) {
      options.invisibleColor = Cesium.Color.fromCssColorString(options.invisibleColor);
    }
    if (options.obstacleColor) {
      this._obstacleColor = Cesium.Color.fromCssColorString(options.obstacleColor);
    }
    this._isLabel = options.isLabel;
    options.isLabel = false;
    this._sightlineAnalysis = new Cesium.Kq3dSightAnalysis(options);
    this._drawManager = scenceView._drawManager;
    this._drawManager.enableMultiDraw(true);
    let that = this;
    this._removeEventListener = this._drawManager.drawFinishedEvent.addEventListener(shape => {
      if (shape && shape.type === "marker") {
        that.createBillboard(shape.position);
        if (that._addType === 1) {
          that._sightlineAnalysis.setSeePoint(shape.position);
          that.clearDisplay();
          that.createLabels(that._sightlineAnalysis._pickedPos);
          that.highlightObstacles(that._sightlineAnalysis._pickedFeatures);
        } else if (that._addType === 2) {
          let result = that._sightlineAnalysis.addTargetPoint(shape.position);
          that.createLabels(result.cartographic);
          that.highlightObstacles(result.id);
        }
        that._drawManager.clear();
      }
    });
  }
  // 创建图标
  createBillboard(pos) {
    if (this._addType == 1) this.clearBillboards("marker" + this._addType);
    this._billboards.push(this._viewer.entities.add({
      position: pos,
      name: "marker" + this._addType,
      billboard: {
        image: this._addType === 1 ? const_image_.OBSERVATION_POINT : const_image_.TARGET_POINT,
        verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
        disableDepthTestDistance: Number.POSITIVE_INFINITY
      }
    }));
  }
  //创建点位置
  createDivPoint(position) {
    if (position) {
      var longitude = Cesium.Math.toDegrees(position.longitude).toFixed(5);
      var latitude = Cesium.Math.toDegrees(position.latitude).toFixed(5);
      var height = position.height.toFixed(3);
      position = Cesium.Cartesian3.fromRadians(position.longitude, position.latitude, position.height);
      var html = `<div class="coord-sightline">
                    <table>
                        <tr>
                            <td>X: </td>
                            <td>{X}°</td>
                        </tr>
                        <tr>
                            <td>Y: </td>
                            <td>{Y}°</td>
                        </tr>
                        <tr>
                            <td>Z: </td>
                            <td>{Z} m</td>
                        </tr>
                    </table>
                    <span class="triangle"></span>
                </div>`;
      html = html.replace('{X}', longitude).replace('{Y}', latitude).replace('{Z}', height);
      if (this._language) {
        html = html.replace('X', this._language.value.longitude).replace('Y', this._language.value.latitude).replace('Z', this._language.value.elevation);
      }
      var divpoint = new Cesium.Kq3dHtmlTag(this._viewer, {
        html: html,
        position: position,
        anchor: [0, -8],
        alignmentMode: 7,
        noEvent: true
      });
      if (!this._isLabel) {
        divpoint.setVisible(false);
      }
      this._pointCollection.push(divpoint);
    }
  }

  //创建label标签
  createLabels(positions) {
    for (let i = 0; i < positions.length; i++) {
      let include = this._cartographicList.some(item => {
        if (item.longitude === positions[i].longitude && item.latitude === positions[i].latitude && item.height === positions[i].height) {
          return true;
        }
      });
      if (!include) {
        this.createDivPoint(positions[i]);
      }
    }
    this._cartographicList = [].concat(positions);
  }

  //设置3DTileset颜色
  set3DTilesetColor(color, ids) {
    if (!ids) ids = [];
    let primitives = this._viewer.scene.primitives._primitives;
    for (let i = 0; i < primitives.length; i++) {
      if (primitives[i] instanceof Cesium.Cesium3DTileset) {
        primitives[i].style = new Cesium.Cesium3DTileStyle({
          color: {
            evaluateColor: function (feature, result) {
              if (feature && feature.pickId && ids.includes(feature.pickId.key)) Cesium.Color.clone(color, result);else Cesium.Color.clone(Cesium.Color.WHITE, result);
              return result;
            }
          }
        });
      }
    }
  }

  //高亮障碍物
  highlightObstacles(ids) {
    if (!ids || ids.length === 0) return;
    this._highlightIds = ids;
    this.set3DTilesetColor(this._obstacleColor, ids);
  }

  //清除所有高亮效果
  clearHighlights() {
    this._highlightIds = [];
    this.set3DTilesetColor(Cesium.Color.WHITE);
  }

  //添加观察点
  addSeePoint() {
    this._addType = 1;
    this._drawManager.startDraw("point", {
      image: const_image_.OBSERVATION_POINT
    });
  }

  //添加目标点
  addTargetPoint() {
    if (!this._sightlineAnalysis._seePoint) return;
    this._addType = 2;
    this._drawManager.startDraw("point", {
      image: const_image_.TARGET_POINT
    });
  }

  //清除显示结果
  clearDisplay() {
    //清除标注
    for (var i = 0; i < this._pointCollection.length; i++) {
      this._pointCollection[i].destroy();
    }
    this._pointCollection = [];
  }
  // 清楚billboards
  clearBillboards(val) {
    for (var i = 0; i < this._billboards.length; i++) {
      if (val) {
        if (this._billboards[i].name == val) this._viewer.entities.remove(this._billboards[i]);
      } else {
        this._viewer.entities.remove(this._billboards[i]);
      }
    }
    if (!val) this._billboards = [];
  }
  //清除全部
  clearAll() {
    this._drawManager.stopDraw();
    this.clearDisplay();
    this.clearHighlights();
    this.clearBillboards();
    this._sightlineAnalysis && this._sightlineAnalysis.remove();
  }

  //销毁
  destroy() {
    this.clearAll();
    //销毁分析对象
    this._sightlineAnalysis && this._sightlineAnalysis.destroy();
    this._sightlineAnalysis = null;
    //移除监听事件
    this._removeEventListener && this._removeEventListener();
    this._removeEventListener = null;
    this._drawManager.enableMultiDraw(false);
  }

  // //设置线宽
  // setLineWidth(lineWith) {
  //   this._sightlineAnalysis.lineWith = Number(lineWith);
  // }
  //设置可视颜色
  setVisibleColor(visibleColor) {
    this._sightlineAnalysis.visibleColor = Cesium.Color.fromCssColorString(visibleColor);
  }
  //设置不可视颜色
  setInvisibleColor(invisibleColor) {
    this._sightlineAnalysis.invisibleColor = Cesium.Color.fromCssColorString(invisibleColor);
  }
  //设置障碍物颜色
  setObstacleColor(obstacleColor) {
    this._obstacleColor = Cesium.Color.fromCssColorString(obstacleColor);
    if (this._highlightIds.length > 0) {
      this.set3DTilesetColor(this._obstacleColor, this._highlightIds);
    }
  }
  //显示/隐藏标注
  setShowLabel(isLabel) {
    this._isLabel = isLabel;
    for (var i = 0; i < this._pointCollection.length; i++) {
      this._pointCollection[i].setVisible(isLabel);
    }
  }
}
// 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/sightlineanalysis/SightlineAnalysis.vue?vue&type=script&setup=true&lang=js

const _hoisted_1 = {
  class: "kq3d-sightline-analysis-box"
};
const _hoisted_2 = {
  class: "kq3d-sightline-analysis-footer"
};






const __default__ = {
  name: "Kq3dSightlineAnalysis"
};
/* harmony default export */ var SightlineAnalysisvue_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_.IconSightlineAnalysis
    },
    // 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 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 formItem = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.reactive)({
      lineWidth: props.settingParams && props.settingParams.lineWidth || 5,
      visibleColor: props.settingParams && props.settingParams.visibleColor || "#00ff00",
      invisibleColor: props.settingParams && props.settingParams.invisibleColor || "#ff0000",
      obstacleColor: props.settingParams && props.settingParams.obstacleColor || "#e6a23c",
      obstaclePoint: props.settingParams && props.settingParams.obstaclePoint !== undefined || false,
      highlightObstacle: props.settingParams && props.settingParams.highlightObstacle !== undefined || false,
      isLabel: props.settingParams && props.settingParams.isLabel !== undefined || true
    });
    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.sightlineAnalysis;
    });
    (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();
        });
      });

      //父组件ScenceView初始化完成后执行
      gis_utils_.utils.getWebMap(null, scenceView => {
        if (scenceView) {
          let options = {
            lineWidth: formItem.lineWidth,
            visibleColor: formItem.visibleColor,
            invisibleColor: formItem.invisibleColor,
            obstacleColor: formItem.obstacleColor,
            isLabel: formItem.isLabel
          };
          viewModel = new SightlineAnalysisViewModel(scenceView, options, language);
        }
      });
    });
    /**
     * @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 paramsChanged(key) {
      switch (key) {
        // case "lineWidth":
        //   viewModel.setLineWidth(formItem.lineWidth);
        //   break;
        case "visibleColor":
          viewModel.setVisibleColor(formItem.visibleColor);
          break;
        case "invisibleColor":
          viewModel.setInvisibleColor(formItem.invisibleColor);
          break;
        case "obstacleColor":
          viewModel.setObstacleColor(formItem.obstacleColor);
          break;
        case "isLabel":
          viewModel.setShowLabel(formItem.isLabel);
          break;
        default:
          break;
      }
    }

    //添加观察点
    function addSeePoint() {
      viewModel && viewModel.addSeePoint();
    }

    //添加目标点
    function addTargetPoint() {
      viewModel && viewModel.addTargetPoint();
    }

    //清除结果
    function clearResult() {
      viewModel && viewModel.clearAll();
    }

    // 销毁
    (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.onBeforeUnmount)(() => {
      viewModel && viewModel.destroy();
    });
    __expose({
      paramsChanged,
      addSeePoint,
      addTargetPoint,
      clearResult
    });
    return (_ctx, _cache) => {
      const _component_kq_row = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-row");
      const _component_kq_color_picker = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-color-picker");
      const _component_kq_form_item = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-form-item");
      const _component_kq_checkbox = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-checkbox");
      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-sightline-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-sightline-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).sightTips), 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_.createCommentVNode)(" <kq-row>\r\n            <kq-form-item :label=\"language.lineWidth\">\r\n              <kq-row style=\"display: flex\">\r\n                <kq-col :span=\"16\">\r\n                  <kq-slider v-model=\"formItem.lineWidth\" :min=\"1\" :max=\"10\" @input=\"paramsChanged('lineWidth')\"></kq-slider>\r\n                </kq-col>\r\n                <kq-col :span=\"8\">\r\n                  <kq-input-number v-model=\"formItem.lineWidth\" :min=\"1\" :max=\"10\" controls-position=\"right\" @input=\"paramsChanged('lineWidth')\">\r\n                  </kq-input-number>\r\n                </kq-col>\r\n              </kq-row>\r\n            </kq-form-item>\r\n          </kq-row> "), (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).visibleColor
              }, {
                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_color_picker, {
                  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).visibleColor,
                  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).visibleColor = $event),
                  onChange: _cache[1] || (_cache[1] = $event => paramsChanged('visibleColor'))
                }, null, 8 /* PROPS */, ["modelValue"])]),
                _: 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).invisibleColor
              }, {
                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_color_picker, {
                  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).invisibleColor,
                  "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).invisibleColor = $event),
                  onChange: _cache[3] || (_cache[3] = $event => paramsChanged('invisibleColor'))
                }, null, 8 /* PROPS */, ["modelValue"])]),
                _: 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).obstacleColor
              }, {
                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_color_picker, {
                  modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).obstacleColor,
                  "onUpdate:modelValue": _cache[4] || (_cache[4] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).obstacleColor = $event),
                  onChange: _cache[5] || (_cache[5] = $event => paramsChanged('obstacleColor'))
                }, null, 8 /* PROPS */, ["modelValue"])]),
                _: 1 /* STABLE */
              }, 8 /* PROPS */, ["label"])]),
              _: 1 /* STABLE */
            }), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)(" <kq-row style=\"display: flex\">\r\n            <kq-col :span=\"12\">\r\n              <kq-checkbox v-model=\"formItem.obstaclePoint\">{{ language.obstaclePoint }}</kq-checkbox>\r\n            </kq-col>\r\n            <kq-col :span=\"12\">\r\n              <kq-checkbox v-model=\"formItem.highlightObstacle\">{{ language.highlightObstacle }}</kq-checkbox>\r\n            </kq-col>\r\n          </kq-row> "), (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_checkbox, {
                modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).isLabel,
                "onUpdate:modelValue": _cache[6] || (_cache[6] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(formItem).isLabel = $event),
                onChange: _cache[7] || (_cache[7] = $event => paramsChanged('isLabel'))
              }, {
                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).showLabel), 1 /* TEXT */)]),
                _: 1 /* STABLE */
              }, 8 /* PROPS */, ["modelValue"])]),
              _: 1 /* STABLE */
            })]),
            _: 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_2, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)(addSeePoint, ["stop"]),
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).seePoint,
        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).seePoint), 1 /* TEXT */)]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["onClick", "title"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)(addTargetPoint, ["stop"]),
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).targetPoint,
        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).targetPoint), 1 /* TEXT */)]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["onClick", "title"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)(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 */, ["onClick", "title"])])])], 2 /* CLASS */);
    };
  }
}));
;// CONCATENATED MODULE: ./src/webgl/sightlineanalysis/SightlineAnalysis.vue?vue&type=script&setup=true&lang=js
 
;// CONCATENATED MODULE: ./src/webgl/sightlineanalysis/SightlineAnalysis.vue



const __exports__ = SightlineAnalysisvue_type_script_setup_true_lang_js;

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



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

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