@Override
    protected void controlUpdate(float tpf) {
        CollisionShape newShape = body.getCollisionShape();
        Vector3f newScale = newShape.getScale();
        if (myShape != newShape || !oldScale.equals(newScale)) {
            myShape = newShape;
            oldScale.set(newScale);

            Node node = (Node) spatial;
            node.detachChild(geom);

            geom = DebugShapeFactory.getDebugShape(myShape);
            geom.setName(body.toString());

            node.attachChild(geom);
        }
        geom.setMaterial(debugAppState.DEBUG_YELLOW);

        body.getPhysicsLocation(location);
        body.getPhysicsRotation(rotation);
        applyPhysicsTransform(location, rotation);
    }
Update this control. Invoked once per frame during the logical-state
update, provided the control is enabled and added to a scene. Should be
invoked only by a subclass or by AbstractControl.

@param tpf the time interval between frames (in seconds, &ge;0)
jme3-jbullet/src/main/java/com/jme3/bullet/debug/BulletGhostObjectDebugControl.java