Arc2D arc = new Arc2D.Float(xAxis - sashWidth, yAxis - sashWidth,
2 * sashWidth, 2 * sashWidth,
startAngle, extentAngle, Arc2D.PIE);
AffineTransform transformation = new AffineTransform();
transformation.translate(doorOrWindow.getX(), doorOrWindow.getY());
transformation.rotate(doorOrWindow.getAngle());
transformation.translate(modelMirroredSign * -doorOrWindow.getWidth() / 2, -doorOrWindow.getDepth() / 2);
PathIterator it = arc.getPathIterator(transformation);
GeneralPath sashShape = new GeneralPath();
sashShape.append(it, false);