.. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead. .. _class_AABB: AABB ==== **Category:** Built-In Types Brief Description ----------------- Axis-Aligned Bounding Box. Member Functions ---------------- +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AABB` | :ref:`AABB` **(** :ref:`Vector3` pos, :ref:`Vector3` size **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`encloses` **(** :ref:`AABB` with **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AABB` | :ref:`expand` **(** :ref:`Vector3` to_point **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_area` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`get_endpoint` **(** :ref:`int` idx **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`get_longest_axis` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_longest_axis_index` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_longest_axis_size` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`get_shortest_axis` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_shortest_axis_index` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_shortest_axis_size` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`get_support` **(** :ref:`Vector3` dir **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AABB` | :ref:`grow` **(** :ref:`float` by **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_no_area` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_no_surface` **(** **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_point` **(** :ref:`Vector3` point **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AABB` | :ref:`intersection` **(** :ref:`AABB` with **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`intersects` **(** :ref:`AABB` with **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`intersects_plane` **(** :ref:`Plane` plane **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`intersects_segment` **(** :ref:`Vector3` from, :ref:`Vector3` to **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AABB` | :ref:`merge` **(** :ref:`AABB` with **)** | +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+ Member Variables ---------------- - :ref:`Vector3` **end** - Ending corner. - :ref:`Vector3` **pos** - Position (starting corner). - :ref:`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 --------------------------- .. _class_AABB_AABB: - :ref:`AABB` **AABB** **(** :ref:`Vector3` pos, :ref:`Vector3` size **)** Optional constructor, accepts position and size. .. _class_AABB_encloses: - :ref:`bool` **encloses** **(** :ref:`AABB` with **)** Return true if this :ref:`AABB` completely encloses another one. .. _class_AABB_expand: - :ref:`AABB` **expand** **(** :ref:`Vector3` to_point **)** Return this :ref:`AABB` expanded to include a given point. .. _class_AABB_get_area: - :ref:`float` **get_area** **(** **)** Get the area of the :ref:`AABB`. .. _class_AABB_get_endpoint: - :ref:`Vector3` **get_endpoint** **(** :ref:`int` idx **)** Get the position of the 8 endpoints of the :ref:`AABB` in space. .. _class_AABB_get_longest_axis: - :ref:`Vector3` **get_longest_axis** **(** **)** Return the normalized longest axis of the :ref:`AABB`. .. _class_AABB_get_longest_axis_index: - :ref:`int` **get_longest_axis_index** **(** **)** Return the index of the longest axis of the :ref:`AABB` (according to :ref:`Vector3`::AXIS\* enum). .. _class_AABB_get_longest_axis_size: - :ref:`float` **get_longest_axis_size** **(** **)** Return the scalar length of the longest axis of the :ref:`AABB`. .. _class_AABB_get_shortest_axis: - :ref:`Vector3` **get_shortest_axis** **(** **)** Return the normalized shortest axis of the :ref:`AABB`. .. _class_AABB_get_shortest_axis_index: - :ref:`int` **get_shortest_axis_index** **(** **)** Return the index of the shortest axis of the :ref:`AABB` (according to :ref:`Vector3`::AXIS\* enum). .. _class_AABB_get_shortest_axis_size: - :ref:`float` **get_shortest_axis_size** **(** **)** Return the scalar length of the shortest axis of the :ref:`AABB`. .. _class_AABB_get_support: - :ref:`Vector3` **get_support** **(** :ref:`Vector3` dir **)** Return the support point in a given direction. This is useful for collision detection algorithms. .. _class_AABB_grow: - :ref:`AABB` **grow** **(** :ref:`float` by **)** Return a copy of the :ref:`AABB` grown a given amount of units towards all the sides. .. _class_AABB_has_no_area: - :ref:`bool` **has_no_area** **(** **)** Return true if the :ref:`AABB` is flat or empty. .. _class_AABB_has_no_surface: - :ref:`bool` **has_no_surface** **(** **)** Return true if the :ref:`AABB` is empty. .. _class_AABB_has_point: - :ref:`bool` **has_point** **(** :ref:`Vector3` point **)** Return true if the :ref:`AABB` contains a point. .. _class_AABB_intersection: - :ref:`AABB` **intersection** **(** :ref:`AABB` with **)** Return the intersection between two :ref:`AABB`. An empty AABB (size 0,0,0) is returned on failure. .. _class_AABB_intersects: - :ref:`bool` **intersects** **(** :ref:`AABB` with **)** Return true if the :ref:`AABB` overlaps with another. .. _class_AABB_intersects_plane: - :ref:`bool` **intersects_plane** **(** :ref:`Plane` plane **)** Return true if the :ref:`AABB` is at both sides of a plane. .. _class_AABB_intersects_segment: - :ref:`bool` **intersects_segment** **(** :ref:`Vector3` from, :ref:`Vector3` to **)** Return true if the :ref:`AABB` intersects the line segment between from and to .. _class_AABB_merge: - :ref:`AABB` **merge** **(** :ref:`AABB` with **)** Combine this :ref:`AABB` with another, a larger one is returned that contains both.