package org.openpixi.pixi.physics.movement.boundary;
import org.openpixi.pixi.physics.force.Force;
import org.openpixi.pixi.physics.particles.Particle;
import org.openpixi.pixi.physics.solver.Solver;
/**
* If the particle leaves at one side, it reappears at the
* other opposite side of the simulation area.
*/
public class PeriodicBoundary extends ParticleBoundary {
public PeriodicBoundary(double xoffset, double yoffset) {
super(xoffset, yoffset);
}
@Override
public void apply(Solver solver, Force force, Particle particle, double timeStep) {
particle.addX(-xoffset);
particle.addPrevX(-xoffset);
particle.addY(-yoffset);
particle.addPrevY(-yoffset);
}
}