Files
MoGoEagleEye/libraries/mogo-adas-data/src/main/proto/geometry.proto
2022-04-25 10:12:35 +08:00

85 lines
1.8 KiB
Protocol Buffer

syntax = "proto2";
package geometry;
message Vector3 {
optional double x = 1;
optional double y = 2;
optional double z = 3;
}
message Vector3f {
optional float x = 1;
optional float y = 2;
optional float z = 3;
}
message Point2D {
optional double x = 1 [default = nan];
optional double y = 2 [default = nan];
}
message Point3D {
optional double x = 1 [default = nan];
optional double y = 2 [default = nan];
optional double z = 3 [default = nan];
}
message Trace {
optional double timestamp = 1;
optional Point3D position = 2;
optional Point3D velocity = 3;
optional Point3D acceleration = 4;
optional Point3D heading = 5;
}
message PointLLH {
// Longitude in degrees, ranging from -180 to 180.
optional double lon = 1 [default = nan];
// Latitude in degrees, ranging from -90 to 90.
optional double lat = 2 [default = nan];
// WGS-84 ellipsoid height in meters.
optional double height = 3 [default = 0.0];
}
message Point {
optional double x = 1;
optional double y = 2;
optional double z = 3;
}
message Quaternion {
optional double x = 1 [default = nan];
optional double y = 2 [default = nan];
optional double z = 3 [default = nan];;
optional double w = 4 [default = nan];
}
message Polygon {
repeated Point points = 1;
}
message Transform {
optional Vector3 translation = 1;
optional Quaternion rotation = 2;
}
//pose in free space, composed of position and orientation
message Pose {
optional Point position = 1;
optional Quaternion orientation = 2;
}
//acceleration in free space broken into its linear and angular parts
message Accel {
optional Vector3 linear = 1;
optional Vector3 angular = 2;
}
//velocity in free space broken into its linear and angular parts
message Twist {
optional Vector3 linear = 1;
optional Vector3 angular = 2;
}