123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- @startuml
- title 测量结果检验模块
- class Railing
- {
- + * 构造函数()
- + * a,b,c代表栏杆所在直线方程, ax+by+c=0()
- + * width:表示栏杆的宽()
- +Railing(float a,float b,float c,float width);
- + * 检验结果框,是否会与栏杆冲突()
- +Error_manager verify(cv::RotatedRect rotate_rect);
- -float m_a;
- -float m_b;
- -float m_c;
- -float m_width;
- }
- note left of Railing
- 栏杆检验类
- 检验测量结果是否碰撞栏杆
- 栏杆信息包括:栏杆斜角,宽度
- end note
- class Terminal_region_limit
- {
- +Terminal_region_limit(Railing* left_railing,Railing* right_railing);
-
- + * 检验是否碰撞左右栏杆,()
- + * 返回结果:左边碰撞,右边碰撞,左右都碰撞,正确()
- +Error_manager verify(cv::RotatedRect rect);
- -//左边栏杆
- -Railing* mp_left_railing;
- -//右边栏杆
- -Railing* mp_right_railing;
- }
- note left of Terminal_region_limit
- 硬件场地检验类
- 检验测量结果是否满足现场安全要求
- end note
- class Verify_result
- {
- + * 构造函数
- + * parameter:硬件限制配置参数
- +Verify_result(Hardware_limit::Hardware_parameter parameter);
- + * 检验硬件限制
- + * rotate_rect:待检验的旋转矩形
- + * height:输入高度
- + * verify_vertex:只检验中心点,不检验顶角
- +Error_manager verify(cv::RotatedRect rotate_rect,float height,bool verify_vertex=true);
- + * 检验硬件限制
- + * rotate_rect:待检验的旋转矩形
- + * height:输入高度
- + * terminal_id:终端编号,终端对应的左右栏杆号为: id,id+1
- + * code:返回超界状态(前后左右,按位或运算)
- + * 主要用于电子围栏,检验栏杆及前后
- +Error_manager verify(cv::RotatedRect rotate_rect,int terminal_id,int& code);
- -Hardware_limit::Hardware_parameter m_hardware_parameter;
- }
- note left of Verify_result
- 测量结果检测器
- 根据现场硬件要求
- 检验测量结果是否合法(安全性)
- end note
- note left of Hardware_parameter
- 硬件配置类
- 配置现场硬件参数
- 包括 前后左右超界范围,栏杆参数等
- end note
- Terminal_region_limit --> Railing
- Verify_result --> Terminal_region_limit
- Verify_result --> Hardware_parameter
- @enduml
|