2023-06-06 15:10:15 +08:00
|
|
|
|
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";
|
2023-06-06 15:10:15 +08:00
|
|
|
|
|
|
|
|
|
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;
|
2023-06-06 15:10:15 +08:00
|
|
|
|
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;
|
2023-12-21 11:12:23 +08:00
|
|
|
|
repeated ConcentrationDividingLine concentrationDividingLines = 20; // 集中区分割线
|
2024-10-30 11:43:35 +08:00
|
|
|
|
GenerateAxleCountingConfig generateAxleCountingConfig = 21;//一键生成计轴的配置
|
2023-06-06 15:10:15 +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 {
|
2023-12-15 10:11:41 +08:00
|
|
|
|
string oldid = 1;
|
2023-06-06 15:10:15 +08:00
|
|
|
|
string graphicType = 2;
|
|
|
|
|
Transform transform = 3;
|
|
|
|
|
repeated ChildTransform childTransforms = 4;
|
2023-12-15 10:11:41 +08:00
|
|
|
|
uint32 id = 5;
|
2023-06-06 15:10:15 +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; // 点坐标列表
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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-06 15:10:15 +08:00
|
|
|
|
}
|
|
|
|
|
|
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
|
|
|
|
}
|
|
|
|
|
|
2023-12-21 11:12:23 +08:00
|
|
|
|
message ConcentrationDividingLine {
|
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2; // 编号
|
|
|
|
|
repeated Point points = 3; // 点列表
|
|
|
|
|
string oldrefLeftStationId = 4;//左边关联的集中站id
|
|
|
|
|
string oldrefRightStationId = 5;//右边关联的集中站id
|
|
|
|
|
repeated NodeConWithSec nodeConWithSecs = 6;// 集中区分割线与区段的交点
|
|
|
|
|
bool isOtherLineConcentrationDividingLine = 7;//集中区分割线绘制在其它线的边界处
|
|
|
|
|
uint32 refLeftStationId = 8;//左边关联的集中站id
|
|
|
|
|
uint32 refRightStationId = 9;//右边关联的集中站id
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message NodeConWithSec {
|
|
|
|
|
RelatedRef leftSection = 1;
|
|
|
|
|
RelatedRef rightSection = 2;
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-06 15:10:15 +08:00
|
|
|
|
message Platform {
|
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
2023-06-09 18:35:19 +08:00
|
|
|
|
bool hasdoor = 3; // 是否有屏蔽门
|
|
|
|
|
string direction = 4; // 行驶方向--屏蔽门上下
|
2023-08-16 16:06:09 +08:00
|
|
|
|
// string upAndDown =5; //上下行--upLink表示上行,downLink表示下行
|
2023-12-15 10:11:41 +08:00
|
|
|
|
string oldrefStation = 6; //关联的车站
|
2023-08-16 16:06:09 +08:00
|
|
|
|
bool up = 7; //上下行--true表示上行,false表示下行
|
2023-12-15 10:11:41 +08:00
|
|
|
|
string oldrefSectionId = 8; //关联的物理区段id
|
|
|
|
|
uint32 refStation = 9; // 关联的车站id
|
|
|
|
|
uint32 refSectionId = 10; // 关联的物理区段id
|
2023-12-21 10:45:44 +08:00
|
|
|
|
uint32 centralizedStationId = 11; // 集中站Id
|
2023-06-06 15:10:15 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
message Station {
|
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
2023-06-19 17:17:09 +08:00
|
|
|
|
bool hasControl = 3; // 是否有控制
|
|
|
|
|
bool concentrationStations = 4; //是否集中站
|
2023-07-20 11:10:25 +08:00
|
|
|
|
// string kilometerCode = 5; //公里标
|
2023-06-29 18:00:32 +08:00
|
|
|
|
KilometerSystem kilometerSystem = 6; //公里标
|
2023-07-20 11:10:25 +08:00
|
|
|
|
string name = 7;
|
2023-12-21 11:12:23 +08:00
|
|
|
|
repeated uint32 manageStations = 8; // 如果是集中站——管理的车站-id
|
2023-12-21 14:07:04 +08:00
|
|
|
|
bool depots = 9; //是否车辆段
|
2023-06-06 15:10:15 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-06-12 13:32:37 +08:00
|
|
|
|
message StationLine {
|
2023-10-24 18:05:21 +08:00
|
|
|
|
enum stationColor {
|
|
|
|
|
orange = 0;
|
|
|
|
|
gray = 1;
|
|
|
|
|
}
|
2023-06-12 13:32:37 +08:00
|
|
|
|
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-10-24 18:05:21 +08:00
|
|
|
|
stationColor codeColor = 5;
|
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-12-15 10:11:41 +08:00
|
|
|
|
repeated string oldrefDeviceId = 3; //关联的逻辑区段的id或道岔区段id
|
|
|
|
|
repeated uint32 refDeviceId = 4;
|
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
|
|
|
|
}
|
|
|
|
|
|
2023-06-06 15:10:15 +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;
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-06 15:10:15 +08:00
|
|
|
|
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-12-21 10:45:44 +08:00
|
|
|
|
uint32 centralizedStationId = 14; // 集中站Id
|
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-12-21 10:28:52 +08:00
|
|
|
|
RelatedRef refDevice = 7; // 关联设备(区段/道岔)
|
2023-12-21 10:45:44 +08:00
|
|
|
|
uint32 centralizedStationId = 8; // 集中站Id
|
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-12-15 10:11:41 +08:00
|
|
|
|
repeated string oldlinkPathLines = 9; //关联pathLine
|
2023-12-15 09:29:39 +08:00
|
|
|
|
string lineId = 10; // 实际线路id
|
2023-07-20 15:50:29 +08:00
|
|
|
|
repeated int32 dashPointIndexs = 11; // 虚线段点序号
|
2023-10-25 09:23:52 +08:00
|
|
|
|
repeated int32 grayPointIndexs = 12; // 虚线段点序号
|
2023-12-15 09:29:39 +08:00
|
|
|
|
string lineColor = 13; // 线路显示颜色
|
2023-12-15 10:11:41 +08:00
|
|
|
|
repeated uint32 linkPathLines = 14; //关联pathLine
|
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-12-15 10:11:41 +08:00
|
|
|
|
repeated string oldchildren = 8; // 下属逻辑区段id(非岔区)/下属道岔id(岔区)
|
2023-07-19 09:00:00 +08:00
|
|
|
|
string destinationCode = 9; // 目的地码
|
2023-08-17 14:03:26 +08:00
|
|
|
|
bool turning = 10; //是否转换轨
|
2023-12-15 10:11:41 +08:00
|
|
|
|
repeated uint32 children = 11;
|
2023-12-21 10:45:44 +08:00
|
|
|
|
uint32 centralizedStationId = 12; // 集中站Id
|
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; //关联的设备类型
|
2023-12-15 10:11:41 +08:00
|
|
|
|
string oldid = 2; //关联的设备ID
|
2023-06-19 17:17:09 +08:00
|
|
|
|
DevicePort devicePort = 3; //关联的设备端口
|
2023-12-15 10:11:41 +08:00
|
|
|
|
uint32 id = 4;
|
2023-06-19 17:17:09 +08:00
|
|
|
|
}
|
2023-06-29 16:25:05 +08:00
|
|
|
|
|
2023-08-17 14:03:26 +08:00
|
|
|
|
message Separator {// 分隔符
|
2023-06-29 16:25:05 +08:00
|
|
|
|
CommonInfo common = 1;
|
|
|
|
|
string code = 2;
|
|
|
|
|
string separatorType = 3;
|
|
|
|
|
}
|
2024-10-30 11:43:35 +08:00
|
|
|
|
|
|
|
|
|
message GenerateAxleCountingConfig {
|
|
|
|
|
repeated uint32 bbConnect = 1; //需要在道岔bb连接处生成计轴的道岔id(填一个就行)
|
|
|
|
|
repeated uint32 noGenerateGroup = 2;//指定的道岔组不生成计轴
|
|
|
|
|
}
|