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 Signal signals = 8; repeated Turnout turnouts = 9; } 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端坐标 } message Signal { CommonInfo common = 1; string code = 2; }