Ejemplo n.º 1
0
        /// Устанавливает ориентацию либо по букве (N, E, S или W), либо по числу, представляющему азимут
        public void SetOrientation(String s)
        {
            char[] nesw = new char[] { 'N', 'E', 'S', 'W' };
            if (0 == s.IndexOfAny(nesw))
            {
                for (FixedOrientation fo = FixedOrientation.First; fo <= FixedOrientation.Last; ++fo)
                {
                    int index = (int)fo;
                    if (nesw[index] == s[0])
                    {
                        SetFixedOrientation(fo);
                    }
                }
                return;
            }

            m_fAzimuth = 0.0;
            try {
                m_fAzimuth = Convert.ToDouble(s);
            } catch (FormatException) {
                // В случае ошибки преобразования получим нуль
            }
        }
Ejemplo n.º 2
0
        /// Устанавливает ориентацию по сторонам света.
        public void SetFixedOrientation(FixedOrientation fixedOrientation)
        {
            double[] fixedAngles = new double[] { 0.0, 90.0, 180.0, 270.0 };

            m_fAzimuth = fixedAngles[(int)fixedOrientation];
        }