예제 #1
0
 private static void AddParticle(Particle p, bool ceckDuplicates)
 {
     //if (!Zones.ContainsKey(p.Zone))
     //    Zones.Add(p.Zone, new List<Particle>());
     //Zones[p.Zone].Add(p);
     List<Particle> value;
     if (!Zones.TryGetValue(p.Zone, out value))
     {
         value = new List<Particle>();
         Zones.Add(p.Zone, value);
     }
     if (ceckDuplicates)
         if(value.Contains(p))
             return;
     value.Add(p);
 }
예제 #2
0
 Particle Clone()
 {
     if (this.direction != Vector3d.Zero)
     {
         this.direction.Unitize();
         Particle clone = new Particle(this.Position, (this.direction * step_size));
         this.direction = Vector3d.Zero;
         return clone;
     }
     else
         return null;
 }
예제 #3
0
 private static void AddParticle(Particle p)
 {
     AddParticle(p, false);
 }