Module javafx.graphics
Package javafx.geometry

## 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

    All Methods Instance Methods Abstract Methods Concrete Methods
    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`.
    `double` | `getCenterX()` | The central x coordinate of this `Bounds`.
    `double` | `getCenterY()` | The central y coordinate of this `Bounds`.
    `double` | `getCenterZ()` | The central z coordinate of this `Bounds`.
    `double` | `getDepth()` | The depth of this `Bounds`.
    `double` | `getHeight()` | The height of this `Bounds`.
    `double` | `getMaxX()` | The x coordinate of the lower-right corner of this `Bounds`.
    `double` | `getMaxY()` | The y coordinate of the lower-right corner of this `Bounds`.
    `double` | `getMaxZ()` | The maximum z coordinate of this `Bounds`.
    `double` | `getMinX()` | The x coordinate of the upper-left corner of this `Bounds`.
    `double` | `getMinY()` | The y coordinate of the upper-left corner of this `Bounds`.
    `double` | `getMinZ()` | The minimum z coordinate of this `Bounds`.
    `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 inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### 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 Detail

    - #### 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