package api.common.pojo.vo.model;

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

import java.math.BigDecimal;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class VehicleVO {
    private String saveOrShare = "0";   // 0 保存 1 分享
    private String id;  //主键id
    private String vehicleName;  //车辆名称
    private String description;  //车辆描述
    private String[] vehicleType;   //车辆模型
    private String modelLabel;  //车辆模型标签
    private String share;    // 公有私有
    private String parameterType;    //动力学参数类型 1 vtd 2 carsim
    //* -------------------------------- vtd --------------------------------
    private String vehicleCode; //车辆编码
    private String vehicleTypeStr;   //车辆模型字符串
    private String vehicleFrontView;
    private String vehicleTopView;  //车辆俯视图
    private BigDecimal maxSpeed;    //最大速度（千米/小时）
    private BigDecimal enginePower;  //发动机功率（千瓦）
    private BigDecimal maxDeceleration;  //最大减速度（米/秒2）
    private BigDecimal maxSteeringAngle;     //最大转角（度）
    private BigDecimal mass;     //质量（千克）
    private BigDecimal frontSurfaceEffective;   //前表面有效面积（平方米）
    private BigDecimal airDragCoefficient;  //空气阻力系数
    private BigDecimal rollingResistanceCoefficient;    //滚动阻力系数
    private BigDecimal wheelDiameter;     //车轮直径（米）
    private String wheelDrive;   //驱动方式
    private BigDecimal overallEfficiency;    //总效率
    private BigDecimal frontDistance;    //车前距（米）
    private BigDecimal rearDistance;    //车后距（米）
    private BigDecimal leftDistance;    //车左距（米）
    private BigDecimal rightDistance;    //车右距（米）
    private BigDecimal heightDistance;    //车高（米）
    private BigDecimal wheelbase;    //轴距（米）
    //* -------------------------------- carsim --------------------------------
    private String wheelCenterToTop;//轮胎中心到车顶的高度 HT_SM、Z_LENGTH
    private String wheelCenterToGround;//轮胎中心到地面的高度 HWC_LF、HWC_RF、HWC_LR、HWC_RR
    private String centroidToFrontWheelCenter;//质心到前轮中心的距离 LX_CG_SU
    private String centroidToGround;//质心到地面 H_CG_SU
    //    private String wheelbase;//轴距 LX_AXLE X_LENGTH
    private String sprungMass;//簧上质量 M_SU
    private String vehicleLength;//车辆长度 LEN_SM
    private String vehicleWidth;//车辆宽度 WID_SM Y_LENGTH
    private String rotationalInertiaX;//整车绕x轴转动惯量 IXX_SU
    private String rotationalInertiaY;//整车绕y轴转动惯量 IYY_SU
    private String rotationalInertiaZ;//整车绕z轴转动惯量 IZZ_SU

    private String frontLeftWheelEffectiveRollingRadius;//左前轮有效滚动半径 RRE
    private String frontLeftWheelRollingResistanceCoefficient;//左前轮滚动阻力系数 RR_C
    private String frontLeftWheelFreeRadius;//左前轮自由半径 R0、X_LENGTH、Z_LENGTH
    private List<List<String>> frontLeftWheelRelationCurvePositiveMomentAndSideslipAngle;//左前轮不同载荷下正力矩和侧偏角关系曲线 MZ_TIRE_CARPET 2D_FROM_ZERO
    private String frontLeftWheelRelationCurvePositiveMomentAndSideslipAngleJson;//左前轮不同载荷下正力矩和侧偏角关系曲线
    private List<List<String>> frontLeftWheelRelationCurveLateralForceAndSideslipAngle;//左前轮不同载荷下侧向力和侧偏角关系曲线    FY_TIRE_CARPET 2D_FROM_ZERO
    private String frontLeftWheelRelationCurveLateralForceAndSideslipAngleJson;//左前轮不同载荷下侧向力和侧偏角关系曲线
    private List<List<String>> frontLeftWheelRelationCurveLongitudinalForceAndSideslipAngle;//左前轮不同载荷下纵向力和侧偏角关系曲线   FX_TIRE_CARPET 2D_FROM_ZERO
    private String frontLeftWheelRelationCurveLongitudinalForceAndSideslipAngleJson;//左前轮不同载荷下纵向力和侧偏角关系曲线

    private String rearLeftWheelEffectiveRollingRadius;//左前轮有效滚动半径 RRE
    private String rearLeftWheelRollingResistanceCoefficient;//左前轮滚动阻力系数 RR_C
    private String rearLeftWheelFreeRadius;//左前轮自由半径 R0、X_LENGTH、Z_LENGTH
    private List<List<String>> rearLeftWheelRelationCurvePositiveMomentAndSideslipAngle;//左后轮不同载荷下正力矩和侧偏角关系曲线
    private String rearLeftWheelRelationCurvePositiveMomentAndSideslipAngleJson;//左后轮不同载荷下正力矩和侧偏角关系曲线
    private List<List<String>> rearLeftWheelRelationCurveLateralForceAndSideslipAngle;//左后轮不同载荷下侧向力和侧偏角关系曲线
    private String rearLeftWheelRelationCurveLateralForceAndSideslipAngleJson;//左后轮不同载荷下侧向力和侧偏角关系曲线
    private List<List<String>> rearLeftWheelRelationCurveLongitudinalForceAndSideslipAngle;//左后轮不同载荷下纵向力和侧偏角关系曲线
    private String rearLeftWheelRelationCurveLongitudinalForceAndSideslipAngleJson;//左后轮不同载荷下纵向力和侧偏角关系曲线

    private String frontRightWheelEffectiveRollingRadius;//右前轮有效滚动半径 RRE
    private String frontRightWheelRollingResistanceCoefficient;//右前轮滚动阻力系数 RR_C
    private String frontRightWheelFreeRadius;//右前轮自由半径 R0、X_LENGTH、Z_LENGTH
    private List<List<String>> frontRightWheelRelationCurvePositiveMomentAndSideslipAngle;//右前轮不同载荷下正力矩和侧偏角关系曲线
    private String frontRightWheelRelationCurvePositiveMomentAndSideslipAngleJson;//右前轮不同载荷下正力矩和侧偏角关系曲线
    private List<List<String>> frontRightWheelRelationCurveLateralForceAndSideslipAngle;//右前轮不同载荷下侧向力和侧偏角关系曲线
    private String frontRightWheelRelationCurveLateralForceAndSideslipAngleJson;//右前轮不同载荷下侧向力和侧偏角关系曲线
    private List<List<String>> frontRightWheelRelationCurveLongitudinalForceAndSideslipAngle;//右前轮不同载荷下纵向力和侧偏角关系曲线
    private String frontRightWheelRelationCurveLongitudinalForceAndSideslipAngleJson;//右前轮不同载荷下纵向力和侧偏角关系曲线

    private String rearRightWheelEffectiveRollingRadius;//右后轮有效滚动半径 RRE
    private String rearRightWheelRollingResistanceCoefficient;//右后轮滚动阻力系数 RR_C
    private String rearRightWheelFreeRadius;//右后轮自由半径 R0、X_LENGTH、Z_LENGTH
    private List<List<String>> rearRightWheelRelationCurvePositiveMomentAndSideslipAngle;//右后轮不同载荷下正力矩和侧偏角关系曲线
    private String rearRightWheelRelationCurvePositiveMomentAndSideslipAngleJson;//右后轮不同载荷下正力矩和侧偏角关系曲线
    private List<List<String>> rearRightWheelRelationCurveLateralForceAndSideslipAngle;//右后轮不同载荷下侧向力和侧偏角关系曲线
    private String rearRightWheelRelationCurveLateralForceAndSideslipAngleJson;//右后轮不同载荷下侧向力和侧偏角关系曲线
    private List<List<String>> rearRightWheelRelationCurveLongitudinalForceAndSideslipAngle;//右后轮不同载荷下纵向力和侧偏角关系曲线
    private String rearRightWheelRelationCurveLongitudinalForceAndSideslipAngleJson;//右后轮不同载荷下纵向力和侧偏角关系曲线

    private String frontWheelSuspensionType;//前轮悬架类型 1 独立悬架 2 非独立悬架
    private String rearWheelSuspensionType;//后轮悬架类型 1 独立悬架 2 非独立悬架
    private String frontWheelSuspensionKinematicsCoefficient;//前轮悬架运动学系数
    private String rearWheelSuspensionKinematicsCoefficient;//后轮悬架运动学系数
    private String frontWheelUnsprungMass;//前轮簧下质量
    private String rearWheelUnsprungMass;//后轮簧下质量
    private String frontWheelTrackWidth;//前轮轮距
    private String rearWheelTrackWidth;//后轮轮距
    private String windwardArea;//迎风面积
    private String airDensity;//空气密度
    private String engineCrankshaftMomentInertia;//发动机曲轴转动惯量
    private String idleSpeed;//怠速转速
    private List<List<String>> relationCurveEngineTorqueSpeedAndThrottleOpening;//发动机扭矩、转速和节气门开度关系曲线
    private String relationCurveEngineTorqueSpeedAndThrottleOpeningJson;//发动机扭矩、转速和节气门开度关系曲线
    private String momentInertiaInputShaft;//输入轴的转动惯量
    private String momentInertiaOutputShaft;//输出轴的转动惯量
    private String finalDriveRatio;//主减速器传动比 R_GEAR_DIFF R_GEAR_FD
    private String transmissionEfficiency;//传动效率 R_EFF_F_DIFF、R_EFF_F_FD
    private List<String> gearRatio;// *R_GEAR_TR(2)、R_GEAR_TR(2)
    private String gearRatioJson;//R,N,1,2,3,4,5,6
    private List<String> inertia;// *ITR(2) 、ITR(2)
    private String inertiaJson;//R,N,1,2,3,4,5,6
    private List<String> driving;// *R_EFF_TR_F(1) 、R_EFF_TR_F(1)
    private String drivingJson;//R,N,1,2,3,4,5,6
    private List<String> coasting;//R,N,1,2,3,4,5,6 R_EFF_TR_R *R_EFF_TR_R
    private String coastingJson;//R,N,1,2,3,4,5,6
    private String shiftTime;//换挡时间
    private List<List<String>> shiftTimeUp12;//
    private String shiftTimeUp12Json;//
    private List<List<String>> shiftTimeDown12;//
    private String shiftTimeDown12Json;//
    private List<List<String>> shiftTimeUp23;//
    private String shiftTimeUp23Json;//
    private List<List<String>> shiftTimeDown23;//
    private String shiftTimeDown23Json;//
    private List<List<String>> shiftTimeUp34;//
    private String shiftTimeUp34Json;//
    private List<List<String>> shiftTimeDown34;//
    private String shiftTimeDown34Json;//
    private List<List<String>> shiftTimeUp45;//
    private String shiftTimeUp45Json;//
    private List<List<String>> shiftTimeDown45;//
    private String shiftTimeDown45Json;//
    private List<List<String>> shiftTimeUp56;//
    private String shiftTimeUp56Json;//
    private List<List<String>> shiftTimeDown56;//
    private String shiftTimeDown56Json;//
    private String brakeType;//制动类型 1 前轮制动 2 后轮制动 3 四轮制动
    private String frontLeftWheelBrakingTorque;//左前轮制动力矩    *TQ_L1、MY_BREAK_COEFFICIENT
    private String frontRightWheelBrakingTorque;//右前轮制动力矩   *TQ_L1、MY_BREAK_COEFFICIENT
    private String rearLeftWheelBrakingTorque;//左后轮制动力矩     *TQ_L2、MY_BREAK_COEFFICIENT
    private String rearRightWheelBrakingTorque;//右后轮制动力矩    *TQ_L2、MY_BREAK_COEFFICIENT
    private String steeringType;//转向类型 1 前轮转向 2 后轮转向 3 四轮转向
    private String steeringGearType;//转向器类型 1 齿轮齿条转向器 2 循环球式转向器
    private String steeringGearRatio;//转向器传动比
    private List<List<String>> relationCurveRightWheelAngleAndSteeringGearOutput;//右轮转角与转向器输出的关系
    private String relationCurveRightWheelAngleAndSteeringGearOutputJson;//右轮转角与转向器输出的关系
    private List<List<String>> relationCurveLeftWheelAngleAndSteeringGearOutput;//左轮转角与转向器输出的关系
    private String relationCurveLeftWheelAngleAndSteeringGearOutputJson;//左轮转角与转向器输出的关系
    private String driverType;  // 驱动类型
}
