IntSquareLike

class Object
trait Matchable
class Any
class IntSquare

Value members

Abstract methods

def cx: Int

X coordinate of the square's center

X coordinate of the square's center

def cy: Int

Y coordinate of the square's center

Y coordinate of the square's center

def extent: Int

The extent is the half side length of the square

The extent is the half side length of the square

Concrete methods

final def area: Long
final def bottom: Int

The bottom is defined as the center y coordinate plus the extent minus one, it thus designed the 'last pixel' still inside the square. This was changed from the previous definition of 'cy + extent' to be able to use the full 31 bit signed int space for a square without resorting to long conversion.

The bottom is defined as the center y coordinate plus the extent minus one, it thus designed the 'last pixel' still inside the square. This was changed from the previous definition of 'cy + extent' to be able to use the full 31 bit signed int space for a square without resorting to long conversion.

final def containsH(quad: HyperCube): Boolean

Checks whether a given square is fully contained in this square. This is also the case if their bounds full match.

Checks whether a given square is fully contained in this square. This is also the case if their bounds full match.

final def containsP(point: PointLike): Boolean
final def indexOfH(aq: HyperCube): Int

Determines the quadrant index of another internal square aq.

Determines the quadrant index of another internal square aq.

Returns:

the index of the quadrant (beginning at 0), or -1 if aq lies outside of this square.

final def indexOfP(a: PointLike): Int

Determines the quadrant index of a point a.

Determines the quadrant index of a point a.

Returns:

the index of the quadrant (beginning at 0), or -1 if a lies outside of this square.

final def isAreaGreater(a: HyperCube, b: Long): Boolean
final def isAreaNonEmpty(area: Long): Boolean
final def left: Int
final def maxDistance(point: PointLike): Double

Calculates the maximum distance to a point in the euclidean metric. This calls maxDistanceSq and then takes the square root.

Calculates the maximum distance to a point in the euclidean metric. This calls maxDistanceSq and then takes the square root.

final def maxDistanceSq(point: PointLike): Long

Calculates the maximum squared distance to a point in the euclidean metric. This is the distance (squared) to the corner which is the furthest from the point, no matter if it lies within the square or not.

Calculates the maximum squared distance to a point in the euclidean metric. This is the distance (squared) to the corner which is the furthest from the point, no matter if it lies within the square or not.

final def minDistance(point: PointLike): Double

Calculates the minimum distance to a point in the euclidean metric. This calls minDistanceSq and then takes the square root.

Calculates the minimum distance to a point in the euclidean metric. This calls minDistanceSq and then takes the square root.

final def minDistanceSq(point: PointLike): Long

The squared (euclidean) distance of the closest of the square's corners or sides to the point, if the point is outside the square, or zero, if the point is contained

The squared (euclidean) distance of the closest of the square's corners or sides to the point, if the point is outside the square, or zero, if the point is contained

final def orthant(idx: Int): HyperCube
final def overlapArea(q: HyperCube): Long
final def right: Int

The right is defined as the center x coordinate plus the extent minus one, it thus designed the 'last pixel' still inside the square. This was changed from the previous definition of 'cx + extent' to be able to use the full 31 bit signed int space for a square without resorting to long conversion.

The right is defined as the center x coordinate plus the extent minus one, it thus designed the 'last pixel' still inside the square. This was changed from the previous definition of 'cx + extent' to be able to use the full 31 bit signed int space for a square without resorting to long conversion.

final def side: Int

The side length is two times the extent. Note that this may overflow if the extent is greater than 0x3FFFFFFF.

The side length is two times the extent. Note that this may overflow if the extent is greater than 0x3FFFFFFF.

final def top: Int

The top is center-y minus the extent.

The top is center-y minus the extent.

Note therefore, that the vertical coordinates are considered top-down as in screen coordinates, not bottom-up!