Body boxBody = new Body("box", world);
GeomBox b = new GeomBox(4f, 4f, 4f);
boxBody.addGeom(b);
b.setPosition(new Vector3f(0f, 0f, 0f));
GeomBox d = new GeomBox(6f, 6f, 6f);
GeomTransform dt = new GeomTransform();
dt.setEncapsulatedGeom(d);
boxBody.addGeom(dt);
d.setPosition(new Vector3f(0f,-5f,0f));
boxBody.setPosition(10f, 5f, 0f);
boxBody.adjustMass(1f);
space.add(dt);
space.add(b);
Shape3D cube2Shape = new Shape3D(TestUtils.createCubeViaTriangles(0,0,0,4,true,true,true,1f));
TransformGroup cube2TG = new TransformGroup();
cube2TG.addChild(cube2Shape);
boundObjects.add(new BoundDisplayObject(new Xith3DDisplayObject(
cube2TG), b));
Shape3D boxShape = new Shape3D(TestUtils.createCubeViaTriangles(0,0,0,6,true,true,true,1f));
TransformGroup boxTG = new TransformGroup();
boxTG.addChild(boxShape);
boundObjects.add(new BoundDisplayObject(new Xith3DDisplayObject(
boxTG), dt));
GeomSphere sphereGeom = new GeomSphere(2f);
Body sphereBody = new Body("sphere", world, sphereGeom);
sphereBody.setPosition(0.5f, 1.8f, 2.3f);
sphereBody.adjustMass(1f);
space.addBodyGeoms(sphereBody);
Shape3D sphereShape = new Shape3D(TestUtils.createSphere(2f, 40), sphereApr);
TransformGroup sphereTG = new TransformGroup();
sphereTG.addChild(sphereShape);
boundObjects.add(new BoundDisplayObject(new Xith3DDisplayObject(
sphereTG), sphereGeom));
// Static ground geometry
PlaceableGeom planeGeom = new GeomBox("plane", 100f, 1f, 100f);
planeGeom.setPosition(0.1f, -7f, 0f);
space.add(planeGeom);
Shape3D planeShape = new Shape3D(TestUtils.createRectangleViaTriangles(0,
0, 0, 100, 1, 100, false, true, true, 1f), planeApr);
TransformGroup planeTG = new TransformGroup();
planeTG.addChild(planeShape);
boundObjects.add(new BoundDisplayObject(new Xith3DDisplayObject(
planeTG), planeGeom));
geomRoot.addChild(planeTG);
geomRoot.addChild(sphereTG);
geomRoot.addChild(boxTG);
geomRoot.addChild(cube2TG);