subject-two/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge09Hcxx.h
2025-03-26 16:56:51 +08:00

76 lines
3.4 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* 说明: 科三项目[会车]评判
*
* 作者: 杨海洋
* 日期: 2024-04-07
*
* ***************************************************************************************
*
* 补充知识-->可以人工触发的项目:直线行驶、变更车道、超车、会车、靠边停车、掉头:普通掉头(非路口项目定义的掉头)
* 测绘及项目阶段定义
*
* (1测绘相关
* 会车项目内部代码9测绘点1个通过项目距离或者时间结束项目。
* 如果设置了项目距离SysSet[506]-->2用项目距离方式结束。
* 否则用时间结束默认完成时间10秒。
*
* (2) 标准评判内容
* 会车需要减速部令没有明确规定具体的减速动作这一块我们通过参数控制SysSet[442]会车速度相关、SysSet[318]:自定义减速规则
* SysSet[318] 规则同时适用于:路口掉头、普通掉头、会车)
*
* 3个性参数介绍
* SysSet[506]-->1, 会车的速度阈值如果只判速度SysSet[442]=2, 那么速度只要小于阈值,表示减速成功)
* SysSet[506]-->2会车项目距离如果会车设置了项目距离项目距离方式结束项目否则10秒后结束会车项目。
* SysSet[506]-->3, 会车合法右边距,只有右边距小于这个值,才认为是合法的会车。(默认50CM
* SysSet[506]-->4, 合法右边距行驶距离,必须行驶完指定的距离,才认为会车动作结束。
* SysSet[506]-->5进项目后必须在多长的时间内完成减速动作。
*
* 4减速规则讲解
* 1) SysSet[442] 会车只要求减速0-按318设置的减速条件 1- 按318设置的减速条件 2-只判断车速)
* 按规则翻译:如果 SysSet[442]=2只要速度小于阈值默认35 就认为完成减速动作。
* 2) 如果没有执行条件1那么执行SysSet[318] 减速分支
* 减速慢行不扣分条件
* 非1234-车速 Or 踩刹 Or松油门
* 1-车速 or 踩刹,
* 2-车速,
* 3-车速 and 踩刹
* 4-脚刹车
*
* (项目初始化)、项目初始化
* 1) 记录进入项目时刻的:时间、左前轮离右边线距离、进项目时刻的临时距离。
* 2得到个性参数值项目距离、限速、合法右边距、合法右边距行驶距离、减速评判时机多少秒后评判减速动作是否完成
*
* (一)、评判细则
* 1如果往左侧车道走不按规定考试如果有9,41 这个扣分,如果没有则不扣)
* 2合法右边距以及右边距行驶距离相关的计算赋值(讲代码的时候讲)
* 3) 减速相关的评判。
* 4) 最终完成:会车动作(如果没有设置右边距合法的行驶距离,小于等于合法有边距,就算会车动作完成)、减速动作。
*
* (二)、轨迹跟踪
*
* (无,济南会车是免考项目)
*
*/
#ifndef SUB3JUDGE09HCXX_H
#define SUB3JUDGE09HCXX_H
#include "ISub3JudgeWrap.h"
class JUDGE_API Sub3Judge09Hcxx : public ISub3JudgeWrap
{
public:
explicit Sub3Judge09Hcxx();
virtual ~Sub3Judge09Hcxx();
DEAL_API bool dealJudgeEnter() override;
DEAL_API void dealJudgeItem() override;
protected:
private:
TSub3Item09Hcxx m_itemv;
};
#endif // SUB3JUDGE09HCXX_H