public static IndexData <A> TransOperation <A>(double[] mat, IndexData <A> src) { var neww = mat[0] * src.W + mat[1] * src.H + mat[2]; var newh = mat[3] * src.W + mat[4] * src.H + mat[5]; src.W = (int)neww; src.H = (int)newh; return(src); }
public static List <IndexData <A>[]> ToIndexData <A>(List <A[]> src) { var hmax = src.Count(); var wmax = src[0].Length; List <IndexData <A>[]> res = new List <IndexData <A>[]>(); for (int j = 0; j < hmax; j++) { IndexData <A>[] tempidx = new IndexData <A> [wmax]; for (int i = 0; i < wmax; i++) { tempidx[i] = new IndexData <A>(i, j, src[j][i]); } res.Add(tempidx); } return(res); }