Search in sources :

Example 6 with CircleShape

use of org.jbox2d.collision.shapes.CircleShape in project opennars by opennars.

the class ParticleVelocityQueryCallback method launchBomb.

private void launchBomb(Vec2 position, Vec2 velocity) {
    if (bomb != null) {
        m_world.destroyBody(bomb);
        bomb = null;
    }
    // todo optimize this
    BodyDef bd = new BodyDef();
    bd.type = BodyType.DYNAMIC;
    bd.position.set(position);
    bd.bullet = true;
    bomb = m_world.createBody(bd);
    bomb.setLinearVelocity(velocity);
    CircleShape circle = new CircleShape();
    circle.m_radius = 0.3f;
    FixtureDef fd = new FixtureDef();
    fd.shape = circle;
    fd.density = 20f;
    fd.restitution = 0;
    Vec2 minV = new Vec2(position);
    Vec2 maxV = new Vec2(position);
    minV.subLocal(new Vec2(.3f, .3f));
    maxV.addLocal(new Vec2(.3f, .3f));
    aabb.lowerBound.set(minV);
    aabb.upperBound.set(maxV);
    bomb.createFixture(fd);
}
Also used : CircleShape(org.jbox2d.collision.shapes.CircleShape) Vec2(org.jbox2d.common.Vec2) BodyDef(org.jbox2d.dynamics.BodyDef) FixtureDef(org.jbox2d.dynamics.FixtureDef)

Aggregations

CircleShape (org.jbox2d.collision.shapes.CircleShape)6 Vec2 (org.jbox2d.common.Vec2)4 Body (org.jbox2d.dynamics.Body)3 BodyDef (org.jbox2d.dynamics.BodyDef)3 Test (org.junit.Test)3 PolygonShape (org.jbox2d.collision.shapes.PolygonShape)2 FixtureDef (org.jbox2d.dynamics.FixtureDef)2 World (org.jbox2d.dynamics.World)2 ManifoldPoint (org.jbox2d.collision.ManifoldPoint)1 Shape (org.jbox2d.collision.shapes.Shape)1 Fixture (org.jbox2d.dynamics.Fixture)1