Rect3 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.
</description>
<tutorials>
</tutorials>
<demos>
</demos>
<methods>
<methodname="Rect3">
<returntype="Rect3">
</return>
<argumentindex="0"name="pos"type="Vector3">
</argument>
<argumentindex="1"name="size"type="Vector3">
</argument>
<description>
Optional constructor, accepts position and size.
</description>
</method>
<methodname="encloses">
<returntype="bool">
</return>
<argumentindex="0"name="with"type="Rect3">
</argument>
<description>
Return true if this [Rect3] completely encloses another one.
</description>
</method>
<methodname="expand">
<returntype="Rect3">
</return>
<argumentindex="0"name="to_point"type="Vector3">
</argument>
<description>
Return this [Rect3] expanded to include a given point.
</description>
</method>
<methodname="get_area">
<returntype="float">
</return>
<description>
Get the area of the [Rect3].
</description>
</method>
<methodname="get_endpoint">
<returntype="Vector3">
</return>
<argumentindex="0"name="idx"type="int">
</argument>
<description>
Get the position of the 8 endpoints of the [Rect3] in space.
</description>
</method>
<methodname="get_longest_axis">
<returntype="Vector3">
</return>
<description>
Return the normalized longest axis of the [Rect3].
</description>
</method>
<methodname="get_longest_axis_index">
<returntype="int">
</return>
<description>
Return the index of the longest axis of the [Rect3] (according to [Vector3]::AXIS* enum).
</description>
</method>
<methodname="get_longest_axis_size">
<returntype="float">
</return>
<description>
Return the scalar length of the longest axis of the [Rect3].
</description>
</method>
<methodname="get_shortest_axis">
<returntype="Vector3">
</return>
<description>
Return the normalized shortest axis of the [Rect3].
</description>
</method>
<methodname="get_shortest_axis_index">
<returntype="int">
</return>
<description>
Return the index of the shortest axis of the [Rect3] (according to [Vector3]::AXIS* enum).
</description>
</method>
<methodname="get_shortest_axis_size">
<returntype="float">
</return>
<description>
Return the scalar length of the shortest axis of the [Rect3].
</description>
</method>
<methodname="get_support">
<returntype="Vector3">
</return>
<argumentindex="0"name="dir"type="Vector3">
</argument>
<description>
Return the support point in a given direction. This is useful for collision detection algorithms.
</description>
</method>
<methodname="grow">
<returntype="Rect3">
</return>
<argumentindex="0"name="by"type="float">
</argument>
<description>
Return a copy of the [Rect3] grown a given amount of units towards all the sides.
</description>
</method>
<methodname="has_no_area">
<returntype="bool">
</return>
<description>
Return true if the [Rect3] is flat or empty.
</description>
</method>
<methodname="has_no_surface">
<returntype="bool">
</return>
<description>
Return true if the [Rect3] is empty.
</description>
</method>
<methodname="has_point">
<returntype="bool">
</return>
<argumentindex="0"name="point"type="Vector3">
</argument>
<description>
Return true if the [Rect3] contains a point.
</description>
</method>
<methodname="intersection">
<returntype="Rect3">
</return>
<argumentindex="0"name="with"type="Rect3">
</argument>
<description>
Return the intersection between two [Rect3]. An empty Rect3 (size 0,0,0) is returned on failure.
</description>
</method>
<methodname="intersects">
<returntype="bool">
</return>
<argumentindex="0"name="with"type="Rect3">
</argument>
<description>
Return true if the [Rect3] overlaps with another.
</description>
</method>
<methodname="intersects_plane">
<returntype="bool">
</return>
<argumentindex="0"name="plane"type="Plane">
</argument>
<description>
Return true if the [Rect3] is at both sides of a plane.
</description>
</method>
<methodname="intersects_segment">
<returntype="bool">
</return>
<argumentindex="0"name="from"type="Vector3">
</argument>
<argumentindex="1"name="to"type="Vector3">
</argument>
<description>
Return true if the [Rect3] intersects the line segment between from and to
</description>
</method>
<methodname="merge">
<returntype="Rect3">
</return>
<argumentindex="0"name="with"type="Rect3">
</argument>
<description>
Combine this [Rect3] with another, a larger one is returned that contains both.