コード例 #1
0
        private void btnAddCircPath_Click(object sender, EventArgs e)
        {
            double      altitude          = Convert.ToDouble(txtDiaAddCircPathAlt.Text);
            double      circle_radius     = Convert.ToDouble(txtDiaAddCircPathRadius.Text);
            double      start_angle       = Convert.ToDouble(txtCircStartAngle.Text);
            double      circle_span       = Convert.ToDouble(txtCircSpan.Text);
            int         circle_num_points = Convert.ToInt16(txtCircNumPoints.Text);
            bool        startend          = chkCircHome.Checked;
            CircularGUI gui = new CircularGUI();

            gui.CW          = startend;
            gui.name        = txtDiaAddCircPathName.Text;
            gui.lat         = _lat;
            gui.lon         = _lon;
            gui.altitude    = altitude;
            gui.radius      = circle_radius;
            gui.numpoints   = circle_num_points;
            gui.fullcirc    = chkFullCircle.Checked;
            gui.start_angle = start_angle;
            gui.circ_span   = circle_span;
            gui.startend    = startend;
            gui.poimode     = chkCircPOI.Checked;
            gui.poiname     = cmbCircPOI.GetItemText(cmbCircPOI.SelectedItem);
            _path.circgui   = gui;
            _path.selected  = false;
            _path.visible   = true;
            _gmap.ReDrawgMap();
            this.Close();
        }
コード例 #2
0
        public dialogAddCircularPath(Waypoint_Path_Gen wpg, GMAP gmap, Options options, Path path, double lat, double lon)
        {
            // Save arguments
            _wp      = new WayPoints();
            _wpg     = wpg;
            _gmap    = gmap;
            _options = options;
            _lat     = lat;
            _lon     = lon;

            // Initialize Dialog

            InitializeComponent();

            // Setup Dialog GUI

            txtDiaAddCircPathAlt.Text = Convert.ToString(_options.def_altitude);
            cmbCircPOI.Items.Clear();
            cmbCircPOI.Items.Add("");
            for (int i = 0; i < _wpg.POICount(); i++)
            {
                cmbCircPOI.Items.Add(_wpg.POIPointAt(i).name);
            }

            // See if new path

            if (path == null)
            {
                _new_path   = true;
                _first_pass = true;
                _path       = new Path();
                //_current_path_index = -1;
                _path.visible  = true;
                _path.selected = false;
                double      altitude          = Convert.ToDouble(txtDiaAddCircPathAlt.Text);
                double      circle_radius     = Convert.ToDouble(txtDiaAddCircPathRadius.Text);
                double      start_angle       = Convert.ToDouble(txtCircStartAngle.Text);
                double      circle_span       = Convert.ToDouble(txtCircSpan.Text);
                int         circle_num_points = Convert.ToInt16(txtCircNumPoints.Text);
                bool        startend          = chkCircHome.Checked;
                CircularGUI gui = new CircularGUI();
                gui.CW          = startend;
                gui.name        = txtDiaAddCircPathName.Text;
                gui.lat         = _lat;
                gui.lon         = _lon;
                gui.altitude    = altitude;
                gui.radius      = circle_radius;
                gui.numpoints   = circle_num_points;
                gui.fullcirc    = chkFullCircle.Checked;
                gui.start_angle = start_angle;
                gui.circ_span   = circle_span;
                gui.startend    = startend;
                gui.poimode     = chkCircPOI.Checked;
                gui.poiname     = cmbCircPOI.GetItemText(cmbCircPOI.SelectedItem);
                _path.circgui   = gui;
            }
            else
            {
                _build         = false;
                _new_path      = false;
                _path          = path;
                _path.selected = false;
                _path.visible  = true;
                //_current_path_index = _path.id;
                CircularGUI gui = _path.circgui;
                txtDiaAddCircPathName.Text = gui.name;
                _lat = gui.lat;
                _lon = gui.lon;
                txtDiaAddCircPathAlt.Text    = Convert.ToString(gui.altitude);
                txtDiaAddCircPathRadius.Text = Convert.ToString(gui.radius);
                txtCircNumPoints.Text        = Convert.ToString(gui.numpoints);
                chkFullCircle.Checked        = gui.fullcirc;
                txtCircStartAngle.Text       = Convert.ToString(gui.start_angle);
                txtCircSpan.Text             = Convert.ToString(gui.circ_span);
                chkCircHome.Checked          = gui.startend;
                chkCircPOI.Checked           = gui.poimode;
                int index = cmbCircPOI.Items.IndexOf(gui.poiname);
                cmbCircPOI.SelectedIndex = index;
                _first_pass = false;
                _build      = true;
            }
            buildCircPath();
        }