OBB
Represents an oriented bounding box (OBB) in 3D space.
Examples
Constructor
OBB( center : Vector3, halfSize : Vector3, rotation : Matrix3 )
center — The center of the OBB. (optional)
halfSize — Positive halfwidth extents of the OBB along each axis. (optional)
rotation — The rotation of the OBB. (optional)
Creates a new OBB.
Properties
.center : Vector3
The center of the OBB. Default is ( 0, 0, 0 ).
.halfSize : Vector3
Positive halfwidth extents of the OBB along each axis. Default is ( 0, 0, 0 ).
.rotation : Matrix3
The rotation of the OBB. Default is the identity matrix.
Methods
.applyMatrix4 ( matrix : Matrix4 ) : this
matrix — A 4x4 transformation matrix.
Applies the given transformation matrix to this OBB. This method can be used to transform the bounding volume with the world matrix of a 3D object in order to keep both entities in sync.
.clampPoint ( point : Vector3, clampedPoint : Vector3 ) : Vector3
point — The point that should be clamped within the bounds of this OBB.
clampedPoint — The result will be copied into this vector.
Clamps the given point within the bounds of this OBB.
.clone () : OBB
Creates a cloned OBB for this instance.
.containsPoint ( point : Vector3 ) : Boolean
point — The point to test.
Whether the given point lies within this OBB or not.
.copy ( obb : OBB ) : this
obb — The OBB to copy.
Copies the properties of the given OBB to this OBB.
.equals ( obb : OBB ) : Boolean
obb — The OBB to test.
Whether the given OBB is equal to this OBB or not.
.fromBox3 ( box3 : Box3 ) : this
box3 — An AABB.
Defines an OBB based on the given AABB.
.getSize ( size : Vector3 ) : Vector3
size — The result will be copied into this vector.
Returns the size of this OBB into the given vector.
.intersectsBox3 ( box3 : Box3 ) : Boolean
box3 — The AABB to test.
Whether the given AABB intersects this OBB or not.
.intersectsSphere ( sphere : Sphere ) : Boolean
sphere — The bounding sphere to test.
Whether the given bounding sphere intersects this OBB or not.
.intersectsOBB ( obb : OBB, epsilon : Number ) : Boolean
obb — The OBB to test.
epsilon — An optional numeric value to counteract arithmetic errors. Default is Number.EPSILON.
Whether the given OBB intersects this OBB or not.
.intersectsRay ( ray : Ray ) : Boolean
ray — The ray to test.
Whether the given ray intersects this OBB or not.
.intersectRay ( ray : Ray, intersectionPoint : Vector3 ) : Vector3
ray — The ray to test.
intersectionPoint — The result will be copied into this vector.
Performs a Ray/OBB intersection test and stores the intersection point to the given 3D vector. If no intersection is detected, null is returned.
.set ( center : Vector3, halfSize : Vector3, rotation : Matrix3 ) : this
center — The center of the OBB.
halfSize — Positive halfwidth extents of the OBB along each axis.
rotation — The rotation of the OBB.
Defines the OBB for the given values.