summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/engine/rooms/clipper.js
diff options
context:
space:
mode:
authorJulie Lala <jules@okfoc.us>2014-07-23 18:51:51 -0400
committerJulie Lala <jules@okfoc.us>2014-07-23 18:51:51 -0400
commit5e0c67b5d70d90ea12b207e3c442378559f8f219 (patch)
treeebda69733e3362243d5f2225425acc51fd8ef34d /public/assets/javascripts/rectangles/engine/rooms/clipper.js
parentc7e27b743eb8488ec71adaf365056ff500b458ab (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.js8
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