'use strict';

Object.defineProperty(exports, '__esModule', { value: true });

var vue = require('vue');
var composables = require('../composables');
var cesiumProps = require('../utils/cesium-props');
var util = require('../utils/util');
var cesiumHelpers = require('../utils/cesium-helpers');

var VcGraphicsBillboard = vue.defineComponent({
    name: 'VcGraphicsBillboard',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.image), cesiumProps.scale), cesiumProps.pixelOffset), cesiumProps.eyeOffset), cesiumProps.horizontalOrigin), cesiumProps.verticalOrigin), cesiumProps.heightReference), cesiumProps.color), cesiumProps.rotation), cesiumProps.alignedAxis), cesiumProps.sizeInMeters), cesiumProps.width), cesiumProps.height), cesiumProps.scaleByDistance), cesiumProps.translucencyByDistance), cesiumProps.pixelOffsetScaleByDistance), cesiumProps.disableDepthTestDistance), cesiumProps.show), cesiumProps.distanceDisplayCondition), cesiumProps.imageSubRegion),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'BillboardGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsBox = vue.defineComponent({
    name: 'VcGraphicsBox',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.dimensions), cesiumProps.heightReference), cesiumProps.fill), cesiumProps.material), cesiumProps.outline), cesiumProps.outlineColor), cesiumProps.outlineWidth), cesiumProps.shadows), cesiumProps.distanceDisplayCondition),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'BoxGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsCorridor = vue.defineComponent({
    name: 'VcGraphicsCorridor',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.positions), cesiumProps.width), cesiumProps.height), cesiumProps.heightReference), cesiumProps.extrudedHeight), cesiumProps.extrudedHeightReference), cesiumProps.cornerType), cesiumProps.granularity), cesiumProps.fill), cesiumProps.material), cesiumProps.outline), cesiumProps.outlineColor), cesiumProps.outlineWidth), cesiumProps.shadows), cesiumProps.distanceDisplayCondition), cesiumProps.classificationType), cesiumProps.zIndex),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'CorridorGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsCylinder = vue.defineComponent({
    name: 'VcGraphicsCylinder',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.length), cesiumProps.topRadius), cesiumProps.bottomRadius), cesiumProps.heightReference), cesiumProps.fill), cesiumProps.material), cesiumProps.outline), cesiumProps.outlineColor), cesiumProps.outlineWidth), cesiumProps.numberOfVerticalLines), cesiumProps.slices), cesiumProps.shadows), cesiumProps.distanceDisplayCondition),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'CylinderGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsEllipse = vue.defineComponent({
    name: 'VcGraphicsEllipse',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.semiMajorAxis), cesiumProps.semiMinorAxis), cesiumProps.height), cesiumProps.heightReference), cesiumProps.extrudedHeight), cesiumProps.extrudedHeightReference), cesiumProps.rotation), cesiumProps.stRotation), cesiumProps.granularity), cesiumProps.fill), cesiumProps.material), cesiumProps.outline), cesiumProps.outlineColor), cesiumProps.outlineWidth), cesiumProps.numberOfVerticalLines), cesiumProps.shadows), cesiumProps.distanceDisplayCondition), cesiumProps.classificationType), cesiumProps.zIndex),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'EllipseGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsEllipsoid = vue.defineComponent({
    name: 'VcGraphicsEllipsoid',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.radii), cesiumProps.innerRadii), cesiumProps.minimumClock), cesiumProps.maximumClock), cesiumProps.minimumCone), cesiumProps.maximumCone), cesiumProps.heightReference), cesiumProps.fill), cesiumProps.material), cesiumProps.outline), cesiumProps.outlineColor), cesiumProps.outlineWidth), cesiumProps.stackPartitions), cesiumProps.slicePartitions), cesiumProps.subdivisions), cesiumProps.shadows), cesiumProps.distanceDisplayCondition),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'EllipsoidGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsLabel = vue.defineComponent({
    name: 'VcGraphicsLabel',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.text), cesiumProps.font), cesiumProps.labelStyle), cesiumProps.scale), cesiumProps.showBackground), cesiumProps.backgroundColor), cesiumProps.backgroundPadding), cesiumProps.pixelOffset), cesiumProps.eyeOffset), cesiumProps.horizontalOrigin), cesiumProps.verticalOrigin), cesiumProps.heightReference), cesiumProps.fillColor), cesiumProps.outlineColor), cesiumProps.outlineWidth), cesiumProps.translucencyByDistance), cesiumProps.pixelOffsetScaleByDistance), cesiumProps.scaleByDistance), cesiumProps.distanceDisplayCondition), cesiumProps.disableDepthTestDistance),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'LabelGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsModel = vue.defineComponent({
    name: 'VcGraphicsModel',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.uri), cesiumProps.scale), cesiumProps.minimumPixelSize), cesiumProps.maximumScale), cesiumProps.incrementallyLoadTextures), cesiumProps.runAnimations), cesiumProps.clampAnimations), cesiumProps.shadows), cesiumProps.heightReference), cesiumProps.silhouetteColor), cesiumProps.silhouetteSize), cesiumProps.color), cesiumProps.colorBlendMode), cesiumProps.colorBlendAmount), cesiumProps.imageBasedLightingFactor), cesiumProps.lightColor), cesiumProps.distanceDisplayCondition), cesiumProps.nodeTransformations), cesiumProps.articulations), cesiumProps.clippingPlanes),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'ModelGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsPath = vue.defineComponent({
    name: 'VcGraphicsPath',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), { leadTime: [Number, Object, Function], trailTime: [Number, Object, Function] }), cesiumProps.width), { resolution: {
            type: [Number, Object, Function],
            default: 60
        } }), cesiumProps.material), cesiumProps.distanceDisplayCondition),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'PathGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsPlane = vue.defineComponent({
    name: 'VcGraphicsPlane',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.plane), { dimensions: {
            type: [Object, Array, Function],
            watcherOptions: {
                cesiumObjectBuilder: cesiumHelpers.makeCartesian2
            }
        } }), cesiumProps.fill), cesiumProps.material), cesiumProps.outline), cesiumProps.outlineColor), cesiumProps.outlineWidth), cesiumProps.shadows), cesiumProps.distanceDisplayCondition),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'PlaneGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsPoint = vue.defineComponent({
    name: 'VcGraphicsPoint',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.pixelSize), cesiumProps.heightReference), cesiumProps.color), cesiumProps.outlineColor), cesiumProps.outlineWidth), cesiumProps.scaleByDistance), cesiumProps.translucencyByDistance), cesiumProps.distanceDisplayCondition), cesiumProps.disableDepthTestDistance),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'PointGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsPolygon = vue.defineComponent({
    name: 'VcGraphicsPolygon',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.hierarchy), cesiumProps.height), cesiumProps.heightReference), cesiumProps.extrudedHeight), cesiumProps.extrudedHeightReference), cesiumProps.stRotation), cesiumProps.granularity), cesiumProps.fill), cesiumProps.material), cesiumProps.outline), cesiumProps.outlineColor), cesiumProps.outlineWidth), cesiumProps.perPositionHeight), cesiumProps.closeTop), cesiumProps.closeBottom), cesiumProps.arcType), cesiumProps.shadows), cesiumProps.distanceDisplayCondition), cesiumProps.classificationType), cesiumProps.zIndex),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'PolygonGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsPolyline = vue.defineComponent({
    name: 'VcGraphicsPolyline',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.positions), cesiumProps.width), cesiumProps.granularity), cesiumProps.material), cesiumProps.depthFailMaterial), cesiumProps.arcType), cesiumProps.clampToGround), cesiumProps.shadows), cesiumProps.distanceDisplayCondition), cesiumProps.classificationType), cesiumProps.zIndex),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'PolylineGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode();
    }
});

var VcGraphicsPolylineVolume = vue.defineComponent({
    name: 'VcGraphicsPolylineVolume',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.positions), cesiumProps.shape), cesiumProps.cornerType), cesiumProps.granularity), cesiumProps.fill), cesiumProps.material), cesiumProps.outline), cesiumProps.outlineColor), cesiumProps.outlineWidth), cesiumProps.shadows), cesiumProps.distanceDisplayCondition),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'PolylineVolumeGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsRectangle = vue.defineComponent({
    name: 'VcGraphicsRectangle',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.coordinates), cesiumProps.height), cesiumProps.heightReference), cesiumProps.extrudedHeight), cesiumProps.extrudedHeightReference), cesiumProps.rotation), cesiumProps.stRotation), cesiumProps.granularity), cesiumProps.fill), cesiumProps.material), cesiumProps.outline), cesiumProps.outlineColor), cesiumProps.outlineWidth), cesiumProps.shadows), cesiumProps.distanceDisplayCondition), cesiumProps.classificationType), cesiumProps.zIndex),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'RectangleGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsTileset = vue.defineComponent({
    name: 'VcGraphicsTileset',
    props: Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.uri), cesiumProps.maximumScreenSpaceError),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'Cesium3DTilesetGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

var VcGraphicsWall = vue.defineComponent({
    name: 'VcGraphicsWall',
    props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, cesiumProps.show), cesiumProps.positions), cesiumProps.minimumHeights), cesiumProps.maximumHeights), cesiumProps.granularity), cesiumProps.fill), cesiumProps.material), cesiumProps.outline), cesiumProps.outlineColor), cesiumProps.outlineWidth), cesiumProps.shadows), cesiumProps.distanceDisplayCondition),
    emits: ['beforeLoad', 'ready', 'destroyed'],
    setup(props, ctx) {
        const instance = vue.getCurrentInstance();
        instance.cesiumClass = 'WallGraphics';
        composables.useGraphics(props, ctx, instance);
        return () => vue.createCommentVNode(util.kebabCase(instance.proxy.$options.name));
    }
});

const components = [
    VcGraphicsBillboard,
    VcGraphicsBox,
    VcGraphicsCorridor,
    VcGraphicsCylinder,
    VcGraphicsEllipse,
    VcGraphicsEllipsoid,
    VcGraphicsLabel,
    VcGraphicsModel,
    VcGraphicsPath,
    VcGraphicsPlane,
    VcGraphicsPoint,
    VcGraphicsPolygon,
    VcGraphicsPolyline,
    VcGraphicsPolylineVolume,
    VcGraphicsRectangle,
    VcGraphicsTileset,
    VcGraphicsWall
];
const install = (app) => {
    components.forEach(cmp => {
        app.component(cmp.name, cmp);
    });
};
var index = {
    install
};

exports.VcGraphicsBillboard = VcGraphicsBillboard;
exports.VcGraphicsBox = VcGraphicsBox;
exports.VcGraphicsCorridor = VcGraphicsCorridor;
exports.VcGraphicsCylinder = VcGraphicsCylinder;
exports.VcGraphicsEllipse = VcGraphicsEllipse;
exports.VcGraphicsEllipsoid = VcGraphicsEllipsoid;
exports.VcGraphicsLabel = VcGraphicsLabel;
exports.VcGraphicsModel = VcGraphicsModel;
exports.VcGraphicsPath = VcGraphicsPath;
exports.VcGraphicsPlane = VcGraphicsPlane;
exports.VcGraphicsPoint = VcGraphicsPoint;
exports.VcGraphicsPolygon = VcGraphicsPolygon;
exports.VcGraphicsPolyline = VcGraphicsPolyline;
exports.VcGraphicsPolylineVolume = VcGraphicsPolylineVolume;
exports.VcGraphicsRectangle = VcGraphicsRectangle;
exports.VcGraphicsTileset = VcGraphicsTileset;
exports.VcGraphicsWall = VcGraphicsWall;
exports.default = index;
