import java.util.AbstractMap;
import java.util.Map;
public class Acceleration {
private double mass;
private Map.Entry<Double, Double> force;
private Velocity velocity;
private Onground onground;
private Map.Entry<Double, Double> acceleration;
public void updateMass(double mass) {
this.mass = mass;
if (getOnground())
acceleration = new AbstractMap.SimpleEntry<>((force.getKey() / mass), 0.0);
else
acceleration = new AbstractMap.SimpleEntry<>((force.getKey() / mass), (force.getValue() / mass));
velocity.updateAcceleration(acceleration);
}
public void updateForce(Map.Entry<Double, Double> force) {
this.force = force;
if (getOnground())
acceleration = new AbstractMap.SimpleEntry<>((force.getKey() / mass), 0.0);
else
acceleration = new AbstractMap.SimpleEntry<>((force.getKey() / mass), (force.getValue() / mass));
velocity.updateAcceleration(acceleration);
}
public Acceleration(Velocity velocity, Onground onground) {
this.onground = onground;
}
public Map.Entry<Double, Double> getAcceleration() {
return acceleration;
}
private boolean getOnground() {
return (this.onground.getOnground());
}
}