Import
OBB is an addon, and must be imported explicitly, see Installation#Addons.
import { OBB } from 'three/addons/math/OBB.js';
Constructor
new OBB( center : Vector3, halfSize : Vector3, rotation : Matrix3 )
Constructs a new OBB.
| center |
The center of the OBB. |
| halfSize |
Positive halfwidth extents of the OBB along each axis. |
| rotation |
The rotation of the OBB. |
Properties
Methods
.applyMatrix4( matrix : Matrix4 ) : OBB
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.
| matrix |
The matrix to apply. |
- Returns: A reference of this OBB.
.clampPoint( point : Vector3, target : Vector3 ) : Vector3
Clamps the given point within the bounds of this OBB.
| point |
The point that should be clamped within the bounds of this OBB. |
| target |
The target vector that is used to store the method's result. |
- Returns:
- The clamped point.
.clone() : OBB
Returns a new OBB with copied values from this instance.
- Returns: A clone of this instance.
.containsPoint( point : Vector3 ) : boolean
Returns true if the given point lies within this OBB.
| point |
The point to test. |
- Returns:
- Whether the given point lies within this OBB or not.
.copy( obb : OBB ) : OBB
Copies the values of the given OBB to this instance.
| obb |
The OBB to copy. |
- Returns: A reference to this OBB.
.equals( obb : OBB ) : boolean
Returns true if the given OBB is equal to this OBB.
| obb |
The OBB to test. |
- Returns: Whether the given OBB is equal to this OBB or not.
.fromBox3( box3 : Box3 ) : OBB
Defines an OBB based on the given AABB.
| box3 |
The AABB to setup the OBB from. |
- Returns: A reference of this OBB.
.getSize( target : Vector3 ) : Vector3
Returns the size of this OBB.
| target |
The target vector that is used to store the method's result. |
- Returns: The size.
.intersectRay( ray : Ray, target : Vector3 ) : Vector3
Performs a ray/OBB intersection test and stores the intersection point in the given 3D vector.
| ray |
The ray to test. |
| target |
The target vector that is used to store the method's result. |
- Returns: The intersection point. If no intersection is detected,
nullis returned.
.intersectsBox3( box3 : Box3 ) : boolean
Returns true if the given AABB intersects this OBB.
| box3 |
The AABB to test. |
- Returns:
- Whether the given AABB intersects this OBB or not.
.intersectsOBB( obb : OBB, epsilon : number ) : boolean
Returns true if the given OBB intersects this OBB.
| obb |
The OBB to test. |
| epsilon |
A small value to prevent arithmetic errors. Default is |
- Returns:
- Whether the given OBB intersects this OBB or not.
.intersectsPlane( plane : Plane ) : boolean
Returns true if the given plane intersects this OBB.
| plane |
The plane to test. |
- Returns: Whether the given plane intersects this OBB or not.
.intersectsRay( ray : Ray ) : boolean
Returns true if the given ray intersects this OBB.
| ray |
The ray to test. |
- Returns: Whether the given ray intersects this OBB or not.
.intersectsSphere( sphere : Sphere ) : boolean
Returns true if the given bounding sphere intersects this OBB.
| sphere |
The bounding sphere to test. |
- Returns:
- Whether the given bounding sphere intersects this OBB or not.
.set( center : Vector3, halfSize : Vector3, rotation : Matrix3 ) : OBB
Sets the OBBs components to the given values.
| center |
The center of the OBB. |
| halfSize |
Positive halfwidth extents of the OBB along each axis. |
| rotation |
The rotation of the OBB. |
- Returns: A reference to this OBB.