41 lines
1.4 KiB
C
41 lines
1.4 KiB
C
#ifndef JT808_ELECTRONIC_FENCE_H_
|
||
#define JT808_ELECTRONIC_FENCE_H_
|
||
#include "jt808_protocol.h"
|
||
#include "jt808_config.h"
|
||
|
||
#pragma pack(1)
|
||
typedef struct fence_Polygon_area_t{
|
||
uint32_t Area_ID; // 区域ID
|
||
uint16_t Area_att; // 区域属性
|
||
uint16_t Area_Points_Num; // 区域内点的数量
|
||
AreaPoint_t *Area_Points; // 区域内点的坐标集合
|
||
struct fence_Polygon_area_t *next; // 指向下一个区域
|
||
}fence_Polygon_area_t;
|
||
#pragma pack()
|
||
|
||
extern uint32_t Rsp_Bigscenic_Fence_Polygon_area_ID;
|
||
extern uint32_t Rsp_Bigban_Fence_Polygon_area_ID;
|
||
|
||
// 增加围栏区域(队尾增加) // Area_att == 0x0001 景区围栏,Area_att == 0x0002 禁停区围栏
|
||
int jt808_add_tail_fence_Polygon_area(uint32_t area_id ,uint16_t Area_att, uint16_t Area_Points_Num, AreaPoint_t *big_Area_Points);
|
||
|
||
// 移除围栏区域(指定区域ID)
|
||
int jt808_remove_fence_Polygon_area(uint32_t area_id);
|
||
|
||
// 判断区域ID列表文件是否存在 // 0 找到
|
||
int jt808_get_areafile_state(void);
|
||
|
||
// 删除终端参数文件
|
||
void jt808_delete_Fence_area(void);
|
||
|
||
// 保存围栏区域
|
||
int jt808_save_Fence_area(void);
|
||
|
||
// 加载围栏区域
|
||
int jt808_load_Fence_area(void);
|
||
|
||
// 遍历围栏区域,判断指定坐标是否在围栏内
|
||
// 返回区域ID // 0 未在围栏内 // Area_att == 0x0001 景区围栏,Area_att == 0x0002 禁停区围栏
|
||
uint32_t jt808_Polygon_fence_check(uint16_t Area_att, uint32_t lat, uint32_t lng);
|
||
|
||
#endif |