public void apply(Vec vx, Vec vy) { VecArrayFloat3 v3x = (VecArrayFloat3) vx; VecArrayFloat3 v3y = (VecArrayFloat3) vy; float[][][] x = v3x.getArray(); float[][][] y = v3y.getArray(); float[][][] z = copy(x); _s3.apply(z); zero(y); applyLhs(_w1, _wp, _p2, _p3, z, y); _s3.applyTranspose(y); }
public void apply(Vec vx, Vec vy) { VecArrayFloat3 v3x = (VecArrayFloat3) vx; VecArrayFloat3 v3y = (VecArrayFloat3) vy; float[][][] x = v3x.getArray(); float[][][] y = v3y.getArray(); float[][][] z = copy(x); // float[][][] p = copy(x); // VecArrayFloat3 v3p = new VecArrayFloat3(p); // zero(p); _s3.apply(z); zero(y); applyLhs(z, y); // laplacian operator // applyLhs(copy(y),p); //biharmonic operator screenLhs(_mk, z, y); // screen points // v3y.add(1f,v3p,1f); _s3.applyTranspose(y); }