예제 #1
0
        public static TwoLineElementsModel Parse(Queue <string> lines)
        {
            if (lines == null)
            {
                throw new ArgumentNullException("lines");
            }

            if (lines.Count < Convert.ToInt32(Properties.Resources.TLE_MIN_LINE_COUNT))
            {
                throw new ArgumentException("Lines count is to low");
            }

            //TLE could be 3 lines, first than is satellite name
            if (lines.Count > Convert.ToInt32(Properties.Resources.TLE_MAX_LINE_COUNT))
            {
                throw new ArgumentOutOfRangeException("lines has more than 3 positions");
            }

            TwoLineElementsModel tle = new TwoLineElementsModel();


            if (lines.Count > Convert.ToInt32(Properties.Resources.TLE_MIN_LINE_COUNT))
            {
                tle.Name = TleLine0Parser.Parse(lines.Dequeue());
            }

            tle.Line1 = TleLine1Parser.Parse(lines.Dequeue());
            tle.Line2 = TleLine2Parser.Parse(lines.Dequeue());

            return(tle);
        }
예제 #2
0
 public TwoLineElements(TwoLineElementsModel twoLineElementsModel)
 {
     TwoLineElementsModel = twoLineElementsModel;
 }