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; repeated TrainWindow trainWindows = 16; repeated AxleCounting axleCountings = 17; repeated Separator separators = 18; repeated LogicSection logicSections = 19; repeated ConcentrationDividingLine concentrationDividingLines = 20; // 集中区分割线 GenerateAxleCountingConfig generateAxleCountingConfig = 21;//一键生成计轴的配置 } 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 oldid = 1; string graphicType = 2; Transform transform = 3; repeated ChildTransform childTransforms = 4; uint32 id = 5; } 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 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; } message Platform { CommonInfo common = 1; string code = 2; bool hasdoor = 3; // 是否有屏蔽门 string direction = 4; // 行驶方向--屏蔽门上下 // string upAndDown =5; //上下行--upLink表示上行,downLink表示下行 string oldrefStation = 6; //关联的车站 bool up = 7; //上下行--true表示上行,false表示下行 string oldrefSectionId = 8; //关联的物理区段id uint32 refStation = 9; // 关联的车站id uint32 refSectionId = 10; // 关联的物理区段id uint32 centralizedStationId = 11; // 集中站Id } message Station { CommonInfo common = 1; string code = 2; bool hasControl = 3; // 是否有控制 bool concentrationStations = 4; //是否集中站 // string kilometerCode = 5; //公里标 KilometerSystem kilometerSystem = 6; //公里标 string name = 7; repeated uint32 manageStations = 8; // 如果是集中站——管理的车站-id bool depots = 9; //是否车辆段 } message StationLine { enum stationColor { orange = 0; gray = 1; } CommonInfo common = 1; string code = 2; bool hasTransfer = 3; // 是否有换乘图标 bool hideName = 4; stationColor codeColor = 5; } message TrainWindow { CommonInfo common = 1; string code = 2; repeated string oldrefDeviceId = 3; //关联的逻辑区段的id或道岔区段id repeated uint32 refDeviceId = 4; } message AxleCounting { CommonInfo common = 1; string code = 2; KilometerSystem kilometerSystem = 3; //公里标 repeated RelatedRef axleCountingRef = 4; // 关联的设备 } message Train { CommonInfo common = 1; string code = 2; } message TrainLine { CommonInfo common = 1; string code = 2; } message IscsFan { CommonInfo common = 1; string code = 2; } message Turnout { CommonInfo common = 1; string code = 2; 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; // 道岔公里标 uint32 centralizedStationId = 14; // 集中站Id } message KilometerSystem { int64 kilometer = 1; string coordinateSystem = 2; } message Signal { CommonInfo common = 1; string code = 2; bool mirror = 3; // int64 kilometer = 4; // string coordinateSystem = 5; KilometerSystem kilometerSystem = 6; RelatedRef refDevice = 7; // 关联设备(区段/道岔) uint32 centralizedStationId = 8; // 集中站Id } message RunLine { CommonInfo common = 1; string code = 2; repeated Point points = 3; string nameColor = 4; string nameBgColor = 5; // string upPathLineId = 6; // string downPathLineId = 7; repeated string containSta = 8; repeated string oldlinkPathLines = 9; //关联pathLine string lineId = 10; // 实际线路id repeated int32 dashPointIndexs = 11; // 虚线段点序号 repeated int32 grayPointIndexs = 12; // 虚线段点序号 string lineColor = 13; // 线路显示颜色 repeated uint32 linkPathLines = 14; //关联pathLine } /** 物理区段 */ message Section { enum SectionType { Physical = 0; //物理区段 TurnoutPhysical = 2; //道岔物理区段 } CommonInfo common = 1; string code = 2; repeated Point points = 3; RelatedRef paRef = 4; // 区段A端关联的物理区段或道岔(非岔区) RelatedRef pbRef = 5; // 区段B端关联的物理区段或道岔(非岔区) SectionType sectionType = 6; // 区段类型 repeated string axleCountings = 7; // 关联的计轴(岔区&&非岔区) repeated string oldchildren = 8; // 下属逻辑区段id(非岔区)/下属道岔id(岔区) string destinationCode = 9; // 目的地码 bool turning = 10; //是否转换轨 repeated uint32 children = 11; uint32 centralizedStationId = 12; // 集中站Id } /** 逻辑区段 */ message LogicSection { CommonInfo common = 1; string code = 2; repeated Point points = 3; } message KilometerPoint { Point point = 1; int64 kilometer = 2; string stName = 3; } message PathLine { CommonInfo common = 1; string code = 2; repeated Point points = 3; bool isUp = 4; // 是否上行 repeated KilometerPoint kilometerPoints = 5; // 车站对应的公里标以及坐标点 bool isKmIncrease = 6; // 运行方向是否公里标递增 } //关联设备 message RelatedRef { enum DeviceType { Section = 0; Turnout = 1; TrainWindow = 2; AxleCounting = 3; } enum DevicePort { A = 0; B = 1; C = 2; } DeviceType deviceType = 1; //关联的设备类型 string oldid = 2; //关联的设备ID DevicePort devicePort = 3; //关联的设备端口 uint32 id = 4; } message Separator {// 分隔符 CommonInfo common = 1; string code = 2; string separatorType = 3; } message GenerateAxleCountingConfig { repeated uint32 bbConnect = 1; //需要在道岔bb连接处生成计轴的道岔id(填一个就行) repeated uint32 noGenerateGroup = 2;//指定的道岔组不生成计轴 }