diff options
| author | Julie Lala <jules@okfoc.us> | 2014-07-23 18:51:51 -0400 |
|---|---|---|
| committer | Julie Lala <jules@okfoc.us> | 2014-07-23 18:51:51 -0400 |
| commit | 5e0c67b5d70d90ea12b207e3c442378559f8f219 (patch) | |
| tree | ebda69733e3362243d5f2225425acc51fd8ef34d /public/assets/javascripts/rectangles/engine/rooms/clipper.js | |
| parent | c7e27b743eb8488ec71adaf365056ff500b458ab (diff) | |
basic culling tests
Diffstat (limited to 'public/assets/javascripts/rectangles/engine/rooms/clipper.js')
| -rw-r--r-- | public/assets/javascripts/rectangles/engine/rooms/clipper.js | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/public/assets/javascripts/rectangles/engine/rooms/clipper.js b/public/assets/javascripts/rectangles/engine/rooms/clipper.js index cd45479..365ae8c 100644 --- a/public/assets/javascripts/rectangles/engine/rooms/clipper.js +++ b/public/assets/javascripts/rectangles/engine/rooms/clipper.js @@ -41,7 +41,7 @@ app.tube("clip") } - var rooms, regions + var regions // Given a set of overlapping rooms, clip any intersections, then cull any duplicate polygons base.solve_rects = function(){ @@ -59,6 +59,7 @@ // Reset the clipping/culling states of each of the rooms base.reset_rects = function(){ + regions = [] Rooms.forEach(function(room){ room.reset() }) @@ -67,7 +68,6 @@ // Compare each room to the rooms it overlaps, and subdivide base.clip_rects = function(){ var rooms = Rooms.sorted_by_position() - regions = [] var left, right for (var i = 0; i < rooms.length; i++) { @@ -89,6 +89,8 @@ rooms[i].regions = rooms[i].regions.filter(function(r){ return !!r }) regions = regions.concat(rooms[i].regions) } + + return regions } // Find overlapping regions (of the same size) and dedupe @@ -125,6 +127,8 @@ ttx.data = new Tree (regions[i].y.a, [regions[i]]) } } + + return regions } return base |
