var FRONT = 0x1, BACK = 0x2, LEFT = 0x4, RIGHT = 0x8, FLOOR = 0x10, CEILING = 0x20 FRONT_BACK = FRONT | BACK, LEFT_RIGHT = LEFT | RIGHT, FLOOR_CEILING = FLOOR | CEILING var height_min = 200, height_max = 2000, side_min = 10, side_max = 5000, resize_margin = 8 var painting_distance_from_wall = 8 var wall_rotation = {} wall_rotation[FRONT] = PI wall_rotation[BACK] = 0 wall_rotation[LEFT] = HALF_PI wall_rotation[RIGHT] = -HALF_PI function sidesToString(sides){ var s = "" if (sides & FRONT) s += "front " if (sides & BACK) s += "back " if (sides & LEFT) s += "left " if (sides & RIGHT) s += "right " return s } function side_direction (a, b) { if (a === b) return 0 if ((a | b) === FRONT_BACK) return 0 if ((a | b) === LEFT_RIGHT) return 0 switch (a) { case FRONT: return b & LEFT ? -1 : 1 case BACK: return b & RIGHT ? -1 : 1 case LEFT: return b & FRONT ? -1 : 1 case RIGHT: return b & BACK ? -1 : 1 } }