## Uses of Class
com.io7m.jregions.core.parameterized.areas.PAreaBI

- Packages that use PAreaBI
  Package | Description
  --- | ---
  com.io7m.jregions.core.conversions | Functions to convert between parameterized and unparameterized types.
  com.io7m.jregions.core.parameterized.areas | Area types.
  com.io7m.jregions.generators | Quickcheck generators.

- - ### Uses of PAreaBI in com.io7m.jregions.core.conversions

    Methods in com.io7m.jregions.core.conversions that return PAreaBI
    Modifier and Type | Method and Description
    --- | ---
    `static <S> PAreaBI<S>` | AreaConversions.`toPAreaBI(AreaBI a)` Convert an area.

    Methods in com.io7m.jregions.core.conversions with parameters of type PAreaBI
    Modifier and Type | Method and Description
    --- | ---
    `static <S> AreaBI` | AreaConversions.`toAreaBI(PAreaBI<S> a)` Convert an area.

  - ### Uses of PAreaBI in com.io7m.jregions.core.parameterized.areas

    Methods in com.io7m.jregions.core.parameterized.areas that return PAreaBI
    Modifier and Type | Method and Description
    --- | ---
    `static <S> PAreaBI<S>` | PAreasBI.`alignCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Align the area `inner` such that the center of the area is equal to the center of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnXCenter(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyMaxX(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnXMaxX(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyMaxXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Deprecated. Use `PAreasBI.alignOnXMaxXOffset(PAreaBI, PAreaBI, java.math.BigInteger)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyMinX(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnXMinX(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyMinXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Deprecated. Use `PAreasBI.alignOnXMinXOffset(PAreaBI, PAreaBI, java.math.BigInteger)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignMaxYMaxX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignMaxYMaxXOffset(PAreaBI, PAreaBI, java.math.BigInteger, java.math.BigInteger)` with zero offsets.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMaxYMaxXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset_x, BigInteger offset_y)` Align the area `inner` such that the maximum-y edge is at least `offset_y` from the inside maximum-y edge of `outer` and the maximum-x edge is at least `offset_x` from the inside maximum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMaxYMinX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignMaxYMinXOffset(PAreaBI, PAreaBI, java.math.BigInteger, java.math.BigInteger)` with zero offsets.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMaxYMinXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset_x, BigInteger offset_y)` Align the area `inner` such that the maximum-y edge is at least `offset_y` from the inside maximum-y edge of `outer` and the minimum-x edge is at least `offset_x` from the inside minimum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMinYMaxX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignMinYMaxXOffset(PAreaBI, PAreaBI, java.math.BigInteger, java.math.BigInteger)` with zero offsets.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMinYMaxXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset_x, BigInteger offset_y)` Align the area `inner` such that the minimum-y edge is at least `offset_y` from the inside minimum-y edge of `outer` and the maximum-x edge is at least `offset_x` from the inside maximum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMinYMinX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignMinYMinXOffset(PAreaBI, PAreaBI, java.math.BigInteger, java.math.BigInteger)` with zero offsets.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMinYMinXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset_x, BigInteger offset_y)` Align the area `inner` such that the minimum-y edge is at least `offset_y` from the inside minimum-y edge of `outer` and the minimum-x edge is at least `offset_x` from the inside minimum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Align the area `inner` along the X axis in the center of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXMaxX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignOnXMaxXOffset(PAreaBI, PAreaBI, java.math.BigInteger)` with a zero offset.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXMaxXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Align the area `inner` along the X axis against the inside maximum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXMinX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignOnXMinXOffset(PAreaBI, PAreaBI, java.math.BigInteger)` with a zero offset.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXMinXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Align the area `inner` along the X axis against the inside minimum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Align the area `inner` along the Y axis in the center of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYMaxY(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignOnYMaxYOffset(PAreaBI, PAreaBI, java.math.BigInteger)` with a zero offset.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYMaxYOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Align the area `inner` along the Y axis against the inside maximum-y edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYMinY(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignOnYMinYOffset(PAreaBI, PAreaBI, java.math.BigInteger)` with a zero offset.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYMinYOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Align the area `inner` along the Y axis against the inside minimum-y edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnYCenter(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyMaxY(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnYMaxY(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyMaxYOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Deprecated. Use `PAreasBI.alignOnYMaxYOffset(PAreaBI, PAreaBI, java.math.BigInteger)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyMinY(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnYMinY(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyMinYOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Deprecated. Use `PAreasBI.alignOnYMinYOffset(PAreaBI, PAreaBI, java.math.BigInteger)`
    `PAreaBI<S>` | PAreaBI.Builder.`build()` Builds a new `PAreaBI`.
    `static <S,T> PAreaBI<T>` | PAreasBI.`cast(PAreaBI<S> area)` Brand a given area as belonging to a different coordinate space.
    `static <S> PAreaBI<S>` | PAreasBI.`containing(PAreaBI<S> a, PAreaBI<S> b)` Construct a area that will contain both `a` and `b`.
    `static <S> PAreaBI<S>` | PAreasBI.`create(BigInteger x, BigInteger y, BigInteger size_x, BigInteger size_y)` Create an area of size `size_x` on the X axis and size `size_y` on the Y axis, placing the minimum corner at `(x, y)`.
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenHorizontal(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Deprecated. Use `PAreasBI.fitBetweenOnX(PAreaBI, PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenOnX(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Attempt to fit `fit` between `a` and `b`, horizontally.
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenOnY(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Attempt to fit `fit` between `a` and `b`, vertically.
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenVertical(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Deprecated. Use `PAreasBI.fitBetweenOnY(PAreaBI, PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`hollowOut(PAreaBI<S> outer, BigInteger min_x_offset, BigInteger max_x_offset, BigInteger min_y_offset, BigInteger max_y_offset)` Construct a new area that fits inside `outer` based on the given offsets from each edge.
    `static <S> PAreaBI<S>` | PAreasBI.`hollowOutEvenly(PAreaBI<S> outer, BigInteger offset)` Equivalent to calling `PAreasBI.hollowOut(PAreaBI, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger)` with `offset` for all offset parameters.
    `static <S> PAreaBI<S>` | PAreasBI.`moveAbsolute(PAreaBI<S> area, BigInteger x, BigInteger y)` Move the given area to `(x, y)`.
    `static <S> PAreaBI<S>` | PAreasBI.`moveRelative(PAreaBI<S> area, BigInteger x, BigInteger y)` Move the given area by `(x, y)`.
    `static <S> PAreaBI<S>` | PAreasBI.`moveToOrigin(PAreaBI<S> area)` Move the given area to `(0, 0)`.
    `static <S> PAreaBI<S>` | PAreaBI.`of(BigInteger minimumX, BigInteger maximumX, BigInteger minimumY, BigInteger maximumY)` Construct a new immutable `PAreaBI` instance.
    `static <S> PAreaBI<S>` | PAreasBI.`scaleFromCenter(PAreaBI<S> area, BigInteger x_diff, BigInteger y_diff)` Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static <S> PAreaBI<S>` | PAreasBI.`scaleFromMaxYMaxX(PAreaBI<S> area, BigInteger x_diff, BigInteger y_diff)` Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static <S> PAreaBI<S>` | PAreasBI.`scaleFromMaxYMinX(PAreaBI<S> area, BigInteger x_diff, BigInteger y_diff)` Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static <S> PAreaBI<S>` | PAreasBI.`scaleFromMinYMaxX(PAreaBI<S> area, BigInteger x_diff, BigInteger y_diff)` Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static <S> PAreaBI<S>` | PAreasBI.`scaleFromMinYMinX(PAreaBI<S> area, BigInteger x_diff, BigInteger y_diff)` Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static <S> PAreaBI<S>` | PAreasBI.`setSizeFromCenter(PAreaBI<S> area, BigInteger sizeX, BigInteger sizeY)` Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static <S> PAreaBI<S>` | PAreasBI.`setSizeFromMaxYMaxX(PAreaBI<S> area, BigInteger sizeX, BigInteger sizeY)` Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static <S> PAreaBI<S>` | PAreasBI.`setSizeFromMaxYMinX(PAreaBI<S> area, BigInteger sizeX, BigInteger sizeY)` Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static <S> PAreaBI<S>` | PAreasBI.`setSizeFromMinYMaxX(PAreaBI<S> area, BigInteger sizeX, BigInteger sizeY)` Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static <S> PAreaBI<S>` | PAreasBI.`setSizeFromMinYMinX(PAreaBI<S> area, BigInteger sizeX, BigInteger sizeY)` Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.

    Methods in com.io7m.jregions.core.parameterized.areas that return types with arguments of type PAreaBI
    Modifier and Type | Method and Description
    --- | ---
    `static <S> PAreaXSplitBI<S,PAreaBI<S>>` | PAreasBI.`splitAlongParallelToX(PAreaBI<S> area, BigInteger y)` Split `area` along a line parallel to the X axis placed at `y` units from its own minimum-y edge.
    `static <S> PAreaYSplitBI<S,PAreaBI<S>>` | PAreasBI.`splitAlongParallelToY(PAreaBI<S> area, BigInteger x)` Split `area` along a line parallel to the Y axis placed at `x` units from its own minimum-x edge.
    `static <S> PAreaXYSplitBI<S,PAreaBI<S>>` | PAreasBI.`splitAlongXY(PAreaBI<S> area, BigInteger x, BigInteger y)` Split `area` along a two axis-aligned perpendicular lines that intercept at `(x, y)`.

    Methods in com.io7m.jregions.core.parameterized.areas with parameters of type PAreaBI
    Modifier and Type | Method and Description
    --- | ---
    `static <S> PAreaBI<S>` | PAreasBI.`alignCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Align the area `inner` such that the center of the area is equal to the center of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Align the area `inner` such that the center of the area is equal to the center of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnXCenter(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnXCenter(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyMaxX(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnXMaxX(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyMaxX(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnXMaxX(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyMaxXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Deprecated. Use `PAreasBI.alignOnXMaxXOffset(PAreaBI, PAreaBI, java.math.BigInteger)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyMaxXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Deprecated. Use `PAreasBI.alignOnXMaxXOffset(PAreaBI, PAreaBI, java.math.BigInteger)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyMinX(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnXMinX(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyMinX(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnXMinX(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyMinXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Deprecated. Use `PAreasBI.alignOnXMinXOffset(PAreaBI, PAreaBI, java.math.BigInteger)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignHorizontallyMinXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Deprecated. Use `PAreasBI.alignOnXMinXOffset(PAreaBI, PAreaBI, java.math.BigInteger)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignMaxYMaxX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignMaxYMaxXOffset(PAreaBI, PAreaBI, java.math.BigInteger, java.math.BigInteger)` with zero offsets.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMaxYMaxX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignMaxYMaxXOffset(PAreaBI, PAreaBI, java.math.BigInteger, java.math.BigInteger)` with zero offsets.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMaxYMaxXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset_x, BigInteger offset_y)` Align the area `inner` such that the maximum-y edge is at least `offset_y` from the inside maximum-y edge of `outer` and the maximum-x edge is at least `offset_x` from the inside maximum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMaxYMaxXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset_x, BigInteger offset_y)` Align the area `inner` such that the maximum-y edge is at least `offset_y` from the inside maximum-y edge of `outer` and the maximum-x edge is at least `offset_x` from the inside maximum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMaxYMinX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignMaxYMinXOffset(PAreaBI, PAreaBI, java.math.BigInteger, java.math.BigInteger)` with zero offsets.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMaxYMinX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignMaxYMinXOffset(PAreaBI, PAreaBI, java.math.BigInteger, java.math.BigInteger)` with zero offsets.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMaxYMinXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset_x, BigInteger offset_y)` Align the area `inner` such that the maximum-y edge is at least `offset_y` from the inside maximum-y edge of `outer` and the minimum-x edge is at least `offset_x` from the inside minimum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMaxYMinXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset_x, BigInteger offset_y)` Align the area `inner` such that the maximum-y edge is at least `offset_y` from the inside maximum-y edge of `outer` and the minimum-x edge is at least `offset_x` from the inside minimum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMinYMaxX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignMinYMaxXOffset(PAreaBI, PAreaBI, java.math.BigInteger, java.math.BigInteger)` with zero offsets.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMinYMaxX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignMinYMaxXOffset(PAreaBI, PAreaBI, java.math.BigInteger, java.math.BigInteger)` with zero offsets.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMinYMaxXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset_x, BigInteger offset_y)` Align the area `inner` such that the minimum-y edge is at least `offset_y` from the inside minimum-y edge of `outer` and the maximum-x edge is at least `offset_x` from the inside maximum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMinYMaxXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset_x, BigInteger offset_y)` Align the area `inner` such that the minimum-y edge is at least `offset_y` from the inside minimum-y edge of `outer` and the maximum-x edge is at least `offset_x` from the inside maximum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMinYMinX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignMinYMinXOffset(PAreaBI, PAreaBI, java.math.BigInteger, java.math.BigInteger)` with zero offsets.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMinYMinX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignMinYMinXOffset(PAreaBI, PAreaBI, java.math.BigInteger, java.math.BigInteger)` with zero offsets.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMinYMinXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset_x, BigInteger offset_y)` Align the area `inner` such that the minimum-y edge is at least `offset_y` from the inside minimum-y edge of `outer` and the minimum-x edge is at least `offset_x` from the inside minimum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignMinYMinXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset_x, BigInteger offset_y)` Align the area `inner` such that the minimum-y edge is at least `offset_y` from the inside minimum-y edge of `outer` and the minimum-x edge is at least `offset_x` from the inside minimum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Align the area `inner` along the X axis in the center of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Align the area `inner` along the X axis in the center of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXMaxX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignOnXMaxXOffset(PAreaBI, PAreaBI, java.math.BigInteger)` with a zero offset.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXMaxX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignOnXMaxXOffset(PAreaBI, PAreaBI, java.math.BigInteger)` with a zero offset.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXMaxXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Align the area `inner` along the X axis against the inside maximum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXMaxXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Align the area `inner` along the X axis against the inside maximum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXMinX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignOnXMinXOffset(PAreaBI, PAreaBI, java.math.BigInteger)` with a zero offset.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXMinX(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignOnXMinXOffset(PAreaBI, PAreaBI, java.math.BigInteger)` with a zero offset.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXMinXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Align the area `inner` along the X axis against the inside minimum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnXMinXOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Align the area `inner` along the X axis against the inside minimum-x edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Align the area `inner` along the Y axis in the center of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Align the area `inner` along the Y axis in the center of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYMaxY(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignOnYMaxYOffset(PAreaBI, PAreaBI, java.math.BigInteger)` with a zero offset.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYMaxY(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignOnYMaxYOffset(PAreaBI, PAreaBI, java.math.BigInteger)` with a zero offset.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYMaxYOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Align the area `inner` along the Y axis against the inside maximum-y edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYMaxYOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Align the area `inner` along the Y axis against the inside maximum-y edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYMinY(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignOnYMinYOffset(PAreaBI, PAreaBI, java.math.BigInteger)` with a zero offset.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYMinY(PAreaBI<S> outer, PAreaBI<S> inner)` Equivalent to calling `PAreasBI.alignOnYMinYOffset(PAreaBI, PAreaBI, java.math.BigInteger)` with a zero offset.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYMinYOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Align the area `inner` along the Y axis against the inside minimum-y edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignOnYMinYOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Align the area `inner` along the Y axis against the inside minimum-y edge of `outer`.
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnYCenter(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyCenter(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnYCenter(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyMaxY(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnYMaxY(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyMaxY(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnYMaxY(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyMaxYOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Deprecated. Use `PAreasBI.alignOnYMaxYOffset(PAreaBI, PAreaBI, java.math.BigInteger)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyMaxYOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Deprecated. Use `PAreasBI.alignOnYMaxYOffset(PAreaBI, PAreaBI, java.math.BigInteger)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyMinY(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnYMinY(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyMinY(PAreaBI<S> outer, PAreaBI<S> inner)` Deprecated. Use `PAreasBI.alignOnYMinY(PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyMinYOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Deprecated. Use `PAreasBI.alignOnYMinYOffset(PAreaBI, PAreaBI, java.math.BigInteger)`
    `static <S> PAreaBI<S>` | PAreasBI.`alignVerticallyMinYOffset(PAreaBI<S> outer, PAreaBI<S> inner, BigInteger offset)` Deprecated. Use `PAreasBI.alignOnYMinYOffset(PAreaBI, PAreaBI, java.math.BigInteger)`
    `static <S,T> PAreaBI<T>` | PAreasBI.`cast(PAreaBI<S> area)` Brand a given area as belonging to a different coordinate space.
    `static <S> PAreaBI<S>` | PAreasBI.`containing(PAreaBI<S> a, PAreaBI<S> b)` Construct a area that will contain both `a` and `b`.
    `static <S> PAreaBI<S>` | PAreasBI.`containing(PAreaBI<S> a, PAreaBI<S> b)` Construct a area that will contain both `a` and `b`.
    `static <S> boolean` | PAreasBI.`contains(PAreaBI<S> a, PAreaBI<S> b)` Determine whether or not one area contains another.
    `static <S> boolean` | PAreasBI.`contains(PAreaBI<S> a, PAreaBI<S> b)` Determine whether or not one area contains another.
    `static <S> boolean` | PAreasBI.`containsPoint(PAreaBI<S> a, BigInteger x, BigInteger y)` Determine whether or not a area contains a given point.
    `static <S> boolean` | PAreasBI.`couldFitInside(PAreaBI<S> a, PAreaBI<S> b)` Determine whether or not one area could fit inside another.
    `static <S> boolean` | PAreasBI.`couldFitInside(PAreaBI<S> a, PAreaBI<S> b)` Determine whether or not one area could fit inside another.
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenHorizontal(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Deprecated. Use `PAreasBI.fitBetweenOnX(PAreaBI, PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenHorizontal(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Deprecated. Use `PAreasBI.fitBetweenOnX(PAreaBI, PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenHorizontal(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Deprecated. Use `PAreasBI.fitBetweenOnX(PAreaBI, PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenOnX(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Attempt to fit `fit` between `a` and `b`, horizontally.
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenOnX(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Attempt to fit `fit` between `a` and `b`, horizontally.
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenOnX(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Attempt to fit `fit` between `a` and `b`, horizontally.
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenOnY(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Attempt to fit `fit` between `a` and `b`, vertically.
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenOnY(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Attempt to fit `fit` between `a` and `b`, vertically.
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenOnY(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Attempt to fit `fit` between `a` and `b`, vertically.
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenVertical(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Deprecated. Use `PAreasBI.fitBetweenOnY(PAreaBI, PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenVertical(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Deprecated. Use `PAreasBI.fitBetweenOnY(PAreaBI, PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`fitBetweenVertical(PAreaBI<S> fit, PAreaBI<S> a, PAreaBI<S> b)` Deprecated. Use `PAreasBI.fitBetweenOnY(PAreaBI, PAreaBI, PAreaBI)`
    `static <S> PAreaBI<S>` | PAreasBI.`hollowOut(PAreaBI<S> outer, BigInteger min_x_offset, BigInteger max_x_offset, BigInteger min_y_offset, BigInteger max_y_offset)` Construct a new area that fits inside `outer` based on the given offsets from each edge.
    `static <S> PAreaBI<S>` | PAreasBI.`hollowOutEvenly(PAreaBI<S> outer, BigInteger offset)` Equivalent to calling `PAreasBI.hollowOut(PAreaBI, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger)` with `offset` for all offset parameters.
    `static <S> PAreaBI<S>` | PAreasBI.`moveAbsolute(PAreaBI<S> area, BigInteger x, BigInteger y)` Move the given area to `(x, y)`.
    `static <S> PAreaBI<S>` | PAreasBI.`moveRelative(PAreaBI<S> area, BigInteger x, BigInteger y)` Move the given area by `(x, y)`.
    `static <S> PAreaBI<S>` | PAreasBI.`moveToOrigin(PAreaBI<S> area)` Move the given area to `(0, 0)`.
    `static <S> boolean` | PAreasBI.`overlaps(PAreaBI<S> a, PAreaBI<S> b)` Determine whether or not two areas overlap.
    `static <S> boolean` | PAreasBI.`overlaps(PAreaBI<S> a, PAreaBI<S> b)` Determine whether or not two areas overlap.
    `static <S> PAreaBI<S>` | PAreasBI.`scaleFromCenter(PAreaBI<S> area, BigInteger x_diff, BigInteger y_diff)` Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static <S> PAreaBI<S>` | PAreasBI.`scaleFromMaxYMaxX(PAreaBI<S> area, BigInteger x_diff, BigInteger y_diff)` Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static <S> PAreaBI<S>` | PAreasBI.`scaleFromMaxYMinX(PAreaBI<S> area, BigInteger x_diff, BigInteger y_diff)` Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static <S> PAreaBI<S>` | PAreasBI.`scaleFromMinYMaxX(PAreaBI<S> area, BigInteger x_diff, BigInteger y_diff)` Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static <S> PAreaBI<S>` | PAreasBI.`scaleFromMinYMinX(PAreaBI<S> area, BigInteger x_diff, BigInteger y_diff)` Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static <S> PAreaBI<S>` | PAreasBI.`setSizeFromCenter(PAreaBI<S> area, BigInteger sizeX, BigInteger sizeY)` Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static <S> PAreaBI<S>` | PAreasBI.`setSizeFromMaxYMaxX(PAreaBI<S> area, BigInteger sizeX, BigInteger sizeY)` Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static <S> PAreaBI<S>` | PAreasBI.`setSizeFromMaxYMinX(PAreaBI<S> area, BigInteger sizeX, BigInteger sizeY)` Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static <S> PAreaBI<S>` | PAreasBI.`setSizeFromMinYMaxX(PAreaBI<S> area, BigInteger sizeX, BigInteger sizeY)` Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static <S> PAreaBI<S>` | PAreasBI.`setSizeFromMinYMinX(PAreaBI<S> area, BigInteger sizeX, BigInteger sizeY)` Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static <S> String` | PAreasBI.`show(PAreaBI<S> area)`
    `static <S> String` | PAreasBI.`showToBuilder(PAreaBI<S> area, StringBuilder sb)`
    `static <S> PAreaSizeBI<S>` | PAreasBI.`size(PAreaBI<S> area)`
    `static <S> PAreaXSplitBI<S,PAreaBI<S>>` | PAreasBI.`splitAlongParallelToX(PAreaBI<S> area, BigInteger y)` Split `area` along a line parallel to the X axis placed at `y` units from its own minimum-y edge.
    `static <S> PAreaYSplitBI<S,PAreaBI<S>>` | PAreasBI.`splitAlongParallelToY(PAreaBI<S> area, BigInteger x)` Split `area` along a line parallel to the Y axis placed at `x` units from its own minimum-x edge.
    `static <S> PAreaXYSplitBI<S,PAreaBI<S>>` | PAreasBI.`splitAlongXY(PAreaBI<S> area, BigInteger x, BigInteger y)` Split `area` along a two axis-aligned perpendicular lines that intercept at `(x, y)`.

  - ### Uses of PAreaBI in com.io7m.jregions.generators

    Methods in com.io7m.jregions.generators that return PAreaBI
    Modifier and Type | Method and Description
    --- | ---
    `PAreaBI<S>` | PAreaBIGenerator.`next()`

Copyright © 2017 <code@io7m.com> http://io7m.com