diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/AdasRecognizedType.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/AdasRecognizedType.java index ac326ff0d9..ce02d9103a 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/AdasRecognizedType.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/AdasRecognizedType.java @@ -9,34 +9,37 @@ public */ enum AdasRecognizedType { //背景 - classIdBackground( "background", 0 ), + classIdBackground("background", 0), //人 - classIdPerson( "person", 1 ), + classIdPerson("person", 1), //自行车 - classIdBicycle( "bicycle", 2 ), + classIdBicycle("bicycle", 2), //小轿车 - classIdCar( "car", 3 ), + classIdCar("car", 3), //摩托车 - classIdMoto( "moto", 4 ), + classIdMoto("moto", 4), //红绿灯 - classIdTrafficSign( "traffic_sign", 5 ), + classIdTrafficSign("traffic_sign", 5), //bus - classIdTrafficBus( "traffic_bus", 6 ), + classIdTrafficBus("traffic_bus", 6), //truck - classIdTrafficTruck( "traffic_truck", 8 ), + classIdTrafficTruck("traffic_truck", 8), //stopLine - classIdStopLine("warning_stop_line",9), + classIdStopLine("warning_stop_line", 9), //预警箭头 - classIdWarningArrows("warning_arrows",10); + classIdWarningArrows("warning_arrows", 10), - AdasRecognizedType( int code ) { + //未知物体 + classIdUnKnow("unKnow", 100); + + AdasRecognizedType(int code) { this.code = code; } private String res = ""; private int code = -1; - AdasRecognizedType( String res, int code ) { + AdasRecognizedType(String res, int code) { this.res = res; this.code = code; } @@ -53,14 +56,18 @@ enum AdasRecognizedType { classIdTrafficTruck, classIdStopLine, classIdWarningArrows, + classIdUnKnow, }; public String getRes() { return res; } - public static AdasRecognizedType valueFrom( int code ) { - if ( code >= 0 && code < VAL.length ) { + public static AdasRecognizedType valueFrom(int code) { + if (code == 100) { + return classIdUnKnow; + } + if (code >= 0 && code < VAL.length) { return VAL[code]; } return null; diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java index 960931c3cc..818a3e7b26 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java @@ -194,7 +194,8 @@ class BaseDrawer { || recognizedType == AdasRecognizedType.classIdBicycle || recognizedType == AdasRecognizedType.classIdPerson || recognizedType == AdasRecognizedType.classIdTrafficBus - || recognizedType == AdasRecognizedType.classIdTrafficTruck; + || recognizedType == AdasRecognizedType.classIdTrafficTruck + || recognizedType == AdasRecognizedType.classIdUnKnow; //todo unKnow物体绘制 } /** @@ -207,7 +208,8 @@ class BaseDrawer { AdasRecognizedType recognizedType = AdasRecognizedType.valueFrom(type); return recognizedType != AdasRecognizedType.classIdBicycle && recognizedType != AdasRecognizedType.classIdMoto - && recognizedType != AdasRecognizedType.classIdPerson; + && recognizedType != AdasRecognizedType.classIdPerson + && recognizedType != AdasRecognizedType.classIdUnKnow; //todo unKnow物体不绘制车速 } /** @@ -230,6 +232,8 @@ class BaseDrawer { return R.raw.stopline; } else if (recognizedType == AdasRecognizedType.classIdWarningArrows) { return R.raw.arraw; + } else if (recognizedType == AdasRecognizedType.classIdUnKnow) { //todo unKnow物体3D模型 + return R.raw.othercar; } return R.raw.people; } @@ -248,6 +252,9 @@ class BaseDrawer { if (recognizedType == AdasRecognizedType.classIdTrafficBus) { return "#D8D8D8FF"; } + if (recognizedType == AdasRecognizedType.classIdUnKnow){ //todo unKnow颜色绘制 + return "#FF2894FF"; + } // 距离策略 double[] coordinates = getCurCoordinates(); double distance = CoordinateUtils.calculateLineDistance(lon, lat, coordinates[0], coordinates[1]) * 100;