import java.util.*;
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;
acceleration = (getOnground() ? new AbstractMap.SimpleEntry<>((force.getKey() / mass), 0.0)
: new AbstractMap.SimpleEntry<>((force.getKey() / mass), (force.getValue() / mass)));
velocity.updateAcceleration(acceleration);
}
public void updateForce(Map.Entry<Double, Double> force) {
this.force = force;
acceleration = (getOnground() ? new AbstractMap.SimpleEntry<>((force.getKey() / mass), 0.0)
: 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());
}
}