AABB

    Axis-Aligned Bounding Box.

    Properties

    AABB ( position, Vector3 size )
    encloses ( with )
    AABB ( Vector3 to_point )
    get_area ( )
    get_endpoint ( idx )
    Vector3 ( )
    int ( )
    float ( )
    Vector3 ( )
    int ( )
    float ( )
    Vector3 ( Vector3 dir )
    grow ( by )
    bool ( )
    bool ( )
    bool ( Vector3 point )
    intersection ( with )
    bool ( AABB with )
    intersects_plane ( plane )
    bool ( Vector3 from, to )
    AABB ( AABB with )

    Description

    AABB consists of a position, a size, and several utility functions. It is typically used for fast overlap tests.

    Property Descriptions

    Ending corner.


    • position

    Beginning corner.


    Size from position to end.

    Optional constructor, accepts position and size.


    • encloses ( AABB with )

    Returns if this AABB completely encloses another one.


    Returns this AABB expanded to include a given point.


    • get_area ( )

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


    Returns the normalized longest axis of the AABB.


    • get_longest_axis_index ( )

    Returns the index of the longest axis of the AABB (according to Vector3::AXIS* enum).


    • get_longest_axis_size ( )

    Returns the scalar length of the longest axis of the AABB.


    Returns the normalized shortest axis of the AABB.


    • get_shortest_axis_index ( )

    Returns the index of the shortest axis of the (according to Vector3::AXIS* enum).


    Returns the scalar length of the shortest axis of the AABB.


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



    • has_no_area ( )

    Returns true if the AABB is flat or empty.


    • bool has_no_surface ( )

    Returns true if the AABB is empty.


    Returns true if the AABB contains a point.


    • intersection ( AABB with )

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


    • intersects ( AABB with )

    Returns true if the AABB overlaps with another.


    • intersects_plane ( Plane plane )

    Returns true if the AABB is on both sides of a plane.


    • intersects_segment ( Vector3 from, to )

    Returns true if the AABB intersects the line segment between from and to.


    • AABB merge ( with )

    Returns a larger AABB that contains this AABB and .