dengzedong
2024-12-19 85b2001c0ec2f1adc598db3bf47ad457dcca7074
提交 | 用户 | 时间
149dd0 1 package com.iailab.netsdk.lib.enumeration;
H 2
3 /**
4  * @author 251823
5  * @description 物体动作支持类型
6  * @date 2022/06/16 11:14:19
7  */
8 public enum EM_ACTION {
9     /**
10      * 未知类型
11      */
12     EM_ACTION_UNKNOWN(0, "未知类型"),
13     /**
14      * 第一次出现在检测区域中,或者跟踪时物理分离动作中尚未确认的新物体
15      */
16     EM_ACTION_APPEAR(1, "第一次出现在检测区域中,或者跟踪时物理分离动作中尚未确认的新物体"),
17     /**
18      * 正在运动,物体被正常跟踪
19      */
20     EM_ACTION_MOVE(2, "正在运动,物体被正常跟踪"),
21     /**
22      * 物体停止运动,这个物体不会在出现在下一帧物体列表中,物体开始移动后再恢复在列表中
23      */
24     EM_ACTION_STAY(3, "物体停止运动,这个物体不会在出现在下一帧物体列表中,物体开始移动后再恢复在列表中"),
25     /**
26      * 物体从原来的区域移除,或者被遮盖,或者跟踪失败,移除的物体ID不会被自动删除,并且物体重现出现是有可能再次被使用
27      */
28     EM_ACTION_REMOVE(4, "物体从原来的区域移除,或者被遮盖,或者跟踪失败,移除的物体ID不会被自动删除,并且物体重现出现是有可能再次被使用"),
29     /**
30      * 运动到跟踪区域之外,或者达到了算法跟踪物体的上限而被清除,消失的物体ID将不再出现
31      */
32     EM_ACTION_DISAPPEAR(5, "运动到跟踪区域之外,或者达到了算法跟踪物体的上限而被清除,消失的物体ID将不再出现"),
33     /**
34      * 从其他物体中分离出来,可以用来检测物体遗留,关联ID表示从这个ID对应物体分离
35      */
36     EM_ACTION_SPLIT(6, "从其他物体中分离出来,可以用来检测物体遗留,关联ID表示从这个ID对应物体分离"),
37     /**
38      * 合并到其他物体,可以用来检查物体保全,关联ID表示合并到这个ID对相应的物体
39      */
40     EM_ACTION_MERGE(7, "合并到其他物体,可以用来检查物体保全,关联ID表示合并到这个ID对相应的物体"),
41     /**
42      * 如果算法无法确定分离动作中某个物体是原先同一个物体,应该创建先一个新的物体,证据充分后再重命名为旧的物体ID,关联ID表示暂时使用的新的ID。
43      */
44     EM_ACTION_RENAME(8, "如果算法无法确定分离动作中某个物体是原先同一个物体,应该创建先一个新的物体,证据充分后再重命名为旧的物体ID,关联ID表示暂时使用的新的ID。");
45
46     private int value;
47
48     private String note;
49
50     public String getNote() {
51         return note;
52     }
53
54     public int getValue() {
55         return value;
56     }
57
58     EM_ACTION(int givenValue, String note) {
59         this.value = givenValue;
60         this.note = note;
61     }
62
63     public static String getNoteByValue(int givenValue) {
64         for (EM_ACTION enumType : EM_ACTION.values()) {
65             if (givenValue == enumType.getValue()) {
66                 return enumType.getNote();
67             }
68         }
69         return null;
70     }
71
72     public static int getValueByNote(String givenNote) {
73         for (EM_ACTION enumType : EM_ACTION.values()) {
74             if (givenNote.equals(enumType.getNote())) {
75                 return enumType.getValue();
76             }
77         }
78         return -1;
79     }
80
81 }