예제 #1
0
        // Show results from mensuration task in string format
        private void ShowResults(object result, string caption = "")
        {
            StringBuilder sb = new StringBuilder();

            if (result is MensurationPointResult)
            {
                MensurationPointResult pointResult = (MensurationPointResult)result;

                if (pointResult.Point != null)
                {
                    sb.Append(pointResult.Point);
                    sb.Append("\n");
                }
            }
            else if (result is MensurationHeightResult)
            {
                var heightResult = (MensurationHeightResult)result;

                if (heightResult.Height != null)
                {
                    sb.Append("Height\n");
                    sb.AppendFormat("Value:\t\t{0}\n", heightResult.Height.Value);
                    sb.AppendFormat("Display Value:\t{0}\n", heightResult.Height.DisplayValue);
                    sb.AppendFormat("Uncertainty:\t{0}\n", heightResult.Height.Uncertainty);
                    sb.AppendFormat("Unit:\t\t{0}\n", heightResult.Height.LinearUnit);
                    sb.Append("\n");
                }
            }
            else if (result is MensurationLengthResult)
            {
                var lengthResult = (MensurationLengthResult)result;

                if (lengthResult.Distance != null)
                {
                    sb.Append("Distance\n");
                    sb.AppendFormat("Value:\t\t{0}\n", lengthResult.Distance.Value);
                    sb.AppendFormat("Display Value:\t{0}\n", lengthResult.Distance.DisplayValue);
                    sb.AppendFormat("Uncertainty:\t{0}\n", lengthResult.Distance.Uncertainty);
                    sb.AppendFormat("Unit:\t\t{0}\n", lengthResult.Distance.LinearUnit);
                    sb.Append("\n");
                }
                if (lengthResult.AzimuthAngle != null)
                {
                    sb.Append("Azimuth Angle\n");
                    sb.AppendFormat("Value:\t\t{0}\n", lengthResult.AzimuthAngle.Value);
                    sb.AppendFormat("Display Value:\t{0}\n", lengthResult.AzimuthAngle.DisplayValue);
                    sb.AppendFormat("Uncertainty:\t{0}\n", lengthResult.AzimuthAngle.Uncertainty);
                    sb.AppendFormat("Unit:\t\t{0}\n", lengthResult.AzimuthAngle.AngularUnit);
                    sb.Append("\n");
                }
                if (lengthResult.ElevationAngle != null)
                {
                    sb.Append("Elevation Angle\n");
                    sb.AppendFormat("Value:\t\t{0}\n", lengthResult.ElevationAngle.Value);
                    sb.AppendFormat("Display Value:\t{0}\n", lengthResult.ElevationAngle.DisplayValue);
                    sb.AppendFormat("Uncertainty:\t{0}\n", lengthResult.ElevationAngle.Uncertainty);
                    sb.AppendFormat("Unit:\t\t{0}\n", lengthResult.ElevationAngle.AngularUnit);
                    sb.Append("\n");
                }
            }
            else if (result is MensurationAreaResult)
            {
                var areaResult = (MensurationAreaResult)result;

                if (areaResult.Area != null)
                {
                    sb.Append("Area\n");
                    sb.AppendFormat("Value:\t\t{0}\n", areaResult.Area.Value);
                    sb.AppendFormat("Display Value:\t{0}\n", areaResult.Area.DisplayValue);
                    sb.AppendFormat("Uncertainty:\t{0}\n", areaResult.Area.Uncertainty);
                    sb.AppendFormat("Unit:\t\t{0}\n", areaResult.Area.AreaUnit);
                    sb.Append("\n");
                }

                if (areaResult.Perimeter != null)
                {
                    sb.Append("Perimeter\n");
                    sb.AppendFormat("Value:\t\t{0}\n", areaResult.Perimeter.Value);
                    sb.AppendFormat("Display Value:\t{0}\n", areaResult.Perimeter.DisplayValue);
                    sb.AppendFormat("Uncertainty:\t{0}\n", areaResult.Perimeter.Uncertainty);
                    sb.AppendFormat("Unit:\t\t{0}\n", areaResult.Perimeter.LinearUnit);
                    sb.Append("\n");
                }
            }

            var _ = new MessageDialog(sb.ToString(), caption).ShowAsync();
        }
        void mt_TaskCompleted(object sender, TaskEventArgs e)
        {
            StringBuilder sb = new StringBuilder();

            if (e is MensurationPointEventArgs)
            {
                MensurationPointResult result = (e as MensurationPointEventArgs).Result;

                if (result != null && result.Point != null)
                {
                    sb.Append(result.Point);
                    sb.Append("\n");
                }
            }
            else if (e is MensurationHeightEventArgs)
            {
                MensurationHeightResult result = (e as MensurationHeightEventArgs).Result;

                if (result != null)
                {
                    if (result.Height != null)
                    {
                        sb.Append("Height\n");
                        sb.AppendFormat("Value:\t\t{0}\n", result.Height.Value);
                        sb.AppendFormat("Display Value:\t{0}\n", result.Height.DisplayValue);
                        sb.AppendFormat("Uncertainty:\t{0}\n", result.Height.Uncertainty);
                        sb.AppendFormat("Unit:\t\t{0}\n", result.Height.LinearUnit);
                        sb.Append("\n");
                    }
                }
            }
            else if (e is MensurationLengthEventArgs)
            {
                MensurationLengthResult result = (e as MensurationLengthEventArgs).Result;

                if (result != null)
                {
                    if (result.Distance != null)
                    {
                        sb.Append("Distance\n");
                        sb.AppendFormat("Value:\t\t{0}\n", result.Distance.Value);
                        sb.AppendFormat("Display Value:\t{0}\n", result.Distance.DisplayValue);
                        sb.AppendFormat("Uncertainty:\t{0}\n", result.Distance.Uncertainty);
                        sb.AppendFormat("Unit:\t\t{0}\n", result.Distance.LinearUnit);
                        sb.Append("\n");
                    }
                    if (result.AzimuthAngle != null)
                    {
                        sb.Append("Azimuth Angle\n");
                        sb.AppendFormat("Value:\t\t{0}\n", result.AzimuthAngle.Value);
                        sb.AppendFormat("Display Value:\t{0}\n", result.AzimuthAngle.DisplayValue);
                        sb.AppendFormat("Uncertainty:\t{0}\n", result.AzimuthAngle.Uncertainty);
                        sb.AppendFormat("Unit:\t\t{0}\n", result.AzimuthAngle.AngularUnit);
                        sb.Append("\n");
                    }
                    if (result.ElevationAngle != null)
                    {
                        sb.Append("Elevation Angle\n");
                        sb.AppendFormat("Value:\t\t{0}\n", result.ElevationAngle.Value);
                        sb.AppendFormat("Display Value:\t{0}\n", result.ElevationAngle.DisplayValue);
                        sb.AppendFormat("Uncertainty:\t{0}\n", result.ElevationAngle.Uncertainty);
                        sb.AppendFormat("Unit:\t\t{0}\n", result.ElevationAngle.AngularUnit);
                        sb.Append("\n");
                    }
                }
            }
            else if (e is MensurationAreaEventArgs)
            {
                MensurationAreaResult result = (e as MensurationAreaEventArgs).Result;

                if (result != null)
                {
                    if (result.Area != null)
                    {
                        sb.Append("Area\n");
                        sb.AppendFormat("Value:\t\t{0}\n", result.Area.Value);
                        sb.AppendFormat("Display Value:\t{0}\n", result.Area.DisplayValue);
                        sb.AppendFormat("Uncertainty:\t{0}\n", result.Area.Uncertainty);
                        sb.AppendFormat("Unit:\t\t{0}\n", result.Area.AreaUnit);
                        sb.Append("\n");
                    }
                    if (result.Perimeter != null)
                    {
                        sb.Append("Perimeter\n");
                        sb.AppendFormat("Value:\t\t{0}\n", result.Perimeter.Value);
                        sb.AppendFormat("Display Value:\t{0}\n", result.Perimeter.DisplayValue);
                        sb.AppendFormat("Uncertainty:\t{0}\n", result.Perimeter.Uncertainty);
                        sb.AppendFormat("Unit:\t\t{0}\n", result.Perimeter.LinearUnit);
                        sb.Append("\n");
                    }
                }
            }

            MessageBox.Show(sb.ToString());
        }