xian-ncc-da-message/protos/stationLayoutGraphics.proto
2023-06-08 09:39:06 +08:00

137 lines
3.3 KiB
Protocol Buffer

syntax = "proto3";
package graphicData;
message RtssGraphicStorage {
Canvas canvas = 1;
repeated Link links = 2;
repeated IscsFan iscsFans = 3;
repeated Platform Platforms = 4;
repeated Station stations = 5;
repeated Rect Rects = 6;
repeated Train train = 7;
repeated Turnout turnouts = 8;
}
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;
int32 lineWidth = 3; // 线宽
string lineColor = 4; // 线色
Point point = 5; // 位置坐标
float width = 6; //宽度
float height = 7; //高度
repeated Point points = 8; // 点坐标列表
}
message Platform {
CommonInfo common = 1;
string code = 2;
bool hasdoor = 3; // 是否有屏蔽门
string trainDirection = 4; // 行驶方向--屏蔽门上下
int32 lineWidth = 5; // 线宽
string lineColor = 6; // 站台线色
string lineColorDoor = 7; // 屏蔽门线色
Point point = 8; // 位置坐标
float width = 9; //宽度
float height = 10; //高度
repeated string orbitCode = 11; //站台轨
}
message Station {
CommonInfo common = 1;
string code = 2;
bool hasCircle = 3; // 是否有圆圈--线网图
int32 radius = 4; // 半径
int32 borderWidth = 5; // 边框线宽
string borderColor = 6; // 边框颜色
string fillColor = 7; // 圆填充颜色
string codeColor = 8; // 车站字体颜色
int32 codeFontSize = 9; // 车站字体大小
Point point = 10; // 位置坐标
Point circlePoint = 11; // 位置坐标
}
message Train {
CommonInfo common = 1;
string code = 2;
string codeColor = 3; // 车号颜色
int32 codeFontSize = 4; // 车号字体大小
Point point = 5; // 位置坐标
string trainDirection = 6; // 行驶方向
bool hasBorder = 7; // 是否有边框
int32 borderWidth = 8; // 边框线宽
string borderColor = 9; // 边框颜色
string headColor = 10; // 箭头颜色
string bodyColor = 11; // 背景色
}
message IscsFan {
CommonInfo common = 1;
string code = 2;
}
message Turnout {
CommonInfo common = 1;
string code = 2;
Point forkPoint = 5; // 岔心坐标
Point pointA = 6; // A端坐标
Point pointB = 7; // B端坐标
Point pointC = 8; // C端坐标
}