/** * Subtracts the values of the given source vector from those of this vector and returns them in store. * * @param source * @param store * the vector to store the result in for return. If null, a new vector object is created and returned. * @return (this.x - source.x, this.y - source.y) * @throws NullPointerException * if source is null. */ @Override public Vector2 subtract(final ReadOnlyVector2 source, final Vector2 store) { return subtract(source.getX(), source.getY(), store); }
@Test public void testSubtract() { final Vector2 vec1 = new Vector2(); final Vector2 vec2 = new Vector2(Vector2.ONE); vec1.subtractLocal(1, 2); assertEquals(new Vector2(-1, -2), vec1); vec1.subtractLocal(-1, -2); assertEquals(Vector2.ZERO, vec1); vec1.zero(); vec1.subtractLocal(vec2); assertEquals(Vector2.NEG_ONE, vec1); vec1.zero(); final Vector2 vec3 = vec1.subtract(vec2, new Vector2()); assertEquals(Vector2.ZERO, vec1); assertEquals(Vector2.NEG_ONE, vec3); final Vector2 vec4 = vec1.subtract(1, 0, null); assertEquals(Vector2.ZERO, vec1); assertEquals(Vector2.NEG_UNIT_X, vec4); }
/** * Subtracts the values of the given source vector from those of this vector and returns them in store. * * @param source * @param store * the vector to store the result in for return. If null, a new vector object is created and returned. * @return (this.x - source.x, this.y - source.y) * @throws NullPointerException * if source is null. */ @Override public Vector2 subtract(final ReadOnlyVector2 source, final Vector2 store) { return subtract(source.getX(), source.getY(), store); }