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

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.