Package org.openpixi.pixi.physics.collision.detectors

Source Code of org.openpixi.pixi.physics.collision.detectors.AllParticles

package org.openpixi.pixi.physics.collision.detectors;

import java.util.ArrayList;
import org.openpixi.pixi.physics.*;
import org.openpixi.pixi.physics.collision.util.Pair;
import org.openpixi.pixi.physics.particles.Particle;

public class AllParticles extends Detector{
 
  private ArrayList<Pair<Particle, Particle>> overlappedPairs = new ArrayList<Pair<Particle, Particle>>();
 
  private ArrayList<Particle> particlelist = new ArrayList<Particle>();
 
  public AllParticles(ArrayList<Particle> parlist) {
    particlelist.clear();
   
    for(int i = 0; i < parlist.size(); i++) {
      Particle par = (Particle) parlist.get(i);
      this.particlelist.add(par);
    }
   
  }
 
  public void run() {
    for(int i = 0; i < (particlelist.size() - 1); i++)
    {
      Particle p1 = (Particle) particlelist.get(i);
     
      for(int k = (i + 1); k < particlelist.size(); k++)
      {
        Particle p2 = (Particle) particlelist.get(k);
        //double distance = Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));
       
        if(Math.abs(p1.getX() - p2.getX()) <= (p1.getRadius() + p2.getRadius())) {
         
          if(Math.abs(p1.getY() - p2.getY()) <= (p1.getRadius() + p2.getRadius())) {
           
            Pair<Particle, Particle> pair = new Pair<Particle, Particle>(p1, p2);
            overlappedPairs.add(pair);
          }         
        }
      }
     
    }
  }
 
  public ArrayList<Pair<Particle, Particle>> getOverlappedPairs() {
   
    return overlappedPairs;
  }

}
TOP

Related Classes of org.openpixi.pixi.physics.collision.detectors.AllParticles

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.