org.jbox2d.collision
Class AABB

java.lang.Object
  extended by org.jbox2d.collision.AABB

public class AABB
extends Object

An axis-aligned bounding box.


Field Summary
 Vec2 lowerBound
          Bottom left vertex of bounding box.
 Vec2 upperBound
          Top right vertex of bounding box.
 
Constructor Summary
AABB()
          Creates the default object, with vertices at 0,0 and 0,0.
AABB(AABB copy)
          Copies from the given object
AABB(Vec2 lowerVertex, Vec2 upperVertex)
          Creates an AABB object using the given bounding vertices.
 
Method Summary
 void combine(AABB aabb)
          Combines another aabb with this one
 void combine(AABB aabb1, AABB aab)
          Combine two AABBs into this one.
 boolean contains(AABB aabb)
          Does this aabb contain the provided AABB.
 Vec2 getCenter()
          Get the center of the AABB
 void getCenterToOut(Vec2 out)
           
 Vec2 getExtents()
          Get the extents of the AABB (half-widths).
 void getExtentsToOut(Vec2 out)
           
 float getPerimeter()
          Gets the perimeter length
 void getVertices(Vec2[] argRay)
           
 boolean isValid()
          Verify that the bounds are sorted
 boolean raycast(RayCastOutput output, RayCastInput input)
          Deprecated. please use raycast(RayCastOutput, RayCastInput, IWorldPool) for better performance
 boolean raycast(RayCastOutput output, RayCastInput input, IWorldPool argPool)
          From Real-time Collision Detection, p179.
 void set(AABB aabb)
          Sets this object from the given object
static boolean testOverlap(AABB a, AABB b)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

lowerBound

public final Vec2 lowerBound
Bottom left vertex of bounding box.


upperBound

public final Vec2 upperBound
Top right vertex of bounding box.

Constructor Detail

AABB

public AABB()
Creates the default object, with vertices at 0,0 and 0,0.


AABB

public AABB(AABB copy)
Copies from the given object

Parameters:
copy - the object to copy from

AABB

public AABB(Vec2 lowerVertex,
            Vec2 upperVertex)
Creates an AABB object using the given bounding vertices.

Parameters:
lowerVertex - the bottom left vertex of the bounding box
maxVertex - the top right vertex of the bounding box
Method Detail

set

public final void set(AABB aabb)
Sets this object from the given object

Parameters:
aabb - the object to copy from

isValid

public final boolean isValid()
Verify that the bounds are sorted


getCenter

public final Vec2 getCenter()
Get the center of the AABB

Returns:

getCenterToOut

public final void getCenterToOut(Vec2 out)

getExtents

public final Vec2 getExtents()
Get the extents of the AABB (half-widths).

Returns:

getExtentsToOut

public final void getExtentsToOut(Vec2 out)

getVertices

public final void getVertices(Vec2[] argRay)

combine

public final void combine(AABB aabb1,
                          AABB aab)
Combine two AABBs into this one.

Parameters:
aabb1 -
aab -

getPerimeter

public final float getPerimeter()
Gets the perimeter length

Returns:

combine

public final void combine(AABB aabb)
Combines another aabb with this one

Parameters:
aabb -

contains

public final boolean contains(AABB aabb)
Does this aabb contain the provided AABB.

Returns:

raycast

public final boolean raycast(RayCastOutput output,
                             RayCastInput input)
Deprecated. please use raycast(RayCastOutput, RayCastInput, IWorldPool) for better performance

Parameters:
output -
input -
Returns:

raycast

public final boolean raycast(RayCastOutput output,
                             RayCastInput input,
                             IWorldPool argPool)
From Real-time Collision Detection, p179.

Parameters:
output -
input -

testOverlap

public static final boolean testOverlap(AABB a,
                                        AABB b)

toString

public final String toString()
Overrides:
toString in class Object


Copyright © 2013. All Rights Reserved.