public static Detected3DObjectArray ConvertTo(apollo.common.Detection3DArray data) { return(new Detected3DObjectArray() { Data = data.detections.Select(obj => new Detected3DObject() { Id = obj.id, Label = obj.label, Score = obj.score, Position = Convert(obj.bbox.position.position), Rotation = Convert(obj.bbox.position.orientation), Scale = Convert(obj.bbox.size), LinearVelocity = Convert(obj.velocity.linear), AngularVelocity = Convert(obj.velocity.angular), }).ToArray(), }); }
public static apollo.common.Detection3DArray ConvertFrom(Detected3DObjectData data) { var r = new apollo.common.Detection3DArray() { header = new apollo.common.Header() { sequence_num = data.Sequence, frame_id = data.Frame, timestamp_sec = data.Time, }, }; foreach (var obj in data.Data) { r.detections.Add(new apollo.common.Detection3D() { header = r.header, id = obj.Id, label = obj.Label, score = obj.Score, bbox = new apollo.common.BoundingBox3D() { position = new apollo.common.Pose() { position = ConvertToPoint(obj.Position), orientation = Convert(obj.Rotation), }, size = ConvertToVector(obj.Scale), }, velocity = new apollo.common.Twist() { linear = ConvertToVector(obj.LinearVelocity), angular = ConvertToVector(obj.LinearVelocity), }, }); } return(r); }