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!