AABB

Category: Built-In Types

Brief Description

Axis-Aligned Bounding Box.

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

Optional constructor, accepts position and size.

Return true if this AABB completely encloses another one.

Return this AABB expanded to include a given point.

Get the area of the AABB.

Get the position of the 8 endpoints of the AABB in space.

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.

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.

Return the support point in a given direction. This is useful for collision detection algorithms.

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.

Return true if the AABB contains a point.

Return the intersection between two AABB. An empty AABB (size 0,0,0) is returned on failure.

Return true if the AABB overlaps with another.

Return true if the AABB is at both sides of a plane.

Return true if the AABB intersects the line segment between from and to

Combine this AABB with another, a larger one is returned that contains both.