{"version":3,"file":"index.mjs","sources":["../../../../../../../packages/components/analyses/src/viewshed/index.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2022-01-06 16:26:03\n * @LastEditTime: 2022-06-24 16:54:28\n * @LastEditors: zouyaoji\n * @Description: refer to https://blog.csdn.net/fywindmoon/article/details/108415116\n * @FilePath: \\vue-cesium@next\\packages\\components\\analyses\\src\\viewshed\\index.ts\n */\nimport { ComputedRef, defineComponent, PropType, Ref } from 'vue'\nimport { useDrawingActionProps } from 'casc-cesium-composables/use-drawing/props'\nimport useDrawingSegment from 'casc-cesium-composables/use-drawing/use-drawing-segment'\nimport { VcGeometryPolylineProps } from '../../../geometries'\nimport { VcPrimitiveProps } from '../../../primitives'\nimport { drawingEmit } from 'casc-cesium-utils/emits'\nimport {\n  VcDrawingDrawEvt,\n  VcDrawingEditorEvt,\n  VcDrawingMouseEvt,\n  VcDrawingPreRenderDatas,\n  VcDrawTipOpts,\n  VcEditorOpts,\n  VcPolylineDrawing,\n  VcSegmentDrawing,\n  VcViewshedOpts\n} from 'casc-cesium-utils/drawing-types'\nimport { VcPointProps } from '../../../primitive-collections'\nimport { VcComponentInternalInstance, VcComponentPublicInstance, VcReadyObject } from 'casc-cesium-utils/types'\nexport default defineComponent({\n  name: 'VcAnalysisViewshed',\n  props: {\n    ...useDrawingActionProps,\n    polylineOpts: Object as PropType<VcGeometryPolylineProps>,\n    primitiveOpts: Object as PropType<VcPrimitiveProps>,\n    viewshedOpts: Object as PropType<VcViewshedOpts>\n  },\n  emits: drawingEmit,\n  setup(props, ctx) {\n    // state\n    return useDrawingSegment(props, ctx, 'VcAnalysisViewshed')\n  }\n})\n\nexport type VcAnalysisViewshedProps = {\n  /**\n   * Specify whether to respond to mouse pick events.\n   */\n  enableMouseEvent?: boolean\n  /**\n   * Specify Whether the drawing object is visible.\n   */\n  show?: boolean\n  /**\n   * Specify whether the drawing result can be edited.\n   */\n  editable?: boolean\n  /**\n   * Specify drawing hints.\n   */\n  drawtip?: VcDrawTipOpts\n  /**\n   * Specify parameters for drawing points.\n   */\n  pointOpts?: VcPointProps\n  /**\n   * Specify editor options.\n   */\n  editorOpts?: VcEditorOpts\n  /**\n   * Specify editor mode.\n   */\n  mode?: number\n  /**\n   * Specify prerender datas.\n   */\n  preRenderDatas?: VcDrawingPreRenderDatas\n  /**\n   * Specify parameters for drawing polylines.\n   */\n  polylineOpts?: VcGeometryPolylineProps\n  /**\n   * Specify parameters for drawing primitives.\n   */\n  primitiveOpts?: VcPrimitiveProps\n  /**\n   * Specify the options options of viewshed.\n   */\n  viewshedOpts?: VcViewshedOpts\n  /**\n   * Triggers before the VcAnalysisViewshed is loaded.\n   */\n  onBeforeLoad?: (instance: VcComponentInternalInstance) => void\n  /**\n   * Triggers when the VcAnalysisViewshed is successfully loaded.\n   */\n  onReady?: (readyObject: VcReadyObject) => void\n  /**\n   * Triggers when the component load failed.\n   */\n  onUnready?: (e: any) => void\n  /**\n   * Triggers when the VcAnalysisViewshed is destroyed.\n   */\n  onDestroyed?: (instance: VcComponentInternalInstance) => void\n  /**\n   * \tTriggers when drawing.\n   */\n  onDrawEvt?: (evt: VcDrawingDrawEvt<VcPolylineDrawing | VcSegmentDrawing>, viewer: Cesium.Viewer) => void\n  /**\n   * Triggers when the editor button is clicked.\n   */\n  onEditorEvt?: (evt: VcDrawingEditorEvt, viewer: Cesium.Viewer) => void\n  /**\n   * Triggers when the mouse is over or out on the drawing point.\n   */\n  onMouseEvt?: (evt: VcDrawingMouseEvt, viewer: Cesium.Viewer) => void\n}\n\nexport interface VcAnalysisViewshedRef extends VcComponentPublicInstance<VcAnalysisViewshedProps> {\n  /**\n   * Get or set the renderDatas.\n   */\n  renderDatas?: Ref<Array<VcSegmentDrawing | VcPolylineDrawing>>\n  /**\n   * Get the computedRenderDatas.\n   */\n  computedRenderDatas?: ComputedRef<Array<VcSegmentDrawing | VcPolylineDrawing>>\n  /**\n   * start a new draw.\n   */\n  startNew: () => void\n  /**\n   * stop drawing.\n   */\n  stop: (removeLatest?: boolean) => void\n  /**\n   * clear and stop drawing.\n   */\n  clear: () => void\n}\n"],"names":[],"mappings":";;;;;AAIA,yBAAe,eAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,oBAAoB;AAC5B,EAAE,KAAK,EAAE;AACT,IAAI,GAAG,qBAAqB;AAC5B,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,aAAa,EAAE,MAAM;AACzB,IAAI,YAAY,EAAE,MAAM;AACxB,GAAG;AACH,EAAE,KAAK,EAAE,WAAW;AACpB,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;AACpB,IAAI,OAAO,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC;AAC/D,GAAG;AACH,CAAC,CAAC;;;;"}