Interface AABB3d

  • All Known Subinterfaces:
    MAABB3d

    public interface AABB3d
    Read-only interface for axis-aligned bounding boxes in 3-dimensional space.
    Since:
    9.10.2
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean contains​(Vector3d point)
      Returns true if the given point is inside this bounding box.
      boolean contains​(AABB3d box)
      Returns true if the given bounding box is inside this bounding box.
      static AABB3d create​(Vector3d lowerBound, Vector3d upperBound)
      Returns a bounding box with the given bounds.
      static AABB3d create​(AABB3d boundingBox)
      Returns a new instance of a bounding box with the same bounds as in the given bounding box.
      static AABB3d create​(Collection<Vector3d> points)
      Returns the minimum volume axis-aligned bounding box for the given collection of points.
      double distance​(AABB3d box)
      Returns the minimum distance between this bounding box and the given bounding box.
      double distanceSquared​(AABB3d box)
      Returns the square of the minimum distance between this bounding box and the given bounding box.
      MVector3d getCentroid()
      Returns a copy of the centroid vector of this bounding box.
      Collection<Segment3d> getEdges()
      Returns the edges of this bounding box.
      Vector3d getLowerBound()
      Returns the lower bound of this bounding box.
      double getSizeX()
      Returns the size of this bounding box on the X axis.
      double getSizeY()
      Returns the size of this bounding box on the Y axis.
      double getSizeZ()
      Returns the size of this bounding box on the Z axis.
      Vector3d getUpperBound()
      Returns the upper bound of this bounding box.
      double getVolume()
      Returns the volume of this bounding box.
      boolean intersects​(AABB3d aabb)
      Returns true if this bounding box intersects the given bounding box.
      boolean isDegenerate()
      Returns true if the given bounding box is degenerated.
    • Method Detail

      • create

        static AABB3d create​(AABB3d boundingBox)
        Returns a new instance of a bounding box with the same bounds as in the given bounding box.
        Parameters:
        boundingBox - the bounding box whose bounds are set to the returned box
        Returns:
        a new bounding box with the same bounds as in the given bounding box
        Since:
        9.10.2
      • create

        static AABB3d create​(Collection<Vector3d> points)
        Returns the minimum volume axis-aligned bounding box for the given collection of points.
        Parameters:
        points - the points for which the minimum volume axis-aligned bounding box is computed
        Returns:
        the minimum volume axis-aligned bounding box for the given collection of points
        Since:
        9.10.2
      • create

        static AABB3d create​(Vector3d lowerBound,
                             Vector3d upperBound)
        Returns a bounding box with the given bounds.
        Parameters:
        lowerBound - the lower bound for the bounding box
        upperBound - the upper bound for the bounding box
        Returns:
        a bounding box with the given bounds
        Since:
        9.10.2
      • contains

        boolean contains​(Vector3d point)
        Returns true if the given point is inside this bounding box. Points on the boundary of bounding boxes are also considered to be contained.
        Parameters:
        point - the point that is checked for containment
        Returns:
        true if the given point is contained in this bounding box
        Since:
        9.10.2
      • contains

        boolean contains​(AABB3d box)
        Returns true if the given bounding box is inside this bounding box.
        Parameters:
        box - the bounding box that is checked for containment
        Returns:
        true if the given bounding box is inside this bounding box
        Since:
        9.10.2
      • getCentroid

        MVector3d getCentroid()
        Returns a copy of the centroid vector of this bounding box.
        Returns:
        a copy of the centroid of this bounding box
        Since:
        9.10.2
      • distance

        double distance​(AABB3d box)
        Returns the minimum distance between this bounding box and the given bounding box.
        Parameters:
        box - the box to which the distance is computed
        Returns:
        the minimum distance between this bounding box and the given bounding box
        Since:
        9.10.2
      • distanceSquared

        double distanceSquared​(AABB3d box)
        Returns the square of the minimum distance between this bounding box and the given bounding box.
        Parameters:
        box - the box to which the squared distance is computed
        Returns:
        the square of the minimum distance between this bounding box and the given bounding box
        Since:
        9.10.2
      • getEdges

        Collection<Segment3d> getEdges()
        Returns the edges of this bounding box. The order is not specified.
        Returns:
        the edges of this bounding box
        Since:
        9.10.2
      • getLowerBound

        Vector3d getLowerBound()
        Returns the lower bound of this bounding box.
        Returns:
        the lower bound of this bounding box
        Since:
        9.10.2
      • getSizeX

        double getSizeX()
        Returns the size of this bounding box on the X axis.
        Returns:
        the size of this bounding box on the X axis
        Since:
        9.10.2
      • getSizeY

        double getSizeY()
        Returns the size of this bounding box on the Y axis.
        Returns:
        the size of this bounding box on the Y axis
        Since:
        9.10.2
      • getSizeZ

        double getSizeZ()
        Returns the size of this bounding box on the Z axis.
        Returns:
        the size of this bounding box on the Z axis
        Since:
        9.10.2
      • getUpperBound

        Vector3d getUpperBound()
        Returns the upper bound of this bounding box.
        Returns:
        the upper bound of this bounding box
        Since:
        9.10.2
      • getVolume

        double getVolume()
        Returns the volume of this bounding box.
        Returns:
        the volume of this bounding box
        Since:
        9.10.2
      • intersects

        boolean intersects​(AABB3d aabb)
        Returns true if this bounding box intersects the given bounding box. Bounding boxes intersect if their boundaries intersect or if one is contained within the other.
        Parameters:
        aabb - the bounding box with which this box is checked for intersection
        Returns:
        true if this bounding box intersects the given bounding box
        Since:
        9.10.2
      • isDegenerate

        boolean isDegenerate()
        Returns true if the given bounding box is degenerated. A bounding box is considered degenerate if its volume is zero or if its lower bound is greater than its upper bound in any dimension.
        Returns:
        true if the given bounding box is degenerated
        Since:
        9.10.2