AffineTransform rotation = new AffineTransform();
rotation.setToRotation(getNorthDirection(), getX(), getY());
this.pointsCache = new float[4][2];
PathIterator it = pieceRectangle.getPathIterator(rotation);
for (int i = 0; i < this.pointsCache.length; i++) {
it.currentSegment(this.pointsCache [i]);
it.next();
}
}
return new float [][] {this.pointsCache [0].clone(), this.pointsCache [1].clone(),
this.pointsCache [2].clone(), this.pointsCache [3].clone()};