AABB¶
Axis-Aligned Bounding Box.
Description¶
AABB consists of a position, a size, and several utility functions. It is typically used for fast overlap tests.
Tutorials¶
Properties¶
|
||
|
||
|
Methods¶
abs ( ) |
|
get_area ( ) |
|
get_endpoint ( int idx ) |
|
get_longest_axis ( ) |
|
get_support ( Vector3 dir ) |
|
has_no_area ( ) |
|
has_no_surface ( ) |
|
intersection ( AABB with ) |
|
intersects ( AABB with ) |
|
intersects_plane ( Plane plane ) |
|
intersects_segment ( Vector3 from, Vector3 to ) |
|
is_equal_approx ( AABB aabb ) |
|
Property Descriptions¶
Vector3 end
Default |
|
Ending corner. This is calculated as position + size. Setting this value will change the size.
Vector3 position
Default |
|
Beginning corner. Typically has values lower than end.
Vector3 size
Default |
|
Size from position to end. Typically all components are positive.
If the size is negative, you can use abs to fix it.
Method Descriptions¶
Constructs an AABB from a position and size.
AABB abs ( )
Returns an AABB with equivalent position and size, modified so that the most-negative corner is the origin and the size is positive.
Returns true if this AABB completely encloses another one.
Returns this AABB expanded to include a given point.
float get_area ( )
Returns the volume of the AABB.
Gets the position of the 8 endpoints of the AABB in space.
Vector3 get_longest_axis ( )
Returns the normalized longest axis of the AABB.
int get_longest_axis_index ( )
Returns the index of the longest axis of the AABB (according to Vector3's AXIS_* constants).
float get_longest_axis_size ( )
Returns the scalar length of the longest axis of the AABB.
Vector3 get_shortest_axis ( )
Returns the normalized shortest axis of the AABB.
int get_shortest_axis_index ( )
Returns the index of the shortest axis of the AABB (according to Vector3::AXIS* enum).
float get_shortest_axis_size ( )
Returns the scalar length of the shortest axis of the AABB.
Returns the support point in a given direction. This is useful for collision detection algorithms.
Returns a copy of the AABB grown a given amount of units towards all the sides.
bool has_no_area ( )
Returns true if the AABB is flat or empty.
bool has_no_surface ( )
Returns true if the AABB is empty.
Returns true if the AABB contains a point.
Returns the intersection between two AABB. An empty AABB (size 0,0,0) is returned on failure.
Returns true if the AABB overlaps with another.
Returns true if the AABB is on both sides of a plane.
Returns true if the AABB intersects the line segment between from and to.
Returns true if this AABB and aabb are approximately equal, by calling @GDScript.is_equal_approx on each component.
Returns a larger AABB that contains both this AABB and with.