package org.jbox2d.testbed.tests; import org.jbox2d.collision.shapes.CircleShape; import org.jbox2d.collision.shapes.EdgeShape; import org.jbox2d.collision.shapes.PolygonShape; import org.jbox2d.common.Vec2; import org.jbox2d.dynamics.Body; import org.jbox2d.dynamics.BodyDef; import org.jbox2d.dynamics.BodyType; import org.jbox2d.testbed.framework.TestbedTest; public class EdgeTest extends TestbedTest { @Override public void initTest(boolean deserialized) { { Body ground = getGroundBody(); Vec2 v1 = new Vec2(-10.0f, 0.0f), v2 = new Vec2(-7.0f, -2.0f), v3 = new Vec2(-4.0f, 0.0f); Vec2 v4 = new Vec2(0.0f, 0.0f), v5 = new Vec2(4.0f, 0.0f), v6 = new Vec2(7.0f, 2.0f), v7 = new Vec2(10.0f, 0.0f); EdgeShape shape = new EdgeShape(); shape.set(v1, v2); shape.m_hasVertex3 = true; shape.m_vertex3.set(v3); ground.createFixture(shape, 0.0f); shape.set(v2, v3); shape.m_hasVertex0 = true; shape.m_hasVertex3 = true; shape.m_vertex0.set(v1); shape.m_vertex3.set(v4); ground.createFixture(shape, 0.0f); shape.set(v3, v4); shape.m_hasVertex0 = true; shape.m_hasVertex3 = true; shape.m_vertex0.set(v2); shape.m_vertex3.set(v5); ground.createFixture(shape, 0.0f); shape.set(v4, v5); shape.m_hasVertex0 = true; shape.m_hasVertex3 = true; shape.m_vertex0.set(v3); shape.m_vertex3.set(v6); ground.createFixture(shape, 0.0f); shape.set(v5, v6); shape.m_hasVertex0 = true; shape.m_hasVertex3 = true; shape.m_vertex0.set(v4); shape.m_vertex3.set(v7); ground.createFixture(shape, 0.0f); shape.set(v6, v7); shape.m_hasVertex0 = true; shape.m_vertex0.set(v5); ground.createFixture(shape, 0.0f); } { BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC; bd.position.set(-0.5f, 0.6f); bd.allowSleep = false; Body body = m_world.createBody(bd); CircleShape shape = new CircleShape(); shape.m_radius = 0.5f; body.createFixture(shape, 1.0f); } { BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC; bd.position.set(1.0f, 0.6f); bd.allowSleep = false; Body body = m_world.createBody(bd); PolygonShape shape = new PolygonShape(); shape.setAsBox(0.5f, 0.5f); body.createFixture(shape, 1.0f); } } @Override public String getTestName() { return "Edge Test"; } }