package org.jbox2d.testbed.tests;
import org.jbox2d.collision.shapes.CircleShape;
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.particle.ParticleGroupDef;
import org.jbox2d.particle.ParticleType;
import org.jbox2d.testbed.framework.TestbedTest;
public class Particles extends TestbedTest {
@Override
public String getTestName() {
return "Particles";
}
@Override
public void initTest(boolean deserialized) {
{
{
PolygonShape shape = new PolygonShape();
Vec2[] vertices =
new Vec2[] {new Vec2(-40, -10), new Vec2(40, -10), new Vec2(40, 0), new Vec2(-40, 0)};
shape.set(vertices, 4);
getGroundBody().createFixture(shape, 0.0f);
}
{
PolygonShape shape = new PolygonShape();
Vec2[] vertices =
{new Vec2(-40, -1), new Vec2(-20, -1), new Vec2(-20, 20), new Vec2(-40, 30)};
shape.set(vertices, 4);
getGroundBody().createFixture(shape, 0.0f);
}
{
PolygonShape shape = new PolygonShape();
Vec2[] vertices = {new Vec2(20, -1), new Vec2(40, -1), new Vec2(40, 30), new Vec2(20, 20)};
shape.set(vertices, 4);
getGroundBody().createFixture(shape, 0.0f);
}
}
m_world.setParticleRadius(0.35f);
m_world.setParticleDamping(0.2f);
{
CircleShape shape = new CircleShape();
shape.m_p.set(0, 30);
shape.m_radius = 20;
ParticleGroupDef pd = new ParticleGroupDef();
pd.flags = ParticleType.b2_waterParticle;
pd.shape = shape;
m_world.createParticleGroup(pd);
}
{
BodyDef bd = new BodyDef();
bd.type = BodyType.DYNAMIC;
Body body = m_world.createBody(bd);
CircleShape shape = new CircleShape();
shape.m_p.set(0, 80);
shape.m_radius = 5;
body.createFixture(shape, 0.5f);
}
}
}