1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package com.netsdk.lib.structure;
 
 
import com.netsdk.lib.NetSDKLib;
import com.netsdk.lib.NetSDKLib.NET_EVENT_FILE_INFO;
import com.sun.jna.Pointer;
 
/**
 * @author 260611
 * @description 事件类型EVENT_IVS_ABNORMALRUNDETECTION(异常奔跑事件)对应的数据块描述信息
 * @date 2023/04/21 16:10:00
 */
public class DEV_EVENT_ABNORMALRUNDETECTION_INFO extends NetSDKLib.SdkStructure {
    /**
     * 通道号
     */
    public int nChannelID;
    /**
     * 事件名称
     */
    public byte[] szName = new byte[128];
    /**
     * 字节对齐
     */
    public byte[] bReserved1 = new byte[4];
    /**
     * 时间戳(单位是毫秒)
     */
    public double PTS;
    /**
     * 事件发生的时间
     */
    public NET_TIME_EX UTC = new NET_TIME_EX();
    /**
     * 事件ID
     */
    public int nEventID;
    /**
     * 检测到的物体
     */
    public NetSDKLib.DH_MSG_OBJECT stuObject = new NetSDKLib.DH_MSG_OBJECT();
    /**
     * 物体运动速度,km/h
     */
    public double dbSpeed;
    /**
     * 触发速度,km/h
     */
    public double dbTriggerSpeed;
    /**
     * 规则检测区域顶点数
     */
    public int nDetectRegionNum;
    /**
     * 规则检测区域
     */
    public NetSDKLib.DH_POINT[] DetectRegion = new NetSDKLib.DH_POINT[20];
    /**
     * 物体运动轨迹顶点数
     */
    public int nTrackLineNum;
    /**
     * 物体运动轨迹
     */
    public NetSDKLib.DH_POINT[] TrackLine = new NetSDKLib.DH_POINT[20];
    /**
     * 事件对应文件信息
     */
    public NET_EVENT_FILE_INFO stuFileInfo = new NET_EVENT_FILE_INFO();
    /**
     * 事件动作,0表示脉冲事件,1表示持续性事件开始,2表示持续性事件结束;
     */
    public byte bEventAction;
    /**
     * 异常奔跑类型, 0-快速奔跑, 1-突然加速, 2-突然减速
     */
    public byte bRunType;
 
    public byte[] byReserved = new byte[1];
    /**
     * 图片的序号, 同一时间内(精确到秒)可能有多张图片, 从0开始
     */
    public byte byImageIndex;
    /**
     * 抓图标志(按位),具体见NET_RESERVED_COMMON
     */
    public int dwSnapFlagMask;
    /**
     * 事件源设备上的index,-1表示数据无效
     */
    public int nSourceIndex;
    /**
     * 事件源设备唯一标识,字段不存在或者为空表示本地设备
     */
    public byte[] szSourceDevice = new byte[260];
    /**
     * 事件触发累计次数
     */
    public int nOccurrenceCount;
    /**
     * 智能事件公共信息
     */
    public NetSDKLib.EVENT_INTELLI_COMM_INFO stuIntelliCommInfo = new NetSDKLib.EVENT_INTELLI_COMM_INFO();
    /**
     * 图片信息数组,{@link NET_IMAGE_INFO_EX2}
     */
    public Pointer pstuImageInfo;
    /**
     * 图片信息个数
     */
    public int nImageInfoNum;
    /**
     * 事件公共扩展字段结构体
     */
    public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND();
    /**
     * 保留字节,留待扩展.
     */
    public byte[] bReserved = new byte[604];
 
    public DEV_EVENT_ABNORMALRUNDETECTION_INFO() {
        for (int i = 0; i < DetectRegion.length; i++) {
            DetectRegion[i] = new NetSDKLib.DH_POINT();
        }
        for (int i = 0; i < TrackLine.length; i++) {
            TrackLine[i] = new NetSDKLib.DH_POINT();
        }
    }
}