@Override
    protected void controlUpdate(float tpf) {

        if (lodCalculator == null) {
            return;
        }

        if (!enabled) {
            if (!hasResetLod) {
                // this will get run once
                hasResetLod = true;
                lodCalculator.turnOffLod();
            }
        }

        // if we use a camera from render
        if (isUseRenderCamera()) {
            updateLOD(lodCalculator);
        }
        // if we use set cameras
        else if (!cameras.isEmpty()) {

            // need to have count of positions the same with count of cameras
            if (cameraLocations.size() != cameras.size()) {
                cameraLocations.clear();
                for (int i = 0; i < cameras.size(); i++) {
                    cameraLocations.add(new Vector3f());
                }
            }

            // we need to update current camera positions
            for (int i = 0; i < cameras.size(); i++) {
                cameraLocations.get(i).set(cameras.get(i).getLocation());
            }

            updateLOD(cameraLocations, lodCalculator);
        }
    }
@return true to use camera from the render viewport
jme3-terrain/src/main/java/com/jme3/terrain/geomipmap/TerrainLodControl.java