@staticmethod
    def _extrap_2d(axis, delta, npoints, arr, new_shape, normal):
        imax, jmax = arr.shape
        new_arr = numpy.zeros(new_shape)

        if axis == 'i':
            if delta > 0:
                v = arr[-1, :]
                if imax > 1:
                    dv = (v - arr[-2, :]) * delta
                else:
                    dv = normal * delta
                indx = imax
                new_arr[0:indx, :] = arr
                for i in range(npoints):
                    new_arr[indx+i, :] = v + (i+1)*dv
            else:
                v = arr[0, :]
                if imax > 1:
                    dv = (arr[1, :] - v) * delta
                else:
                    dv = normal * -delta
                indx = npoints
                new_arr[indx:, :] = arr
                indx -= 1
                for i in range(npoints):
                    new_arr[indx-i, :] = v + (i+1)*dv
        else:
            if delta > 0:
                v = arr[:, -1]
                if jmax > 1:
                    dv = (v - arr[:, -2]) * delta
                else:
                    dv = normal * delta
                indx = jmax
                new_arr[:, 0:indx] = arr
                for j in range(npoints):
                    new_arr[:, indx+j] = v + (j+1)*dv
            else:
                v = arr[:, 0]
                if jmax > 1:
                    dv = (arr[:, 1] - v) * delta
                else:
                    dv = normal * -delta
                indx = npoints
                new_arr[:, indx:] = arr
                indx -= 1
                for j in range(npoints):
                    new_arr[:, indx-j] = v + (j+1)*dv
        return new_arr
Handles the contents of the filter being changed.
dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/openmdao.lib/src/openmdao/lib/datatypes/domain/grid.py/GridCoordinates._extrap_2d--crossover with--dataset/ETHPy150Open enthought/traitsui/traitsui/wx/table_model.py/TableModel._filter_modified