76 lines
1.4 KiB
Protocol Buffer
76 lines
1.4 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package serialized_shot;
|
|
|
|
message Box {
|
|
float left = 1;
|
|
float top = 2;
|
|
float width = 3;
|
|
float height = 4;
|
|
}
|
|
|
|
message Point {
|
|
float x = 1;
|
|
float y = 2;
|
|
}
|
|
|
|
message BallDetection {
|
|
Point plane_position = 1;
|
|
Box annotation = 2;
|
|
bool interpolated = 3;
|
|
}
|
|
|
|
message RLEBallDetection {
|
|
BallDetection detection = 1;
|
|
uint32 count = 2;
|
|
}
|
|
|
|
message RLEDetectionHistory {
|
|
repeated RLEBallDetection detections = 1;
|
|
}
|
|
|
|
message DetectionHistory {
|
|
repeated BallDetection detections = 1;
|
|
}
|
|
|
|
message CollisionInfo {
|
|
uint32 source = 1;
|
|
map<uint32, Point> ball_identifiers = 2;
|
|
uint32 wall_identifier = 3;
|
|
uint32 frame_index = 4;
|
|
bool static = 5;
|
|
}
|
|
|
|
message Path {
|
|
uint32 start_frame = 1;
|
|
uint32 end_frame = 2;
|
|
oneof detection_history {
|
|
DetectionHistory detections = 3;
|
|
RLEDetectionHistory rle_detections = 4;
|
|
bool not_present = 5;
|
|
}
|
|
bool is_static = 6;
|
|
CollisionInfo start_info = 7;
|
|
CollisionInfo end_info = 8;
|
|
}
|
|
|
|
message IdentifierHistory {
|
|
uint32 ball_identifier = 1;
|
|
repeated Path paths = 2;
|
|
}
|
|
message KeyBallIdentifiers {
|
|
uint32 cue_ball = 1;
|
|
uint32 object_ball = 2;
|
|
uint32 target_ball = 3;
|
|
|
|
// For now this will just be cue->object/target->target
|
|
// Long term this will potentially represent a linked list
|
|
// of all balls in a shot.
|
|
repeated uint32 contact_sequence = 4;
|
|
}
|
|
|
|
message Shot {
|
|
repeated IdentifierHistory identifier_histories = 3;
|
|
KeyBallIdentifiers key_balls = 4;
|
|
}
|