# Class Bounds

java.lang.Object
javafx.geometry.Bounds

Direct Known Subclasses:
  `BoundingBox`

public abstract class Bounds extends Object
The base class for objects that are used to describe the bounds of a node or other scene graph object. One interesting characteristic of a Bounds object is that it may have a negative width, height, or depth. A negative value for any of these indicates that the Bounds are "empty".

Since:
  JavaFX 2.0

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `Bounds(double minX, double minY, double minZ, double width, double height, double depth)`
  Creates a new instance of `Bounds` class.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract boolean`
  `contains(double x, double y)`
  Tests if the specified `(x, y)` coordinates are inside the boundary of `Bounds`.
  `abstract boolean`
  `contains(double x, double y, double z)`
  Tests if the specified `(x, y, z)` coordinates are inside the boundary of `Bounds`.
  `abstract boolean`
  `contains(double x, double y, double w, double h)`
  Tests if the interior of this `Bounds` entirely contains the specified rectangular area.
  `abstract boolean`
  `contains(double x, double y, double z, double w, double h, double d)`
  Tests if the interior of this `Bounds` entirely contains the specified rectangular area.
  `abstract boolean`
  `contains(Bounds b)`
  Tests if the interior of this `Bounds` entirely contains the specified Bounds, `b`.
  `abstract boolean`
  `contains(Point2D p)`
  Tests if the specified point is inside the boundary of `Bounds`.
  `abstract boolean`
  `contains(Point3D p)`
  Tests if the specified point is inside the boundary of `Bounds`.
  `final double`
  `getCenterX()`
  The central x coordinate of this `Bounds`.
  `final double`
  `getCenterY()`
  The central y coordinate of this `Bounds`.
  `final double`
  `getCenterZ()`
  The central z coordinate of this `Bounds`.
  `final double`
  `getDepth()`
  The depth of this `Bounds`.
  `final double`
  `getHeight()`
  The height of this `Bounds`.
  `final double`
  `getMaxX()`
  The x coordinate of the lower-right corner of this `Bounds`.
  `final double`
  `getMaxY()`
  The y coordinate of the lower-right corner of this `Bounds`.
  `final double`
  `getMaxZ()`
  The maximum z coordinate of this `Bounds`.
  `final double`
  `getMinX()`
  The x coordinate of the upper-left corner of this `Bounds`.
  `final double`
  `getMinY()`
  The y coordinate of the upper-left corner of this `Bounds`.
  `final double`
  `getMinZ()`
  The minimum z coordinate of this `Bounds`.
  `final double`
  `getWidth()`
  The width of this `Bounds`.
  `abstract boolean`
  `intersects(double x, double y, double w, double h)`
  Tests if the interior of this `Bounds` intersects the interior of a specified rectangular area.
  `abstract boolean`
  `intersects(double x, double y, double z, double w, double h, double d)`
  Tests if the interior of this `Bounds` intersects the interior of a specified rectangular area.
  `abstract boolean`
  `intersects(Bounds b)`
  Tests if the interior of this `Bounds` intersects the interior of a specified Bounds, `b`.
  `abstract boolean`
  `isEmpty()`
  Indicates whether any of the dimensions(width, height or depth) of this bounds is less than zero.

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Bounds

    protected Bounds(double minX, double minY, double minZ, double width, double height, double depth)
    Creates a new instance of `Bounds` class.
    Parameters:
      `minX` - the X coordinate of the upper-left corner
      `minY` - the Y coordinate of the upper-left corner
      `minZ` - the minimum z coordinate of the `Bounds`
      `width` - the width of the `Bounds`
      `height` - the height of the `Bounds`
      `depth` - the depth of the `Bounds`

- ## Method Details

  - ### getMinX

    public final double getMinX()
    The x coordinate of the upper-left corner of this `Bounds`.
    Default value:
      0.0
    Returns:
      the x coordinate of the upper-left corner

  - ### getMinY

    public final double getMinY()
    The y coordinate of the upper-left corner of this `Bounds`.
    Default value:
      0.0
    Returns:
      the y coordinate of the upper-left corner

  - ### getMinZ

    public final double getMinZ()
    The minimum z coordinate of this `Bounds`.
    Default value:
      0.0
    Returns:
      the minimum z coordinate

  - ### getWidth

    public final double getWidth()
    The width of this `Bounds`.
    Default value:
      0.0
    Returns:
      the width

  - ### getHeight

    public final double getHeight()
    The height of this `Bounds`.
    Default value:
      0.0
    Returns:
      the height

  - ### getDepth

    public final double getDepth()
    The depth of this `Bounds`.
    Default value:
      0.0
    Returns:
      the depth

  - ### getMaxX

    public final double getMaxX()
    The x coordinate of the lower-right corner of this `Bounds`.
    Default value:
      `minX + width`
    Returns:
      the x coordinate of the lower-right corner

  - ### getMaxY

    public final double getMaxY()
    The y coordinate of the lower-right corner of this `Bounds`.
    Default value:
      `minY + height`
    Returns:
      the y coordinate of the lower-right corner

  - ### getMaxZ

    public final double getMaxZ()
    The maximum z coordinate of this `Bounds`.
    Default value:
      `minZ + depth`
    Returns:
      the maximum z coordinate

  - ### getCenterX

    public final double getCenterX()
    The central x coordinate of this `Bounds`.
    Implementation Requirements:
      This call is equivalent to `(getMaxX() + getMinX())/2.0`.
    Returns:
      the central x coordinate
    Since:
      11

  - ### getCenterY

    public final double getCenterY()
    The central y coordinate of this `Bounds`.
    Implementation Requirements:
      This call is equivalent to `(getMaxY() + getMinY())/2.0`.
    Returns:
      the central y coordinate
    Since:
      11

  - ### getCenterZ

    public final double getCenterZ()
    The central z coordinate of this `Bounds`.
    Implementation Requirements:
      This call is equivalent to `(getMaxZ() + getMinZ())/2.0`.
    Returns:
      the central z coordinate
    Since:
      11

  - ### isEmpty

    public abstract boolean isEmpty()
    Indicates whether any of the dimensions(width, height or depth) of this bounds is less than zero.
    Returns:
      true if any of the dimensions(width, height or depth) of this bounds is less than zero

  - ### contains

    public abstract boolean contains(Point2D p)
    Tests if the specified point is inside the boundary of `Bounds`.
    Parameters:
      `p` - the specified point to be tested
    Returns:
      true if the specified point is inside the boundary of this `Bounds`; false otherwise

  - ### contains

    public abstract boolean contains(Point3D p)
    Tests if the specified point is inside the boundary of `Bounds`.
    Parameters:
      `p` - the specified 3D point to be tested
    Returns:
      true if the specified point is inside the boundary of this `Bounds`; false otherwise

  - ### contains

    public abstract boolean contains(double x, double y)
    Tests if the specified `(x, y)` coordinates are inside the boundary of `Bounds`.
    Parameters:
      `x` - the specified x coordinate to be tested
      `y` - the specified y coordinate to be tested
    Returns:
      true if the specified `(x, y)` coordinates are inside the boundary of this `Bounds`; false otherwise

  - ### contains

    public abstract boolean contains(double x, double y, double z)
    Tests if the specified `(x, y, z)` coordinates are inside the boundary of `Bounds`.
    Parameters:
      `x` - the specified x coordinate to be tested
      `y` - the specified y coordinate to be tested
      `z` - the specified z coordinate to be tested
    Returns:
      true if the specified `(x, y)` coordinates are inside the boundary of this `Bounds`; false otherwise

  - ### contains

    public abstract boolean contains(Bounds b)
    Tests if the interior of this `Bounds` entirely contains the specified Bounds, `b`.
    Parameters:
      `b` - The specified Bounds
    Returns:
      true if the specified Bounds, `b`, is inside the boundary of this `Bounds`; false otherwise

  - ### contains

    public abstract boolean contains(double x, double y, double w, double h)
    Tests if the interior of this `Bounds` entirely contains the specified rectangular area.
    Parameters:
      `x` - the x coordinate of the upper-left corner of the specified rectangular area
      `y` - the y coordinate of the upper-left corner of the specified rectangular area
      `w` - the width of the specified rectangular area
      `h` - the height of the specified rectangular area
    Returns:
      true if the interior of this `Bounds` entirely contains the specified rectangular area; false otherwise

  - ### contains

    public abstract boolean contains(double x, double y, double z, double w, double h, double d)
    Tests if the interior of this `Bounds` entirely contains the specified rectangular area.
    Parameters:
      `x` - the x coordinate of the upper-left corner of the specified rectangular volume
      `y` - the y coordinate of the upper-left corner of the specified rectangular volume
      `z` - the z coordinate of the upper-left corner of the specified rectangular volume
      `w` - the width of the specified rectangular volume
      `h` - the height of the specified rectangular volume
      `d` - the depth of the specified rectangular volume
    Returns:
      true if the interior of this `Bounds` entirely contains the specified rectangular area; false otherwise

  - ### intersects

    public abstract boolean intersects(Bounds b)
    Tests if the interior of this `Bounds` intersects the interior of a specified Bounds, `b`.
    Parameters:
      `b` - The specified Bounds
    Returns:
      true if the interior of this `Bounds` and the interior of the specified Bounds, `b`, intersect

  - ### intersects

    public abstract boolean intersects(double x, double y, double w, double h)
    Tests if the interior of this `Bounds` intersects the interior of a specified rectangular area.
    Parameters:
      `x` - the x coordinate of the upper-left corner of the specified rectangular area
      `y` - the y coordinate of the upper-left corner of the specified rectangular area
      `w` - the width of the specified rectangular area
      `h` - the height of the specified rectangular area
    Returns:
      true if the interior of this `Bounds` and the interior of the rectangular area intersect

  - ### intersects

    public abstract boolean intersects(double x, double y, double z, double w, double h, double d)
    Tests if the interior of this `Bounds` intersects the interior of a specified rectangular area.
    Parameters:
      `x` - the x coordinate of the upper-left corner of the specified rectangular volume
      `y` - the y coordinate of the upper-left corner of the specified rectangular volume
      `z` - the z coordinate of the upper-left corner of the specified rectangular volume
      `w` - the width of the specified rectangular volume
      `h` - the height of the specified rectangular volume
      `d` - the depth of the specified rectangular volume
    Returns:
      true if the interior of this `Bounds` and the interior of the rectangular area intersect