public void computeCorners() { if (!cornersSet) { PVector c1 = new PVector(0, 0); PVector c2 = new PVector(size.x, 0); PVector c3 = new PVector(size.x, -size.y); PVector c4 = new PVector(0, -size.y); // PVector pos = new PVector(matrix.m02, matrix.m12); // PVector c1 = PVector.add(pos, new PVector(0, 0)); // PVector c2 = PVector.add(pos, new PVector(size.x, 0)); // PVector c3 = PVector.add(pos, new PVector(size.x, size.y)); // PVector c4 = PVector.add(pos, new PVector(0, size.y)); PVector c1T = new PVector(); PVector c2T = new PVector(); PVector c3T = new PVector(); PVector c4T = new PVector(); matrix.mult(c1, c1T); matrix.mult(c2, c2T); matrix.mult(c3, c3T); matrix.mult(c4, c4T); corners[0] = c1T; corners[1] = c2T; corners[2] = c3T; corners[3] = c4T; } }
coordSysSvgInv.mult(new PVector(x,y),result);//transform PVector by multiplying it to the inverse svg coord. sys. return result;