writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.HEIGHT, i, piece.getHeight());
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.MOVABLE, i, piece.isMovable());
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW, i, piece.isDoorOrWindow());
if (piece.isDoorOrWindow()) {
// Write properties specific to doors and windows
DoorOrWindow doorOrWindow = (DoorOrWindow)piece;
if (doorOrWindow.getWallThickness() != 1) {
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_WALL_THICKNESS, i,
doorOrWindow.getWallThickness() * doorOrWindow.getDepth());
}
if (doorOrWindow.getWallDistance() != 0) {
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_WALL_DISTANCE, i,
doorOrWindow.getWallDistance() * doorOrWindow.getDepth());
}
Sash [] sashes = doorOrWindow.getSashes();
if (sashes.length > 0) {
String sashXAxis = "";
String sashYAxis = "";
String sashWidth = "";
String sashStartAngle = "";
String sashEndAngle = "";
for (int sashIndex = 0; sashIndex < sashes.length; sashIndex++) {
if (sashIndex > 0) {
sashXAxis += " ";
sashYAxis += " ";
sashWidth += " ";
sashStartAngle += " ";
sashEndAngle += " ";
}
sashXAxis += sashes [sashIndex].getXAxis() * doorOrWindow.getWidth();
sashYAxis += sashes [sashIndex].getYAxis() * doorOrWindow.getDepth();
sashWidth += sashes [sashIndex].getWidth() * doorOrWindow.getWidth();
sashStartAngle += Math.round(Math.toDegrees(sashes [sashIndex].getStartAngle()) * 100) / 100;
sashEndAngle += Math.round(Math.toDegrees(sashes [sashIndex].getEndAngle()) * 100) / 100;
}
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_SASH_X_AXIS, i, sashXAxis);
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_SASH_Y_AXIS, i, sashYAxis);