Ejemplo n.º 1
0
        internal static RawMMEFile ReadInformationFile(string filePath, bool readValues = false, MMEReadConfiguration config = null)
        {
            // TODO: refactor this function!
            if (config == null)
            {
                config = new MMEReadConfiguration();
            }

            RawMMEFile rawMMEData = new RawMMEFile()
            {
                AdditionalComments = new List <string>(),
                Attributes         = new List <MMEAttribute>(),
                Values             = new List <double>(),
            };

            using (StreamReader reader = new StreamReader(filePath, config.FileEncoding, config.DetectByteOrderMask))
            {
                string uninterpretedLine = "";

                while (!reader.EndOfStream)
                {
                    uninterpretedLine = ReadAttribute(rawMMEData, reader);

                    if (uninterpretedLine.Length > 0)
                    {
                        break;
                    }
                }

                if (uninterpretedLine.Length > 0 && readValues)
                {
                    ReadMMEValue(rawMMEData, uninterpretedLine, config);
                    while (!reader.EndOfStream)
                    {
                        ReadMMEValue(rawMMEData, reader.ReadLine(), config);
                    }
                }
            }

            return(rawMMEData);
        }
Ejemplo n.º 2
0
        private static string ReadAttribute(RawMMEFile rawMMEData, StreamReader reader)
        {
            // TODO: refactor this function
            MMEAttribute newAttribute = null;

            string uninterpratedLine = MMEAttribute.ParseFromStream(reader, out newAttribute);

            if (newAttribute.Name == "" && newAttribute.Value == "")
            {
                if (newAttribute.Comments.Count > 0)
                {
                    rawMMEData.AdditionalComments.AddRange(newAttribute.Comments);
                }
            }
            else
            {
                rawMMEData.Attributes.Add(newAttribute);
            }

            return(uninterpratedLine);
        }
Ejemplo n.º 3
0
        private static void ReadMMEValue(RawMMEFile rawMMEData, string valueLine, MMEReadConfiguration config)
        {
            double parsedValue = ParseMMEValue(valueLine, config.InvariantNumberFormatInfo, config.MMENumberStyle);

            rawMMEData.Values.Add(parsedValue);
        }