/** * @return same as multiplyLocal(-1) */ public Vector2 negateLocal() { return multiplyLocal(-1); }
/** * @return same as multiplyLocal(-1) */ public Vector2 negateLocal() { return multiplyLocal(-1); }
/** * Converts this vector into a unit vector by dividing it internally by its length. If the length is 0, (ie, if the * vector is 0, 0) then no action is taken. * * @return this vector for chaining */ public Vector2 normalizeLocal() { final double lengthSq = lengthSquared(); if (Math.abs(lengthSq) > MathUtils.EPSILON) { return multiplyLocal(MathUtils.inverseSqrt(lengthSq)); } return this; }
/** * Converts this vector into a unit vector by dividing it internally by its length. If the length is 0, (ie, if the * vector is 0, 0) then no action is taken. * * @return this vector for chaining */ public Vector2 normalizeLocal() { final double lengthSq = lengthSquared(); if (Math.abs(lengthSq) > MathUtils.EPSILON) { return multiplyLocal(MathUtils.inverseSqrt(lengthSq)); } return this; }
/** * Multiply and store a Vector2 in-buffer. * * @param toMult * the vector to multiply against * @param buf * the buffer to find the Vector2 within * @param index * the position (in terms of vectors, not floats) of the vector to multiply */ public static void multInBuffer(final ReadOnlyVector2 toMult, final FloatBuffer buf, final int index) { final Vector2 temp = Vector2.fetchTempInstance(); populateFromBuffer(temp, buf, index); temp.multiplyLocal(toMult); setInBuffer(temp, buf, index); Vector2.releaseTempInstance(temp); }
/** * Multiply and store a Vector2 in-buffer. * * @param toMult * the vector to multiply against * @param buf * the buffer to find the Vector2 within * @param index * the position (in terms of vectors, not floats) of the vector to multiply */ public static void multInBuffer(final ReadOnlyVector2 toMult, final FloatBuffer buf, final int index) { final Vector2 temp = Vector2.fetchTempInstance(); populateFromBuffer(temp, buf, index); temp.multiplyLocal(toMult); setInBuffer(temp, buf, index); Vector2.releaseTempInstance(temp); }
final double sin = MathUtils.sin(angle); final Vector2 radial = new Vector2(cos, sin); radialInner.set(radial).multiplyLocal(_innerRadius); radialFraction.set(radial).multiplyLocal(shellCount); radialFraction.multiplyLocal(_radius - _innerRadius).addLocal(radialInner); BufferUtils.setInBuffer(radialFraction, _meshData.getVertexBuffer(), i);
@Test public void testMultiply() { final Vector2 vec1 = new Vector2(1, -1); final Vector2 vec2 = vec1.multiply(2.0, null); final Vector2 vec2B = vec1.multiply(2.0, new Vector2()); assertEquals(new Vector2(2.0, -2.0), vec2); assertEquals(new Vector2(2.0, -2.0), vec2B); vec2.multiplyLocal(0.5); assertEquals(new Vector2(1.0, -1.0), vec2); final Vector2 vec3 = vec1.multiply(vec2, null); final Vector2 vec3B = vec1.multiply(vec2, new Vector2()); assertEquals(Vector2.ONE, vec3); assertEquals(Vector2.ONE, vec3B); final Vector2 vec4 = vec1.multiply(2, 3, null); final Vector2 vec4B = vec1.multiply(2, 3, new Vector2()); assertEquals(new Vector2(2, -3), vec4); assertEquals(new Vector2(2, -3), vec4B); vec1.multiplyLocal(0.5, 0.5); assertEquals(new Vector2(0.5, -0.5), vec1); vec1.multiplyLocal(vec2); assertEquals(new Vector2(0.5, 0.5), vec1); }
+ (txScale - leftOffTx - rightOffTx) * ((float) x / (radialVerts - 1)); final Vector2 radial = new Vector2(MathUtils.sin(angle), MathUtils.cos(angle)); radialOffset.set(radial).multiplyLocal(_innerRadius); radialEdge.set(radial).multiplyLocal(bottomBrd).addLocal(radialOffset); BufferUtils.setInBuffer(radialEdge, vertBuffer, i); texCoord.set(radialU, tyOff + tyScale - topOffTx); radialEdge.set(radial).multiplyLocal(_radius - _innerRadius - topBrd).addLocal(radialOffset); BufferUtils.setInBuffer(radialEdge, vertBuffer, i); texCoord.set(radialU, tyOff + bottomOffTx); radialEdge.set(radial).multiplyLocal(_radius - _innerRadius).addLocal(radialOffset); BufferUtils.setInBuffer(radialEdge, vertBuffer, i); texCoord.set(radialU, tyOff); final float radialU2 = txOff + leftOffTx; final Vector2 radial = new Vector2(MathUtils.sin(angle), MathUtils.cos(angle)); radialOffset.set(radial).multiplyLocal(leftBrd); final float radialU2 = txOff + txScale; final Vector2 radial = new Vector2(MathUtils.sin(angle), MathUtils.cos(angle)); radialOffset.set(radial).multiplyLocal(rightBrd);