예제 #1
0
        public override string ToString(AXPointInfo info)
        {
            var str = new StringBuilder();

            if (info == AXPointInfo.Input)
            {
                str.Append(Name + " ");
                str.Append(base.ToString(AXPointInfo.Time | AXPointInfo.CompetitionCoords10 | AXPointInfo.Altitude));
            }
            else
            {
                if ((info & AXPointInfo.Name) > 0)
                {
                    str.Append(Name + " ");
                }

                str.Append(base.ToString(info));

                if ((info & AXPointInfo.Radius) > 0 && Radius > 0)
                {
                    str.Append(Radius.ToString("0 "));
                }

                if ((info & AXPointInfo.Description) > 0 && Description != "")
                {
                    str.Append(Description + " ");
                }
            }

            return(str.ToString());
        }
예제 #2
0
        public string ToString(AXPointInfo info)
        {
            var str = new StringBuilder();

            if ((info & AXPointInfo.Name) > 0)
            {
                str.Append(string.Format("{0:00} ", Number));
            }

            if ((info & AXPointInfo.Date) > 0)
            {
                str.Append(Time.ToString("yyyy/MM/dd "));
            }

            if ((info & AXPointInfo.Time) > 0)
            {
                str.Append(Time.ToString("HH:mm:ss "));
            }

            if ((info & AXPointInfo.Declaration) > 0)
            {
                if (Type == DeclarationType.GoalName)
                {
                    str.Append(Name + " ");
                }
                else
                {
                    str.Append(string.Format("{0:0000}/{1:0000} ", Easting4Digits, Northing4Digits));
                }
            }

            if ((info & AXPointInfo.SomeAltitude) > 0)
            {
                if (double.IsNaN(Altitude))
                {
                    str.Append("- ");
                }
                else if (
                    ((info & AXPointInfo.Altitude) > 0 && AXPoint.DefaultAltitudeUnits == AltitudeUnits.Feet) ||
                    (info & AXPointInfo.AltitudeInFeet) > 0
                    )
                {
                    str.Append(string.Format("{0:0}ft ", Altitude * Physics.METERS2FEET));
                }
                else if (
                    ((info & AXPointInfo.Altitude) > 0 && AXPoint.DefaultAltitudeUnits == AltitudeUnits.Meters) ||
                    (info & AXPointInfo.AltitudeInMeters) > 0
                    )
                {
                    str.Append(string.Format("{0:0}m ", Altitude));
                }
                else
                {
                    throw new InvalidOperationException("Unknown altitude unit");
                }
            }

            return(str.ToString());
        }
예제 #3
0
        public virtual string ToString(AXPointInfo info)
        {
            var str = new StringBuilder();

            if ((info & AXPointInfo.Date) > 0)
            {
                if (Time > DateTime.MinValue)
                {
                    str.Append(Time.ToString("yyyy/MM/dd "));
                }
                else
                {
                    str.Append("----/--/-- ");
                }
            }

            if ((info & AXPointInfo.Time) > 0)
            {
                if (Time > DateTime.MinValue)
                {
                    str.Append(Time.ToString("HH:mm:ss "));
                }
                else
                {
                    str.Append("--:--:-- ");
                }
            }


            if ((info & AXPointInfo.Coords) > 0)
            {
                str.Append(string.Format("{0:000000},{1:0000000} ", Easting, Northing));
            }

            if ((info & AXPointInfo.CompetitionCoords10) > 0)
            {
                str.Append(string.Format("{0:00000}/{1:00000} ", Easting % 1e5, Northing % 1e5));
            }

            if ((info & AXPointInfo.CompetitionCoords8) > 0)
            {
                str.Append(string.Format("{0:0000}/{1:0000} ", (Easting % 1e5) / 10, (Northing % 1e5) / 10));
            }

            if (
                ((info & AXPointInfo.Altitude) > 0 && DefaultAltitudeUnits == AltitudeUnits.Feet) ||
                (info & AXPointInfo.AltitudeInFeet) > 0
                )
            {
                str.Append(string.Format("{0:0}ft ", Altitude * Physics.METERS2FEET));
            }
            else if (
                ((info & AXPointInfo.Altitude) > 0 && DefaultAltitudeUnits == AltitudeUnits.Meters) ||
                (info & AXPointInfo.AltitudeInMeters) > 0
                )
            {
                str.Append(string.Format("{0:0}m ", Altitude));
            }


            return(str.ToString());
        }