private void CreatePartData(SymbolData symbolData, Symbol symbol) { List <SymbolPartData> parts = new List <SymbolPartData>(); foreach (SymbolPart sp in symbol) { SymbolPartData partData = ConvertSymbolPart(sp); if (sp != null) { parts.Add(partData); } } symbolData.SymbolParts = parts.ToArray(); }
private SymbolPart ConvertPartData(SymbolPartData partData) { if (partData is SymbolLineData) { SymbolLineData lineData = (SymbolLineData)partData; return(new LinePart(lineData.X, lineData.Y, lineData.X2, lineData.Y2)); } if (partData is SymbolRectData) { SymbolRectData rectData = (SymbolRectData)partData; return(new RectanglePart(new PointF(rectData.X, rectData.Y), new SizeF(rectData.Width, rectData.Height))); } if (partData is SymbolTextData) { SymbolTextData textData = (SymbolTextData)partData; return(new TextPart(new PointF(textData.X, textData.Y), textData.Text)); } if (partData is SymbolPortData) { SymbolPortData portData = (SymbolPortData)partData; return(new PortPart(new PointF(portData.X, portData.Y), portData.Angle, portData.Direction, portData.Name)); } return(null); }