summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/models/rect.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/rectangles/models/rect.js')
-rw-r--r--public/assets/javascripts/rectangles/models/rect.js8
1 files changed, 8 insertions, 0 deletions
diff --git a/public/assets/javascripts/rectangles/models/rect.js b/public/assets/javascripts/rectangles/models/rect.js
index 3f94740..a08176a 100644
--- a/public/assets/javascripts/rectangles/models/rect.js
+++ b/public/assets/javascripts/rectangles/models/rect.js
@@ -42,6 +42,7 @@
Rect.prototype.assign = function(r) {
this.x.assign(r.x)
this.y.assign(r.y)
+ return this
}
Rect.prototype.center = function(){
return new vec2(this.x.midpoint(), this.y.midpoint())
@@ -95,6 +96,9 @@
Rect.prototype.contains = function(x,y){
return this.x.contains(x) && this.y.contains(y)
}
+ Rect.prototype.contains_point = function(p){
+ return this.x.contains(p.x) && this.y.contains(p.y)
+ }
Rect.prototype.containsDisc = function(x,y,r){
return this.x.containsDisc(x,r) && this.y.containsDisc(y,r)
}
@@ -111,6 +115,9 @@
Rect.prototype.eq = function(r){
return this.x.eq(r.x) && this.y.eq(r.y)
}
+ Rect.prototype.fits = function(v){
+ return this.x.length() >= v.a && this.y.length() >= v.b
+ }
Rect.prototype.zero = function(){
this.a.zero()
this.b.zero()
@@ -133,6 +140,7 @@
}
Rect.prototype.width = function(){ return this.x.length() }
Rect.prototype.height = function(){ return this.y.length() }
+ Rect.prototype.delta = function(){ return new vec2( this.x.magnitude(), this.y.magnitude() ) }
Rect.prototype.toString = function(){
var sides = sidesToString(this.sides)
var s = "[" + this.x.toString() + " " + this.y.toString() + "] " + sides