xian-ncc-da-message/protos/stationLayoutGraphics.proto

263 lines
6.2 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
package graphicData;
2023-06-09 14:10:31 +08:00
option java_package = "club.joylink.xiannccda.dto.protos";
option java_outer_classname = "LayoutGraphicsProto";
message RtssGraphicStorage {
Canvas canvas = 1;
repeated Link links = 2;
repeated IscsFan iscsFans = 3;
repeated Platform Platforms = 4;
repeated Station stations = 5;
2023-06-12 15:58:08 +08:00
repeated Rect rects = 6;
repeated Train train = 7;
2023-06-06 16:46:33 +08:00
repeated Signal signals = 8;
2023-06-08 09:44:41 +08:00
repeated Turnout turnouts = 9;
2023-06-09 18:35:19 +08:00
repeated Section section = 10;
2023-06-12 13:32:37 +08:00
repeated StationLine stationLines = 11;
2023-06-12 17:33:15 +08:00
repeated RunLine runLines = 12;
2023-06-12 17:50:07 +08:00
repeated TrainLine trainLines = 13;
2023-06-13 15:29:30 +08:00
repeated PathLine pathLines = 14;
2023-06-13 15:30:14 +08:00
repeated Polygon polygons = 15;
2023-06-16 13:20:55 +08:00
repeated TrainWindow trainWindows = 16;
2023-06-27 14:29:54 +08:00
repeated AxleCounting axleCountings = 17;
2023-06-29 16:25:05 +08:00
repeated Separator separators = 18;
2023-07-18 10:35:58 +08:00
repeated LogicSection logicSections = 19;
}
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;
}
message Link {
CommonInfo common = 1;
string code = 2;
bool curve = 3; // 是否曲线
int32 segmentsCount = 4; // 曲线分段数
int32 lineWidth = 5; // 线宽
string lineColor = 6; // 线色
repeated Point points = 7; // 点坐标列表
}
message Rect {
CommonInfo common = 1;
string code = 2;
2023-06-13 16:19:45 +08:00
int32 lineWidth = 3; // 线宽
string lineColor = 4; // 线色
float width = 5; //宽度
float height = 6; //高度
int32 radius = 7; //圆角半径
Point point = 8; // 画第一个点的坐标
}
2023-06-13 13:13:43 +08:00
message Polygon {
CommonInfo common = 1;
string code = 2;
int32 lineWidth = 3; // 线宽
string lineColor = 4; // 线色
2023-06-13 16:20:22 +08:00
repeated Point points = 5; // 点坐标列表
2023-06-13 13:13:43 +08:00
}
message Platform {
CommonInfo common = 1;
string code = 2;
2023-06-09 18:35:19 +08:00
bool hasdoor = 3; // 是否有屏蔽门
string direction = 4; // 行驶方向--屏蔽门上下
string upAndDown =5; //上下行--upLink表示上行downLink表示下行
string refStation=6; //关联的车站
}
message Station {
CommonInfo common = 1;
string code = 2;
2023-06-19 17:17:09 +08:00
bool hasControl = 3; // 是否有控制
bool concentrationStations = 4; //是否集中站
// string kilometerCode = 5; //公里标
2023-06-29 18:00:32 +08:00
KilometerSystem kilometerSystem = 6; //公里标
string name = 7;
}
2023-06-12 13:32:37 +08:00
message StationLine {
CommonInfo common = 1;
string code = 2;
2023-06-13 16:19:45 +08:00
bool hasTransfer = 3; // 是否有换乘图标
2023-06-28 13:40:11 +08:00
bool hideName = 4;
2023-06-12 13:32:37 +08:00
}
2023-06-16 13:20:55 +08:00
message TrainWindow {
CommonInfo common = 1;
string code = 2;
2023-07-18 13:56:54 +08:00
repeated string refDeviceId = 3; //关联的逻辑区段的id或由道岔区段生成所关联的道岔id
2023-06-16 13:20:55 +08:00
}
2023-06-27 14:29:54 +08:00
message AxleCounting {
CommonInfo common = 1;
string code = 2;
2023-06-29 18:00:32 +08:00
KilometerSystem kilometerSystem = 3; //公里标
2023-06-28 11:01:35 +08:00
repeated RelatedRef axleCountingRef = 4; // 关联的设备
2023-06-27 14:29:54 +08:00
}
message Train {
CommonInfo common = 1;
string code = 2;
}
2023-06-12 17:50:07 +08:00
message TrainLine {
CommonInfo common = 1;
string code = 2;
}
message IscsFan {
CommonInfo common = 1;
string code = 2;
}
2023-06-08 09:39:06 +08:00
message Turnout {
CommonInfo common = 1;
string code = 2;
2023-06-30 13:48:26 +08:00
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-06-08 09:39:06 +08:00
}
2023-06-06 16:46:33 +08:00
2023-06-29 15:39:07 +08:00
message KilometerSystem {
int64 kilometer = 1;
string coordinateSystem = 2;
}
2023-06-06 16:46:33 +08:00
message Signal {
CommonInfo common = 1;
string code = 2;
2023-06-16 13:44:03 +08:00
bool mirror = 3;
2023-06-29 15:39:07 +08:00
// int64 kilometer = 4;
// string coordinateSystem = 5;
KilometerSystem kilometerSystem = 6;
2023-06-06 16:46:33 +08:00
}
2023-06-12 17:31:45 +08:00
message RunLine {
CommonInfo common = 1;
string code = 2;
repeated Point points = 3;
string nameColor = 4;
2023-06-13 16:19:45 +08:00
string nameBgColor = 5;
2023-06-30 16:41:09 +08:00
// string upPathLineId = 6;
// string downPathLineId = 7;
2023-06-26 17:22:22 +08:00
repeated string containSta = 8;
2023-06-30 16:16:17 +08:00
repeated string linkPathLines = 9;
string lineId = 10;
2023-07-20 15:50:29 +08:00
repeated int32 dashPointIndexs = 11; // 虚线段点序号
2023-06-13 16:19:45 +08:00
}
2023-06-12 17:33:15 +08:00
2023-07-17 16:12:51 +08:00
/** 物理区段 */
2023-06-09 18:35:19 +08:00
message Section {
2023-06-27 09:54:05 +08:00
enum SectionType {
2023-07-17 16:12:51 +08:00
Physical = 0; //物理区段
TurnoutPhysical = 2; //道岔物理区段
2023-06-27 09:54:05 +08:00
}
2023-06-09 18:35:19 +08:00
CommonInfo common = 1;
string code = 2;
repeated Point points = 3;
2023-07-17 16:12:51 +08:00
RelatedRef paRef = 4; // 区段A端关联的物理区段或道岔(非岔区)
RelatedRef pbRef = 5; // 区段B端关联的物理区段或道岔(非岔区)
2023-07-13 17:59:18 +08:00
SectionType sectionType = 6; // 区段类型
2023-07-17 16:12:51 +08:00
repeated string axleCountings = 7; // 关联的计轴(岔区&&非岔区)
2023-07-19 09:00:00 +08:00
repeated string children = 8; // 下属逻辑区段id(非岔区)/下属道岔id(岔区)
string destinationCode = 9; // 目的地码
2023-07-17 16:12:51 +08:00
}
/** 逻辑区段 */
message LogicSection {
CommonInfo common = 1;
string code = 2;
repeated Point points = 3;
2023-06-12 17:31:45 +08:00
}
2023-06-13 10:24:03 +08:00
2023-06-27 11:28:39 +08:00
message KilometerPoint {
Point point = 1;
2023-06-29 14:10:55 +08:00
int64 kilometer = 2;
2023-06-28 13:40:11 +08:00
string stName = 3;
2023-06-27 11:28:39 +08:00
}
2023-06-13 10:24:03 +08:00
message PathLine {
CommonInfo common = 1;
string code = 2;
repeated Point points = 3;
2023-07-18 10:35:58 +08:00
bool isUp = 4; // 是否上行
2023-07-17 13:47:47 +08:00
repeated KilometerPoint kilometerPoints = 5; // 车站对应的公里标以及坐标点
bool isKmIncrease = 6; // 运行方向是否公里标递增
2023-06-13 10:24:03 +08:00
}
2023-06-19 17:17:09 +08:00
//关联设备
message RelatedRef {
enum DeviceType {
Section = 0;
Turnout = 1;
TrainWindow = 2;
2023-06-29 18:00:32 +08:00
AxleCounting = 3;
2023-06-19 17:17:09 +08:00
}
enum DevicePort {
A = 0;
B = 1;
C = 2;
}
DeviceType deviceType = 1; //关联的设备类型
string id = 2; //关联的设备ID
DevicePort devicePort = 3; //关联的设备端口
}
2023-06-29 16:25:05 +08:00
message Separator { // 分隔符
CommonInfo common = 1;
string code = 2;
string separatorType = 3;
}