{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/geometries/polyline/index.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2021-09-16 09:28:13\n * @LastEditTime: 2022-03-30 11:40:46\n * @LastEditors: zouyaoji\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\components\\geometries\\polyline\\index.ts\n */\nimport { VcCartesian3Array, VcColor, VcComponentInternalInstance, VcComponentPublicInstance, VcReadyObject } from '@vue-cesium/utils/types'\nimport { defineComponent, getCurrentInstance, createCommentVNode } from 'vue'\nimport { useGeometries } from '@vue-cesium/composables'\nimport { kebabCase } from '@vue-cesium/utils/util'\nimport { positions, width, colors, arcType, granularity, vertexFormat, ellipsoid } from '@vue-cesium/utils/cesium-props'\nimport { commonEmits } from '@vue-cesium/utils/emits'\nexport const polylineGeometryProps = {\n  ...positions,\n  ...width,\n  ...colors,\n  colorsPerVertex: {\n    type: Boolean,\n    default: false\n  },\n  ...arcType,\n  ...granularity,\n  ...vertexFormat,\n  ...ellipsoid\n}\nexport default defineComponent({\n  name: 'VcGeometryPolyline',\n  props: polylineGeometryProps,\n  emits: commonEmits,\n  setup(props, ctx) {\n    // state\n    const instance = getCurrentInstance() as VcComponentInternalInstance\n    instance.cesiumClass = 'PolylineGeometry'\n    useGeometries(props, ctx, instance)\n\n    return () => createCommentVNode(kebabCase(instance.proxy?.$options.name || 'v-if'))\n  }\n})\n\nexport type VcGeometryPolylineProps = {\n  /**\n   * An array of VcCartesian3Array defining the positions in the polyline as a line strip\n   */\n  positions?: VcCartesian3Array\n  /**\n   * The width in pixels\n   * Default value: 1.0\n   */\n  width?: number\n  /**\n   * An Array of VcColor defining the per vertex or per segment colors\n   */\n  colors?: Array<VcColor>\n  /**\n   * A boolean that determines whether the colors will be flat across each segment of the line or interpolated across the vertices\n   * Default value: false\n   */\n  colorsPerVertex?: boolean\n  /**\n   * The type of line the polyline segments must follow\n   * Default value: 1 - Cesium.ArcType.GEODESIC\n   */\n  arcType?: Cesium.ArcType | number\n  /**\n   * The distance, in radians, between each latitude and longitude if options.arcType is not ArcType.NONE. Determines the number of positions in the buffer\n   */\n  granularity?: number\n  /**\n   * The vertex attributes to be computed.\n   */\n  vertexFormat?: Cesium.VertexFormat\n  /**\n   * The ellipsoid to be used as a reference.\n   */\n  ellipsoid?: Cesium.Ellipsoid\n  /**\n   * Triggers before the VcGeometryPolyline is loaded\n   */\n  onBeforeLoad?: (instance: VcComponentInternalInstance) => void\n  /**\n   * Triggers when the VcGeometryPolyline 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 VcGeometryPolyline is destroyed\n   */\n  onDestroyed?: (instance: VcComponentInternalInstance) => void\n}\n\nexport type VcGeometryPolylineRef = VcComponentPublicInstance<VcGeometryPolylineProps>\n"],"names":[],"mappings":";;;;;;;;AAcO,MAAM,qBAAwB,GAAA;AAAA,EACnC,GAAG,SAAA;AAAA,EACH,GAAG,KAAA;AAAA,EACH,GAAG,MAAA;AAAA,EACH,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,GAAG,OAAA;AAAA,EACH,GAAG,WAAA;AAAA,EACH,GAAG,YAAA;AAAA,EACH,GAAG,SAAA;AACL,EAAA;AACA,uBAAe,eAAgB,CAAA;AAAA,EAC7B,IAAM,EAAA,oBAAA;AAAA,EACN,KAAO,EAAA,qBAAA;AAAA,EACP,KAAO,EAAA,WAAA;AAAA,EACP,KAAA,CAAM,OAAO,GAAK,EAAA;AAEhB,IAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,IAAA,QAAA,CAAS,WAAc,GAAA,kBAAA,CAAA;AACvB,IAAc,aAAA,CAAA,KAAA,EAAO,KAAK,QAAQ,CAAA,CAAA;AAElC,IAAA,OAAO,MAAG;AArCd,MAAA,IAAA,EAAA,CAAA;AAqCiB,MAAA,OAAA,kBAAA,CAAmB,YAAU,EAAS,GAAA,QAAA,CAAA,KAAA,KAAT,mBAAgB,QAAS,CAAA,IAAA,KAAQ,MAAM,CAAC,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GACpF;AACF,CAAC,CAAA;;;;"}