private static void ReadHeights(String prmFile)
        {
            if (!File.Exists(prmFile))
            {
                throw new FileNotFoundException(String.Format("File not found: {0}", prmFile));
            }

            HeightPoints = TcFileReader.ReadPolyPoints(prmFile);
        }
        private static void UpdateFlatTxtPoints(string[] allFiles)
        {
            long flatpointsloaded = 0;
            long totalpointsflat  = 0;
            var  start            = Stopwatch.StartNew();
            var  lastprogress     = 0;

            foreach (var path in allFiles)
            {
                var pts    = TcFileReader.ReadPolyPoints(path);
                var length = (object)(FlatPoints.Length);

                Array.Resize(ref FlatPoints, (FlatPoints.Length + pts.Count));

                for (int i = 0; i < pts.Count; i++)
                {
                    var pos = ((int)length + i);
                    var p   = pts[i];

                    FlatPoints[pos] = new TcReportPoint3D(p.X, p.Y, p.Z);
                }

                flatpointsloaded += (long)pts.Count;


                var percent = Clamp(
                    (int)Math.Ceiling((double)flatpointsloaded * 100
                                      / totalpointsflat), 0, 100);


                lastprogress = UpdateProgressBar(percent);
            }

            lastprogress = UpdateProgressBar(lastprogress);

            Console.WriteLine("");
            Console.WriteLine("");
            start.Stop();
            Console.WriteLine(" {0} Txt Flat Points Loaded. - Finished {1} secs", flatpointsloaded, Math.Ceiling((double)start.ElapsedMilliseconds / 1000));
        }