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