Files
godot-docs/classes/class_aabb.rst
T
Rémi Verschelde 1204e3ea17 Add a warning header to each classref file
To tell potential contributors that they should NOT edit those files but instead should work on the class.xml source of the main Godot repo
2016-02-17 22:04:18 +01:00

203 lines
12 KiB
ReStructuredText

.. 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:`bool<class_bool>` | :ref:`encloses<class_AABB_encloses>` **(** :ref:`AABB<class_aabb>` with **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AABB<class_aabb>` | :ref:`expand<class_AABB_expand>` **(** :ref:`Vector3<class_vector3>` to_point **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_area<class_AABB_get_area>` **(** **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_vector3>` | :ref:`get_endpoint<class_AABB_get_endpoint>` **(** :ref:`int<class_int>` idx **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_vector3>` | :ref:`get_longest_axis<class_AABB_get_longest_axis>` **(** **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_longest_axis_index<class_AABB_get_longest_axis_index>` **(** **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_longest_axis_size<class_AABB_get_longest_axis_size>` **(** **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_vector3>` | :ref:`get_shortest_axis<class_AABB_get_shortest_axis>` **(** **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_shortest_axis_index<class_AABB_get_shortest_axis_index>` **(** **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_shortest_axis_size<class_AABB_get_shortest_axis_size>` **(** **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_vector3>` | :ref:`get_support<class_AABB_get_support>` **(** :ref:`Vector3<class_vector3>` dir **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AABB<class_aabb>` | :ref:`grow<class_AABB_grow>` **(** :ref:`float<class_float>` by **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_no_area<class_AABB_has_no_area>` **(** **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_no_surface<class_AABB_has_no_surface>` **(** **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_point<class_AABB_has_point>` **(** :ref:`Vector3<class_vector3>` point **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AABB<class_aabb>` | :ref:`intersection<class_AABB_intersection>` **(** :ref:`AABB<class_aabb>` with **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`intersects<class_AABB_intersects>` **(** :ref:`AABB<class_aabb>` with **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`intersects_plane<class_AABB_intersects_plane>` **(** :ref:`Plane<class_plane>` plane **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`intersects_segment<class_AABB_intersects_segment>` **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` to **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AABB<class_aabb>` | :ref:`merge<class_AABB_merge>` **(** :ref:`AABB<class_aabb>` with **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AABB<class_aabb>` | :ref:`AABB<class_AABB_AABB>` **(** :ref:`Vector3<class_vector3>` pos, :ref:`Vector3<class_vector3>` size **)** |
+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
Member Variables
----------------
- :ref:`Vector3<class_vector3>` **pos**
- :ref:`Vector3<class_vector3>` **size**
- :ref:`Vector3<class_vector3>` **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_encloses:
- :ref:`bool<class_bool>` **encloses** **(** :ref:`AABB<class_aabb>` with **)**
Return true if this :ref:`AABB<class_aabb>` completely encloses another one.
.. _class_AABB_expand:
- :ref:`AABB<class_aabb>` **expand** **(** :ref:`Vector3<class_vector3>` to_point **)**
Return this :ref:`AABB<class_aabb>` expanded to include a given point.
.. _class_AABB_get_area:
- :ref:`float<class_float>` **get_area** **(** **)**
Get the area of the :ref:`AABB<class_aabb>`.
.. _class_AABB_get_endpoint:
- :ref:`Vector3<class_vector3>` **get_endpoint** **(** :ref:`int<class_int>` idx **)**
Get the position of the 8 endpoints of the :ref:`AABB<class_aabb>` in space.
.. _class_AABB_get_longest_axis:
- :ref:`Vector3<class_vector3>` **get_longest_axis** **(** **)**
Return the normalized longest axis of the :ref:`AABB<class_aabb>`.
.. _class_AABB_get_longest_axis_index:
- :ref:`int<class_int>` **get_longest_axis_index** **(** **)**
Return the index of the longest axis of the :ref:`AABB<class_aabb>` (according to :ref:`Vector3<class_vector3>`::AXIS\* enum).
.. _class_AABB_get_longest_axis_size:
- :ref:`float<class_float>` **get_longest_axis_size** **(** **)**
Return the scalar length of the longest axis of the :ref:`AABB<class_aabb>`.
.. _class_AABB_get_shortest_axis:
- :ref:`Vector3<class_vector3>` **get_shortest_axis** **(** **)**
Return the normalized shortest axis of the :ref:`AABB<class_aabb>`.
.. _class_AABB_get_shortest_axis_index:
- :ref:`int<class_int>` **get_shortest_axis_index** **(** **)**
Return the index of the shortest axis of the :ref:`AABB<class_aabb>` (according to :ref:`Vector3<class_vector3>`::AXIS\* enum).
.. _class_AABB_get_shortest_axis_size:
- :ref:`float<class_float>` **get_shortest_axis_size** **(** **)**
Return the scalar length of the shortest axis of the :ref:`AABB<class_aabb>`.
.. _class_AABB_get_support:
- :ref:`Vector3<class_vector3>` **get_support** **(** :ref:`Vector3<class_vector3>` dir **)**
Return the support point in a given direction. This is useful for collision detection algorithms.
.. _class_AABB_grow:
- :ref:`AABB<class_aabb>` **grow** **(** :ref:`float<class_float>` by **)**
Return a copy of the :ref:`AABB<class_aabb>` grown a given amount of units towards all the sides.
.. _class_AABB_has_no_area:
- :ref:`bool<class_bool>` **has_no_area** **(** **)**
Return true if the :ref:`AABB<class_aabb>` is flat or empty.
.. _class_AABB_has_no_surface:
- :ref:`bool<class_bool>` **has_no_surface** **(** **)**
Return true if the :ref:`AABB<class_aabb>` is empty.
.. _class_AABB_has_point:
- :ref:`bool<class_bool>` **has_point** **(** :ref:`Vector3<class_vector3>` point **)**
Return true if the :ref:`AABB<class_aabb>` contains a point.
.. _class_AABB_intersection:
- :ref:`AABB<class_aabb>` **intersection** **(** :ref:`AABB<class_aabb>` with **)**
Return the intersection between two :ref:`AABB<class_aabb>`. An empty AABB (size 0,0,0) is returned on failure.
.. _class_AABB_intersects:
- :ref:`bool<class_bool>` **intersects** **(** :ref:`AABB<class_aabb>` with **)**
Return true if the :ref:`AABB<class_aabb>` overlaps with another.
.. _class_AABB_intersects_plane:
- :ref:`bool<class_bool>` **intersects_plane** **(** :ref:`Plane<class_plane>` plane **)**
Return true if the :ref:`AABB<class_aabb>` is at both sides of a plane.
.. _class_AABB_intersects_segment:
- :ref:`bool<class_bool>` **intersects_segment** **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` to **)**
.. _class_AABB_merge:
- :ref:`AABB<class_aabb>` **merge** **(** :ref:`AABB<class_aabb>` with **)**
Combine this :ref:`AABB<class_aabb>` with another, a larger one is returned that contains both.
.. _class_AABB_AABB:
- :ref:`AABB<class_aabb>` **AABB** **(** :ref:`Vector3<class_vector3>` pos, :ref:`Vector3<class_vector3>` size **)**
Optional constructor, accepts position and size.