* @param t
* the transformation matrix
* @return the transformed bounds
*/
public Bbox transform(Matrix t) {
Coordinate c1 = transform(t, new Coordinate(x, y));
Coordinate c2 = transform(t, new Coordinate(x + width, y + height));
Coordinate origin = new Coordinate(Math.min(c1.getX(), c2.getX()), Math.min(c1.getY(), c2.getY()));
Coordinate endPoint = new Coordinate(Math.max(c1.getX(), c2.getX()), Math.max(c1.getY(), c2.getY()));
return new Bbox(origin.getX(), origin.getY(), endPoint.getX() - origin.getX(), endPoint.getY() - origin.getY());
}