package com.djhk.uav.airspace.domain;


import com.djhk.common.annotation.Excel;
import lombok.Data;

@Data
public class AirspaceWaypoint {
    private static final long serialVersionUID = 1L;

    /** 航线航点表主键 */
    @Excel(name = "参数主键", cellType = Excel.ColumnType.NUMERIC)
    private Long id;

    /** 航线表主键 */
    @Excel(name = "航线表主键")
    private Long airspaceApplyId;

    /** 经度 */
    @Excel(name = "经度")
    private String lng;

    /** 维度 */
    @Excel(name = "维度")
    private String lat;



    /** 是否使用全局高度 */
//    @Builder.Default
    private Integer useGlobalHeight = 1;

    /** 高度 */
//    @Excel(name = "高度")
    private Double height;

    /** 椭球高度WGS84 1 */
    private Double ellipsoidHeight = 10.0;

    /** 贴地高度 */
    private Double floorHeight;

    /** 是否使用全局飞行速度 */
//    @Builder.Default
    private Integer useGlobalSpeed = 1;

    /** 航点飞行速度 1 */
    private Integer speed =1;

    /** 是否使用全局偏航角模式参数 */
//    @Builder.Default
    private Integer useGlobalHeadingParam = 1;

    /** 偏航角模式参数 1 */
    /*followWayline：沿航线方向。飞行器机头沿着航线方向飞至下一航点
    manually：手动控制。飞行器在飞至下一航点的过程中，用户可以手动控制飞行器机头朝向
    fixed：锁定当前偏航角。飞行器机头保持执行完航点动作后的飞行器偏航角飞至下一航点
    smoothTransition：自定义。通过“wpml:waypointHeadingAngle”给定某航点的目标偏航角，并在航段飞行过程中均匀过渡至下一航点的目标偏航角。*/
//    @Builder.Default
    private String waypointHeadingMode = "followWayline";

    /** 是否使用全局航点类型（全局航点转弯模式） */
//    @Builder.Default
    private Integer useGlobalTurnParam = 1;

    /** 航点类型（航点转弯模式） 1 */
    /*coordinateTurn：协调转弯，不过点，提前转弯
    toPointAndStopWithDiscontinuityCurvature：直线飞行，飞行器到点停
    toPointAndStopWithContinuityCurvature：曲线飞行，飞行器到点停
    toPointAndPassWithContinuityCurvature：曲线飞行，飞行器过点不停*/
//    @Builder.Default
    private String waypointTurnMode = "coordinateTurn";

    /** 航点类型 */
    @Excel(name = "航点类型")
    private String type;

    /** 航点类型名称 */
    @Excel(name = "航点类型名称")
    private String typeName;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 航点索引 */
    private Integer seq;

    /** 飞到当前航点偏航角 */
    private Integer waypointHeadingAngle;

    /** 飞行器旋转方向 */
   /* clockwise：顺时针旋转飞行器偏航角
    counterClockwise：逆时针旋转飞行器偏航角
    followBadArc：沿最短路径旋转飞行器偏航角*/
//    @Builder.Default
    private String waypointHeadingPathMode = "followBadArc";


    /** 航点转弯截距 1 */
    private Integer waypointTurnDampingDist = 6;


//    @TableField(exist = false)
    private String wkt;

}
