particleMesh.updateWorldBoundManually();
    public void update(float secondsPassed) {        if (isActive()) {            currentTime += secondsPassed * getSpeed();            timePassed = currentTime - prevTime;            if (timePassed < precision) {                return;            }            prevTime = currentTime;            // Update the current rotation matrix if needed.            particleMesh.updateRotationMatrix();            if (currentTime >= getMinTime() && currentTime <= getMaxTime()) {                if (controlFlow) {                    if (currentTime - releaseTime > 1.0f) {                        released = 0;                        releaseTime = currentTime;                    }                    particlesToCreate = (int) ((float) particleMesh                            .getReleaseRate()                            * timePassed * (1.0f + releaseVariance                            * (FastMath.nextRandomFloat() - 0.5f)));                    if (particlesToCreate <= 0)                        particlesToCreate = 1;                    if (particleMesh.getReleaseRate() - released <= 0)                        particlesToCreate = 0;                }                particleMesh.updateInvScale();                int i = 0;                boolean dead = true;                while (i < particleMesh.getNumParticles()) {                    if (particleMesh.particles[i]                            .updateAndCheck(timePassed)                            && (!controlFlow || particlesToCreate > 0)) {                        if (particleMesh.particles[i].status == Particle.DEAD                                && getRepeatType() == RT_CLAMP) {                            ;                        } else {                            dead = false;                            if (controlFlow) {                                released++;                                particlesToCreate--;                            }                            particleMesh.recreateParticle(i);                            particleMesh.updateLocation(i);                        }                    } else {                        dead = false;                    }                    i++;                }                if (dead) {                    setActive(false);                }            }            if (particleMesh.getWorldBound() != null) {                particleMesh.updateModelBound();            }        }    }