Each instance of this class represents a location on a two-dimensional plane. A Pos object is
essentially a pair of two coordinates, x and y. Pos objects are immutable.
This class has an alias in the top-level package o1, so it’s accessible to students simply
via import o1.*.
- Value parameters:
- x
the x coordinate of the
Pos- y
the y coordinate of the
Pos
- Companion:
- object
Value members
Concrete methods
Returns a Pos whose two coordinates are obtained by multiplying this one’s x and y by the given factor.
For instance, (2,-3) multiplied by 10 is (20,-30). The expressions myPos * n and myPos.multiply(n) are equivalent.
Returns a Pos whose two coordinates are obtained by multiplying this one’s x and y by the given factor.
For instance, (2,-3) multiplied by 10 is (20,-30). The expressions myPos * n and myPos.multiply(n) are equivalent.
Adds the x and y of the given Pos to the x and y of this Pos, respectively. Returns the resulting Pos.
The expressions pos1 + pos2, pos1.add(pos2), and pos1.offset(pos2) are equivalent.
Adds the x and y of the given Pos to the x and y of this Pos, respectively. Returns the resulting Pos.
The expressions pos1 + pos2, pos1.add(pos2), and pos1.offset(pos2) are equivalent.
Subtracts the x and y of the given Pos from the x and y of this Pos, respectively. Returns the resulting Pos.
The expressions pos1 - pos2 and pos1.subtract(pos2) are equivalent.
Subtracts the x and y of the given Pos from the x and y of this Pos, respectively. Returns the resulting Pos.
The expressions pos1 - pos2 and pos1.subtract(pos2) are equivalent.
Returns a Pos whose two coordinates are obtained by dividing this one’s x and y by the given number.
For instance, (20,-30) divided by 10 is (2,-3). The expressions myPos / n and myPos.divide(n) are equivalent.
Returns a Pos whose two coordinates are obtained by dividing this one’s x and y by the given number.
For instance, (20,-30) divided by 10 is (2,-3). The expressions myPos / n and myPos.divide(n) are equivalent.
Adds the two given values to the x and y of this Pos, respectively. Returns the resulting Pos.
The expressions myPosadd(dx, dy) and myPosoffset(dx, dy) are equivalent.
Adds the two given values to the x and y of this Pos, respectively. Returns the resulting Pos.
The expressions myPosadd(dx, dy) and myPosoffset(dx, dy) are equivalent.
Adds the x and y of the given Pos to the x and y of this Pos, respectively. Returns the resulting Pos.
The expressions pos1.add(pos2), pos1.offset(pos2), and pos1 + pos2 are equivalent.
Adds the x and y of the given Pos to the x and y of this Pos, respectively. Returns the resulting Pos.
The expressions pos1.add(pos2), pos1.offset(pos2), and pos1 + pos2 are equivalent.
Returns a Pos whose x coordinate is greater than this Pos’s by the given amount.
Returns a Pos whose x coordinate is greater than this Pos’s by the given amount.
Returns a Pos whose y coordinate is greater than this Pos’s by the given amount.
Returns a Pos whose y coordinate is greater than this Pos’s by the given amount.
Returns a Pos that is as close to this Pos as possible but whose x and y are between the given lower and upper bounds (inclusive).
Returns a Pos that is as close to this Pos as possible but whose x and y are between the given lower and upper bounds (inclusive).
- Value parameters:
- xMax
the greatest possible value of
xin the resultingPos; must not be belowxMin- xMin
the least possible value of
xin the resultingPos; must not exceedxMax- yMax
the greatest possible value of
yin the resultingPos; must not be belowyMin- yMin
the least possible value of
yin the resultingPos; must not exceedyMax
- See also:
Returns a Pos that is as close to this Pos as possible but whose x is between the given lower and upper bounds (inclusive).
Returns a Pos that is as close to this Pos as possible but whose x is between the given lower and upper bounds (inclusive).
- Value parameters:
- max
the greatest possible value of
xin the resultingPos; must not be belowmin- min
the least possible value of
xin the resultingPos; must not exceedmax
- See also:
Returns a Pos that is as close to this Pos as possible but whose y is between the given lower and upper bounds (inclusive).
Returns a Pos that is as close to this Pos as possible but whose y is between the given lower and upper bounds (inclusive).
- Value parameters:
- max
the greatest possible value of
yin the resultingPos; must not be belowmin- min
the least possible value of
yin the resultingPos; must not exceedmax
- See also:
Returns the distance between this Pos and the given Pos “as the crow flies”.
Returns the distance between this Pos and the given Pos “as the crow flies”.
Returns a Pos whose two coordinates are obtained by dividing this one’s x and y by the given number.
For instance, (20,-30) divided by 10 is (2,-3). The expressions myPos.divide(n) and myPos / n are equivalent.
Returns a Pos whose two coordinates are obtained by dividing this one’s x and y by the given number.
For instance, (20,-30) divided by 10 is (2,-3). The expressions myPos.divide(n) and myPos / n are equivalent.
Returns a Pos whose two coordinates are obtained by multiplying this one’s x and y by the given factor.
For instance, (2,-3) multiplied by 10 is (20,-30). The expressions myPos.multiply(n) and myPos * n are equivalent.
Returns a Pos whose two coordinates are obtained by multiplying this one’s x and y by the given factor.
For instance, (2,-3) multiplied by 10 is (20,-30). The expressions myPos.multiply(n) and myPos * n are equivalent.
Returns the Pos that an object moving at the given velocity reaches in one unit of time.
That is, adds the dx and dy components of the given velocity to this Pos and returns the result.
Returns the Pos that an object moving at the given velocity reaches in one unit of time.
That is, adds the dx and dy components of the given velocity to this Pos and returns the result.
Returns a Pos that is as close to this Pos as possible but has a x coordinate equal to or greater than the given limit.
Returns a Pos that is as close to this Pos as possible but has a x coordinate equal to or greater than the given limit.
- See also:
Returns a Pos that is as close to this Pos as possible but has a y coordinate less than or equal to the given limit.
Returns a Pos that is as close to this Pos as possible but has a y coordinate less than or equal to the given limit.
- See also:
Returns a Pos that is as close to this Pos as possible but has a y coordinate equal to or greater than the given limit.
Returns a Pos that is as close to this Pos as possible but has a y coordinate equal to or greater than the given limit.
- See also:
Returns a Pos that is as close to this Pos as possible but has a y coordinate less than or equal to the given limit.
Returns a Pos that is as close to this Pos as possible but has a y coordinate less than or equal to the given limit.
- See also:
Returns the Pos that is dx and dy removed from this Pos.
The expressions myPosoffset(dx, dy) and myPosadd(dx, dy) are equivalent.
Returns the Pos that is dx and dy removed from this Pos.
The expressions myPosoffset(dx, dy) and myPosadd(dx, dy) are equivalent.
Returns the Pos that is removed from this Pos by the amount indicated by the given Pos.
The expressions pos1.offset(pos2), pos1.add(pos2), and pos1 + pos2 are equivalent.
Returns the Pos that is removed from this Pos by the amount indicated by the given Pos.
The expressions pos1.offset(pos2), pos1.add(pos2), and pos1 + pos2 are equivalent.
Returns a Pos whose x equals the given value and whose y equals this Pos’s y.
Returns a Pos whose x equals the given value and whose y equals this Pos’s y.
Returns a Pos whose x equals this Pos’s x and whose y equals the given value.
Returns a Pos whose x equals this Pos’s x and whose y equals the given value.
Subtracts the x and y of the given Pos from the x and y of this Pos, respectively. Returns the resulting Pos.
The expressions pos1.subtract(pos2) and pos1 - pos2 are equivalent.
Subtracts the x and y of the given Pos from the x and y of this Pos, respectively. Returns the resulting Pos.
The expressions pos1.subtract(pos2) and pos1 - pos2 are equivalent.
Returns a Pos whose x coordinate is less than this Pos’s by the given amount.
Returns a Pos whose x coordinate is less than this Pos’s by the given amount.
Returns a Pos whose y coordinate is less than this Pos’s by the given amount.
Returns a Pos whose y coordinate is less than this Pos’s by the given amount.
Returns the x and y coordinates of the Pos as a tuple.
Returns the x and y coordinates of the Pos as a tuple.
Applies the given function to the two coordinates of the Pos and returns the result.
Applies the given function to the two coordinates of the Pos and returns the result.
Returns the Pos that is the opposite of this Pos. For instance, the opposite of (2,-3) is (-2,3).
Returns the Pos that is the opposite of this Pos. For instance, the opposite of (2,-3) is (-2,3).
Returns a Pos those x and y capture the relative distance from this Pos towards the given Pos.
That is, subtracts the x and y of the this Pos from the x and y of given Pos, respectively.
The expressions pos1.vectorTo(pos2) and pos2 - pos1 are equivalent.
Returns a Pos those x and y capture the relative distance from this Pos towards the given Pos.
That is, subtracts the x and y of the this Pos from the x and y of given Pos, respectively.
The expressions pos1.vectorTo(pos2) and pos2 - pos1 are equivalent.
Returns a Pos whose x is determined by applying the given function to the x of this Pos and whose y equals that of this Pos.
Returns a Pos whose x is determined by applying the given function to the x of this Pos and whose y equals that of this Pos.
- Value parameters:
- computeNew
a function that takes in an x coordinate and returns the x for the resulting
Pos
Returns a Pos whose x and y are determined by applying the given function to the x and y of this Pos.
Returns a Pos whose x and y are determined by applying the given function to the x and y of this Pos.
- Value parameters:
- computeNew
a function that takes in an x and a y and returns a pair that contains the coordinates of the resulting
Pos
Returns a Pos whose x equals that of this Pos and whose y is determined by applying the given function to the y of this Pos.
Returns a Pos whose x equals that of this Pos and whose y is determined by applying the given function to the y of this Pos.
- Value parameters:
- computeNew
a function that takes in a y coordinate and returns the y for the resulting
Pos
Returns the difference between this Pos’s x coordinate and the given one’s.
Returns the difference between this Pos’s x coordinate and the given one’s.
- Returns:
the difference, which is positive if the given
Pos’sxis greater than this one’s and negative if the reverse is true
