private void button2_Click(object sender, EventArgs e)
        {
            Parameters.setN_phi((int)numericUpDown6n_phi.Value);
            if (Parameters.getR_robot() != (int)numericUpDown2r_robot.Value)
            {
                Parameters.setR_robot((int)numericUpDown2r_robot.Value);
                environment.recalculateIndoorMap();
            }
            Parameters.setR_scan((int)numericUpDown1r_scan.Value);
            Parameters.setSgm_lmax((int)numericUpDown3sgm_lmax.Value);
            Parameters.setSgm_psi_deg((int)numericUpDown4sgm_psi.Value);
            Environment.setR_scanNoiseMode((byte)numericUpDown5scan_noise.Value);

            switch (currentMode)
            {
            case 1:
                setMode1();
                break;

            case 2:
                setMode2();
                break;

            case 3:
                setMode3();
                break;
            }
        }
Beispiel #2
0
 /// <summary>
 /// отрисовать все три центра
 /// отрисовать радиусы для scan0 и scan1
 /// </summary>
 /// <param name="preciseMapBmp"></param>
 /// <param name="graphics"></param>
 private void interfaceDrawing(Bitmap preciseMapBmp, Graphics graphics)
 {
     try
     {
         Pen pen;
         int X0 = crosslinker.getXY0()[0];
         int Y0 = crosslinker.getXY0()[1];
         int X1 = crosslinker.getXY1()[0];
         int Y1 = crosslinker.getXY1()[1];
         int X2 = crosslinker.getXY2()[0];
         int Y2 = crosslinker.getXY2()[1];
         if ((X0 >= 0) && (Y0 >= 0))
         {
             preciseMapBmp.SetPixel(X0, Y0, Parameters.startColor);
             pen = new Pen(Parameters.startColor);
             graphics.DrawEllipse(pen, X0 - Parameters.getR_scan(), Y0 - Parameters.getR_scan(), Parameters.getD_scan(), Parameters.getD_scan());
             graphics.DrawEllipse(pen, X0 - Parameters.getR_robot(), Y0 - Parameters.getR_robot(), Parameters.getD_robot(), Parameters.getD_robot());
         }
         if ((X1 >= 0) && (Y1 >= 0))
         {
             preciseMapBmp.SetPixel(X1, Y1, Parameters.finishColor);
             pen = new Pen(Parameters.finishColor);
             graphics.DrawEllipse(pen, X1 - Parameters.getR_scan(), Y1 - Parameters.getR_scan(), Parameters.getD_scan(), Parameters.getD_scan());
             graphics.DrawEllipse(pen, X1 - Parameters.getR_robot(), Y1 - Parameters.getR_robot(), Parameters.getD_robot(), Parameters.getD_robot());
         }
         if ((X2 >= 0) && (Y2 >= 0))
         {
             preciseMapBmp.SetPixel(X2, Y2, Parameters.routeColor);
         }
     }
     catch (Exception ex) { }
     mouseMoveMap = new PixelMap(preciseMapBmp);
     mainForm.drawBitmapOnPictureBox1(preciseMapBmp);
 }
        /// <summary>
        /// Рассчитывает карту indoor-среды для заданной карты.
        /// </summary>
        /// <param name="map"></param>
        /// <returns></returns>
        private static PixelMap calculateIndoorMap(PixelMap map)
        {
            Bitmap     preciseIndoorMapBmp = map.GetBitmap();
            Pen        pen      = new Pen(Parameters.wallColor);
            SolidBrush brush    = new SolidBrush(Parameters.wallColor);
            Graphics   graphics = Graphics.FromImage(preciseIndoorMapBmp);
            int        r        = Parameters.getR_robot() + Parameters.getR_robot() / 2; //увеличенные размеры робота, для того, чтобы на угловых участках траектории сглаживание происходило без проблем
            int        d        = Parameters.getD_robot() + Parameters.getR_robot();

            for (int i = 0; i < map.Width; i++)
            {
                for (int j = 0; j < map.Height; j++)
                {
                    if (map[i, j].Color == Parameters.wallColor)
                    {
                        try
                        {
                            FillCircle(ref graphics, ref pen, ref brush, r, d, ref i, ref j);
                        }
                        catch (Exception ex) { }
                    }
                }
            }
            //    preciseIndoorMapBmp.Save("C:\\Adocuments\\Library\\Clapeyron_ind\\task6 map creation\\PreciseIndoorMap13.png");
            PixelMap preciseIndoorMap = new PixelMap(preciseIndoorMapBmp);

            return(preciseIndoorMap);
        }
 /// <summary>
 /// Требуемый метод для поддержки конструктора — не изменяйте
 /// содержимое этого метода с помощью редактора кода.
 /// </summary>
 private void InitializeComponent()
 {
     System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
     this.panel1 = new System.Windows.Forms.Panel();
     this.panel3 = new System.Windows.Forms.Panel();
     this.label8 = new System.Windows.Forms.Label();
     this.numericUpDown4sgm_psi    = new System.Windows.Forms.NumericUpDown();
     this.numericUpDown5scan_noise = new System.Windows.Forms.NumericUpDown();
     this.numericUpDown6n_phi      = new System.Windows.Forms.NumericUpDown();
     this.numericUpDown3sgm_lmax   = new System.Windows.Forms.NumericUpDown();
     this.numericUpDown2r_robot    = new System.Windows.Forms.NumericUpDown();
     this.numericUpDown1r_scan     = new System.Windows.Forms.NumericUpDown();
     this.label7       = new System.Windows.Forms.Label();
     this.label6       = new System.Windows.Forms.Label();
     this.label5       = new System.Windows.Forms.Label();
     this.label4       = new System.Windows.Forms.Label();
     this.label3       = new System.Windows.Forms.Label();
     this.label2       = new System.Windows.Forms.Label();
     this.button2      = new System.Windows.Forms.Button();
     this.label1       = new System.Windows.Forms.Label();
     this.pictureBox1  = new System.Windows.Forms.PictureBox();
     this.button1      = new System.Windows.Forms.Button();
     this.radioButton3 = new System.Windows.Forms.RadioButton();
     this.radioButton2 = new System.Windows.Forms.RadioButton();
     this.radioButton1 = new System.Windows.Forms.RadioButton();
     this.panel2       = new System.Windows.Forms.Panel();
     this.panel1.SuspendLayout();
     this.panel3.SuspendLayout();
     ((System.ComponentModel.ISupportInitialize)(this.numericUpDown4sgm_psi)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.numericUpDown5scan_noise)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.numericUpDown6n_phi)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.numericUpDown3sgm_lmax)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.numericUpDown2r_robot)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1r_scan)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
     this.SuspendLayout();
     //
     // panel1
     //
     this.panel1.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
     this.panel1.Controls.Add(this.panel3);
     this.panel1.Controls.Add(this.label1);
     this.panel1.Controls.Add(this.pictureBox1);
     this.panel1.Controls.Add(this.button1);
     this.panel1.Controls.Add(this.radioButton3);
     this.panel1.Controls.Add(this.radioButton2);
     this.panel1.Controls.Add(this.radioButton1);
     resources.ApplyResources(this.panel1, "panel1");
     this.panel1.Name = "panel1";
     //
     // panel3
     //
     this.panel3.BackColor = System.Drawing.SystemColors.ScrollBar;
     this.panel3.Controls.Add(this.label8);
     this.panel3.Controls.Add(this.numericUpDown4sgm_psi);
     this.panel3.Controls.Add(this.numericUpDown5scan_noise);
     this.panel3.Controls.Add(this.numericUpDown6n_phi);
     this.panel3.Controls.Add(this.numericUpDown3sgm_lmax);
     this.panel3.Controls.Add(this.numericUpDown2r_robot);
     this.panel3.Controls.Add(this.numericUpDown1r_scan);
     this.panel3.Controls.Add(this.label7);
     this.panel3.Controls.Add(this.label6);
     this.panel3.Controls.Add(this.label5);
     this.panel3.Controls.Add(this.label4);
     this.panel3.Controls.Add(this.label3);
     this.panel3.Controls.Add(this.label2);
     this.panel3.Controls.Add(this.button2);
     resources.ApplyResources(this.panel3, "panel3");
     this.panel3.Name = "panel3";
     //
     // label8
     //
     resources.ApplyResources(this.label8, "label8");
     this.label8.BackColor = System.Drawing.SystemColors.InactiveCaption;
     this.label8.Name      = "label8";
     //
     // numericUpDown6n_phi
     //
     resources.ApplyResources(this.numericUpDown6n_phi, "numericUpDown6n_phi");
     this.numericUpDown6n_phi.Name    = "numericUpDown6n_phi";
     this.numericUpDown6n_phi.Maximum = 500;
     this.numericUpDown6n_phi.Minimum = 10;
     this.numericUpDown6n_phi.Value   = Parameters.getN_phi();
     //
     // numericUpDown2r_robot
     //
     resources.ApplyResources(this.numericUpDown2r_robot, "numericUpDown2r_robot");
     this.numericUpDown2r_robot.Name    = "numericUpDown2r_robot";
     this.numericUpDown2r_robot.Maximum = 100;
     this.numericUpDown2r_robot.Minimum = 0;
     this.numericUpDown2r_robot.Value   = Parameters.getR_robot();
     //
     // numericUpDown1r_scan
     //
     resources.ApplyResources(this.numericUpDown1r_scan, "numericUpDown1r_scan");
     this.numericUpDown1r_scan.Name    = "numericUpDown1r_scan";
     this.numericUpDown1r_scan.Maximum = 300;
     this.numericUpDown1r_scan.Minimum = 0;
     this.numericUpDown1r_scan.Value   = Parameters.getR_scan();
     //
     // numericUpDown4sgm_psi
     //
     resources.ApplyResources(this.numericUpDown4sgm_psi, "numericUpDown4sgm_psi");
     this.numericUpDown4sgm_psi.Name    = "numericUpDown4sgm_psi";
     this.numericUpDown4sgm_psi.Maximum = 300;
     this.numericUpDown4sgm_psi.Minimum = 0;
     this.numericUpDown4sgm_psi.Value   = Parameters.getSgm_psi_deg();
     //
     // numericUpDown5scan_noise
     //
     resources.ApplyResources(this.numericUpDown5scan_noise, "numericUpDown5scan_noise");
     this.numericUpDown5scan_noise.Name    = "numericUpDown5scan_noise";
     this.numericUpDown5scan_noise.Maximum = 3;
     this.numericUpDown5scan_noise.Minimum = 0;
     this.numericUpDown5scan_noise.Value   = Environment.getR_scanNoiseMode();
     //
     // numericUpDown3sgm_lmax
     //
     resources.ApplyResources(this.numericUpDown3sgm_lmax, "numericUpDown3sgm_lmax");
     this.numericUpDown3sgm_lmax.Name    = "numericUpDown3sgm_lmax";
     this.numericUpDown3sgm_lmax.Maximum = 50;
     this.numericUpDown3sgm_lmax.Minimum = 0;
     this.numericUpDown3sgm_lmax.Value   = Parameters.getSgm_lmax();
     //
     // label7
     //
     resources.ApplyResources(this.label7, "label7");
     this.label7.Name = "label7";
     //
     // label6
     //
     resources.ApplyResources(this.label6, "label6");
     this.label6.Name = "label6";
     //
     // label5
     //
     resources.ApplyResources(this.label5, "label5");
     this.label5.Name = "label5";
     //
     // label4
     //
     resources.ApplyResources(this.label4, "label4");
     this.label4.Name = "label4";
     //
     // label3
     //
     resources.ApplyResources(this.label3, "label3");
     this.label3.Name = "label3";
     //
     // label2
     //
     resources.ApplyResources(this.label2, "label2");
     this.label2.Name = "label2";
     //
     // button2
     //
     resources.ApplyResources(this.button2, "button2");
     this.button2.Name = "button2";
     this.button2.UseVisualStyleBackColor = true;
     this.button2.Click += new System.EventHandler(this.button2_Click);
     //
     // label1
     //
     resources.ApplyResources(this.label1, "label1");
     this.label1.Name = "label1";
     //
     // pictureBox1
     //
     this.pictureBox1.BackColor = System.Drawing.SystemColors.ControlDark;
     resources.ApplyResources(this.pictureBox1, "pictureBox1");
     this.pictureBox1.Name    = "pictureBox1";
     this.pictureBox1.TabStop = false;
     //
     // button1
     //
     resources.ApplyResources(this.button1, "button1");
     this.button1.BackColor = System.Drawing.SystemColors.ControlLight;
     this.button1.Name      = "button1";
     this.button1.UseVisualStyleBackColor = false;
     //
     // radioButton3
     //
     resources.ApplyResources(this.radioButton3, "radioButton3");
     this.radioButton3.Name    = "radioButton3";
     this.radioButton3.TabStop = true;
     this.radioButton3.UseVisualStyleBackColor = true;
     radioButton3.CheckedChanged += radioButton3_CheckedChanged;
     //
     // radioButton2
     //
     resources.ApplyResources(this.radioButton2, "radioButton2");
     this.radioButton2.Name    = "radioButton2";
     this.radioButton2.TabStop = true;
     this.radioButton2.UseVisualStyleBackColor = true;
     radioButton2.CheckedChanged += radioButton2_CheckedChanged;
     //
     // radioButton1
     //
     resources.ApplyResources(this.radioButton1, "radioButton1");
     this.radioButton1.Name    = "radioButton1";
     this.radioButton1.TabStop = true;
     this.radioButton1.UseVisualStyleBackColor = true;
     radioButton1.Checked         = true;
     radioButton1.CheckedChanged += radioButton1_CheckedChanged;
     //
     // panel2
     //
     resources.ApplyResources(this.panel2, "panel2");
     this.panel2.Name = "panel2";
     //
     // MainForm
     //
     this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
     this.BackColor     = System.Drawing.SystemColors.ActiveCaption;
     resources.ApplyResources(this, "$this");
     this.Controls.Add(this.panel1);
     this.Controls.Add(this.panel2);
     this.Name        = "MainForm";
     this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
     this.panel1.ResumeLayout(false);
     this.panel1.PerformLayout();
     this.panel3.ResumeLayout(false);
     this.panel3.PerformLayout();
     ((System.ComponentModel.ISupportInitialize)(this.numericUpDown4sgm_psi)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.numericUpDown5scan_noise)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.numericUpDown6n_phi)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.numericUpDown3sgm_lmax)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.numericUpDown2r_robot)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1r_scan)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
     this.ResumeLayout(false);
 }