Constructor
new BoundingBox(left, top, right, bottom)
Parameters:
Name | Type | Description |
---|---|---|
left |
Number
|
The left position of x-axis. |
top |
Number
|
The top position of y-axis. |
right |
Number
|
The right position of x-axis. |
bottom |
Number
|
The bottom position of y-axis. |
Methods
difference(other) → {Vector}
Returns this
subtract other
.
Parameters:
Name | Type | Description |
---|---|---|
other |
BoundingBox
|
getArea() → {Number}
Returns the area of this
.
Returns:
- Type:
-
Number
area
getBoundingBox() → {BoundingBox}
Resolve this object down to a BoundingBox instance. Since this instance is already a boundingbox, it returns itself.
getCenteredOnPosition(other) → {Vector}
Returns a position, which if this
is set to, this
will be centered on other
.
Parameters:
Name | Type | Description |
---|---|---|
other |
BoundingBox
|
getColliding(others) → {BoundingBox|undefined}
Returns which of other
that this
intersects an area of, not an edge.
Parameters:
Name | Type | Description |
---|---|---|
others |
Array.<BoundingBox>
|
Returns:
- Type:
-
BoundingBox
|undefined
getCollisionMesh() → {CollisionMesh}
Returns a CollisionMesh instance version of this boundingbox similar to:
new CollisionMesh(BoundingBox)
Returns:
- Type:
-
CollisionMesh
getDistanceSquaredToPoint(other) → {Number}
Returns the squared distance between this
and other
.
Parameters:
Name | Type | Description |
---|---|---|
other |
Vector
|
Returns:
- Type:
-
Number
squared distance
getDistanceToPoint(other) → {Number}
Returns the distance between this
and other
.
Parameters:
Name | Type | Description |
---|---|---|
other |
Vector
|
Returns:
- Type:
-
Number
distance
getEdgeClosest(other) → {String}
Determines which this
edge is closest to other
.
Parameters:
Name | Type | Description |
---|---|---|
other |
BoundingBox
|
Returns:
- Type:
-
String
edge name
getEdgeClosestOrder(other) → {Array.<String>}
Determines which edges of this
is closest to other
, returns all edges in sorted order by distance.
Parameters:
Name | Type | Description |
---|---|---|
other |
BoundingBox
|
Returns:
- Type:
-
Array.<String>
edge names sorted from closest to furthest
getEdgeTouching(others) → {String|undefined}
If this
touches one of others
, but does not intersect area, then this returns the this
edge name.
Parameters:
Name | Type | Description |
---|---|---|
others |
Array.<BoundingBox>
|
Returns:
- Type:
-
String
|undefined
edge name
getHeight() → {Number}
Returns the height of this
.
Returns:
- Type:
-
Number
height
getIntersection(other) → {Vector|BoundingBox|undefined}
Returns the intersection between this
and other
.
This will return a Vector if they only intersect at a point.
This will return a BoundingBox if they intersect over an area or line.
This will return a undefined if they do not intersect.
Parameters:
Name | Type | Description |
---|---|---|
other |
BoundingBox
|
getOtherEdgeTouching(others) → {String|undefined}
If this
touches one of others
, but does not intersect area, then this returns the other
edge name.
Parameters:
Name | Type | Description |
---|---|---|
others |
Array.<BoundingBox>
|
Returns:
- Type:
-
String
|undefined
edge name
getSnapDelta(other, snapDistanceopt) → {Vector}
Returns a vector representing the delta position to add to this
to snap to other
.
Note: snapDelta
may contain NaN
for left
or right
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
other |
BoundingBox
|
|||
snapDistance |
Number
|
<optional> |
5 |
max distance to move |
getWidth() → {Number}
Returns the width of this
.
Returns:
- Type:
-
Number
width
isColliding(other) → {Boolean}
Determines if this
intersects an area of others
, not an edge.
Parameters:
Name | Type | Description |
---|---|---|
other |
BoundingBox
|
Returns:
- Type:
-
Boolean
isContains(other) → {Boolean}
Determines if this
encapsulates other
.
Parameters:
Name | Type | Description |
---|---|---|
other |
BoundingBox
|
Returns:
- Type:
-
Boolean
isNaN() → {Boolean}
Checks if any property on this
is NaN.
Returns:
- Type:
-
Boolean
isTouching(other) → {Boolean}
Determines if this
touches an edge of other
, but does not intersect area.
Parameters:
Name | Type | Description |
---|---|---|
other |
BoundingBox
|
Returns:
- Type:
-
Boolean
moveBy(deltaLeftopt, deltaTopopt) → {BoundingBox}
Move this
relatively to position by deltaLeft
and/or deltaTop
.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
deltaLeft |
Number
|
<optional> |
null | |
deltaTop |
Number
|
<optional> |
null |
moveTo(leftopt, topopt) → {BoundingBox}
Move this
to position at left
and/or top
.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
left |
Number
|
<optional> |
null | |
top |
Number
|
<optional> |
null |
resizeTo(widthopt, heightopt, anchoropt) → {BoundingBox}
Resize this
to size width
and/or height
, anchored at anchor
.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
width |
Number
|
<optional> |
null | |
height |
Number
|
<optional> |
null | |
anchor |
String
|
<optional> |
'top-left' |
supports "top-left", "top-right", "bottom-left", or "bottom-right" |
set(other) → {BoundingBox}
Sets this
's properties to other
's properties.
Parameters:
Name | Type | Description |
---|---|---|
other |
BoundingBox
|
someColliding(others) → {Boolean}
Determines if this
intersects an area of one of others
, not an edge.
Parameters:
Name | Type | Description |
---|---|---|
others |
Array.<BoundingBox>
|
Returns:
- Type:
-
Boolean
someContains(others) → {Boolean}
Determines if this
encapsulates at least one of others
.
Parameters:
Name | Type | Description |
---|---|---|
others |
Array.<BoundingBox>
|
Returns:
- Type:
-
Boolean
someTouching(others) → {Boolean}
Determines if this
touches an edge of one of others
, but does not intersect area.
Parameters:
Name | Type | Description |
---|---|---|
others |
Array.<BoundingBox>
|
Returns:
- Type:
-
Boolean