package uk.org.squirm3.model; public class MobilePoint implements IPhysicalPoint { private float x, y, dx, dy, ddx, ddy; public MobilePoint() { this(0, 0, 0, 0, 0, 0); } public MobilePoint(final float x, final float y, final float dx, final float dy, final float ddx, final float ddy) { setPositionX(x); setPositionY(y); setSpeedX(dx); setSpeedY(dy); setAccelerationX(ddx); setAccelerationY(ddy); } public MobilePoint(final IPhysicalPoint physicalPoint) { setPositionX(physicalPoint.getPositionX()); setPositionY(physicalPoint.getPositionY()); setSpeedX(physicalPoint.getSpeedX()); setSpeedY(physicalPoint.getSpeedY()); setAccelerationX(physicalPoint.getAccelerationX()); setAccelerationY(physicalPoint.getAccelerationY()); } @Override public float getPositionX() { return x; } @Override public float getPositionY() { return y; } @Override public float getSpeedX() { return dx; } @Override public float getSpeedY() { return dy; } @Override public float getAccelerationX() { return ddx; } @Override public float getAccelerationY() { return ddy; } @Override public boolean setPositionX(final float x) { this.x = x; return true; } @Override public boolean setPositionY(final float y) { this.y = y; return true; } @Override public boolean setSpeedX(final float dx) { this.dx = dx; return true; } @Override public boolean setSpeedY(final float dy) { this.dy = dy; return true; } @Override public boolean setAccelerationX(final float ddx) { this.ddx = ddx; return true; } @Override public boolean setAccelerationY(final float ddy) { this.ddy = ddy; return true; } @Override public IPhysicalPoint copy() { return new MobilePoint(x, y, dx, dy, ddx, ddy); } }