Class AreasBI
Functions over areas.
These functions operate using the concepts of minimum-x, maximum-x, minimum-y, and maximum-y edges. It is up to individual applications to assign meaning to these edges such as "left" for minimum-x and "top" for minimum-y.
-
Method Summary
Modifier and TypeMethodDescriptionstatic AreaBIalignCenter(AreaBI outer, AreaBI inner) Align the areainnersuch that the center of the area is equal to the center ofouter.static AreaBIalignHorizontallyCenter(AreaBI outer, AreaBI inner) Deprecated.static AreaBIalignHorizontallyMaxX(AreaBI outer, AreaBI inner) Deprecated.static AreaBIalignHorizontallyMaxXOffset(AreaBI outer, AreaBI inner, BigInteger offset) Deprecated.static AreaBIalignHorizontallyMinX(AreaBI outer, AreaBI inner) Deprecated.static AreaBIalignHorizontallyMinXOffset(AreaBI outer, AreaBI inner, BigInteger offset) Deprecated.static AreaBIalignMaxYMaxX(AreaBI outer, AreaBI inner) Equivalent to callingalignMaxYMaxXOffset(AreaBI, AreaBI, java.math.BigInteger, java.math.BigInteger)with zero offsets.static AreaBIalignMaxYMaxXOffset(AreaBI outer, AreaBI inner, BigInteger offset_x, BigInteger offset_y) Align the areainnersuch that the maximum-y edge is at leastoffset_yfrom the inside maximum-y edge ofouterand the maximum-x edge is at leastoffset_xfrom the inside maximum-x edge ofouter.static AreaBIalignMaxYMinX(AreaBI outer, AreaBI inner) Equivalent to callingalignMaxYMinXOffset(AreaBI, AreaBI, java.math.BigInteger, java.math.BigInteger)with zero offsets.static AreaBIalignMaxYMinXOffset(AreaBI outer, AreaBI inner, BigInteger offset_x, BigInteger offset_y) Align the areainnersuch that the maximum-y edge is at leastoffset_yfrom the inside maximum-y edge ofouterand the minimum-x edge is at leastoffset_xfrom the inside minimum-x edge ofouter.static AreaBIalignMinYMaxX(AreaBI outer, AreaBI inner) Equivalent to callingalignMinYMaxXOffset(AreaBI, AreaBI, java.math.BigInteger, java.math.BigInteger)with zero offsets.static AreaBIalignMinYMaxXOffset(AreaBI outer, AreaBI inner, BigInteger offset_x, BigInteger offset_y) Align the areainnersuch that the minimum-y edge is at leastoffset_yfrom the inside minimum-y edge ofouterand the maximum-x edge is at leastoffset_xfrom the inside maximum-x edge ofouter.static AreaBIalignMinYMinX(AreaBI outer, AreaBI inner) Equivalent to callingalignMinYMinXOffset(AreaBI, AreaBI, java.math.BigInteger, java.math.BigInteger)with zero offsets.static AreaBIalignMinYMinXOffset(AreaBI outer, AreaBI inner, BigInteger offset_x, BigInteger offset_y) Align the areainnersuch that the minimum-y edge is at leastoffset_yfrom the inside minimum-y edge ofouterand the minimum-x edge is at leastoffset_xfrom the inside minimum-x edge ofouter.static AreaBIalignOnXCenter(AreaBI outer, AreaBI inner) Align the areainneralong the X axis in the center ofouter.static AreaBIalignOnXMaxX(AreaBI outer, AreaBI inner) Equivalent to callingalignOnXMaxXOffset(AreaBI, AreaBI, java.math.BigInteger)with a zero offset.static AreaBIalignOnXMaxXOffset(AreaBI outer, AreaBI inner, BigInteger offset) Align the areainneralong the X axis against the inside maximum-x edge ofouter.static AreaBIalignOnXMinX(AreaBI outer, AreaBI inner) Equivalent to callingalignOnXMinXOffset(AreaBI, AreaBI, java.math.BigInteger)with a zero offset.static AreaBIalignOnXMinXOffset(AreaBI outer, AreaBI inner, BigInteger offset) Align the areainneralong the X axis against the inside minimum-x edge ofouter.static AreaBIalignOnYCenter(AreaBI outer, AreaBI inner) Align the areainneralong the Y axis in the center ofouter.static AreaBIalignOnYMaxY(AreaBI outer, AreaBI inner) Equivalent to callingalignOnYMaxYOffset(AreaBI, AreaBI, java.math.BigInteger)with a zero offset.static AreaBIalignOnYMaxYOffset(AreaBI outer, AreaBI inner, BigInteger offset) Align the areainneralong the Y axis against the inside maximum-y edge ofouter.static AreaBIalignOnYMinY(AreaBI outer, AreaBI inner) Equivalent to callingalignOnYMinYOffset(AreaBI, AreaBI, java.math.BigInteger)with a zero offset.static AreaBIalignOnYMinYOffset(AreaBI outer, AreaBI inner, BigInteger offset) Align the areainneralong the Y axis against the inside minimum-y edge ofouter.static AreaBIalignVerticallyCenter(AreaBI outer, AreaBI inner) Deprecated.static AreaBIalignVerticallyMaxY(AreaBI outer, AreaBI inner) Deprecated.static AreaBIalignVerticallyMaxYOffset(AreaBI outer, AreaBI inner, BigInteger offset) Deprecated.static AreaBIalignVerticallyMinY(AreaBI outer, AreaBI inner) Deprecated.static AreaBIalignVerticallyMinYOffset(AreaBI outer, AreaBI inner, BigInteger offset) Deprecated.static AreaBIcontaining(AreaBI a, AreaBI b) Construct a area that will contain bothaandb.static booleanDetermine whether or not one area contains another.static booleancontainsPoint(AreaBI a, BigInteger x, BigInteger y) Determine whether or not a area contains a given point.static booleancouldFitInside(AreaBI a, AreaBI b) Determine whether or not one area could fit inside another.static AreaBIcreate(BigInteger x, BigInteger y, BigInteger size_x, BigInteger size_y) Create an area of sizesize_xon the X axis and sizesize_yon the Y axis, placing the minimum corner at(x, y).static AreaBIfitBetweenHorizontal(AreaBI fit, AreaBI a, AreaBI b) Deprecated.static AreaBIfitBetweenOnX(AreaBI fit, AreaBI a, AreaBI b) Attempt to fitfitbetweenaandb, horizontally.static AreaBIfitBetweenOnY(AreaBI fit, AreaBI a, AreaBI b) Attempt to fitfitbetweenaandb, vertically.static AreaBIfitBetweenVertical(AreaBI fit, AreaBI a, AreaBI b) Deprecated.static AreaBIhollowOut(AreaBI outer, BigInteger min_x_offset, BigInteger max_x_offset, BigInteger min_y_offset, BigInteger max_y_offset) Construct a new area that fits insideouterbased on the given offsets from each edge.static AreaBIhollowOutEvenly(AreaBI outer, BigInteger offset) Equivalent to callinghollowOut(AreaBI, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger)withoffsetfor all offset parameters.static AreaBImoveAbsolute(AreaBI area, BigInteger x, BigInteger y) Move the given area to(x, y).static AreaBImoveRelative(AreaBI area, BigInteger x, BigInteger y) Move the given area by(x, y).static AreaBImoveRelativeClamped(AreaBI container, AreaBI area, BigInteger x, BigInteger y) Move the given area by(x, y), without allowingareato leavecontainer.static AreaBImoveRelativeClampedX(AreaBI container, AreaBI area, BigInteger x) Move the given area byx, without allowingareato leavecontainer.static AreaBImoveRelativeClampedY(AreaBI container, AreaBI area, BigInteger y) Move the given area byy, without allowingareato leavecontainer.static AreaBImoveToOrigin(AreaBI area) Move the given area to(0, 0).static booleanDetermine whether or not two areas overlap.static AreaBIscaleFromCenter(AreaBI area, BigInteger x_diff, BigInteger y_diff) Scaleareaby addingx_diffto the sizeX, andy_diffto the sizeY.static AreaBIscaleFromMaxYMaxX(AreaBI area, BigInteger x_diff, BigInteger y_diff) Scaleareaby addingx_diffto the sizeX, andy_diffto the sizeY.static AreaBIscaleFromMaxYMinX(AreaBI area, BigInteger x_diff, BigInteger y_diff) Scaleareaby addingx_diffto the sizeX, andy_diffto the sizeY.static AreaBIscaleFromMinYMaxX(AreaBI area, BigInteger x_diff, BigInteger y_diff) Scaleareaby addingx_diffto the sizeX, andy_diffto the sizeY.static AreaBIscaleFromMinYMinX(AreaBI area, BigInteger x_diff, BigInteger y_diff) Scaleareaby addingx_diffto the sizeX, andy_diffto the sizeY.static AreaBIsetSizeFromCenter(AreaBI area, BigInteger sizeX, BigInteger sizeY) Set the sizeX and sizeY ofareatosizeXandsizeY, respectively.static AreaBIsetSizeFromMaxYMaxX(AreaBI area, BigInteger sizeX, BigInteger sizeY) Set the sizeX and sizeY ofareatosizeXandsizeY, respectively.static AreaBIsetSizeFromMaxYMinX(AreaBI area, BigInteger sizeX, BigInteger sizeY) Set the sizeX and sizeY ofareatosizeXandsizeY, respectively.static AreaBIsetSizeFromMinYMaxX(AreaBI area, BigInteger sizeX, BigInteger sizeY) Set the sizeX and sizeY ofareatosizeXandsizeY, respectively.static AreaBIsetSizeFromMinYMinX(AreaBI area, BigInteger sizeX, BigInteger sizeY) Set the sizeX and sizeY ofareatosizeXandsizeY, respectively.static Stringstatic StringshowToBuilder(AreaBI area, StringBuilder sb) static AreaSizeBIstatic AreaXSplitBI<AreaBI>splitAlongParallelToX(AreaBI area, BigInteger y) Splitareaalong a line parallel to the X axis placed atyunits from its own minimum-y edge.static AreaYSplitBI<AreaBI>splitAlongParallelToY(AreaBI area, BigInteger x) Splitareaalong a line parallel to the Y axis placed atxunits from its own minimum-x edge.static AreaXYSplitBI<AreaBI>splitAlongXY(AreaBI area, BigInteger x, BigInteger y) Splitareaalong a two axis-aligned perpendicular lines that intercept at(x, y).
-
Method Details
-
create
Create an area of sizesize_xon the X axis and sizesize_yon the Y axis, placing the minimum corner at(x, y).- Parameters:
x- The X value of the minimum cornery- The Y value of the minimum cornersize_x- The size of the area on the X axissize_y- The size of the area on the Y axis- Returns:
- An area
-
contains
Determine whether or not one area contains another.
Containing is reflexive:
contains(a, a) == true.Containing is transitive:
contains(a, b) → contains(b, c) → contains(a, c).Containing is not necessarily symmetric.
- Parameters:
a- Area Ab- Area B- Returns:
trueiffacontainsb
-
moveRelative
Move the given area by(x, y).- Parameters:
area- The areax- The amount to move on the X axisy- The amount to move on the Y axis- Returns:
- A moved area
-
moveRelativeClampedX
Move the given area byx, without allowingareato leavecontainer.- Parameters:
container- The container areaarea- The areax- The amount to move on the X axis- Returns:
- A moved area
- Since:
- 3.0.0
-
moveRelativeClampedY
Move the given area byy, without allowingareato leavecontainer.- Parameters:
container- The container areaarea- The areay- The amount to move on the Y axis- Returns:
- A moved area
- Since:
- 3.0.0
-
moveRelativeClamped
Move the given area by(x, y), without allowingareato leavecontainer.- Parameters:
container- The container areaarea- The areax- The amount to move on the X axisy- The amount to move on the Y axis- Returns:
- A moved area
- Since:
- 3.0.0
-
moveAbsolute
Move the given area to(x, y).- Parameters:
area- The areax- The position to which to move on the X axisy- The position to which to move on the Y axis- Returns:
- A moved area
-
moveToOrigin
Move the given area to(0, 0).- Parameters:
area- The area- Returns:
- A moved area
-
alignOnXCenter
Align the areainneralong the X axis in the center ofouter.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
- Since:
- 1.1.0
-
alignOnXMinX
Equivalent to callingalignOnXMinXOffset(AreaBI, AreaBI, java.math.BigInteger)with a zero offset.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
- Since:
- 1.1.0
-
alignOnXMinXOffset
Align the areainneralong the X axis against the inside minimum-x edge ofouter. The area will be at leastoffsetunits from the minimum-x edge.- Parameters:
outer- The outer areainner- The inner areaoffset- The offset from the edge- Returns:
- An aligned area
- Since:
- 1.1.0
-
alignOnXMaxX
Equivalent to callingalignOnXMaxXOffset(AreaBI, AreaBI, java.math.BigInteger)with a zero offset.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
- Since:
- 1.1.0
-
alignOnXMaxXOffset
Align the areainneralong the X axis against the inside maximum-x edge ofouter. The area will be at leastoffsetunits from the maximum-x edge.- Parameters:
outer- The outer areainner- The inner areaoffset- The offset from the edge- Returns:
- An aligned area
- Since:
- 1.1.0
-
alignOnYMinY
Equivalent to callingalignOnYMinYOffset(AreaBI, AreaBI, java.math.BigInteger)with a zero offset.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
- Since:
- 1.1.0
-
alignOnYMinYOffset
Align the areainneralong the Y axis against the inside minimum-y edge ofouter. The area will be at leastoffsetunits from the minimum-y edge.- Parameters:
outer- The outer areainner- The inner areaoffset- The offset from the edge- Returns:
- An aligned area
- Since:
- 1.1.0
-
alignOnYMaxY
Equivalent to callingalignOnYMaxYOffset(AreaBI, AreaBI, java.math.BigInteger)with a zero offset.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
- Since:
- 1.1.0
-
alignOnYMaxYOffset
Align the areainneralong the Y axis against the inside maximum-y edge ofouter. The area will be at leastoffsetunits from the maximum-y edge.- Parameters:
outer- The outer areainner- The inner areaoffset- The offset from the edge- Returns:
- An aligned area
- Since:
- 1.1.0
-
alignOnYCenter
Align the areainneralong the Y axis in the center ofouter.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
- Since:
- 1.1.0
-
alignHorizontallyCenter
Deprecated.Align the areainnerhorizontally in the center ofouter.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
-
alignHorizontallyMinX
Deprecated.Equivalent to callingalignHorizontallyMinXOffset(AreaBI, AreaBI, java.math.BigInteger)with a zero offset.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
-
alignHorizontallyMinXOffset
@Deprecated public static AreaBI alignHorizontallyMinXOffset(AreaBI outer, AreaBI inner, BigInteger offset) Deprecated.Align the areainnerhorizontally against the inside minimum-x edge ofouter. The area will be at leastoffsetunits from the minimum-x edge.- Parameters:
outer- The outer areainner- The inner areaoffset- The offset from the edge- Returns:
- An aligned area
-
alignHorizontallyMaxX
Deprecated.Equivalent to callingalignHorizontallyMaxXOffset(AreaBI, AreaBI, java.math.BigInteger)with a zero offset.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
-
alignHorizontallyMaxXOffset
@Deprecated public static AreaBI alignHorizontallyMaxXOffset(AreaBI outer, AreaBI inner, BigInteger offset) Deprecated.Align the areainnerhorizontally against the inside maximum-x edge ofouter. The area will be at leastoffsetunits from the maximum-x edge.- Parameters:
outer- The outer areainner- The inner areaoffset- The offset from the edge- Returns:
- An aligned area
-
alignVerticallyMinY
Deprecated.Equivalent to callingalignVerticallyMinYOffset(AreaBI, AreaBI, java.math.BigInteger)with a zero offset.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
-
alignVerticallyMinYOffset
@Deprecated public static AreaBI alignVerticallyMinYOffset(AreaBI outer, AreaBI inner, BigInteger offset) Deprecated.Align the areainnervertically against the inside minimum-y edge ofouter. The area will be at leastoffsetunits from the minimum-y edge.- Parameters:
outer- The outer areainner- The inner areaoffset- The offset from the edge- Returns:
- An aligned area
-
alignVerticallyMaxY
Deprecated.Equivalent to callingalignVerticallyMaxYOffset(AreaBI, AreaBI, java.math.BigInteger)with a zero offset.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
-
alignVerticallyMaxYOffset
@Deprecated public static AreaBI alignVerticallyMaxYOffset(AreaBI outer, AreaBI inner, BigInteger offset) Deprecated.Align the areainnervertically against the inside maximum-y edge ofouter. The area will be at leastoffsetunits from the maximum-y edge.- Parameters:
outer- The outer areainner- The inner areaoffset- The offset from the edge- Returns:
- An aligned area
-
alignVerticallyCenter
Deprecated.Align the areainnervertically in the center ofouter.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
-
alignMinYMinX
Equivalent to callingalignMinYMinXOffset(AreaBI, AreaBI, java.math.BigInteger, java.math.BigInteger)with zero offsets.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
-
alignMinYMinXOffset
public static AreaBI alignMinYMinXOffset(AreaBI outer, AreaBI inner, BigInteger offset_x, BigInteger offset_y) Align the areainnersuch that the minimum-y edge is at leastoffset_yfrom the inside minimum-y edge ofouterand the minimum-x edge is at leastoffset_xfrom the inside minimum-x edge ofouter.- Parameters:
outer- The outer areainner- The inner areaoffset_x- The offset from the minimum-x edgeoffset_y- The offset from the minimum-y edge- Returns:
- An aligned area
-
alignMinYMaxX
Equivalent to callingalignMinYMaxXOffset(AreaBI, AreaBI, java.math.BigInteger, java.math.BigInteger)with zero offsets.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
-
alignMinYMaxXOffset
public static AreaBI alignMinYMaxXOffset(AreaBI outer, AreaBI inner, BigInteger offset_x, BigInteger offset_y) Align the areainnersuch that the minimum-y edge is at leastoffset_yfrom the inside minimum-y edge ofouterand the maximum-x edge is at leastoffset_xfrom the inside maximum-x edge ofouter.- Parameters:
outer- The outer areainner- The inner areaoffset_x- The offset from the maximum-x edgeoffset_y- The offset from the minimum-y edge- Returns:
- An aligned area
-
alignMaxYMinX
Equivalent to callingalignMaxYMinXOffset(AreaBI, AreaBI, java.math.BigInteger, java.math.BigInteger)with zero offsets.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
-
alignMaxYMinXOffset
public static AreaBI alignMaxYMinXOffset(AreaBI outer, AreaBI inner, BigInteger offset_x, BigInteger offset_y) Align the areainnersuch that the maximum-y edge is at leastoffset_yfrom the inside maximum-y edge ofouterand the minimum-x edge is at leastoffset_xfrom the inside minimum-x edge ofouter.- Parameters:
outer- The outer areainner- The inner areaoffset_x- The offset from the minimum-x edgeoffset_y- The offset from the maximum-y edge- Returns:
- An aligned area
-
alignMaxYMaxX
Equivalent to callingalignMaxYMaxXOffset(AreaBI, AreaBI, java.math.BigInteger, java.math.BigInteger)with zero offsets.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
-
alignMaxYMaxXOffset
public static AreaBI alignMaxYMaxXOffset(AreaBI outer, AreaBI inner, BigInteger offset_x, BigInteger offset_y) Align the areainnersuch that the maximum-y edge is at leastoffset_yfrom the inside maximum-y edge ofouterand the maximum-x edge is at leastoffset_xfrom the inside maximum-x edge ofouter.- Parameters:
outer- The outer areainner- The inner areaoffset_x- The offset from the maximum-x edgeoffset_y- The offset from the maximum-y edge- Returns:
- An aligned area
-
alignCenter
Align the areainnersuch that the center of the area is equal to the center ofouter.- Parameters:
outer- The outer areainner- The inner area- Returns:
- An aligned area
-
hollowOut
public static AreaBI hollowOut(AreaBI outer, BigInteger min_x_offset, BigInteger max_x_offset, BigInteger min_y_offset, BigInteger max_y_offset) Construct a new area that fits insideouterbased on the given offsets from each edge.- Parameters:
outer- The containing areamin_x_offset- The offset from the minimum-x edge (must be non-negative)max_x_offset- The offset from the maximum-x edge (must be non-negative)min_y_offset- The offset from the minimum-y edge (must be non-negative)max_y_offset- The offset from the maximum-y edge (must be non-negative)- Returns:
- A new area
-
hollowOutEvenly
Equivalent to callinghollowOut(AreaBI, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger)withoffsetfor all offset parameters.- Parameters:
outer- The containing areaoffset- The offset from each edge (must be non-negative)- Returns:
- A new area
-
setSizeFromCenter
Set the sizeX and sizeY of
areatosizeXandsizeY, respectively.The area is resized from its own center.
- Parameters:
area- The areasizeX- The new sizeX (must be non-negative)sizeY- The new sizeY (must be non-negative)- Returns:
- A resized area
-
setSizeFromMinYMinX
Set the sizeX and sizeY of
areatosizeXandsizeY, respectively.The area is resized by moving its minimum-y-minimum-x corner.
- Parameters:
area- The areasizeX- The new sizeX (must be non-negative)sizeY- The new sizeY (must be non-negative)- Returns:
- A resized area
-
setSizeFromMinYMaxX
Set the sizeX and sizeY of
areatosizeXandsizeY, respectively.The area is resized by moving its minimum-y-maximum-x corner.
- Parameters:
area- The areasizeX- The new sizeX (must be non-negative)sizeY- The new sizeY (must be non-negative)- Returns:
- A resized area
-
setSizeFromMaxYMaxX
Set the sizeX and sizeY of
areatosizeXandsizeY, respectively.The area is resized by moving its maximum-y-maximum-x corner.
- Parameters:
area- The areasizeX- The new sizeX (must be non-negative)sizeY- The new sizeY (must be non-negative)- Returns:
- A resized area
-
setSizeFromMaxYMinX
Set the sizeX and sizeY of
areatosizeXandsizeY, respectively.The area is resized by moving its maximum-y-minimum-x corner.
- Parameters:
area- The areasizeX- The new sizeX (must be non-negative)sizeY- The new sizeY (must be non-negative)- Returns:
- A resized area
-
scaleFromMinYMinX
Scale
areaby addingx_diffto the sizeX, andy_diffto the sizeY. The size of the resulting area is clamped so that its sizeX and sizeY are always non-negative.The area is resized by moving its minimum-y-minimum-x corner.
- Parameters:
area- The areax_diff- The X differencey_diff- The Y difference- Returns:
- A resized area
-
scaleFromMinYMaxX
Scale
areaby addingx_diffto the sizeX, andy_diffto the sizeY. The size of the resulting area is clamped so that its sizeX and sizeY are always non-negative.The area is resized by moving its minimum-y-maximum-x corner.
- Parameters:
area- The areax_diff- The X differencey_diff- The Y difference- Returns:
- A resized area
-
scaleFromMaxYMinX
Scale
areaby addingx_diffto the sizeX, andy_diffto the sizeY. The size of the resulting area is clamped so that its sizeX and sizeY are always non-negative.The area is resized by moving its maximum-y-minimum-x corner.
- Parameters:
area- The areax_diff- The X differencey_diff- The Y difference- Returns:
- A resized area
-
scaleFromMaxYMaxX
Scale
areaby addingx_diffto the sizeX, andy_diffto the sizeY. The size of the resulting area is clamped so that its sizeX and sizeY are always non-negative.The area is resized by moving its maximum-y-maximum-x corner.
- Parameters:
area- The areax_diff- The X differencey_diff- The Y difference- Returns:
- A resized area
-
scaleFromCenter
Scale
areaby addingx_diffto the sizeX, andy_diffto the sizeY. The size of the resulting area is clamped so that its sizeX and sizeY are always non-negative.The area is resized from its own center.
- Parameters:
area- The areax_diff- The X differencey_diff- The Y difference- Returns:
- A resized area
-
overlaps
Determine whether or not two areas overlap.
Overlapping is reflexive:
overlaps(a, a) == true.Overlapping is symmetric:
overlaps(a, b) == overlaps(b, a).Overlapping is not necessarily transitive.
- Parameters:
a- An areab- An area- Returns:
trueiffaoverlapsb
-
couldFitInside
Determine whether or not one area could fit inside another.
Fitting is reflexive:
couldFitInside(a, a) == true.Fitting is transitive:
couldFitInside(a, b) → couldFitInside(b, c) → couldFitInside(a, c).Fitting is not necessarily symmetric.
- Parameters:
a- An areab- An area- Returns:
trueiffacould fit insideb
-
containing
Construct a area that will contain bothaandb.- Parameters:
a- An areab- An area- Returns:
- An area containing
aandb
-
containsPoint
Determine whether or not a area contains a given point.
- Parameters:
a- An areax- The X coordinate of the pointy- The Y coordinate of the point- Returns:
trueiffacontains(x, y)
-
fitBetweenHorizontal
Deprecated.Attempt to fitfitbetweenaandb, horizontally.- Parameters:
fit- The area to be fitteda- An areab- An area- Returns:
- A fitted area
-
fitBetweenVertical
Deprecated.Attempt to fitfitbetweenaandb, vertically.- Parameters:
fit- The area to be fitteda- An areab- An area- Returns:
- A fitted area
-
fitBetweenOnX
Attempt to fitfitbetweenaandb, horizontally.- Parameters:
fit- The area to be fitteda- An areab- An area- Returns:
- A fitted area
-
fitBetweenOnY
Attempt to fitfitbetweenaandb, vertically.- Parameters:
fit- The area to be fitteda- An areab- An area- Returns:
- A fitted area
-
splitAlongParallelToX
Splitareaalong a line parallel to the X axis placed atyunits from its own minimum-y edge.- Parameters:
area- The area to be splity- The relative Y coordinate of the splitting edge- Returns:
- A pair of areas
-
splitAlongParallelToY
Splitareaalong a line parallel to the Y axis placed atxunits from its own minimum-x edge.- Parameters:
area- The area to be splitx- The relative X coordinate of the splitting edge- Returns:
- A pair of areas
-
splitAlongXY
Splitareaalong a two axis-aligned perpendicular lines that intercept at(x, y).- Parameters:
area- The area to be splitx- The relative X coordinate of the splitting edgey- The relative Y coordinate of the splitting edge- Returns:
- The four resulting quadrants
- Since:
- 1.1.0
-
show
- Parameters:
area- The area- Returns:
- A terse string describing the position and size of the area
-
size
- Parameters:
area- The area- Returns:
- The size of the area
-
showToBuilder
- Parameters:
area- The areasb- A string builder- Returns:
- A terse string describing the position and size of the area
-
alignOnXCenter(AreaBI, AreaBI)