filter(f) {
        const g = this._grid;
        this._gu.iterate((x, y) => {
            let n = 0;
            for (let yi0 = 0; yi0 < 2; ++yi0) {
                for (let xi0 = 0; xi0 < 2; ++xi0) {
                    n += g
                        .cell(x + xi0, y + yi0)
                        .reduce((prev, curr) => curr.s > PIXEL_STATE_DEAD ? LightMap.alphaSum(prev, curr.v) : prev, 0);
                }
            }
            n /= 4;
            f(x >> 1, y >> 1, n);
        });
    }
/**
     * This function will transmit all intensity values from the internal grid to another virtual grid having this size : (gdw, gdh)
     * The parameter function "f" will be call for each cell within the (gdw, gdh) range
     * @param f [function) f(x, y, intensity) the resulting intensity at the resulting cell coordinates
     */
This function will transmit all intensity values from the internal grid to another virtual grid having this size : (gdw, gdh)
The parameter function "f" will be call for each cell within the (gdw, gdh) range
@param f [function) f(x, y, intensity) the resulting intensity at the resulting cell coordinates
This function will transmit all intensity values from the internal grid to another virtual grid having this size : ( gdw gdh ) The parameter function " f " will be call for each cell within the ( gdw gdh ) range @param f [ function ) f ( x y intensity ) the resulting intensity at the resulting cell coordinates
filter(f) {
        const g = this._grid;
        this._gu.iterate((x, y) => {
            let n = 0;
            for (let yi0 = 0; yi0 < 2; ++yi0) {
                for (let xi0 = 0; xi0 < 2; ++xi0) {
                    n += g
                        .cell(x + xi0, y + yi0)
                        .reduce((prev, curr) => curr.s > PIXEL_STATE_DEAD ? LightMap.alphaSum(prev, curr.v) : prev, 0);
                }
            }
            n /= 4;
            f(x >> 1, y >> 1, n);
        });
    }
filter ( f ) { const g = this . _grid ; this . _gu . iterate ( ( x , y ) => { let n = 0 ; for ( let yi0 = 0 ; yi0 < 2 ; ++ yi0 ) { for ( let xi0 = 0 ; xi0 < 2 ; ++ xi0 ) { n += g . cell ( x + xi0 , y + yi0 ) . reduce ( ( prev , curr ) => curr . s > PIXEL_STATE_DEAD ? LightMap . alphaSum ( prev , curr . v ) : prev , 0 ) ; } } n /= 4 ; f ( x >> 1 , y >> 1 , n ) ; } ) ; }
This function will transmit all intensity values from the internal grid to another virtual grid having this size : (gdw, gdh)
 The parameter function "f" will be call for each cell within the (gdw, gdh) range
 @param f [function) f(x, y, intensity) the resulting intensity at the resulting cell coordinates
This function will transmit all intensity values from the internal grid to another virtual grid having this size : ( gdw gdh ) The parameter function " f " will be call for each cell within the ( gdw gdh ) range @param f [ function ) f ( x y intensity ) the resulting intensity at the resulting cell coordinates