syntax = "proto3"; package graphicData; 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; repeated Rect rects = 6; repeated Train train = 7; repeated Signal signals = 8; repeated Turnout turnouts = 9; repeated Section section = 10; repeated StationLine stationLines = 11; repeated RunLine runLines = 12; repeated TrainLine trainLines = 13; repeated PathLine pathLines = 14; repeated Polygon polygons = 15; } 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; // 线色 float width = 5; //宽度 float height = 6; //高度 int32 radius = 7; //圆角半径 Point point = 8; // 画第一个点的坐标 } message Polygon { CommonInfo common = 1; string code = 2; int32 lineWidth = 3; // 线宽 string lineColor = 4; // 线色 repeated Point points = 5; // 点坐标列表 } message Platform { CommonInfo common = 1; string code = 2; bool hasdoor = 3; // 是否有屏蔽门 string direction = 4; // 行驶方向--屏蔽门上下 } message Station { CommonInfo common = 1; string code = 2; bool hasControl = 3; // 是否有控制 } message StationLine { CommonInfo common = 1; string code = 2; bool hasTransfer = 3; // 是否有换乘图标 } message Train { CommonInfo common = 1; string code = 2; string trainDirection = 3; // 行驶方向 bool hasBorder = 4; // 是否有边框 } message TrainLine { CommonInfo common = 1; string code = 2; } message IscsFan { CommonInfo common = 1; string code = 2; } message Turnout { CommonInfo common = 1; string code = 2; Point pointA = 6; // A端坐标 Point pointB = 7; // B端坐标 Point pointC = 8; // C端坐标 Point labelOffset = 9; //标签偏移量 } message Signal { CommonInfo common = 1; string code = 2; } message RunLine { CommonInfo common = 1; string code = 2; repeated Point points = 3; string nameColor = 4; string nameBgColor = 5; string upPathLineId = 6; string downPathLineId = 7; } message Section { CommonInfo common = 1; string code = 2; repeated Point points = 3; } message PathLine { CommonInfo common = 1; string code = 2; repeated Point points = 3; }