const createAxisInfo = (size, minSize = 0) => {
    const textY = minSize ? (360 / (size + (-minSize))) * minSize - 30 : -30;
    let data = {};
    let prps = [
        {
            type: 'plan',
            size: 50,
            color: 0x1890ff,
        },
        {
            type: 'curveLine',
            line: [
                [0, minSize ? 0 : size / 2, 0],
                [0, minSize ? minSize : 0, 90],
                [0, size, 270],
                [0, minSize ? 0 : size / 2, 360],
            ],
            color: 0x1890ff,
        },
        {
            type: 'line',
            line: [
                0, minSize, 0,
                0, size, 0,
                0, size, 360,
                0, minSize, 360,
                0, minSize, 0,

                0, 0, 0,
                50, 0, 0,
                50, 0, 360,
                0, 0, 360,
                0, 0, 0,

                // 0, minSize, 0,
                // 0, size, 0,
                // 50, size, 0,
                // 50, minSize, 0,
                // 0, minSize, 0,
            ],
            color: 0x1890ff,
        },
        {
            type: 'line',
            line: [
                0, 0, 90,
                50, 0, 90,
            ],
            color: 0xcccccc,
            position: 'Z',
            num: 3,
            margin: 90,
        },
        {
            type: 'line',
            line: [
                10, 0, 0,
                10, 0, 360,
            ],
            color: 0xcccccc,
            position: 'X',
            num: 4,
            margin: 10,
        },
        {
            type: 'line',
            line: [
                0, (minSize ? minSize + (size / 2) : size / 4), 0,
                0, (minSize ? minSize + (size / 2) : size / 4), 360,
            ],
            color: 0xcccccc,
            position: 'Y',
            num: 3,
            margin: minSize ? size / 2 : size / 4,
        },
        {
            type: 'line',
            line: [
                0, minSize, 90,
                0, size, 90,
            ],
            color: 0xcccccc,
            position: 'Z',
            num: 3,
            margin: 90,
        },
        // {
        //     type: 'line',
        //     line: [
        //         10, minSize, 0,
        //         10, size, 0,
        //     ],
        //     color: 0xcccccc,
        //     position: 'X',
        //     num: 4,
        //     margin: 10,
        // },
        // {
        //     type: 'line',
        //     line: [
        //         0, (minSize ? minSize + (size / 4) : size / 4), 0,
        //         50, (minSize ? minSize + (size / 4) : size / 4), 0,
        //     ],
        //     color: 0xcccccc,
        //     position: 'Y',
        //     num: 3 + (minSize ? -minSize / (size / 4) : 0),
        //     margin: size / 4,
        // },
        {
            type: 'text',
            content: ['0'],
            w: 55,
            h: 25,
            color: '#FF0000',
            font: 'normal  500px Arial,sans-serif',
            xyz: [360, -40, 360],
        },
        {
            type: 'text',
            content: ['10'],
            w: 55,
            h: 25,
            color: '#FF0000',
            font: 'normal  500px Arial,sans-serif',
            xyz: [288, -40, 360],
        },
        {
            type: 'text',
            content: ['20'],
            w: 55,
            h: 25,
            color: '#FF0000',
            font: 'normal  500px Arial,sans-serif',
            xyz: [216, -40, 360],
        },
        {
            type: 'text',
            content: ['30'],
            w: 55,
            h: 25,
            color: '#FF0000',
            font: 'normal  500px Arial,sans-serif',
            xyz: [144, -40, 360],
        },
        {
            type: 'text',
            content: ['40'],
            w: 55,
            h: 25,
            color: '#FF0000',
            font: 'normal  500px Arial,sans-serif',
            xyz: [72, -40, 360],
        },
        {
            type: 'text',
            content: ['50'],
            w: 55,
            h: 25,
            color: '#FF0000',
            font: 'normal  500px Arial,sans-serif',
            xyz: [0, -40, 360],
        },
        {
            type: 'text',
            content: ['0'],
            w: 55,
            h: 25,
            color: '#0000cc',
            font: 'normal  500px Arial,sans-serif',
            xyz: [390, -40, 330],
            textAlign: 'right',
        },
        {
            type: 'text',
            content: ['90'],
            w: 55,
            h: 25,
            color: '#0000cc',
            font: 'normal  500px Arial,sans-serif',
            xyz: [380, -40, 250],
        },
        {
            type: 'text',
            content: ['180'],
            w: 75,
            h: 25,
            ch: 9,
            cw: 5.7,
            color: '#0000cc',
            size: 20.3,
            font: 'normal  500px Arial,sans-serif',
            xyz: [380, -40, 160],
        },
        {
            type: 'text',
            content: ['270'],
            w: 75,
            h: 25,
            ch: 9,
            cw: 5.7,
            color: '#0000cc',
            size: 20.3,
            font: 'normal  500px Arial,sans-serif',
            xyz: [380, -40, 70],
        },
        {
            type: 'text',
            content: ['360'],
            w: 75,
            h: 25,
            ch: 9,
            cw: 5.7,
            color: '#0000cc',
            size: 20.3,
            font: 'normal  500px Arial,sans-serif',
            xyz: [380, -40, -20],
        },
    ]
    let prpd = [
        {
            type: 'curveLine',
            line: [
                [0, minSize ? 0 : size / 2, 0],
                [0, minSize ? minSize : 0, 90],
                [0, size, 270],
                [0, minSize ? 0 : size / 2, 360],
            ],
            color: 0x1890ff,
        },
        {
            type: 'line',
            line: [
                0, minSize, 0,
                0, size, 0,
                0, size, 360,
                0, minSize, 360,
                0, minSize, 0,

            ],
            color: 0x1890ff,
        },
        {
            type: 'line',
            line: [
                0, 0, 90,
                50, 0, 90,
            ],
            color: 0xcccccc,
            position: 'Z',
            num: 3,
            margin: 90,
        },
        {
            type: 'line',
            line: [
                0, (minSize ? minSize + (size / 2) : size / 4), 0,
                0, (minSize ? minSize + (size / 2) : size / 4), 360,
            ],
            color: 0xcccccc,
            position: 'Y',
            num: 3,
            margin: minSize ? size / 2 : size / 4,
        },
        {
            type: 'line',
            line: [
                0, minSize, 90,
                0, size, 90,
            ],
            color: 0xcccccc,
            position: 'Z',
            num: 3,
            margin: 90,
        },
        {
            type: 'text',
            content: ['0'],
            w: 40,
            h: 25,
            color: '#0000cc',
            font: 'normal  500px Arial,sans-serif',
            xyz: [360, textY, 340],
        },
        {
            type: 'text',
            content: ['90'],
            w: 47,
            h: 25,
            color: '#0000cc',
            font: 'normal  500px Arial,sans-serif',
            xyz: [360, textY, 270],
        },
        {
            type: 'text',
            content: ['180'],
            w: 75,
            h: 25,
            ch: 9,
            cw: 5.7,
            color: '#0000cc',
            size: 22.3,
            font: 'normal  500px Arial,sans-serif',
            xyz: [360, textY - 2, 180],
        },
        {
            type: 'text',
            content: ['270'],
            w: 75,
            h: 25,
            ch: 9,
            cw: 5.7,
            color: '#0000cc',
            size: 22.3,
            font: 'normal  500px Arial,sans-serif',
            xyz: [360, textY - 2, 90],
        },
        {
            type: 'text',
            content: ['360'],
            w: 75,
            h: 25,
            ch: 9,
            cw: 5.7,
            color: '#0000cc',
            size: 22.3,
            font: 'normal  500px Arial,sans-serif',
            xyz: [360, textY - 2, 0],
        },
    ];
    let prpd3d = [
        {
            type: 'plan',
            line: [minSize ? size * 2 : size, 360, minSize],
            color: 0x32494B,
        },
        {
            type: 'curveLine',
            line: [
                [minSize ? 0 : size / 2, 0, 0],
                [size, 0, 90],
                [minSize, 0, 270],
                [minSize ? 0 : size / 2, 0, 360],
            ],
            color: 0xcccccc,
        },
        {
            type: 'line',
            line: [
                minSize, 0, 0,
                size, 0, 0,
                size, 0, 360,
                minSize, 0, 360,
                minSize, 0, 0,

                0, 0, 0,
                0, 50, 0,
                0, 50, 360,
                0, 0, 360,
                0, 0, 0,
            ],
            color: 0xcccccc,
        },
        {
            type: 'line',
            line: [
                minSize, 0, 90,
                size, 0, 90,
            ],
            color: 0xcccccc,
            position: 'Z',
            num: 3,
            margin: 90,
        },
        {
            type: 'line',
            line: [
                (minSize ? minSize + (size / 2) : size / 4), 0, 0,
                (minSize ? minSize + (size / 2) : size / 4), 0, 360,
            ],
            color: 0xcccccc,
            position: 'X',
            num: 3,
            margin: (minSize ? size / 2 : size / 4),
        },
        {
            type: 'line',
            line: [
                0, 0, 90,
                0, 50, 90,
            ],
            color: 0xcccccc,
            position: 'Z',
            num: 3,
            margin: 90,
        },
        {
            type: 'line',
            line: [
                0, 10, 0,
                0, 10, 360,
            ],
            color: 0xcccccc,
            position: 'Y',
            num: 4,
            margin: 10,
        },
        {
            type: 'text',
            content: ['0'],
            w: 40,
            h: 25,
            color: 0xcccccc,
            font: 'normal  500px Arial,sans-serif',
            xyz: [0, 20, 380],
        },
        {
            type: 'text',
            content: ['10'],
            w: 47,
            h: 25,
            color: 0xcccccc,
            font: 'normal  500px Arial,sans-serif',
            xyz: [0, 72, 380],
        },
        {
            type: 'text',
            content: ['20'],
            w: 47,
            h: 25,
            color: 0xcccccc,
            font: 'normal  500px Arial,sans-serif',
            xyz: [0, 144, 380],
        },
        {
            type: 'text',
            content: ['30'],
            w: 47,
            h: 25,
            color: 0xcccccc,
            font: 'normal  500px Arial,sans-serif',
            xyz: [0, 216, 380],
        },
        {
            type: 'text',
            content: ['40'],
            w: 47,
            h: 25,
            color: 0xcccccc,
            font: 'normal  500px Arial,sans-serif',
            xyz: [0, 288, 380],
        },
        {
            type: 'text',
            content: ['50'],
            w: 47,
            h: 25,
            color: 0xcccccc,
            font: 'normal  500px Arial,sans-serif',
            xyz: [0, 360, 380],
        },
        {
            type: 'text',
            content: ['0'],
            w: 40,
            h: 25,
            color: 0xcccccc,
            font: 'normal  500px Arial,sans-serif',
            xyz: [minSize ? 200 : 400, -40, 330],
        },
        {
            type: 'text',
            content: ['90'],
            w: 47,
            h: 25,
            color: 0xcccccc,
            font: 'normal  500px Arial,sans-serif',
            xyz: [minSize ? 200 : 400, -40, 230],
        },
        {
            type: 'text',
            content: ['180'],
            w: 75,
            h: 25,
            ch: 9,
            cw: 5.7,
            color: 0xcccccc,
            size: 22.3,
            font: 'normal  500px Arial,sans-serif',
            xyz: [minSize ? 200 : 400, -40, 140],
        },
        {
            type: 'text',
            content: ['270'],
            w: 75,
            h: 25,
            ch: 9,
            cw: 5.7,
            color: 0xcccccc,
            size: 22.3,
            font: 'normal  500px Arial,sans-serif',
            xyz: [minSize ? 200 : 400, -40, 50],
        },
        {
            type: 'text',
            content: ['360'],
            w: 75,
            h: 25,
            ch: 9,
            cw: 5.7,
            color: 0xcccccc,
            size: 22.3,
            font: 'normal  500px Arial,sans-serif',
            xyz: [minSize ? 200 : 400, -40, -40],
        },
    ]
    let set = [7.2, 360 / (size + (-minSize)), 1];
    let isGIS = size <= 80;
    let YAxisText = minSize ? [
        [size, 180],
        [size / 2, 90],
        [0, 0],
        [minSize / 2, -90],
        [minSize, -180],
    ] : [
        [isGIS ? size == 80 ? 0 : `-${80 - size}` : size],
        [isGIS ? `-${80 - (size * 0.75)}` : size * 0.75,],
        [isGIS ? `-${80 - (size * 0.5)}` : size * 0.5,],
        [isGIS ? `-${80 - (0.25 * size)}` : size * 0.25,],
        [isGIS ? `-80` : 0,],
    ];
    let infoNum = [
        {
            w: 40,
            h: 20,
            size: 16,
        }, {
            w: 55,
            h: 25,
            size: 22.3,
        }, {
            w: 70,
            h: 25,
            size: 22.3,
        }, {
            w: 100,
            h: 30,
            size: 26.3,
        }, {
            w: 115,
            h: 32,
            size: 28.3,
        }
    ]
    YAxisText.forEach((item, index) => {
        item[0] = item[0].toString();
        let length = item[0].length;
        let info = {
            type: 'text',
            content: item,
            w: infoNum[length - 1].w,
            h: infoNum[length - 1].h,
            cw: length >= 3 ? 5.7 : '',
            ch: length >= 3 ? 9 : '',
            size: infoNum[length - 1].size,
            color: '#00ff00',
            font: 'normal  500px Arial,sans-serif',
            xyz: [index, minSize ? item[1] : 360 - (index * 90), length === 1 ? 410 : 430],
            textAlign: 'right',
        };
        let infoPrpd = {
            type: 'text',
            content: item,
            w: infoNum[length - 1].w,
            h: infoNum[length - 1].h,
            cw: length >= 3 ? 5.7 : '',
            ch: length >= 3 ? 9 : '',
            size: infoNum[length - 1].size,
            color: '#00ff00',
            font: 'normal  500px Arial,sans-serif',
            xyz: [0, minSize ? item[1] : 360 - (index * 90), length === 1 ? 385 : 395],
            textAlign: 'right',
        };
        let info3d = {
            type: 'text',
            content: item,
            w: infoNum[length - 1].w,
            h: infoNum[length - 1].h,
            cw: length >= 3 ? 5.7 : '',
            ch: length >= 3 ? 9 : '',
            size: infoNum[length - 1].size,
            color: '#00ff00',
            font: 'normal  500px Arial,sans-serif',
            xyz: [minSize ? item[1] - 20 : 360 - (index * 90), -40, 380],
            textAlign: 'right',
        };
        prps.push(info);
        prpd.push(infoPrpd);
        prpd3d.push(info3d);
    })
    data[size] = { set, prps, prpd, prpd3d }
    return data;
}
export { createAxisInfo }