AABB
Category: Built-In Types
Brief Description
Axis-Aligned Bounding Box.
Member Functions
AABB | AABB ( Vector3 pos, Vector3 size ) |
bool | encloses ( AABB with ) |
AABB | expand ( Vector3 to_point ) |
float | get_area ( ) |
Vector3 | get_endpoint ( int idx ) |
Vector3 | get_longest_axis ( ) |
int | get_longest_axis_index ( ) |
float | get_longest_axis_size ( ) |
Vector3 | get_shortest_axis ( ) |
int | get_shortest_axis_index ( ) |
float | get_shortest_axis_size ( ) |
Vector3 | get_support ( Vector3 dir ) |
AABB | grow ( float by ) |
bool | has_no_area ( ) |
bool | has_no_surface ( ) |
bool | has_point ( Vector3 point ) |
AABB | intersection ( AABB with ) |
bool | intersects ( AABB with ) |
bool | intersects_plane ( Plane plane ) |
bool | intersects_segment ( Vector3 from, Vector3 to ) |
AABB | merge ( AABB with ) |
Member Variables
- Vector3 end - Ending corner.
- Vector3 pos - Position (starting corner).
- Vector3 size - Size from position to end.
Description
AABB provides an 3D Axis-Aligned Bounding Box. It consists of a position, a size, and several utility functions. It is typically used for simple (fast) overlap tests.
Member Function Description
AABB AABB ( Vector3 pos, Vector3 size )
Optional constructor, accepts position and size.
bool encloses ( AABB with )
Return true if this AABB completely encloses another one.
AABB expand ( Vector3 to_point )
Return this AABB expanded to include a given point.
float get_area ( )
Get the area of the AABB.
Vector3 get_endpoint ( int idx )
Get the position of the 8 endpoints of the AABB in space.
Vector3 get_longest_axis ( )
Return the normalized longest axis of the AABB.
int get_longest_axis_index ( )
Return the index of the longest axis of the AABB (according to Vector3::AXIS* enum).
float get_longest_axis_size ( )
Return the scalar length of the longest axis of the AABB.
Vector3 get_shortest_axis ( )
Return the normalized shortest axis of the AABB.
int get_shortest_axis_index ( )
Return the index of the shortest axis of the AABB (according to Vector3::AXIS* enum).
float get_shortest_axis_size ( )
Return the scalar length of the shortest axis of the AABB.
Vector3 get_support ( Vector3 dir )
Return the support point in a given direction. This is useful for collision detection algorithms.
AABB grow ( float by )
Return a copy of the AABB grown a given amount of units towards all the sides.
bool has_no_area ( )
Return true if the AABB is flat or empty.
bool has_no_surface ( )
Return true if the AABB is empty.
bool has_point ( Vector3 point )
Return true if the AABB contains a point.
AABB intersection ( AABB with )
Return the intersection between two AABB. An empty AABB (size 0,0,0) is returned on failure.
bool intersects ( AABB with )
Return true if the AABB overlaps with another.
bool intersects_plane ( Plane plane )
Return true if the AABB is at both sides of a plane.
bool intersects_segment ( Vector3 from, Vector3 to )
Return true if the AABB intersects the line segment between from and to
AABB merge ( AABB with )
Combine this AABB with another, a larger one is returned that contains both.
© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/2.1/classes/class_aabb.html