2023-07-03 13:09:48 +08:00
|
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
|
|
package graphicData;
|
2023-07-06 17:41:10 +08:00
|
|
|
|
option java_package = "club.joylink.bjrtss.ats.verify.protos";
|
2023-07-03 13:09:48 +08:00
|
|
|
|
option java_outer_classname = "LayoutGraphicsProto";
|
2023-07-28 16:02:32 +08:00
|
|
|
|
option go_package = "./ats/verify/protos/graphicData";
|
2023-07-03 13:09:48 +08:00
|
|
|
|
|
|
|
|
|
message RtssGraphicStorage {
|
|
|
|
|
Canvas canvas = 1;
|
2023-07-14 14:05:09 +08:00
|
|
|
|
// repeated Link links = 2;
|
|
|
|
|
// repeated IscsFan iscsFans = 3;
|
2023-07-03 13:09:48 +08:00
|
|
|
|
repeated Platform Platforms = 4;
|
|
|
|
|
repeated Station stations = 5;
|
2023-07-14 14:05:09 +08:00
|
|
|
|
// repeated Rect rects = 6;
|
|
|
|
|
// repeated Train train = 7;
|
2023-07-03 13:09:48 +08:00
|
|
|
|
repeated Signal signals = 8;
|
|
|
|
|
repeated Turnout turnouts = 9;
|
|
|
|
|
repeated Section section = 10;
|
2023-07-14 14:05:09 +08:00
|
|
|
|
// repeated Polygon polygons = 11;
|
2023-07-03 16:16:49 +08:00
|
|
|
|
repeated TrainWindow trainWindows = 12;
|
|
|
|
|
repeated AxleCounting axleCountings = 13;
|
|
|
|
|
repeated Separator separators = 14;
|
2023-07-07 16:04:54 +08:00
|
|
|
|
repeated SectionLink sectionLinks = 15;
|
2023-07-07 17:17:17 +08:00
|
|
|
|
repeated AxleCountingSection axleCountingSections = 16;
|
2023-07-11 16:40:02 +08:00
|
|
|
|
repeated LogicSection logicSections = 17;
|
2023-07-26 10:58:04 +08:00
|
|
|
|
repeated StopPosition stopPositions = 18;
|
2023-07-26 17:00:02 +08:00
|
|
|
|
repeated SpksSwitch spksSwitchs = 19;
|
2023-07-26 10:58:04 +08:00
|
|
|
|
repeated EsbButton esbButtons = 20; // 紧急关闭按钮
|
2023-07-26 17:00:02 +08:00
|
|
|
|
repeated GatedBox gateBoxs = 21; // 站台开门/关门/发车按钮整合控制箱
|
2023-07-26 17:44:48 +08:00
|
|
|
|
repeated Transponder transponders = 22; // 应答器
|
2023-07-03 13:09:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message Canvas {
|
|
|
|
|
// 画布宽
|
|
|
|
|
int32 width = 1;
|
|
|
|
|
// 画布高
|
|
|
|
|
int32 height = 2;
|
|
|
|
|
// 背景色
|
|
|
|
|
string backgroundColor = 3;
|
|
|
|
|
// 视口变换
|
|
|
|
|
Transform viewportTransform = 4;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message Point {
|
|
|
|
|
// x坐标
|
|
|
|
|
float x = 1;
|
|
|
|
|
// y坐标
|
|
|
|
|
float y = 2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//变换
|
|
|
|
|
message Transform {
|
|
|
|
|
// 位移
|
|
|
|
|
Point position = 1;
|
|
|
|
|
// 缩放
|
|
|
|
|
Point scale = 2;
|
|
|
|
|
// 旋转弧度
|
|
|
|
|
float rotation = 3;
|
|
|
|
|
// 歪斜
|
|
|
|
|
Point skew = 4;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//子元素变换
|
|
|
|
|
message ChildTransform {
|
|
|
|
|
// 子元素名称
|
|
|
|
|
string name = 1;
|
|
|
|
|
// 子元素变换
|
|
|
|
|
Transform transform = 2;
|
|
|
|
|
}
|
|
|
|
|
// 公共属性
|
|
|
|
|
message CommonInfo {
|
|
|
|
|
string id = 1;
|
|
|
|
|
string graphicType = 2;
|
|
|
|
|
Transform transform = 3;
|
|
|
|
|
repeated ChildTransform childTransforms = 4;
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-14 14:05:09 +08:00
|
|
|
|
// message Link {
|
|
|
|
|
// CommonInfo common = 1;
|
|
|
|
|
// string code = 2;
|
|
|
|
|
// bool curve = 3; // 是否曲线
|
|
|
|
|
// int32 segmentsCount = 4; // 曲线分段数
|
|
|
|
|
// int32 lineWidth = 5; // 线宽
|
|
|
|
|
// string lineColor = 6; // 线色
|
|
|
|
|
// repeated Point points = 7; // 点坐标列表
|
|
|
|
|
// }
|
2023-07-03 13:09:48 +08:00
|
|
|
|
|
2023-07-14 14:05:09 +08:00
|
|
|
|
// message Rect {
|
|
|
|
|
// CommonInfo common = 1;
|
|
|
|
|
// string code = 2;
|
|
|
|
|
// int32 lineWidth = 3; // 线宽
|
|
|
|
|
// string lineColor = 4; // 线色
|
|
|
|
|
// float width = 5; //宽度
|
|
|
|
|
// float height = 6; //高度
|
|
|
|
|
// int32 radius = 7; //圆角半径
|
|
|
|
|
// Point point = 8; // 画第一个点的坐标
|
|
|
|
|
// }
|
2023-07-03 13:09:48 +08:00
|
|
|
|
|
2023-07-14 14:05:09 +08:00
|
|
|
|
// message Polygon {
|
|
|
|
|
// CommonInfo common = 1;
|
|
|
|
|
// string code = 2;
|
|
|
|
|
// int32 lineWidth = 3; // 线宽
|
|
|
|
|
// string lineColor = 4; // 线色
|
|
|
|
|
// repeated Point points = 5; // 点坐标列表
|
|
|
|
|
// }
|
2023-07-03 13:09:48 +08:00
|
|
|
|
|
|
|
|
|
message Platform {
|
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
|
|
|
|
bool hasdoor = 3; // 是否有屏蔽门
|
|
|
|
|
string direction = 4; // 行驶方向--屏蔽门上下
|
2023-07-14 17:52:59 +08:00
|
|
|
|
int32 index = 5; //索引
|
|
|
|
|
int32 refStationIndex = 6; //关联车站索引
|
2023-07-03 13:09:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message Station {
|
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
2023-07-18 18:09:06 +08:00
|
|
|
|
//bool hasControl = 3; // 是否有控制
|
2023-07-03 13:09:48 +08:00
|
|
|
|
bool concentrationStations = 4; //是否集中站
|
2023-07-18 18:09:06 +08:00
|
|
|
|
// string kilometerCode = 5; //公里标
|
2023-07-03 13:09:48 +08:00
|
|
|
|
KilometerSystem kilometerSystem = 6; //公里标
|
2023-07-14 17:52:59 +08:00
|
|
|
|
int32 index = 7;
|
2023-07-03 13:09:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message TrainWindow {
|
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
|
|
|
|
string sectionId = 3;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message AxleCounting {
|
|
|
|
|
CommonInfo common = 1;
|
2023-07-14 15:07:39 +08:00
|
|
|
|
string code = 2; // 名称
|
2023-07-03 13:09:48 +08:00
|
|
|
|
KilometerSystem kilometerSystem = 3; //公里标
|
2023-07-19 13:05:16 +08:00
|
|
|
|
repeated RelatedRef axleCountingRef = 4; // 计轴关联的非岔区物理区段和道岔,设备id和端口
|
2023-07-14 15:07:39 +08:00
|
|
|
|
int32 index = 5; //计轴的索引编号
|
2023-07-03 13:09:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-07-14 14:05:09 +08:00
|
|
|
|
// message Train {
|
|
|
|
|
// CommonInfo common = 1;
|
|
|
|
|
// string code = 2;
|
|
|
|
|
// }
|
2023-07-03 13:09:48 +08:00
|
|
|
|
|
2023-07-14 14:05:09 +08:00
|
|
|
|
// message IscsFan {
|
|
|
|
|
// CommonInfo common = 1;
|
|
|
|
|
// string code = 2;
|
|
|
|
|
// }
|
2023-07-03 13:09:48 +08:00
|
|
|
|
|
2023-07-17 14:53:31 +08:00
|
|
|
|
message Turnout {//(后端不关注)
|
2023-07-03 13:09:48 +08:00
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
|
|
|
|
repeated Point pointA = 6; // A端坐标列表
|
|
|
|
|
repeated Point pointB = 7; // B端坐标列表
|
|
|
|
|
repeated Point pointC = 8; // C端坐标列表
|
|
|
|
|
RelatedRef paRef = 9; // 道岔A端关联的设备
|
|
|
|
|
RelatedRef pbRef = 10; // 道岔B端关联的设备
|
|
|
|
|
RelatedRef pcRef = 11; // 道岔C端关联的设备
|
|
|
|
|
// KilometerSystem kilometerSystem = 12; // 道岔公里标
|
|
|
|
|
repeated KilometerSystem kilometerSystem = 13; // 道岔公里标
|
2023-07-14 17:52:59 +08:00
|
|
|
|
int32 index = 14; //索引
|
2023-07-03 13:09:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message KilometerSystem {
|
2023-07-19 13:53:23 +08:00
|
|
|
|
int64 kilometer = 1; //公里标mm
|
2023-07-14 15:29:47 +08:00
|
|
|
|
string coordinateSystem = 2; //坐标系
|
2023-07-03 13:09:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message Signal {
|
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
|
|
|
|
bool mirror = 3;
|
|
|
|
|
// int64 kilometer = 4;
|
|
|
|
|
// string coordinateSystem = 5;
|
|
|
|
|
KilometerSystem kilometerSystem = 6;
|
2023-07-14 17:52:59 +08:00
|
|
|
|
int32 index = 7; //索引
|
2023-07-03 13:09:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-07-12 10:49:03 +08:00
|
|
|
|
/** 物理区段(包含岔区和非岔区) */
|
2023-07-03 13:09:48 +08:00
|
|
|
|
message Section {
|
|
|
|
|
enum SectionType {
|
|
|
|
|
Physical = 0;
|
|
|
|
|
TurnoutPhysical = 2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CommonInfo common = 1;
|
2023-07-12 10:49:03 +08:00
|
|
|
|
string code = 2; // 编号
|
|
|
|
|
repeated Point points = 3; // 点列表
|
2023-07-17 14:53:31 +08:00
|
|
|
|
RelatedRef paRef = 4; // 区段A端关联的设备(非岔区)(后端不关注)
|
|
|
|
|
RelatedRef pbRef = 5; // 区段B端关联的设备(非岔区)(后端不关注)
|
2023-07-12 10:49:03 +08:00
|
|
|
|
SectionType sectionType = 6; // 区段类型
|
|
|
|
|
repeated string axleCountings = 7; // 区段对应的计轴
|
|
|
|
|
int32 index = 8; // 索引
|
2023-07-03 13:09:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//关联设备
|
|
|
|
|
message RelatedRef {
|
|
|
|
|
enum DeviceType {
|
|
|
|
|
Section = 0;
|
|
|
|
|
Turnout = 1;
|
|
|
|
|
TrainWindow = 2;
|
|
|
|
|
AxleCounting = 3;
|
2023-07-12 13:04:55 +08:00
|
|
|
|
SectionLink = 4;
|
2023-07-03 13:09:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
enum DevicePort {
|
|
|
|
|
A = 0;
|
|
|
|
|
B = 1;
|
|
|
|
|
C = 2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
DeviceType deviceType = 1; //关联的设备类型
|
|
|
|
|
string id = 2; //关联的设备ID
|
|
|
|
|
DevicePort devicePort = 3; //关联的设备端口
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-14 13:58:05 +08:00
|
|
|
|
//计轴区段与道岔的位置关系
|
2023-07-11 15:34:19 +08:00
|
|
|
|
message TurnoutPosRef {
|
2023-07-12 10:49:36 +08:00
|
|
|
|
string id = 1; //道岔的ID
|
2023-07-14 13:43:46 +08:00
|
|
|
|
int32 position = 2; //道岔的正反为,0是定位,1是反位
|
2023-07-11 15:34:19 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-07-03 13:09:48 +08:00
|
|
|
|
message Separator { // 分隔符
|
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
|
|
|
|
string separatorType = 3;
|
|
|
|
|
}
|
2023-07-07 16:04:54 +08:00
|
|
|
|
|
2023-07-26 17:44:48 +08:00
|
|
|
|
message Transponder { // 应答器
|
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
|
|
|
|
int32 transponderType = 3;
|
|
|
|
|
int32 index = 4; // 索引编号
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-12 13:04:55 +08:00
|
|
|
|
message SimpleRef{
|
|
|
|
|
enum DeviceType {
|
|
|
|
|
Turnout = 0;
|
|
|
|
|
AxleCounting = 1;
|
|
|
|
|
}
|
|
|
|
|
DeviceType deviceType = 1;
|
|
|
|
|
string id = 2;
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-07 16:04:54 +08:00
|
|
|
|
message SectionLink {
|
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
|
|
|
|
repeated Point points = 3;
|
2023-07-14 14:07:06 +08:00
|
|
|
|
bool up = 4; // 是否上行
|
2023-07-17 14:53:31 +08:00
|
|
|
|
SimpleRef aSimRef = 5; // SectionLink A端连接设备(构建关系 AxleCounting/Turnout) //端点
|
|
|
|
|
SimpleRef bSimRef = 6; // SectionLink B端连接设备(构建关系 AxleCounting/Turnout) //端点
|
2023-07-14 14:07:06 +08:00
|
|
|
|
RelatedRef aRef = 7; // SectionLink A端连接设备(端口关系 SectionLink/Turnout)
|
|
|
|
|
RelatedRef bRef = 8; //SectionLink B端连接设备(端口关系 SectionLink/Turnout)
|
|
|
|
|
int32 index = 9; // 索引编号
|
2023-07-07 16:04:54 +08:00
|
|
|
|
}
|
2023-07-07 17:17:17 +08:00
|
|
|
|
|
|
|
|
|
message AxleCountingSection { // 计轴区段
|
|
|
|
|
CommonInfo common = 1;
|
2023-07-14 15:07:39 +08:00
|
|
|
|
string code = 2; // 名称
|
2023-07-07 17:17:17 +08:00
|
|
|
|
repeated Point points = 3;
|
2023-07-14 13:58:05 +08:00
|
|
|
|
RelatedRef paRef = 4; // 计轴区段A端关联的计轴
|
|
|
|
|
RelatedRef pbRef = 5; // 计轴区段B端关联的计轴
|
|
|
|
|
repeated TurnoutPosRef turnoutPos = 6; //关联道岔的正反位--0是定位,1是反位
|
2023-07-14 15:07:39 +08:00
|
|
|
|
int32 index = 7; //计轴区段的索引编号
|
2023-07-07 17:17:17 +08:00
|
|
|
|
}
|
2023-07-11 16:40:02 +08:00
|
|
|
|
|
|
|
|
|
message LogicSection { // 逻辑区段
|
|
|
|
|
CommonInfo common = 1;
|
2023-07-14 15:07:39 +08:00
|
|
|
|
string code = 2; // 名称
|
2023-07-11 16:40:02 +08:00
|
|
|
|
repeated Point points = 3;
|
2023-07-12 10:49:36 +08:00
|
|
|
|
string axleSectionId = 4; // 关联的计轴区段Id
|
2023-07-14 15:07:39 +08:00
|
|
|
|
int32 index = 5; // 索引编号
|
2023-07-18 17:53:28 +08:00
|
|
|
|
string turnoutId = 6; // 关联的岔芯对应的道岔id,此时该逻辑区段为该道岔C端关联的轨道link
|
2023-07-07 17:17:17 +08:00
|
|
|
|
}
|
2023-07-26 10:58:04 +08:00
|
|
|
|
|
|
|
|
|
message StopPosition {
|
|
|
|
|
enum CoachNum {
|
|
|
|
|
Four = 0;
|
|
|
|
|
Six = 1;
|
|
|
|
|
}
|
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
|
|
|
|
bool flip = 3; // 是否翻转(前端显示)
|
|
|
|
|
CoachNum coachNum = 4; //编组数量
|
2023-07-26 17:00:02 +08:00
|
|
|
|
int32 index = 5; //索引
|
2023-07-26 10:58:04 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-07-26 17:00:02 +08:00
|
|
|
|
message SpksSwitch {
|
2023-07-26 10:58:04 +08:00
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
|
|
|
|
bool flip = 3; // 是否翻转(前端显示)
|
2023-07-26 17:00:02 +08:00
|
|
|
|
int32 index = 4; //索引
|
2023-07-26 10:58:04 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message EsbButton {
|
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
|
|
|
|
bool flip = 3; // 是否翻转(前端显示)
|
2023-07-26 17:00:02 +08:00
|
|
|
|
int32 index = 4; //索引
|
2023-07-26 10:58:04 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message GatedBox{
|
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
|
|
|
|
bool flip = 3; // 是否翻转(前端显示)
|
2023-07-26 17:00:02 +08:00
|
|
|
|
int32 index = 4; //索引
|
2023-07-26 10:58:04 +08:00
|
|
|
|
}
|