package api.common.pojo.po.scene;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.List;

/**
 * 自然驾驶场景
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SceneNaturalPO implements Serializable {
    private String naturalId;   // （唯一）
    private String naturalName;  //场景编号
    private String weather;  //天气
    private String backlight;  //逆光
    private String lightChange;  //隧道光纤变化
    private String roadType; //道路类型
    private String roadMatrrial; //路面材质
    private String drivewayNum; //车道数量
    private String drivewayType; //车道类型
    private String roadFlatness;//道路平坦程度
    private String roadCurvature; //道路弯曲程度
    private String ramp; //匝道
    private String intersectionType; //路口类型
    private String planeIntersection; //道路与铁路平面交叉
    private String bridge;//桥梁
    private String tunnel;//隧道
    private String speedLimit; //速度标志
    private String minSpeedLimit; //最低速度标志
    private String noEntry;//禁止通行
    private String noStopping; //禁止停车
    private String leftLaneLine; //左侧车道线
    private String rightLaneLine; //右侧车道线
    private String conductorMarking; //导线标线及标志
    private String pedestrianCrossing; //人行横道
    private String trafficLight; //交通信号灯
    private String decelerationMarking; //减速标线
    private String pavementCondition; //路面状况
    private String naturalDisaster; //自然灾害
    private String roadSafetySigns;//道路施工安全标识
    private String safetyWarningBoard;//三角安全警示牌
    private String trafficAccident; //交通事故
    private String patency; //通畅情况
    private String specialVehicleYield;//特种车辆让行
    private String violation; //违规
    private String doubleFlashingCar; //双闪车辆
    private String selfBehavior;//自车行为
    private String targetBehavior; //目标行为
    private String share; //是否分析  1为分享
    private String videoAddress; //视频地址
    private String osgbAddress;//
    private String xodrAddress; //
    private String xoscAddress; //
    private String jsonAddress; //
    private String videoPreview;//视频预览地址
    private String label;//标签
    private String maxTime; //该场景仿真最大时长
    private List<String> sceneNames; // 供场景上传任务删除使用
    public Timestamp createTime;    //记录创建时间
    public Timestamp modifyTime;    //记录最后更新时间（包括删除）
    public String createUserId; //记录创建人（用户id）
    public String modifyUserId; //记录最后更新人（包括删除）（用户id）
    public String isDeleted;    //是否已删除

    // 复杂度
    private String complexity;
    // 危险度
    private String risk;
    // 复杂度等级
    private String complexityLevel;
    // 危险度等级
    private String riskLevel;

}
