feat:cpp代码更新 #5
@ -2346,7 +2346,6 @@ void ExamCarSub3::Calc_CarPosMeshList(int width, int height)
 | 
				
			|||||||
    double scale = VIEW_SCALE * m_graphic->scale() / 100.0;
 | 
					    double scale = VIEW_SCALE * m_graphic->scale() / 100.0;
 | 
				
			||||||
    static constexpr int scaling = MESH_SCALE;
 | 
					    static constexpr int scaling = MESH_SCALE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    m_carPosMeshList.clear(); //SetLength(CarPosMeshList, 0);
 | 
					 | 
				
			||||||
    //1、真实GPS数据缩小5倍,画图区域放大5倍
 | 
					    //1、真实GPS数据缩小5倍,画图区域放大5倍
 | 
				
			||||||
    //以考车基准点位置为中心,框出4个区域(把考车基准点当成正方形的中心点)
 | 
					    //以考车基准点位置为中心,框出4个区域(把考车基准点当成正方形的中心点)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -2389,6 +2388,7 @@ void ExamCarSub3::Calc_CarPosMeshList(int width, int height)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    //找到显示区域对应的原始网格的索引
 | 
					    //找到显示区域对应的原始网格的索引
 | 
				
			||||||
    //这个代码比较难理解,慢慢理解。
 | 
					    //这个代码比较难理解,慢慢理解。
 | 
				
			||||||
 | 
					    m_carPosMeshList.clear(); //SetLength(CarPosMeshList, 0);
 | 
				
			||||||
    m_carPosMeshList.resize(widthCn * heightCn); //SetLength(CarPosMeshList, (WidthCn) * (HeightCn));
 | 
					    m_carPosMeshList.resize(widthCn * heightCn); //SetLength(CarPosMeshList, (WidthCn) * (HeightCn));
 | 
				
			||||||
    for(int i = 0; i < widthCn; i++)
 | 
					    for(int i = 0; i < widthCn; i++)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
				
			|||||||
@ -49,8 +49,8 @@ public:  //for IExamCarSub3 override
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    virtual TCar*      getTCar()       override { return &m_car; }
 | 
					    virtual TCar*      getTCar()       override { return &m_car; }
 | 
				
			||||||
    virtual TTestCtl*  getTTestCtl()   override { return &m_ctl; }
 | 
					    virtual TTestCtl*  getTTestCtl()   override { return &m_ctl; }
 | 
				
			||||||
    virtual int        lastCrossPtNo() override { return PubLastChuanYuePtNo; }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    virtual int        lastCrossPtNo() override { return PubLastChuanYuePtNo; }
 | 
				
			||||||
    virtual void       setPUB_JDCC_ZT(int v)  override { PUB_JDCC_ZT = v;}
 | 
					    virtual void       setPUB_JDCC_ZT(int v)  override { PUB_JDCC_ZT = v;}
 | 
				
			||||||
    virtual int        getPUB_JDCC_ZT() const override { return PUB_JDCC_ZT;}
 | 
					    virtual int        getPUB_JDCC_ZT() const override { return PUB_JDCC_ZT;}
 | 
				
			||||||
    virtual void       setChaoChe_Start_TM(int64 v) override { ChaoChe_Start_TM = v;}
 | 
					    virtual void       setChaoChe_Start_TM(int64 v) override { ChaoChe_Start_TM = v;}
 | 
				
			||||||
@ -174,7 +174,7 @@ private:
 | 
				
			|||||||
    bool yjdg_road_code_kf = false;
 | 
					    bool yjdg_road_code_kf = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    int Pub_JSC_JL = 0;
 | 
					    int Pub_JSC_JL = 0;
 | 
				
			||||||
    bool PubCanJudge_XiHuoFlag = false;
 | 
					    bool PubCanJudge_XiHuoFlag = true;  //注意初始必须是true
 | 
				
			||||||
    int PubKaoBianTCFinish_LJJL = 0;
 | 
					    int PubKaoBianTCFinish_LJJL = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //bool FinishKM3Flag = false;
 | 
					    //bool FinishKM3Flag = false;
 | 
				
			||||||
 | 
				
			|||||||
@ -140,8 +140,8 @@ protected:
 | 
				
			|||||||
    ExamState           m_examState  = examStateEnd; //考试状态
 | 
					    ExamState           m_examState  = examStateEnd; //考试状态
 | 
				
			||||||
    std::string         m_message    = ""; //记录评判相关的一些显示信息,这些信息很重要,比如:直角转弯,未行驶到转弯处
 | 
					    std::string         m_message    = ""; //记录评判相关的一些显示信息,这些信息很重要,比如:直角转弯,未行驶到转弯处
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    int                 m_disForward = 0;  //累计前进距离(单位厘米)
 | 
					    int                 m_disForward = 0;  //累计前进距离(单位厘米) 老的代码里也叫累计距离, 行驶距离=累计距离-倒车距离
 | 
				
			||||||
    int                 m_disBackward= 0;  //累计倒车距离(单位厘米)
 | 
					    int                 m_disBackward= 0;  //累计倒车距离(单位厘米) 老的代码里也叫倒车距离
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    int                 m_grade      = 0;  //当前得分
 | 
					    int                 m_grade      = 0;  //当前得分
 | 
				
			||||||
    int                 m_gradePass  = 0;  //考试及格分数
 | 
					    int                 m_gradePass  = 0;  //考试及格分数
 | 
				
			||||||
 | 
				
			|||||||
@ -289,7 +289,7 @@ void Sub3Judge10Ccxx::dealJudgeItem()
 | 
				
			|||||||
        //5:回原车道阶段    6:完成回原车道阶段
 | 
					        //5:回原车道阶段    6:完成回原车道阶段
 | 
				
			||||||
        if(m_itemv.Status == 2)
 | 
					        if(m_itemv.Status == 2)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if(sor.lb == 1)
 | 
					            if(sor.lb == SYES)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                m_itemv.Temp_LaBa_Flag = true;
 | 
					                m_itemv.Temp_LaBa_Flag = true;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
				
			|||||||
@ -224,13 +224,11 @@ void Sub3Judge12Ptdt::dealJudgeItem()
 | 
				
			|||||||
    double a = std::abs(gps.hxj - m_itemv.CS_GPS_D);
 | 
					    double a = std::abs(gps.hxj - m_itemv.CS_GPS_D);
 | 
				
			||||||
    double b = std::abs(gps5.hxj- m_itemv.CS_GPS_D);
 | 
					    double b = std::abs(gps5.hxj- m_itemv.CS_GPS_D);
 | 
				
			||||||
    //528:掉头N米内不判连续变道和方向灯
 | 
					    //528:掉头N米内不判连续变道和方向灯
 | 
				
			||||||
    int NJ_DiaoTou_JL = m_car->getNJ_DiaoTou_JL();
 | 
					    if(m_car->getNJ_DiaoTou_JL() == 0 && TableSysSet->asInt528() > 0)
 | 
				
			||||||
    if(NJ_DiaoTou_JL == 0 && TableSysSet->asInt528() > 0)
 | 
					 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        if(a > 90 && a < 270 && b > 90 && b < 270)
 | 
					        if(a > 90 && a < 270 && b > 90 && b < 270)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            NJ_DiaoTou_JL = cg->ai_ljjl;
 | 
					            m_car->setNJ_DiaoTou_JL(cg->ai_ljjl);
 | 
				
			||||||
            m_car->setNJ_DiaoTou_JL(NJ_DiaoTou_JL);
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -749,6 +749,16 @@ void Sub3Judge20Comm::CallMoNiDengGuang()
 | 
				
			|||||||
        return;
 | 
					        return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    TKM3Item* item41 = m_car->findExamItem(Sub3ItemType41Mndg);
 | 
				
			||||||
 | 
					    if(item41 == nullptr) //有可能免考,可能没这个项目
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if(item41->Item_Color != itemStateWk) //正在考或者已经考过了
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const TChuanGan* cg = m_car->historyChuanGan();
 | 
					    const TChuanGan* cg = m_car->historyChuanGan();
 | 
				
			||||||
    const TSensorInfo& sor = cg->real.sensor;
 | 
					    const TSensorInfo& sor = cg->real.sensor;
 | 
				
			||||||
    const TChuanGan* his1 = m_car->historyChuanGan(1);
 | 
					    const TChuanGan* his1 = m_car->historyChuanGan(1);
 | 
				
			||||||
@ -764,7 +774,7 @@ void Sub3Judge20Comm::CallMoNiDengGuang()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    TCar* tcar = m_car->getTCar();
 | 
					    TCar* tcar = m_car->getTCar();
 | 
				
			||||||
    if((sor.fdjzs > 100 && sor1.fdjzs > 100 && sor2.fdjzs > 100 && sor3.fdjzs > 100) ||
 | 
					    if((sor.fdjzs > 100 && sor1.fdjzs > 100 && sor2.fdjzs > 100 && sor3.fdjzs > 100) ||
 | 
				
			||||||
            (Tools::pos("江淮电动", tcar->CarTypeName) && sor.dh1 == SYES) ||
 | 
					            (Tools::pos(XCharacter("江淮电动"), tcar->CarTypeName) && sor.dh1 == SYES) ||
 | 
				
			||||||
            (s386 == "5" && sor.dh1 == SYES) ||
 | 
					            (s386 == "5" && sor.dh1 == SYES) ||
 | 
				
			||||||
            (sor.aqd == SYES && sor1.aqd == SYES && s386 == "6") ) //20170314 训练模式 只要有dh1就可以进行模拟灯光
 | 
					            (sor.aqd == SYES && sor1.aqd == SYES && s386 == "6") ) //20170314 训练模式 只要有dh1就可以进行模拟灯光
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -776,7 +786,7 @@ void Sub3Judge20Comm::CallMoNiDengGuang()
 | 
				
			|||||||
                m_itemvCJH.Gbdg_ID = true;
 | 
					                m_itemvCJH.Gbdg_ID = true;
 | 
				
			||||||
                //ToDo:语音提示:请关闭所有灯光
 | 
					                //ToDo:语音提示:请关闭所有灯光
 | 
				
			||||||
                m_itemvCJH.Gbdg_SndTk = cg->tkCnt;
 | 
					                m_itemvCJH.Gbdg_SndTk = cg->tkCnt;
 | 
				
			||||||
                //m_car->createEventSound({Sub3ItemType41Mndg, sound::sub3_4170015});
 | 
					                m_car->createEventSound({Sub3ItemType41Mndg, sound::sub3_417001});
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            if(m_itemvCJH.Gbdg_SndTk > 0 && m_itemvCJH.Gbdg_Kfyy == 0)
 | 
					            if(m_itemvCJH.Gbdg_SndTk > 0 && m_itemvCJH.Gbdg_Kfyy == 0)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -794,7 +804,6 @@ void Sub3Judge20Comm::CallMoNiDengGuang()
 | 
				
			|||||||
                if(sor.shtd + sor.skd + sor.ygd + sor.jgd == 0)
 | 
					                if(sor.shtd + sor.skd + sor.ygd + sor.jgd == 0)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    //开始模拟灯光
 | 
					                    //开始模拟灯光
 | 
				
			||||||
                    TKM3Item* item41 = m_car->findExamItem(Sub3ItemType41Mndg);
 | 
					 | 
				
			||||||
                    if(item41 && item41->Item_Color == itemStateWk)  //有可能免考,可能没这个项目
 | 
					                    if(item41 && item41->Item_Color == itemStateWk)  //有可能免考,可能没这个项目
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        item41->Item_Color = itemStateZk;
 | 
					                        item41->Item_Color = itemStateZk;
 | 
				
			||||||
@ -819,7 +828,6 @@ void Sub3Judge20Comm::CallMoNiDengGuang()
 | 
				
			|||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    //开始模拟灯光
 | 
					                    //开始模拟灯光
 | 
				
			||||||
                    TKM3Item* item41 = m_car->findExamItem(Sub3ItemType41Mndg);
 | 
					 | 
				
			||||||
                    if(item41 && item41->Item_Color == itemStateWk) //有可能免考,可能没这个项目
 | 
					                    if(item41 && item41->Item_Color == itemStateWk) //有可能免考,可能没这个项目
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        item41->Item_Color = itemStateZk;
 | 
					                        item41->Item_Color = itemStateZk;
 | 
				
			||||||
@ -832,7 +840,6 @@ void Sub3Judge20Comm::CallMoNiDengGuang()
 | 
				
			|||||||
        else
 | 
					        else
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            //开始模拟灯光
 | 
					            //开始模拟灯光
 | 
				
			||||||
            TKM3Item* item41 = m_car->findExamItem(Sub3ItemType41Mndg);
 | 
					 | 
				
			||||||
            if(item41 && item41->Item_Color == itemStateWk)
 | 
					            if(item41 && item41->Item_Color == itemStateWk)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                item41->Item_Color = itemStateZk;
 | 
					                item41->Item_Color = itemStateZk;
 | 
				
			||||||
@ -1927,18 +1934,14 @@ void Sub3Judge20Comm::Judge_QiBu_FXD_LaBa()
 | 
				
			|||||||
        //可以多次触发起步,但是起步方向灯,全程只评判一次
 | 
					        //可以多次触发起步,但是起步方向灯,全程只评判一次
 | 
				
			||||||
        if(m_Pub_First_QiBu_Flag == true) return;
 | 
					        if(m_Pub_First_QiBu_Flag == true) return;
 | 
				
			||||||
        m_Pub_First_QiBu_Flag = true;
 | 
					        m_Pub_First_QiBu_Flag = true;
 | 
				
			||||||
        bool FindFlag = false;
 | 
					        bool FindFlag = (sor.zfxd == SYES && sor.yfxd == SNOT);
 | 
				
			||||||
        if(sor.zfxd == SYES && sor.yfxd == SNOT)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            FindFlag = true;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        if(!FindFlag)
 | 
					        if(!FindFlag)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            for(int i = 1; i < 50; i++)
 | 
					            for(int i = 1; i < 50; i++)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                const TChuanGan* hisi = m_car->historyChuanGan(i);
 | 
					                const TChuanGan* hisi = m_car->historyChuanGan(i);
 | 
				
			||||||
                const TSensorInfo& sori = hisi->real.sensor;
 | 
					 | 
				
			||||||
                if(hisi == nullptr) break;
 | 
					                if(hisi == nullptr) break;
 | 
				
			||||||
 | 
					                const TSensorInfo& sori = hisi->real.sensor;
 | 
				
			||||||
                if(hisi->move == moveStop)
 | 
					                if(hisi->move == moveStop)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    if(sori.zfxd == SYES && sori.yfxd == SNOT)
 | 
					                    if(sori.zfxd == SYES && sori.yfxd == SNOT)
 | 
				
			||||||
@ -1960,6 +1963,7 @@ void Sub3Judge20Comm::Judge_QiBu_FXD_LaBa()
 | 
				
			|||||||
            for(int i = 1; i < 50; i++)
 | 
					            for(int i = 1; i < 50; i++)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                const TChuanGan* hisi = m_car->historyChuanGan(i);
 | 
					                const TChuanGan* hisi = m_car->historyChuanGan(i);
 | 
				
			||||||
 | 
					                if(hisi == nullptr) break;
 | 
				
			||||||
                const TSensorInfo& sori = hisi->real.sensor;
 | 
					                const TSensorInfo& sori = hisi->real.sensor;
 | 
				
			||||||
                if(hisi->move == moveStop)
 | 
					                if(hisi->move == moveStop)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@ -1976,34 +1980,27 @@ void Sub3Judge20Comm::Judge_QiBu_FXD_LaBa()
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //起步喇叭评判
 | 
					        //起步喇叭评判
 | 
				
			||||||
        // {
 | 
					        FindFlag = (sor.lb == SYES);
 | 
				
			||||||
        //     FindFlag = false;
 | 
					        if(!FindFlag)
 | 
				
			||||||
        //     if(sor.lb == SYES)
 | 
					        {
 | 
				
			||||||
        //     {
 | 
					            for(int i = 1; i < 100 ; i++)
 | 
				
			||||||
        //         FindFlag = true;
 | 
					            {
 | 
				
			||||||
        //     }
 | 
					                const TChuanGan* hisi = m_car->historyChuanGan(i);
 | 
				
			||||||
        //     if(! FindFlag)
 | 
					                const TSensorInfo& sori = hisi->real.sensor;
 | 
				
			||||||
        //     {
 | 
					                if(hisi->move == moveStop)
 | 
				
			||||||
        //         for(int i = 1; i < 100 ; i++)
 | 
					                {
 | 
				
			||||||
        //         {
 | 
					                    if(sori.lb == SYES)
 | 
				
			||||||
        //             const TChuanGan* hisi = m_car->historyChuanGan(i);
 | 
					                    {
 | 
				
			||||||
        //             const TSensorInfo& sori = hisi->real.sensor;
 | 
					                        FindFlag = true;
 | 
				
			||||||
        //             if(hisi->move == moveStop)
 | 
					                        break;
 | 
				
			||||||
        //             {
 | 
					                    }
 | 
				
			||||||
        //                 if(sori.lb == SYES)
 | 
					                }
 | 
				
			||||||
        //                 {
 | 
					            }
 | 
				
			||||||
        //                     FindFlag = true;
 | 
					        }
 | 
				
			||||||
        //                     break;
 | 
					        if(!FindFlag)
 | 
				
			||||||
        //                 }
 | 
					        {
 | 
				
			||||||
        //             }
 | 
					            JUDGE_MARK_SUB3(2, "102", false, true);
 | 
				
			||||||
        //         }
 | 
					        }
 | 
				
			||||||
        //     }
 | 
					 | 
				
			||||||
        //     if(!FindFlag)
 | 
					 | 
				
			||||||
        //     {
 | 
					 | 
				
			||||||
        //         JUDGE_MARK_SUB3(2, "102", false, true);
 | 
					 | 
				
			||||||
        //     }
 | 
					 | 
				
			||||||
        // }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -2047,7 +2044,7 @@ bool Sub3Judge20Comm::Is_Lxbd_New()
 | 
				
			|||||||
            if(hisi == nullptr) break;
 | 
					            if(hisi == nullptr) break;
 | 
				
			||||||
            const TGpsInfo& gpsi = hisi->real.gps;
 | 
					            const TGpsInfo& gpsi = hisi->real.gps;
 | 
				
			||||||
            const TRTKResult& RTKKM3_i = hisi->RTKKM3;
 | 
					            const TRTKResult& RTKKM3_i = hisi->RTKKM3;
 | 
				
			||||||
            if(SecondsBetween(gps.sj, gpsi.sj) > 10) break;
 | 
					            if(SecondsBetween(gps.sj, gpsi.sj) > m_LaneChangeTime) break;
 | 
				
			||||||
            int TempCheDaoHao = RTKKM3_i.BasePointInLaneNo;
 | 
					            int TempCheDaoHao = RTKKM3_i.BasePointInLaneNo;
 | 
				
			||||||
            if(TempCheDaoHao == 0)  continue;
 | 
					            if(TempCheDaoHao == 0)  continue;
 | 
				
			||||||
            if(TempCheDaoHao != LS1CheDaoHao && TempCheDaoHao != CurrentCheDaoHao)
 | 
					            if(TempCheDaoHao != LS1CheDaoHao && TempCheDaoHao != CurrentCheDaoHao)
 | 
				
			||||||
@ -2073,8 +2070,8 @@ bool Sub3Judge20Comm::Is_Lxbd_New()
 | 
				
			|||||||
                const TRTKResult& RTKKM3_i1 = hisi1->RTKKM3;
 | 
					                const TRTKResult& RTKKM3_i1 = hisi1->RTKKM3;
 | 
				
			||||||
                const TRTKResult& RTKKM3_i2 = hisi2->RTKKM3;
 | 
					                const TRTKResult& RTKKM3_i2 = hisi2->RTKKM3;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if(SecondsBetween(gps.sj, gpsi1.sj) > 10) break;
 | 
					                if(SecondsBetween(gps.sj, gpsi1.sj) > m_LaneChangeTime) break;
 | 
				
			||||||
                if(SecondsBetween(gps.sj, gpsi2.sj) > 10) break;
 | 
					                if(SecondsBetween(gps.sj, gpsi2.sj) > m_LaneChangeTime) break;
 | 
				
			||||||
                //假如当前是b-->a,也就是说   LS1CheDaoHao=b  CurrentCheDaoHao=a
 | 
					                //假如当前是b-->a,也就是说   LS1CheDaoHao=b  CurrentCheDaoHao=a
 | 
				
			||||||
                //追溯历史,需要监测到  a->b
 | 
					                //追溯历史,需要监测到  a->b
 | 
				
			||||||
                if(RTKKM3_i2.BasePointInLaneNo == CurrentCheDaoHao && RTKKM3_i1.BasePointInLaneNo == LS1CheDaoHao)
 | 
					                if(RTKKM3_i2.BasePointInLaneNo == CurrentCheDaoHao && RTKKM3_i1.BasePointInLaneNo == LS1CheDaoHao)
 | 
				
			||||||
@ -2126,7 +2123,6 @@ bool Sub3Judge20Comm::Is_Lxbd_New()
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            TTestCtl* ctl = m_car->getTTestCtl();
 | 
					 | 
				
			||||||
            //2、兼容aba
 | 
					            //2、兼容aba
 | 
				
			||||||
            if(ctl->LianXuBianDaoKind == 1)  //允许aba方式
 | 
					            if(ctl->LianXuBianDaoKind == 1)  //允许aba方式
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -2176,13 +2172,13 @@ bool Sub3Judge20Comm::Is_Lxbd_New2()
 | 
				
			|||||||
    const TChuanGan* cg = m_car->historyChuanGan();
 | 
					    const TChuanGan* cg = m_car->historyChuanGan();
 | 
				
			||||||
    const TRTKResult& RTKKM3 = cg->RTKKM3;
 | 
					    const TRTKResult& RTKKM3 = cg->RTKKM3;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    const TChuanGan* his1 = m_car->historyChuanGan(1);
 | 
					    const TChuanGan* his1 = m_car->historyChuanGan(1);
 | 
				
			||||||
    const TRTKResult& RTKKM3_1 = his1->RTKKM3;
 | 
					    const TRTKResult& RTKKM3_1 = his1->RTKKM3;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const std::string& ksdd = TableSysSet->get211();
 | 
					    const std::string& ksdd = TableSysSet->get211();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    TTestCtl* ctl = m_car->getTTestCtl();
 | 
					    TTestCtl* ctl = m_car->getTTestCtl();
 | 
				
			||||||
 | 
					    bool bYx = false; //20180604  是否压过线值
 | 
				
			||||||
    //变道一瞬间
 | 
					    //变道一瞬间
 | 
				
			||||||
    if(RTKKM3.BasePointInLaneNo > 0 && RTKKM3_1.BasePointInLaneNo > 0 &&
 | 
					    if(RTKKM3.BasePointInLaneNo > 0 && RTKKM3_1.BasePointInLaneNo > 0 &&
 | 
				
			||||||
            RTKKM3.BasePointInLaneNo != RTKKM3_1.BasePointInLaneNo &&
 | 
					            RTKKM3.BasePointInLaneNo != RTKKM3_1.BasePointInLaneNo &&
 | 
				
			||||||
@ -2194,7 +2190,7 @@ bool Sub3Judge20Comm::Is_Lxbd_New2()
 | 
				
			|||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        //20170
 | 
					        //20170
 | 
				
			||||||
        int zjcdtlsj = 10; // strtoint(readiniparam('连续变道', 'zjcdtlsj', '5'));
 | 
					        const int zjcdtlsj = m_LaneChangeTime; // strtoint(readiniparam('连续变道', 'zjcdtlsj', '5'));
 | 
				
			||||||
        int Ora_Chedao = RTKKM3.BasePointInLaneNo; //原始车道
 | 
					        int Ora_Chedao = RTKKM3.BasePointInLaneNo; //原始车道
 | 
				
			||||||
        bool Fxd_HwID = false; //方向灯回位标
 | 
					        bool Fxd_HwID = false; //方向灯回位标
 | 
				
			||||||
        //c := cg.tkCnt;
 | 
					        //c := cg.tkCnt;
 | 
				
			||||||
@ -2219,7 +2215,6 @@ bool Sub3Judge20Comm::Is_Lxbd_New2()
 | 
				
			|||||||
            const TSensorInfo& sor_a = his_a->real.sensor;
 | 
					            const TSensorInfo& sor_a = his_a->real.sensor;
 | 
				
			||||||
            const TGpsInfo& gps_a = his_a->real.gps;
 | 
					            const TGpsInfo& gps_a = his_a->real.gps;
 | 
				
			||||||
            const TRTKResult& RTKKM3_a = his_a->RTKKM3;
 | 
					            const TRTKResult& RTKKM3_a = his_a->RTKKM3;
 | 
				
			||||||
 | 
					 | 
				
			||||||
            const TRTKResult& RTKKM3_b = his_b->RTKKM3;
 | 
					            const TRTKResult& RTKKM3_b = his_b->RTKKM3;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if(m_car->rtkEnabled(a))
 | 
					            if(m_car->rtkEnabled(a))
 | 
				
			||||||
@ -2235,7 +2230,6 @@ bool Sub3Judge20Comm::Is_Lxbd_New2()
 | 
				
			|||||||
                {
 | 
					                {
 | 
				
			||||||
                    return false;
 | 
					                    return false;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                bool bYx = false; //20180604  是否压过线值
 | 
					 | 
				
			||||||
                //LS压线,当前不压线了(相当于历史记录中,再次找到了一次变道记录)
 | 
					                //LS压线,当前不压线了(相当于历史记录中,再次找到了一次变道记录)
 | 
				
			||||||
                if(RTKKM3_a.TouchLineType == TRTKResult::TouchLineType0 &&
 | 
					                if(RTKKM3_a.TouchLineType == TRTKResult::TouchLineType0 &&
 | 
				
			||||||
                        RTKKM3_b.TouchLineType != TRTKResult::TouchLineType0)
 | 
					                        RTKKM3_b.TouchLineType != TRTKResult::TouchLineType0)
 | 
				
			||||||
@ -2333,6 +2327,68 @@ bool Sub3Judge20Comm::Is_Lxbd_New2()
 | 
				
			|||||||
    return false;
 | 
					    return false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool Sub3Judge20Comm::Is_Lxbd_New3()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    const TChuanGan* cg = m_car->historyChuanGan();
 | 
				
			||||||
 | 
					    const TGpsInfo& gps = cg->real.gps;
 | 
				
			||||||
 | 
					    const TRTKResult& RTKKM3 = cg->RTKKM3;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const TChuanGan* his1 = m_car->historyChuanGan(1);
 | 
				
			||||||
 | 
					    const TRTKResult& RTKKM3_1 = his1->RTKKM3;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //1)10秒内,变化了2个或以上的车道
 | 
				
			||||||
 | 
					    //2)同一个方向灯,不关闭(变了2次或以上车道)
 | 
				
			||||||
 | 
					    //变道一瞬间
 | 
				
			||||||
 | 
					    //1、只考虑那种车道总数不发生变化的
 | 
				
			||||||
 | 
					    //2、基准点所在的车道号发生变化了
 | 
				
			||||||
 | 
					    if(RTKKM3.BasePointInLaneNo > 0 && RTKKM3_1.BasePointInLaneNo > 0 &&
 | 
				
			||||||
 | 
					            RTKKM3.BasePointInLaneNo != RTKKM3_1.BasePointInLaneNo &&
 | 
				
			||||||
 | 
					            RTKKM3.BaseLaneCount == RTKKM3_1.BaseLaneCount)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        int cnt = 0;
 | 
				
			||||||
 | 
					        int LaneNo = RTKKM3.BasePointInLaneNo;
 | 
				
			||||||
 | 
					        for(int i = 1; i < 900; i++) //如果你的队列长队是500,那么把这个值改成500
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            const TChuanGan* hisi = m_car->historyChuanGan(i);
 | 
				
			||||||
 | 
					            if(hisi == nullptr)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                break;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            const TRTKResult& RTKKM3_i = hisi->RTKKM3;
 | 
				
			||||||
 | 
					            const TSensorInfo& sori = hisi->real.sensor;
 | 
				
			||||||
 | 
					            const TGpsInfo& gpsi = hisi->real.gps;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if(SecondsBetween(gps.sj, gpsi.sj) > m_LaneChangeTime)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                break;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if(RTKKM3.BaseLaneCount != RTKKM3_i.BaseLaneCount)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                break;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if(LaneNo != RTKKM3_i.BasePointInLaneNo)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                LaneNo = RTKKM3_i.BasePointInLaneNo;
 | 
				
			||||||
 | 
					                cnt++;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            bool Fxd_HwID = false;
 | 
				
			||||||
 | 
					            if(sori.zfxd == SNOT && sori.yfxd == SNOT)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Fxd_HwID = true;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if(!Fxd_HwID && cnt >= 2)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                return true;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    return false;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//7、连续变更两条以上车道
 | 
					//7、连续变更两条以上车道
 | 
				
			||||||
void Sub3Judge20Comm::Judge_LianXuBianDao()
 | 
					void Sub3Judge20Comm::Judge_LianXuBianDao()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -2378,7 +2434,7 @@ void Sub3Judge20Comm::Judge_LianXuBianDao()
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    NJ_DiaoTou_JL = 0;
 | 
					    m_car->setNJ_DiaoTou_JL(0);
 | 
				
			||||||
    if(m_car->rtkEnabled() && m_car->rtkEnabled(1))
 | 
					    if(m_car->rtkEnabled() && m_car->rtkEnabled(1))
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        //连续变更车道方式(格式: 0^0):第一个数字0:abc方式 1:aba/abc方式;
 | 
					        //连续变更车道方式(格式: 0^0):第一个数字0:abc方式 1:aba/abc方式;
 | 
				
			||||||
@ -2389,7 +2445,7 @@ void Sub3Judge20Comm::Judge_LianXuBianDao()
 | 
				
			|||||||
            {
 | 
					            {
 | 
				
			||||||
                if(Is_Lxbd_New2() == true)
 | 
					                if(Is_Lxbd_New2() == true)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    JUDGE_MARK_SUB3(20, "89", true);
 | 
					                    JUDGE_MARK_SUB3(20, "89", false);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -2397,7 +2453,7 @@ void Sub3Judge20Comm::Judge_LianXuBianDao()
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            if(Is_Lxbd_New2() == true)
 | 
					            if(Is_Lxbd_New2() == true)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                JUDGE_MARK_SUB3(20, "89", true);
 | 
					                JUDGE_MARK_SUB3(20, "89", false);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
@ -2408,7 +2464,7 @@ void Sub3Judge20Comm::Judge_LianXuBianDao()
 | 
				
			|||||||
            {
 | 
					            {
 | 
				
			||||||
                if(Is_Lxbd_New2() == true)
 | 
					                if(Is_Lxbd_New2() == true)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    JUDGE_MARK_SUB3(20, "89", true);
 | 
					                    JUDGE_MARK_SUB3(20, "89", false);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -2814,14 +2870,13 @@ void Sub3Judge20Comm::Judge_BianDaoFangXiangDeng2()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    int s528 = TableSysSet->asInt528();
 | 
					    int s528 = TableSysSet->asInt528();
 | 
				
			||||||
    int NJ_DiaoTou_JL = m_car->getNJ_DiaoTou_JL();
 | 
					    int NJ_DiaoTou_JL = m_car->getNJ_DiaoTou_JL();
 | 
				
			||||||
 | 
					 | 
				
			||||||
    //SysSet[528]:掉头N米内不判连续变道和方向灯
 | 
					    //SysSet[528]:掉头N米内不判连续变道和方向灯
 | 
				
			||||||
    if(NJ_DiaoTou_JL > 0 && s528 > 0 && cg->ai_ljjl - NJ_DiaoTou_JL < s528)
 | 
					    if(NJ_DiaoTou_JL > 0 && s528 > 0 && cg->ai_ljjl - NJ_DiaoTou_JL < s528)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        NJ_DiaoTou_JL = 0;
 | 
					        m_car->setNJ_DiaoTou_JL(0);
 | 
				
			||||||
        int Tag = 0;
 | 
					        int Tag = 0;
 | 
				
			||||||
        //如果基准点所在车道数和保险杠所在的车道数不一致
 | 
					        //如果基准点所在车道数和保险杠所在的车道数不一致
 | 
				
			||||||
        if(RTKKM3.BaseLaneCount != RTKKM3.FrontPointLaneCount)
 | 
					        if(RTKKM3.BaseLaneCount != RTKKM3.FrontPointLaneCount)
 | 
				
			||||||
@ -2968,7 +3023,7 @@ void Sub3Judge20Comm::Judge_BianDaoFangXiangDeng2()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                    if(RTKKM3.TouchLineType == TRTKResult::TouchLineType2 &&
 | 
					                    if(RTKKM3.TouchLineType == TRTKResult::TouchLineType2 &&
 | 
				
			||||||
                            RTKKM3_1.TouchLineType == TRTKResult::TouchLineType2 &&
 | 
					                            RTKKM3_1.TouchLineType == TRTKResult::TouchLineType2 &&
 | 
				
			||||||
                            RTKKM3_2.TouchLineType == 0 && RTKKM3_2.BasePointInLaneNo != 0 &&
 | 
					                            RTKKM3_2.TouchLineType == TRTKResult::TouchLineType0 && RTKKM3_2.BasePointInLaneNo != 0 &&
 | 
				
			||||||
                            RTKKM3.FrontPointLaneCount == RTKKM3_1.FrontPointLaneCount &&
 | 
					                            RTKKM3.FrontPointLaneCount == RTKKM3_1.FrontPointLaneCount &&
 | 
				
			||||||
                            RTKKM3_1.FrontPointLaneCount == RTKKM3_2.FrontPointLaneCount)
 | 
					                            RTKKM3_1.FrontPointLaneCount == RTKKM3_2.FrontPointLaneCount)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -130,13 +130,11 @@ protected:
 | 
				
			|||||||
    //6、起步方向灯、喇叭
 | 
					    //6、起步方向灯、喇叭
 | 
				
			||||||
    void Judge_QiBu_FXD_LaBa();
 | 
					    void Judge_QiBu_FXD_LaBa();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //7、连续变更两条以上车道
 | 
					    //7、连续变更两条以上车道 //重点
 | 
				
			||||||
    void Judge_LianXuBianDao();
 | 
					    void Judge_LianXuBianDao();
 | 
				
			||||||
    //(*XLG_Modify 2024-04-23*)
 | 
					    bool Is_Lxbd_New(); //是否是连续变道 //徐连刚实现 ***暂时没用到
 | 
				
			||||||
    bool Is_Lxbd_New(); //是否是连续变道 //***没用到
 | 
					    bool Is_Lxbd_New2(); //是否是连续变道  //老的实现
 | 
				
			||||||
    //(*XLG_Modify 2024-04-24*)
 | 
					    bool Is_Lxbd_New3(); //是否是连续变道  //杨海洋实现 ***暂时没用到
 | 
				
			||||||
    //重点
 | 
					 | 
				
			||||||
    bool Is_Lxbd_New2(); //是否是连续变道
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //8、不能停止人行横道网格线内 //禁停评判
 | 
					    //8、不能停止人行横道网格线内 //禁停评判
 | 
				
			||||||
    void Judge_ForbiddenTC();
 | 
					    void Judge_ForbiddenTC();
 | 
				
			||||||
@ -213,7 +211,7 @@ private:
 | 
				
			|||||||
    Pointi m_PubLCTCPtt;
 | 
					    Pointi m_PubLCTCPtt;
 | 
				
			||||||
    double m_PubLCTC_GPS_JD = 0.0;
 | 
					    double m_PubLCTC_GPS_JD = 0.0;
 | 
				
			||||||
    double m_PubLCTC_GPS_WD = 0.0;
 | 
					    double m_PubLCTC_GPS_WD = 0.0;
 | 
				
			||||||
    bool m_PubCanMarkLC50Flag = true;
 | 
					    bool m_PubCanMarkLC50Flag = true;  //注意初始必须是true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    bool m_Pub_First_QiBu_Flag = false;
 | 
					    bool m_Pub_First_QiBu_Flag = false;
 | 
				
			||||||
    //int Pub_JSC_JL = 0; //in car
 | 
					    //int Pub_JSC_JL = 0; //in car
 | 
				
			||||||
@ -223,6 +221,9 @@ private:
 | 
				
			|||||||
    int m_DiaoTou_ID = 0;
 | 
					    int m_DiaoTou_ID = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    int64 m_PubLastMark_XuXian_TK = 0;
 | 
					    int64 m_PubLastMark_XuXian_TK = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    const int m_LaneChangeTime = 10; //连续变道时间 单位秒  杨海洋增加
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif // SUB3JUDGE20COMM_H
 | 
					#endif // SUB3JUDGE20COMM_H
 | 
				
			||||||
 | 
				
			|||||||
@ -1133,26 +1133,15 @@ struct TCarZsBl
 | 
				
			|||||||
    int CarZsBMax = -1;
 | 
					    int CarZsBMax = -1;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//TSub3CarCtl
 | 
				
			||||||
struct TCar
 | 
					struct TCar
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    TCar() { }
 | 
					    TCar() { }
 | 
				
			||||||
    std::string CarNo = "1148"; //考车号
 | 
					 | 
				
			||||||
    std::string CarBh; //考车编号 20170830
 | 
					 | 
				
			||||||
    //std::string KSCX;  //考试车型
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    std::string CarTypeName; //车型名称 大货
 | 
					    std::string CarTypeName; //车型名称 大货
 | 
				
			||||||
    int CarTypeSystemParmNo = 0; //对应的考车名称代码
 | 
					    int CarTypeSystemParmNo = 0; //对应的考车名称代码
 | 
				
			||||||
 | 
					 | 
				
			||||||
    int X_McH = 0; //百米脉冲值
 | 
					 | 
				
			||||||
    int X_McH_Calc = 0; //通过GPS计算值
 | 
					 | 
				
			||||||
    int LowGrade = 0; //合格成绩
 | 
					 | 
				
			||||||
    int StartSpeed = 0; //起步档位
 | 
					    int StartSpeed = 0; //起步档位
 | 
				
			||||||
    int AnQuanDai = 0; //安全带:0-不判 1-判保险带 2-气压
 | 
					    int AnQuanDai = 0; //安全带:0-不判 1-判保险带 2-气压
 | 
				
			||||||
    bool chemen = false; //车门:0-不判 1-判
 | 
					 | 
				
			||||||
    int Stop_TC_ClrJZ = 0; //已停车,多少个plc周期(200MS)内无脉冲,则清除rec_QJ_LJMC,rec_HT_LJMC
 | 
					 | 
				
			||||||
    int Stop_PanDuan = 0; //判断多少个plc周期(200MS)内无脉冲,则表示停车
 | 
					 | 
				
			||||||
    int DeadDirect = 0; //打死方向的判断值
 | 
					 | 
				
			||||||
    //MustTest_List: string; //必考项目列表
 | 
					 | 
				
			||||||
    int Test_Sum = 0; //考试项目总数
 | 
					    int Test_Sum = 0; //考试项目总数
 | 
				
			||||||
    bool AQD_QF = false; //安全带取反
 | 
					    bool AQD_QF = false; //安全带取反
 | 
				
			||||||
    bool LHQ_QF = false; //离合器取反
 | 
					    bool LHQ_QF = false; //离合器取反
 | 
				
			||||||
@ -1162,57 +1151,16 @@ struct TCar
 | 
				
			|||||||
    int XSJL = 0; //本次行驶距离限制
 | 
					    int XSJL = 0; //本次行驶距离限制
 | 
				
			||||||
    bool bFDJDS = false; //发动机怠速值是否是设置  20141112
 | 
					    bool bFDJDS = false; //发动机怠速值是否是设置  20141112
 | 
				
			||||||
    int FDJDS = 0; //本车发动机怠速值
 | 
					    int FDJDS = 0; //本车发动机怠速值
 | 
				
			||||||
    double fdjds_ddbl = 0.0, fdjds_ddbl_gd = 0.0 ; //抖动时发动机怠速比例    fdjds_ddbl_gd 高档怠速比例
 | 
					 | 
				
			||||||
    double fdjds_cdbl = 0.0; //抖动时发动机闯动比例  20140904
 | 
					 | 
				
			||||||
    double plc_cs_X = 0.0; //PLC的车速系数
 | 
					 | 
				
			||||||
    int fxd3scs = 0;
 | 
					    int fxd3scs = 0;
 | 
				
			||||||
 | 
					 | 
				
			||||||
    std::string ASize; //车型轮廓
 | 
					 | 
				
			||||||
    int StopOffsetX = 0, StopOffsetY = 0; //起始
 | 
					 | 
				
			||||||
    int StopInterval = 0;
 | 
					 | 
				
			||||||
    int8 Gps_Dir_Type = 0; //不同GPS测向设备  0-无 1-诺瓦泰 2-天宝
 | 
					 | 
				
			||||||
    double Gps_Init_JiaJiao; //GPS初始夹角
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    int8 Night_Hr = 0, Night_Mi = 0; //夜间考试开始的 时/分
 | 
					    int8 Night_Hr = 0, Night_Mi = 0; //夜间考试开始的 时/分
 | 
				
			||||||
    bool Night_ID = false;
 | 
					    bool Night_ID = false;
 | 
				
			||||||
    std::string Lcinfo; //里程信息
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    int8 PLC_CommNo = 0;
 | 
					 | 
				
			||||||
    int8 Gps_CommNo = 0;
 | 
					 | 
				
			||||||
    int8 Tly_CommNo = 0;
 | 
					 | 
				
			||||||
    int8 Cdy_CommNo = 0;
 | 
					 | 
				
			||||||
    int8 Dw_CommNo = 0; //20170420  挡位
 | 
					 | 
				
			||||||
    int8 FuShaChe_CommNo = 0; //20170420  挡位
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    int8 CSB13_CommNo = 0; //20171113  超声波
 | 
					    int8 CSB13_CommNo = 0; //20171113  超声波
 | 
				
			||||||
    int8 CSB24_CommNo = 0; //20171113  超声波
 | 
					    int8 CSB24_CommNo = 0; //20171113  超声波
 | 
				
			||||||
 | 
					 | 
				
			||||||
    //{Add-LHQ 2016-5-25 牵引车}
 | 
					 | 
				
			||||||
    int8 Gps_CommNo2 = 0;
 | 
					 | 
				
			||||||
    int8 Gps_Dir_Type_t = 0; //不同GPS测向设备  0-无 1-诺瓦泰 2-天宝
 | 
					 | 
				
			||||||
    double Gps_Init_JiaJiao_t = 0.0; //GPS初始夹角
 | 
					 | 
				
			||||||
    //{-Add-LHQ 2016-5-25 牵引车}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    std::string Way_Name;
 | 
					 | 
				
			||||||
    std::string Way_Next;
 | 
					 | 
				
			||||||
    std::string Way_Item;
 | 
					 | 
				
			||||||
    std::string Way_Next_ItemNos; //2,3  1-12*15,2-13,,13-14*15,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    int8 Km3_Next_Cnt = 0;
 | 
					 | 
				
			||||||
    std::array<std::string, 100> Km3_Next_CurrItem; //array[1..100] of string[20];
 | 
					 | 
				
			||||||
    std::array<std::string, 100> Km3_Next_NextList; //array[1..100] of string[20];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    std::string No_ItemSNO;
 | 
					    std::string No_ItemSNO;
 | 
				
			||||||
 | 
					 | 
				
			||||||
    std::string In_ItemSNO; //20160411  按线路进项目
 | 
					    std::string In_ItemSNO; //20160411  按线路进项目
 | 
				
			||||||
    std::array<int, 11> DwZsMax; //20140812 1:2000;2:1800;3:1500; 档位最高转速 //array[0..10] of integer;
 | 
					    std::array<int, 11> DwZsMax; //20140812 1:2000;2:1800;3:1500; 档位最高转速 //array[0..10] of integer;
 | 
				
			||||||
 | 
					 | 
				
			||||||
    std::array<int, 11> DwZsMin; //20151109 1:2000;2:1800;3:1500; 档位最低转速 //array[0..10] of integer;
 | 
					    std::array<int, 11> DwZsMin; //20151109 1:2000;2:1800;3:1500; 档位最低转速 //array[0..10] of integer;
 | 
				
			||||||
 | 
					 | 
				
			||||||
    std::array<int, 11> DwZsMaxCsj; //20140812 1:2000;2:1800;3:1500; 长时档位最高转速  20151029  array[0..10] of integer;
 | 
					 | 
				
			||||||
    //DwZsBl: array[1..5] of TCarZsBl; //20141111 档位转速比
 | 
					 | 
				
			||||||
    std::string ZxxsCs; //20150504  按车型的直线行驶参数
 | 
					    std::string ZxxsCs; //20150504  按车型的直线行驶参数
 | 
				
			||||||
 | 
					 | 
				
			||||||
    //20150623
 | 
					    //20150623
 | 
				
			||||||
    bool ZFXD_QF= false; //左方向灯取反
 | 
					    bool ZFXD_QF= false; //左方向灯取反
 | 
				
			||||||
    bool YFXD_QF= false; //右方向灯取反
 | 
					    bool YFXD_QF= false; //右方向灯取反
 | 
				
			||||||
@ -1223,36 +1171,68 @@ struct TCar
 | 
				
			|||||||
    bool SS_QF  = false; //手刹取反
 | 
					    bool SS_QF  = false; //手刹取反
 | 
				
			||||||
    bool MKG_QF = false; //门开关取反
 | 
					    bool MKG_QF = false; //门开关取反
 | 
				
			||||||
    bool FS_QF  = false; //副刹取反
 | 
					    bool FS_QF  = false; //副刹取反
 | 
				
			||||||
    bool YGQ_QF = false; //雨刮器取反  20160427
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    double FDJZSXS = 0.0; //发动转速系数
 | 
					    double FDJZSXS = 0.0; //发动转速系数
 | 
				
			||||||
 | 
					 | 
				
			||||||
    double Zdbpsfz = 0.0; //Z轴加速度阈值
 | 
					    double Zdbpsfz = 0.0; //Z轴加速度阈值
 | 
				
			||||||
 | 
					 | 
				
			||||||
    std::array<int, 4> Test_Sums; //大车三阶段考试项目总数  20150805  array[1..3] of Integer;
 | 
					    std::array<int, 4> Test_Sums; //大车三阶段考试项目总数  20150805  array[1..3] of Integer;
 | 
				
			||||||
    double Z_JSD_FZ = 0.0; //Z轴加速度阀值
 | 
					    double Z_JSD_FZ = 0.0; //Z轴加速度阀值
 | 
				
			||||||
    int JJDXS = 0; //加减档限时 20161226
 | 
					    int JJDXS = 0; //加减档限时 20161226
 | 
				
			||||||
    double zxxsfz = 0.0; //直线行驶阀值 20161230
 | 
					 | 
				
			||||||
    bool bObdCs = false; //取OBD车速 20170331
 | 
					 | 
				
			||||||
    bool bWDwcg = false; // 无挡位传感 20170508
 | 
					    bool bWDwcg = false; // 无挡位传感 20170508
 | 
				
			||||||
 | 
					 | 
				
			||||||
    double QBCD = 0.0; //起步闯动  20170713
 | 
					    double QBCD = 0.0; //起步闯动  20170713
 | 
				
			||||||
    bool sznight = false; //20171008
 | 
					 | 
				
			||||||
    int CSBType = 0; //20171113 超声波模式
 | 
					    int CSBType = 0; //20171113 超声波模式
 | 
				
			||||||
    std::string DC_YK_Must; //夜考项目 20180301
 | 
					    std::string DC_YK_Must; //夜考项目 20180301
 | 
				
			||||||
 | 
					 | 
				
			||||||
    std::string MFXX_KSXM;    //满分学习考试项目
 | 
					    std::string MFXX_KSXM;    //满分学习考试项目
 | 
				
			||||||
    std::string MFXX_Parm;    //满分学习参数
 | 
					    std::string MFXX_Parm;    //满分学习参数
 | 
				
			||||||
    std::string DW_change;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    std::array<TCarZsBl, 7> DwZsBl; //20141111 档位转速比 档位转速比  array[1..5]
 | 
					    std::array<TCarZsBl, 7> DwZsBl; //20141111 档位转速比 档位转速比  array[1..5]
 | 
				
			||||||
    bool ZDB_Flag = false;
 | 
					    bool ZDB_Flag = false;
 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct TDw_Cs_JL
 | 
					    //********************以下目前没用到*******************
 | 
				
			||||||
{
 | 
					
 | 
				
			||||||
    int   Ljjl = 0;
 | 
					    std::string CarNo = "1148"; //考车号
 | 
				
			||||||
    int64 LjSj = 0; //: Cardinal;
 | 
					    std::string CarBh; //考车编号 20170830
 | 
				
			||||||
 | 
					    //std::string KSCX;  //考试车型
 | 
				
			||||||
 | 
					    int X_McH = 0; //百米脉冲值
 | 
				
			||||||
 | 
					    int X_McH_Calc = 0; //通过GPS计算值
 | 
				
			||||||
 | 
					    int LowGrade = 0; //合格成绩
 | 
				
			||||||
 | 
					    bool chemen = false; //车门:0-不判 1-判
 | 
				
			||||||
 | 
					    int Stop_TC_ClrJZ = 0; //已停车,多少个plc周期(200MS)内无脉冲,则清除rec_QJ_LJMC,rec_HT_LJMC
 | 
				
			||||||
 | 
					    int Stop_PanDuan = 0; //判断多少个plc周期(200MS)内无脉冲,则表示停车
 | 
				
			||||||
 | 
					    int DeadDirect = 0; //打死方向的判断值
 | 
				
			||||||
 | 
					    //MustTest_List: string; //必考项目列表
 | 
				
			||||||
 | 
					    double fdjds_ddbl = 0.0, fdjds_ddbl_gd = 0.0 ; //抖动时发动机怠速比例    fdjds_ddbl_gd 高档怠速比例
 | 
				
			||||||
 | 
					    double fdjds_cdbl = 0.0; //抖动时发动机闯动比例  20140904
 | 
				
			||||||
 | 
					    double plc_cs_X = 0.0; //PLC的车速系数
 | 
				
			||||||
 | 
					    std::string ASize; //车型轮廓
 | 
				
			||||||
 | 
					    int StopOffsetX = 0, StopOffsetY = 0; //起始
 | 
				
			||||||
 | 
					    int StopInterval = 0;
 | 
				
			||||||
 | 
					    int8 Gps_Dir_Type = 0; //不同GPS测向设备  0-无 1-诺瓦泰 2-天宝
 | 
				
			||||||
 | 
					    double Gps_Init_JiaJiao; //GPS初始夹角
 | 
				
			||||||
 | 
					    std::string Lcinfo; //里程信息
 | 
				
			||||||
 | 
					    int8 PLC_CommNo = 0;
 | 
				
			||||||
 | 
					    int8 Gps_CommNo = 0;
 | 
				
			||||||
 | 
					    int8 Tly_CommNo = 0;
 | 
				
			||||||
 | 
					    int8 Cdy_CommNo = 0;
 | 
				
			||||||
 | 
					    int8 Dw_CommNo = 0; //20170420  挡位
 | 
				
			||||||
 | 
					    int8 FuShaChe_CommNo = 0; //20170420  挡位
 | 
				
			||||||
 | 
					    //{Add-LHQ 2016-5-25 牵引车}
 | 
				
			||||||
 | 
					    int8 Gps_CommNo2 = 0;
 | 
				
			||||||
 | 
					    int8 Gps_Dir_Type_t = 0; //不同GPS测向设备  0-无 1-诺瓦泰 2-天宝
 | 
				
			||||||
 | 
					    double Gps_Init_JiaJiao_t = 0.0; //GPS初始夹角
 | 
				
			||||||
 | 
					    //{-Add-LHQ 2016-5-25 牵引车}
 | 
				
			||||||
 | 
					    std::string Way_Name;
 | 
				
			||||||
 | 
					    std::string Way_Next;
 | 
				
			||||||
 | 
					    std::string Way_Item;
 | 
				
			||||||
 | 
					    std::string Way_Next_ItemNos; //2,3  1-12*15,2-13,,13-14*15,
 | 
				
			||||||
 | 
					    int8 Km3_Next_Cnt = 0;
 | 
				
			||||||
 | 
					    std::array<std::string, 100> Km3_Next_CurrItem; //array[1..100] of string[20];
 | 
				
			||||||
 | 
					    std::array<std::string, 100> Km3_Next_NextList; //array[1..100] of string[20];
 | 
				
			||||||
 | 
					    std::array<int, 11> DwZsMaxCsj; //20140812 1:2000;2:1800;3:1500; 长时档位最高转速  20151029  array[0..10] of integer;
 | 
				
			||||||
 | 
					    //DwZsBl: array[1..5] of TCarZsBl; //20141111 档位转速比
 | 
				
			||||||
 | 
					    bool YGQ_QF = false; //雨刮器取反  20160427
 | 
				
			||||||
 | 
					    double zxxsfz = 0.0; //直线行驶阀值 20161230
 | 
				
			||||||
 | 
					    bool bObdCs = false; //取OBD车速 20170331
 | 
				
			||||||
 | 
					    bool sznight = false; //20171008
 | 
				
			||||||
 | 
					    std::string DW_change;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct TTestCtl
 | 
					struct TTestCtl
 | 
				
			||||||
@ -1261,45 +1241,37 @@ struct TTestCtl
 | 
				
			|||||||
    bool ZXD_GuanBi = false; //转向灯关闭标记
 | 
					    bool ZXD_GuanBi = false; //转向灯关闭标记
 | 
				
			||||||
    std::set<ExamItemCode> PassedItem; //std::string PassedItem; //已考项目编号列表
 | 
					    std::set<ExamItemCode> PassedItem; //std::string PassedItem; //已考项目编号列表
 | 
				
			||||||
    int MaxR = 0, MinR = 0; //最大及最小GPS搜索范围CM
 | 
					    int MaxR = 0, MinR = 0; //最大及最小GPS搜索范围CM
 | 
				
			||||||
 | 
					 | 
				
			||||||
    int8 Gps_St = 0; //0-普通GPS  1-差分GPS共用串口2  2-差分GPS独立串口 3-差分GPS独立串口未打开 4-华测的设备GPGGA
 | 
					 | 
				
			||||||
    int RtkOffset = 0;
 | 
					    int RtkOffset = 0;
 | 
				
			||||||
 | 
					 | 
				
			||||||
    //std::string KSDD;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    bool IsPassItem14 = false; //加减挡拉是否考过 20170117
 | 
					    bool IsPassItem14 = false; //加减挡拉是否考过 20170117
 | 
				
			||||||
 | 
					 | 
				
			||||||
    int JianSuLeiXing = 0; //20171007减速类型
 | 
					    int JianSuLeiXing = 0; //20171007减速类型
 | 
				
			||||||
 | 
					    int LianXuBianDaoKind = 0; //20171008 连续变更车道方式 0:abc 1:aba和abc都判
 | 
				
			||||||
    int LianXuBianDaoKind = 0; //20171008 连续变更车道方式 0:abc 1:aba
 | 
					 | 
				
			||||||
    int LianXuBianDao_CC = 0; //连续变更车道在超车项目是否扣分
 | 
					    int LianXuBianDao_CC = 0; //连续变更车道在超车项目是否扣分
 | 
				
			||||||
 | 
					 | 
				
			||||||
    int NanNingWavKind = 0; //南宁需求 公交、学校、人行语音 0:不需要 1:需要
 | 
					    int NanNingWavKind = 0; //南宁需求 公交、学校、人行语音 0:不需要 1:需要
 | 
				
			||||||
 | 
					 | 
				
			||||||
    //上海个性需求定义
 | 
					    //上海个性需求定义
 | 
				
			||||||
    int tsxhsj = 0, tsdhsj = 0; //估计是:提示熄火时间、提示点火时间
 | 
					    int tsxhsj = 0, tsdhsj = 0; //估计是:提示熄火时间、提示点火时间
 | 
				
			||||||
 | 
					 | 
				
			||||||
    std::string temp_336; //深圳个性需求
 | 
					    std::string temp_336; //深圳个性需求
 | 
				
			||||||
 | 
					    //挡位车速距离定义
 | 
				
			||||||
 | 
					    struct TDw_Cs_JL { int Ljjl = 0; int64 LjSj = 0; };
 | 
				
			||||||
 | 
					    std::array<TDw_Cs_JL, 9> Dw_Cs_JL1, Dw_Cs_JL2; //: array[0..8] of TDw_Cs_JL;
 | 
				
			||||||
 | 
					    std::array<TDw_Cs_JL, 9> Dw_Cs_JL; //: array[0..8] of TDw_Cs_JL;
 | 
				
			||||||
 | 
					    bool Dw_Cs_Ok1 = false, Dw_Cs_Ok2 = false;//档位车速满足结束考试条件  Dw_Cs_Ok1=false and Dw_Cs_Ok2=false 扣多一点(sysset.308.1); Dw_Cs_Ok1=false and Dw_Cs_Ok2=true 扣少一点(sysset.308.2);Dw_Cs_Ok1=true 不扣分;
 | 
				
			||||||
 | 
					    int dw_kf_sj = 0; //301评判时间,0-结束考试时评判,1-里程达标就评判 100-表示已评判过    20140630
 | 
				
			||||||
 | 
					    int Cs_type = 0, Cs_JlYq1 = 0, Cs_JlYq2 = 0, Cs_Yq = 0; //400参数中的Cs_JlYq1为平均距离判扣分,Cs_JlYq2为保持车速的距离  Cs_Yq:要达到的车速,0表示不判  20140418  20180810
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //以下是环境感知相关的,暂不考虑
 | 
					    //***以下是环境感知相关的,暂不考虑
 | 
				
			||||||
 | 
					 | 
				
			||||||
    int gz_aqjl = 0, gz_hxjl = 0, gz_jsjl = 0, gz_gchcjl = 0; //单位厘米
 | 
					    int gz_aqjl = 0, gz_hxjl = 0, gz_jsjl = 0, gz_gchcjl = 0; //单位厘米
 | 
				
			||||||
    int gz_aqsj = 0; //单位秒
 | 
					    int gz_aqsj = 0; //单位秒
 | 
				
			||||||
    int gz_zawjl = 0; //障碍物距离阀值 20200525
 | 
					    int gz_zawjl = 0; //障碍物距离阀值 20200525
 | 
				
			||||||
    int gz_dtfxjl = 0; //掉头反向车距离 单位厘米  20200529
 | 
					    int gz_dtfxjl = 0; //掉头反向车距离 单位厘米  20200529
 | 
				
			||||||
    bool b_gzpp = false, b_jsxw = false, b_gzvideo = false;
 | 
					    bool b_gzpp = false, b_jsxw = false, b_gzvideo = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //(*XLG_Add 2024-01-16*)
 | 
					    //********************以下目前没用到*******************
 | 
				
			||||||
    //挡位车速距离定义
 | 
					
 | 
				
			||||||
    std::array<TDw_Cs_JL, 9> Dw_Cs_JL1, Dw_Cs_JL2; //: array[0..8] of TDw_Cs_JL;
 | 
					    int8 Gps_St = 0; //0-普通GPS  1-差分GPS共用串口2  2-差分GPS独立串口 3-差分GPS独立串口未打开 4-华测的设备GPGGA
 | 
				
			||||||
    std::array<TDw_Cs_JL, 9> Dw_Cs_JL; //: array[0..8] of TDw_Cs_JL;
 | 
					    //std::string KSDD;
 | 
				
			||||||
    bool Dw_Cs_Ok1 = false, Dw_Cs_Ok2 = false, Dw_Cgd_OK = false; //档位车速满足结束考试条件  Dw_Cs_Ok1=false and Dw_Cs_Ok2=false 扣多一点(sysset.308.1); Dw_Cs_Ok1=false and Dw_Cs_Ok2=true 扣少一点(sysset.308.2);Dw_Cs_Ok1=true 不扣分;
 | 
					 | 
				
			||||||
    int dw_kf_sj = 0; //301评判时间,0-结束考试时评判,1-里程达标就评判 100-表示已评判过    20140630
 | 
					 | 
				
			||||||
    int Cs_type = 0, Cs_JlYq1 = 0, Cs_JlYq2 = 0, Cs_Yq = 0; //400参数中的Cs_JlYq1为平均距离判扣分,Cs_JlYq2为保持车速的距离  Cs_Yq:要达到的车速,0表示不判  20140418  20180810
 | 
					 | 
				
			||||||
   //下面这个按规则翻译即可
 | 
					   //下面这个按规则翻译即可
 | 
				
			||||||
    int tsxhjs = 0, tsdhjs = 0; //开始考试后(n秒)提示点火,(m秒不点火扣分),格式:30,60, 此参数不能与512-9参数同时设置,两个参数最多只能设置一个
 | 
					    int tsxhjs = 0, tsdhjs = 0; //开始考试后(n秒)提示点火,(m秒不点火扣分),格式:30,60, 此参数不能与512-9参数同时设置,两个参数最多只能设置一个
 | 
				
			||||||
 | 
					    bool Dw_Cgd_OK = false;
 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 | 
				
			|||||||
@ -1380,6 +1380,7 @@ void MainWindow::on_btnTrackNext_clicked()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void MainWindow::on_frameNum_editingFinished()
 | 
					void MainWindow::on_frameNum_editingFinished()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    m_ui->frameNum->clearFocus();
 | 
				
			||||||
    QString arg1 = m_ui->frameNum->text();
 | 
					    QString arg1 = m_ui->frameNum->text();
 | 
				
			||||||
    if(arg1.isEmpty()) return;
 | 
					    if(arg1.isEmpty()) return;
 | 
				
			||||||
    int value = arg1.toInt();
 | 
					    int value = arg1.toInt();
 | 
				
			||||||
 | 
				
			|||||||
@ -118,9 +118,6 @@ private slots:
 | 
				
			|||||||
    void on_artiItems_currentIndexChanged(int index);
 | 
					    void on_artiItems_currentIndexChanged(int index);
 | 
				
			||||||
    //void on_btnSend_clicked();
 | 
					    //void on_btnSend_clicked();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    Ui::MainWindow* m_ui = nullptr;
 | 
					    Ui::MainWindow* m_ui = nullptr;
 | 
				
			||||||
    QThread* m_thread = nullptr;
 | 
					    QThread* m_thread = nullptr;
 | 
				
			||||||
 | 
				
			|||||||
@ -2503,7 +2503,7 @@ QSlider::sub-page:horizontal
 | 
				
			|||||||
     <rect>
 | 
					     <rect>
 | 
				
			||||||
      <x>410</x>
 | 
					      <x>410</x>
 | 
				
			||||||
      <y>500</y>
 | 
					      <y>500</y>
 | 
				
			||||||
      <width>91</width>
 | 
					      <width>121</width>
 | 
				
			||||||
      <height>16</height>
 | 
					      <height>16</height>
 | 
				
			||||||
     </rect>
 | 
					     </rect>
 | 
				
			||||||
    </property>
 | 
					    </property>
 | 
				
			||||||
@ -2514,7 +2514,7 @@ QSlider::sub-page:horizontal
 | 
				
			|||||||
   <widget class="QLabel" name="ShapeNo">
 | 
					   <widget class="QLabel" name="ShapeNo">
 | 
				
			||||||
    <property name="geometry">
 | 
					    <property name="geometry">
 | 
				
			||||||
     <rect>
 | 
					     <rect>
 | 
				
			||||||
      <x>510</x>
 | 
					      <x>530</x>
 | 
				
			||||||
      <y>500</y>
 | 
					      <y>500</y>
 | 
				
			||||||
      <width>91</width>
 | 
					      <width>91</width>
 | 
				
			||||||
      <height>16</height>
 | 
					      <height>16</height>
 | 
				
			||||||
@ -2540,9 +2540,9 @@ QSlider::sub-page:horizontal
 | 
				
			|||||||
   <widget class="QLabel" name="InShapeAttr">
 | 
					   <widget class="QLabel" name="InShapeAttr">
 | 
				
			||||||
    <property name="geometry">
 | 
					    <property name="geometry">
 | 
				
			||||||
     <rect>
 | 
					     <rect>
 | 
				
			||||||
      <x>610</x>
 | 
					      <x>630</x>
 | 
				
			||||||
      <y>500</y>
 | 
					      <y>500</y>
 | 
				
			||||||
      <width>91</width>
 | 
					      <width>81</width>
 | 
				
			||||||
      <height>16</height>
 | 
					      <height>16</height>
 | 
				
			||||||
     </rect>
 | 
					     </rect>
 | 
				
			||||||
    </property>
 | 
					    </property>
 | 
				
			||||||
@ -2553,7 +2553,7 @@ QSlider::sub-page:horizontal
 | 
				
			|||||||
   <widget class="QLabel" name="CurItem">
 | 
					   <widget class="QLabel" name="CurItem">
 | 
				
			||||||
    <property name="geometry">
 | 
					    <property name="geometry">
 | 
				
			||||||
     <rect>
 | 
					     <rect>
 | 
				
			||||||
      <x>510</x>
 | 
					      <x>530</x>
 | 
				
			||||||
      <y>517</y>
 | 
					      <y>517</y>
 | 
				
			||||||
      <width>91</width>
 | 
					      <width>91</width>
 | 
				
			||||||
      <height>16</height>
 | 
					      <height>16</height>
 | 
				
			||||||
@ -2566,9 +2566,9 @@ QSlider::sub-page:horizontal
 | 
				
			|||||||
   <widget class="QLabel" name="CurItemIndex">
 | 
					   <widget class="QLabel" name="CurItemIndex">
 | 
				
			||||||
    <property name="geometry">
 | 
					    <property name="geometry">
 | 
				
			||||||
     <rect>
 | 
					     <rect>
 | 
				
			||||||
      <x>610</x>
 | 
					      <x>630</x>
 | 
				
			||||||
      <y>517</y>
 | 
					      <y>517</y>
 | 
				
			||||||
      <width>91</width>
 | 
					      <width>81</width>
 | 
				
			||||||
      <height>16</height>
 | 
					      <height>16</height>
 | 
				
			||||||
     </rect>
 | 
					     </rect>
 | 
				
			||||||
    </property>
 | 
					    </property>
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user