syntax = "proto3"; package JetStream; message CoordinateTransformation3D { optional float x = 1; optional float y = 2 ; optional float z = 3 ; optional float roll = 4 ; optional float pitch = 5; optional float yaw = 6 ; } message RequestCmd { int32 Id=1; // 对于获取对应id的相机数据。1,2,3,4,其他表示所有 optional CoordinateTransformation3D params = 2; } message Response{ string info=2; } message Image{ int32 width=1; int32 height=2; int32 channel=3; bool encode = 4; bytes data= 5; } message PointCloud{ int32 size=1; bytes data=2; } message LabelImage{ int32 label=1; Image ir=2; } message Line{ int32 begin=1; int32 end=2; } message SegBox{ int32 x = 1; int32 y = 2; int32 width = 3; int32 height = 4; float confidence = 5; repeated Line lines= 6; } message LabelYolo{ int32 label=1; repeated SegBox boxes=2; } message ResImage{ Image img1=1; Image img2=2; Image img3=3; Image img4=4; } message ResCloud{ PointCloud cloud1=1; PointCloud cloud2=2; PointCloud cloud3=3; PointCloud cloud4=4; } message MeasureInfo { optional float x=1; optional float y=2; optional float trans_x=3; optional float trans_y=4; optional float theta=5; optional float width=6; optional float wheelbase=7; optional float ftheta=8; // 超界说明,此参数没有表示正常。 // 1:超宽,2:轴距超长, // 3:前超界,4:后超界,5:左,6:右,7:左倾角过大,8:右倾角过大,9:前轮角过大 optional int32 border_plc=9; optional int32 border_display=10; optional string error=11; } message ResFrame{ ResImage images=1; ResCloud clouds=2; MeasureInfo measure_info=3; } service StreamServer{ rpc OpenImageStream(RequestCmd) returns(stream ResImage){} rpc OpenMeasureDataStream(RequestCmd) returns(stream MeasureInfo){} rpc CloseImageStream(RequestCmd) returns(Response){} rpc CloseMeasureDataStream(RequestCmd) returns(Response){} rpc GetCloud(RequestCmd) returns(ResCloud){} rpc GetImage(RequestCmd) returns(ResImage){} rpc setTofTransformation(RequestCmd) returns(Response){} rpc saveTofTransformation(RequestCmd) returns(Response){} } message Boundary{ float radius=1; //转台半径 float left=2; float right=3; float buttom=4; float minAngle=5; float maxAngle=6; float fwheelAngle=7; } message Limit{ Boundary plc_limit=1; Boundary display_limit=2; float maxWidth=3; float maxWheelBase=4; }