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() + '}'; } }