示例#1
0
        private void DrawByRobot(IRécupérationSegments modeRécupération)
        {
            double largeur, longueur;

            try
            {
                largeur  = Convert.ToDouble(mTextBoxLargeur.Text.Replace('.', ','));
                longueur = Convert.ToDouble(mTextBoxLongueur.Text.Replace('.', ','));
            }
            catch (Exception)
            {
                MessageBox.Show("Largeur et/ou longueur incorrect(s).", "Erreur format");
                return;
            }
            if (largeur <= 0 || longueur <= 0)
            {
                MessageBox.Show("La largeur et la longueur doivent être supérieur à 0", "Erreur valeur");
                return;
            }

            mCanvasDessin.Children.Clear();
            dessinerListeSegment(Draw.getInstance().GetList(modeRécupération));
            if (GestionRobot.getInstance().brick != null)
            {
                GestionRobot.getInstance().Draw(largeur, longueur, modeRécupération);
            }
        }
示例#2
0
文件: Draw.cs 项目: nuwud/Kinect-Lego
        /// <summary>
        /// Renvoie la liste de segments et vide la liste
        /// </summary>
        /// <returns>La liste de segments</returns>
        public List <Segment> GetListAndClear(IRécupérationSegments modeRécupération)
        {
            List <Segment> MaSegmentListe = GetList(modeRécupération);

            ListeSegments.Clear();

            return(MaSegmentListe);
        }
示例#3
0
        /// <summary>
        /// Ordonne au robot de dessiner les segments actuellement dans la liste
        /// </summary>
        /// <param name="largeur">Largeur de la feuille</param>
        /// <param name="longueur">Longueur de la feuille</param>
        public async void Draw(double largeur, double longueur, IRécupérationSegments modeRécupération)
        {
            // Si c'est le premier dessin, on initialise la position du robot au milieu de la feuille
            x = largeur / 2;
            y = longueur / 2;
            orientationActuelle = 0;

            // Récupération de la liste des segments actuelle & dessiner les segments
            List <Segment> ListeSegments = DrawKinect.Draw.getInstance().GetListAndClear(modeRécupération);

            // Dessine chaque segment
            foreach (Segment s in ListeSegments)
            {
                await DrawSegment(s, largeur, longueur);
            }
        }
示例#4
0
文件: Draw.cs 项目: nuwud/Kinect-Lego
 /// <summary>
 /// Récupère la liste à dessiner par le robot
 /// </summary>
 /// <returns></returns>
 public List <Segment> GetList(IRécupérationSegments modeRécupération)
 {
     return(modeRécupération.GetList(ListeSegments));
 }