예제 #1
0
        public static void ProfileAcrossTheGiantDesign()
        {
            TimeSpan bestTime = TimeSpan.MaxValue;

            Designs.TTM.Optimised.TrimbleTINModel readonly_tin = new Designs.TTM.Optimised.TrimbleTINModel();
            readonly_tin.LoadFromFile(@"C:\Users\rwilson\Downloads\5644616_oba9c0bd14_FRL.ttm");

            TTMDesign design = new TTMDesign(0.34);

            design.LoadFromFile(@"C:\Users\rwilson\Downloads\5644616_oba9c0bd14_FRL.ttm");

            for (int i = 0; i < 10; i++)
            {
                DateTime _start = DateTime.Now;

                var profile = design.ComputeProfile(new[]
                {
                    new XYZ(design.Data.Header.MinimumEasting, design.Data.Header.MinimumNorthing, 0),
                    new XYZ(design.Data.Header.MaximumEasting, design.Data.Header.MaximumNorthing, 0)
                }, 0.34);

                var      profileDistance = MathUtilities.Hypot(profile.First().X - profile.Last().X, profile.First().Y - profile.Last().Y);
                DateTime _end            = DateTime.Now;

                if (_end - _start < bestTime)
                {
                    bestTime = _end - _start;
                    Console.WriteLine($"TIN profile (#{i}) with an {profileDistance:F3} meter line with {profile.Count} vertices in best time of {bestTime}");
                }
            }
        }
예제 #2
0
        public static void LoadTheGiantDesignALotOfTimes()
        {
            TimeSpan bestTime = TimeSpan.MaxValue;

            for (int i = 0; i < 1000; i++)
            {
                Designs.TTM.Optimised.TrimbleTINModel readonly_tin = new Designs.TTM.Optimised.TrimbleTINModel();

                DateTime _start = DateTime.Now;
                readonly_tin.LoadFromFile(@"C:\Users\rwilson\Downloads\5644616_oba9c0bd14_FRL.ttm");
                DateTime _end = DateTime.Now;

                if (_end - _start < bestTime)
                {
                    bestTime = _end - _start;
                    Console.WriteLine($"Readonly tin read (#{i}) in best time of {bestTime}");
                }
            }

            for (int i = 0; i < 0; i++)
            {
                Designs.TTM.TrimbleTINModel readwrite_tin = new Designs.TTM.TrimbleTINModel();
                DateTime _start = DateTime.Now;
                readwrite_tin.LoadFromFile(@"C:\Users\rwilson\Downloads\5644616_oba9c0bd14_FRL.ttm");
                DateTime _end = DateTime.Now;
                Console.WriteLine($"Read/write tin read in {_end - _start}");
            }
        }