package com.iailab.netsdk.lib.structure; import com.iailab.netsdk.lib.NetSDKLib; import com.iailab.netsdk.lib.enumeration.EM_DETECT_SENSOR_TYPE; import com.iailab.netsdk.lib.enumeration.EM_VEHICLEINOUT_CAR_TYPE; import java.util.Arrays; /** * è½¦è¾†ä¿¡æ¯ * * @author : 47040 * @since : Created in 2020/12/17 11:54 */ public class NET_VEHICLE_OBJECT extends NetSDKLib.SdkStructure { /** * 物体ID */ public int nObjectID; /** * 车速,å•ä½km/h */ public int nSpeed; /** * 物体类型 Vehicle NonMotor Plate */ public byte[] szObjectType = new byte[16]; /** * 物体类型ä¸çš„å类别 {@link NetSDKLib.EM_CATEGORY_TYPE} */ public int emSubObject; /** * 物ç†è½¦é“å· */ public int nLane; /** * 自定义车é“å· */ public int nRoadwayNumber; /** * æŽ¢æµ‹ç‰©ä½“çš„ä¼ æ„Ÿå™¨ç±»åž‹ {@link EM_DETECT_SENSOR_TYPE} */ public int emSensorType; /** * 物体雷达和视频èžåˆID */ public int nObjectRVID; /** * 物体的雷达ID */ public int nObjectRID; /** * 行驶方å‘"Approach"-上行,å³è½¦è¾†ç¦»è®¾å¤‡éƒ¨ç½²ç‚¹è¶Šæ¥è¶Šè¿‘; "Leave"-下行,å³è½¦è¾†ç¦»è®¾å¤‡éƒ¨ç½²ç‚¹è¶Šæ¥è¶Šè¿œ,第二和第三个å‚数分别代表上行和下行的两个地点 */ public NET_VEHICLE_DRIVING_DIRECTION_INFO[] szDrivingDirection = new NET_VEHICLE_DRIVING_DIRECTION_INFO[3]; /** * 车牌å·ç */ public byte[] szPlateNumber = new byte[32]; /** * 车牌颜色 */ public byte[] szPlateColor = new byte[16]; /** * 车辆ç»åº¦ */ public double dbLongitude; /** * 车辆纬度 */ public double dbLatitude; /** * 车身颜色 */ public byte[] szCarColor = new byte[16]; /** * 车辆类型 {@link EM_VEHICLEINOUT_CAR_TYPE} */ public int emCarType; /** * è½¦è¾†é©¶å…¥é©¶å‡ºè™šæ‹Ÿçº¿åœˆçš„çŠ¶æ€ {@link NetSDKLib.NET_FLOWSTAT_DIRECTION} */ public int emVirtualCoilDirection; /** * è·ç¦»åœè½¦çº¿è·ç¦» */ public double dbDistanceToStop; /** * 车辆与所有车é“çš„ä¸å¿ƒç‚¹(ä¸å¿ƒç‚¹åœ¨è®¾å¤‡æ‰€å¤„ä½ç½®ï¼Œä¸”垂直于车é“æ–¹å‘的直线上),Xè½´æ–¹å‘(垂直于车é“æ–¹å‘)çš„è·ç¦» */ public double dbCarX; /** * 车辆与所有车é“çš„ä¸å¿ƒç‚¹(ä¸å¿ƒç‚¹åœ¨è®¾å¤‡æ‰€å¤„ä½ç½®ï¼Œä¸”垂直于车é“æ–¹å‘的直线上),Yè½´æ–¹å‘(平行于车é“æ–¹å‘)çš„è·ç¦» */ public double dbCarY; /** * 车辆与所有车é“çš„ä¸å¿ƒç‚¹(ä¸å¿ƒç‚¹åœ¨è®¾å¤‡æ‰€å¤„ä½ç½®ä¸”垂直于车é“æ–¹å‘的直线上)的角度; */ public double dbCarAngle; /** * 物体是å¦åœ¨è§†é¢‘车é“内, 0:未知, 1:物体ä¸åœ¨è§†é¢‘车é“内, 2:物体在视频车é“内 */ public int nObjectInVideoLane; /** * ç›®æ ‡ç‰©ä½“å®žé™…è¡Œé©¶æ–¹å‘ 0-未知,1-直行,2-左转,3-å³è½¬ï¼Œ4-掉头 */ public int nDirection; /** * ç›®æ ‡æ¨ªå‘è¿åŠ¨é€Ÿåº¦ */ public float fSpeedX; /** * ç›®æ ‡çºµå‘è¿åŠ¨é€Ÿåº¦ */ public float fSpeedY; /** * 航å‘角 */ public double dbHeadingAngle; /** *车身åæ ‡ï¼ŒåŒ…å›´ç›’0~8191相对åæ ‡ */ public NET_RECT stuCarBoundingBox=new NET_RECT(); /** * ä¿ç•™å—节 */ public byte[] byReserverd = new byte[216]; public NET_VEHICLE_OBJECT() { for (int i = 0; i < szDrivingDirection.length; i++) { szDrivingDirection[i] = new NET_VEHICLE_DRIVING_DIRECTION_INFO(); } } @Override public String toString() { return "NET_VEHICLE_OBJECT{" + "nObjectID=" + nObjectID + ", nSpeed=" + nSpeed + ", szObjectType=" + new String(szObjectType).trim() + ", emSubObject=" + emSubObject + ", nLane=" + nLane + ", nRoadwayNumber=" + nRoadwayNumber + ", emSensorType=" + emSensorType + ", nObjectRVID=" + nObjectRVID + ", nObjectRID=" + nObjectRID + ", szDrivingDirection=" + Arrays.toString(szDrivingDirection).trim() + ", szPlateNumber=" + new String(szPlateNumber).trim() + ", szPlateColor=" + new String(szPlateColor).trim() + ", dbLongitude=" + dbLongitude + ", dbLatitude=" + dbLatitude + ", szCarColor=" + new String(szCarColor).trim() + ", emCarType=" + emCarType + ", emVirtualCoilDirection=" + emVirtualCoilDirection + ", dbDistanceToStop=" + dbDistanceToStop + ", dbCarX=" + dbCarX + ", dbCarY=" + dbCarY + ", dbCarAngle=" + dbCarAngle + ", nObjectInVideoLane=" + nObjectInVideoLane + ", nDirection=" + nDirection + ", fSpeedX=" + fSpeedX + ", fSpeedY=" + fSpeedY + ", dbHeadingAngle=" + dbHeadingAngle + ", stuCarBoundingBox=" + stuCarBoundingBox.toString() + '}'; } }