summaryrefslogtreecommitdiff
path: root/assets/javascripts/rectangles/util/sort.js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/javascripts/rectangles/util/sort.js')
-rw-r--r--assets/javascripts/rectangles/util/sort.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/assets/javascripts/rectangles/util/sort.js b/assets/javascripts/rectangles/util/sort.js
new file mode 100644
index 0000000..8ece95f
--- /dev/null
+++ b/assets/javascripts/rectangles/util/sort.js
@@ -0,0 +1,37 @@
+function sort_rooms_by_position(list){
+ return list.sort(function(a,b){
+ return compare_rect_position(a.rect, b.rect)
+ })
+}
+
+function sort_rects_by_position(list){
+ return list.sort(compare_rect_position)
+}
+
+function compare_rect_position(a,b){
+ if (a.x.a < b.x.a) {
+ return -1
+ }
+ if (a.x.a > b.x.a) {
+ return 1
+ }
+ if (a.y.a < b.y.a) {
+ return -1
+ }
+ if (a.y.a > b.y.a) {
+ return 1
+ }
+ return 0
+}
+
+function sort_rects_by_area(list){
+ return list.map(function(r){ return [r.area(), r] }).sort(function(a,b){
+ if (a[0] < b[0]) {
+ return 1
+ }
+ if (a[0] > b[0]) {
+ return -1
+ }
+ return 0
+ }).map(function(r){ return r[1] })
+}