@Override public Vector2 clone() { return new Vector2(this); }
@Override public Vector2 clone() { return new Vector2(this); }
/** * @return An instance of Vector2 that is intended for temporary use in calculations and so forth. Multiple calls to * the method should return instances of this class that are not currently in use. */ public final static Vector2 fetchTempInstance() { if (MathConstants.useMathPools) { return Vector2.VEC_POOL.fetch(); } else { return new Vector2(); } }
/** * @return An instance of Vector2 that is intended for temporary use in calculations and so forth. Multiple calls to * the method should return instances of this class that are not currently in use. */ public final static Vector2 fetchTempInstance() { if (MathConstants.useMathPools) { return Vector2.VEC_POOL.fetch(); } else { return new Vector2(); } }
public Vector2 getValue() { return new Vector2(_xPanel.getDoubleValue(), _yPanel.getDoubleValue()); }
@Override public Vector2 get2DPoint(final ReadOnlyVector3 worldLocation, final Vector2 store) { final Vector2 rVal = store != null ? store : new Vector2(); return rVal.set(worldLocation.getX(), worldLocation.getZ()); } }
@Override public Vector2 get2DPoint(final ReadOnlyVector3 worldLocation, final Vector2 store) { final Vector2 rVal = store != null ? store : new Vector2(); return rVal.set(worldLocation.getX(), worldLocation.getY()); } }
@Override public Vector2 get2DPoint(final ReadOnlyVector3 worldLocation, final Vector2 store) { final Vector2 rVal = store != null ? store : new Vector2(); return rVal.set(worldLocation.getX(), worldLocation.getZ()); } }
@Test public void testScaleAdd() { final Vector2 vec1 = new Vector2(1, 1); final Vector2 vec2 = vec1.scaleAdd(2.0, new Vector2(1, 2), null); final Vector2 vec2B = vec1.scaleAdd(2.0, new Vector2(1, 2), new Vector2()); assertEquals(new Vector2(3.0, 4.0), vec2); assertEquals(new Vector2(3.0, 4.0), vec2B); vec1.scaleAddLocal(2.0, new Vector2(1, 2)); assertEquals(vec2, vec1); }
@Override public Vector2 get2DPoint(final ReadOnlyVector3 worldLocation, final Vector2 store) { final Vector2 rVal = store != null ? store : new Vector2(); return rVal.set(worldLocation.getX(), worldLocation.getY()); } }
private void setTextureData() { final Vector2 tex = new Vector2(); final Vector3 vert = new Vector3(); for (int i = 0; i < NUM_POINTS; i++) { BufferUtils.populateFromBuffer(vert, _meshData.getVertexBuffer(), i); if (Math.abs(vert.getZ()) < _sideLength) { tex.setX(0.5 * (1.0 + Math.atan2(vert.getY(), vert.getX()) * MathUtils.INV_PI)); } else { tex.setX(0.5); } tex.setY(Math.acos(vert.getZ() / _sideLength) * MathUtils.INV_PI); _meshData.getTextureCoords(0).getBuffer().put((float) tex.getX()).put((float) tex.getY()); } }
@Test public void testRotate() { final Vector2 vec1 = new Vector2(1, 0); final Vector2 vec2 = vec1.rotateAroundOrigin(MathUtils.HALF_PI, true, null); final Vector2 vec2B = vec1.rotateAroundOrigin(MathUtils.HALF_PI, false, new Vector2()); assertEquals(new Vector2(0, -1), vec2); assertEquals(new Vector2(0, 1), vec2B); vec2.rotateAroundOriginLocal(MathUtils.HALF_PI, false); assertEquals(new Vector2(1, 0), vec2); vec2.rotateAroundOriginLocal(MathUtils.PI, true); assertTrue(Math.abs(vec2.getX() - -1) <= MathUtils.EPSILON); assertTrue(Math.abs(vec2.getY() - 0) <= MathUtils.EPSILON); }
@Test public void testPoolSize() { final ObjectPool<Vector2> pool = ObjectPool.create(Vector2.class, 10); for (int i = 0; i < 11; i++) { pool.release(new Vector2()); } } }
@Test public void testClone() { final Vector2 vec1 = new Vector2(0, 0); final Vector2 vec2 = vec1.clone(); assertEquals(vec1, vec2); assertNotSame(vec1, vec2); }
@Test public void testPolarAngle() { final Vector2 vec1 = new Vector2(); assertTrue(0.0 == vec1.getPolarAngle()); vec1.set(1.0, 0.0); // 0 assertTrue(Math.abs(0 - vec1.getPolarAngle()) <= MathUtils.EPSILON); vec1.set(0.0, 1.0); // -HALF_PI assertTrue(Math.abs(-MathUtils.HALF_PI - vec1.getPolarAngle()) <= MathUtils.EPSILON); vec1.set(-1.0, 0.0); // -PI assertTrue(Math.abs(-MathUtils.PI - vec1.getPolarAngle()) <= MathUtils.EPSILON); vec1.set(0, -1.0); // HALF_PI assertTrue(Math.abs(MathUtils.HALF_PI - vec1.getPolarAngle()) <= MathUtils.EPSILON); }