Beispiel #1
0
 public void Draw()
 {
     graphics.DrawRectangle(new Pen(Brushes.Green), boundary.x - boundary.width,
                            boundary.y - boundary.height,
                            boundary.width * 2, boundary.height * 2);
     if (divided)
     {
         QTne.Draw();
         QTnw.Draw();
         QTse.Draw();
         QTsw.Draw();
     }
 }
Beispiel #2
0
        public void InsertParticle(Particle p)
        {
            if (!boundary.ContainsPoint(new Point((int)p.position.X, (int)p.position.Y)))
            {
                return;
            }

            if (points.Count < capacity)
            {
                points.Add(p);
            }
            else
            {
                if (!divided)
                {
                    Subdivide();
                    divided = true;
                }
                QTne.InsertParticle(p);
                QTnw.InsertParticle(p);
                QTse.InsertParticle(p);
                QTsw.InsertParticle(p);
            }
        }