Class BoundingBox

  • All Implemented Interfaces:
    Serializable

    public class BoundingBox
    extends Object
    implements Serializable
    A bounding box for short cutting some geometrical calculations. See http://en.wikipedia.org/wiki/Bounding_volume
    Author:
    Jose Duarte
    See Also:
    Serialized Form
    • Field Detail

      • xmin

        public double xmin
      • xmax

        public double xmax
      • ymin

        public double ymin
      • ymax

        public double ymax
      • zmin

        public double zmin
      • zmax

        public double zmax
    • Constructor Detail

      • BoundingBox

        public BoundingBox​(double xmin,
                           double xmax,
                           double ymin,
                           double ymax,
                           double zmin,
                           double zmax)
      • BoundingBox

        public BoundingBox​(javax.vecmath.Point3d[] atoms)
        Constructs a BoundingBox by calculating maxs and mins of given array of atoms.
        Parameters:
        atoms - the atom array
        Throws:
        IllegalArgumentException - if atom array is empty
        NullPointerException - if input is null
      • BoundingBox

        public BoundingBox​(BoundingBox[] boxes)
        Given a set of bounding boxes returns a bounding box that bounds all of them.
        Parameters:
        boxes - an array of bounding boxes
        Throws:
        IllegalArgumentException - if input array is empty
        NullPointerException - if input is null
    • Method Detail

      • getDimensions

        public double[] getDimensions()
        Returns the dimensions of this bounding box.
        Returns:
        a double array (x,y,z) with the dimensions of the box.
      • overlaps

        public boolean overlaps​(BoundingBox o,
                                double cutoff)
        Returns true if this bounding box overlaps given one, i.e. they are within one cutoff distance in one of their 3 dimensions.
        Parameters:
        cutoff -
        Returns:
      • contains

        public boolean contains​(javax.vecmath.Point3d atom)
        Check if a given point falls within this box
        Parameters:
        atom -
        Returns:
      • translate

        public void translate​(javax.vecmath.Vector3d translation)
      • getMinMax

        public double[] getMinMax​(double[] array)
        Returns an array of size 2 with min and max values of given double array
        Parameters:
        array -
        Returns: