Example usage for com.badlogic.gdx.physics.box2d World getContactList

List of usage examples for com.badlogic.gdx.physics.box2d World getContactList

Introduction

In this page you can find the example usage for com.badlogic.gdx.physics.box2d World getContactList.

Prototype

public Array<Contact> getContactList() 

Source Link

Usage

From source file:com.altportalgames.colorrain.utils.Box2DDebugRenderer.java

License:Apache License

private void renderBodies(World world) {
    for (Iterator<Body> iter = world.getBodies(); iter.hasNext();) {
        Body body = iter.next();//from   w w  w .j  a va2  s  . co m
        Transform transform = body.getTransform();
        int len = body.getFixtureList().size();
        List<Fixture> fixtures = body.getFixtureList();
        for (int i = 0; i < len; i++) {
            Fixture fixture = fixtures.get(i);
            if (body.isActive() == false)
                drawShape(fixture, transform, SHAPE_NOT_ACTIVE);
            else if (body.getType() == BodyType.StaticBody)
                drawShape(fixture, transform, SHAPE_STATIC);
            else if (body.getType() == BodyType.KinematicBody)
                drawShape(fixture, transform, SHAPE_KINEMATIC);
            else if (body.isAwake() == false)
                drawShape(fixture, transform, SHAPE_NOT_AWAKE);
            else
                drawShape(fixture, transform, SHAPE_AWAKE);
        }
    }

    for (Iterator<Joint> iter = world.getJoints(); iter.hasNext();) {
        Joint joint = iter.next();
        drawJoint(joint);
    }

    int len = world.getContactList().size();
    for (int i = 0; i < len; i++)
        drawContact(world.getContactList().get(i));
}

From source file:com.blindtigergames.werescrewed.debug.SBox2DDebugRenderer.java

License:Apache License

private void renderBodies(World world) {
    renderer.begin(ShapeType.Line);

    if (drawBodies || drawAABBs) {
        for (Iterator<Body> iter = world.getBodies(); iter.hasNext();) {
            Body body = iter.next();//  ww  w .  j  a v  a  2s  .  co m
            if (body.isActive() || drawInactiveBodies)
                renderBody(body);
        }
    }

    if (drawJoints) {
        for (Iterator<Joint> iter = world.getJoints(); iter.hasNext();) {
            Joint joint = iter.next();
            drawJoint(joint);
        }
    }
    renderer.end();

    if (Gdx.gl10 != null)
        Gdx.gl10.glPointSize(3);
    renderer.begin(ShapeType.Point);
    int len = world.getContactList().size();
    for (int i = 0; i < len; i++)
        drawContact(world.getContactList().get(i));
    renderer.end();
    if (Gdx.gl10 != null)
        Gdx.gl10.glPointSize(1);
}

From source file:com.me.mygdxgame.Entities.MydebugRenderer.java

License:Apache License

private void renderBodies(World world) {
    renderer.begin(ShapeType.Line);

    if (drawBodies || drawAABBs) {
        world.getBodies(bodies);//w w w  . j a  v a 2s . c  om
        for (Iterator<Body> iter = bodies.iterator(); iter.hasNext();) {
            Body body = iter.next();
            if (body.isActive() || drawInactiveBodies)
                renderBody(body);
        }
    }

    if (drawJoints) {
        world.getJoints(joints);
        for (Iterator<Joint> iter = joints.iterator(); iter.hasNext();) {
            Joint joint = iter.next();
            drawJoint(joint);
        }
    }
    renderer.end();
    if (drawContacts) {
        if (Gdx.gl10 != null)
            Gdx.gl10.glPointSize(3);
        renderer.begin(ShapeType.Point);
        for (Contact contact : world.getContactList())
            drawContact(contact);
        renderer.end();
        if (Gdx.gl10 != null)
            Gdx.gl10.glPointSize(1);
    }
}

From source file:org.box2d.r3.gdx.GDXBox2DDebugRenderer.java

License:Apache License

private void renderBodies(final World world) {
    this.renderer.begin(ShapeType.Line);

    if (this.drawBodies || this.drawAABBs) {
        world.getBodies(bodies);//www  .  j ava  2 s . co m
        for (final Iterator<Body> iter = bodies.iterator(); iter.hasNext();) {
            final Body body = iter.next();
            if (body.isActive() || this.drawInactiveBodies) {
                this.renderBody(body);
            }
        }
    }

    if (this.drawJoints) {
        world.getJoints(joints);
        for (final Iterator<Joint> iter = joints.iterator(); iter.hasNext();) {
            final Joint joint = iter.next();
            this.drawJoint(joint);
        }
    }
    this.renderer.end();
    if (this.drawContacts) {
        this.renderer.begin(ShapeType.Point);
        for (final Contact contact : world.getContactList()) {
            this.drawContact(contact);
        }
        this.renderer.end();
    }
}