90 lines
3.1 KiB
C++
90 lines
3.1 KiB
C++
/*
|
||
* 说明: 科三项目[通过人行横道线]评判
|
||
*
|
||
* 作者: 杨海洋
|
||
* 日期: 2024-03-19
|
||
*
|
||
* ***************************************************************************************
|
||
*
|
||
* 补充知识-->可以人工触发的项目:直线行驶、变更车道、超车、会车、靠边停车、掉头:普通掉头(非路口项目定义的掉头)
|
||
* 测绘及项目阶段定义
|
||
*
|
||
* (1)测绘相关
|
||
* 人行横道内部代码:6,测绘点1个或者2个。
|
||
* 点1:人行横道网格起点(到达此点后,需要评判速度或者停车)
|
||
* 点2:人行横道前方点(此点可以不用测绘,进项目用的)
|
||
* (2)项目阶段定义
|
||
* 人行横道定义了3个阶段,1:未到达人行横道 2:到达人行横道 3:结束项目阶段(人行横道网格线行驶5米后(默认),结束人行横道项目)
|
||
*
|
||
* (3) 标准评判内容
|
||
* 评判减速动作。
|
||
*
|
||
*
|
||
* (项目初始化)、项目初始化
|
||
* 1)SysSet[509]-->7 连续的人行横道间隔不超过30米,不需判断减速(一般用不到)
|
||
* 2)SysSet[334]-->1人行横道随机提示有行人通过(随机提示比例0~10)。
|
||
* 如果没有设置此参数,Itmv6.6.tmp_xrtg:=true; (表示已经行人停车,停车让行过了)
|
||
* //人行横道随机提示有行人通过(随机提示比例0~10)
|
||
*
|
||
* end;
|
||
* 3)SysSet[522]-->2 得到人行横道项目的减速类型
|
||
*
|
||
* //减速类型
|
||
*
|
||
* //速度阈值
|
||
*
|
||
* 减速类型:1:30米前有刹车动作
|
||
* 2:30米前车速降到了规定的速度(默认30KM/H)
|
||
* 3:30米前有刹车动作,并且车速降到了规定的速度(默认30KM/H)
|
||
* 4:30米前降过速度
|
||
*
|
||
* 4 )如果只测绘了点1(没有测绘点2)
|
||
* //进项目,评判车速
|
||
*
|
||
* (一)、未到达人行横道
|
||
* 1) 人行横道前是否有停车动作
|
||
*
|
||
* 2) 状态转换
|
||
*
|
||
* (二)、到达人行横道
|
||
* 1)如果设置了随机行人通过,此时需要评判停车让行
|
||
* //行人正在通过人行横道线
|
||
*
|
||
* 2) 连续人行横道当前不扣分
|
||
* //按设定的减速参数,检查减速动作
|
||
*
|
||
* 3)夜考相关的逻辑(原封不动翻译即可)
|
||
*
|
||
* 4) Itmv6.Status:=3; exit;
|
||
*
|
||
* (三)、结束项目阶段
|
||
* (人行横道网格线行驶5米后(默认),结束人行横道项目)
|
||
*
|
||
* (四)、轨迹跟踪
|
||
*
|
||
* 快进到1506帧,然后步进进入人行横道项目。
|
||
*
|
||
*/
|
||
|
||
#ifndef SUB3JUDGE06RXHD_H
|
||
#define SUB3JUDGE06RXHD_H
|
||
|
||
#include "ISub3JudgeWrap.h"
|
||
|
||
class JUDGE_API Sub3Judge06Rxhd : public ISub3JudgeWrap
|
||
{
|
||
public:
|
||
explicit Sub3Judge06Rxhd();
|
||
virtual ~Sub3Judge06Rxhd();
|
||
|
||
DEAL_API bool dealJudgeEnter() override;
|
||
DEAL_API void dealJudgeItem() override;
|
||
|
||
protected:
|
||
bool CheckJL_YJG(int jl);
|
||
private:
|
||
TSub3Item06Rxhd m_itemv;
|
||
};
|
||
|
||
#endif // SUB3JUDGE06RXHD_H
|