clubsandwich.geom¶
Simple data structures for working with points, sizes, and rects.
-
class
clubsandwich.geom.Point(x=0, y=0)¶ Parameters: - x (Real) –
- y (Real) –
Represents a point in 2D space. Supports arithmetic operations with other points, and supports multiplication and division with numbers.
BearLibTerminal requires ints for all coordinate values, so
flooredis your friend.-
x¶ X axis coordinate; may be any number
-
y¶ Y coordinate; may be any number
-
diagonal_neighbors¶ Generator of all points that share only a corner with
self.
-
floored¶ A copy of this point with
math.floor()called on each coordinate.
-
get_closest_point(candidates)¶ Parameters: candidates ([Point]) – Returns: PointOf all the point in candidates, return the one closest to
self.
-
get_farthest_point(candidates)¶ Parameters: candidates ([Point]) – Returns: PointOf all the point in candidates, return the one farthest from
self.
-
manhattan_distance_to(target)¶ Returns: Manhattan distance between selfandtarget
-
neighbors¶ Generator of all points that share a horizontal or vertical edge with this one.
-
path_L_to(target)¶ Generator of all points on an L-shaped path between
selfandtarget.
-
class
clubsandwich.geom.Rect(origin=None, size=None)¶ Parameters: Represents an rectangle in 2D space.
BearLibTerminal requires ints for all coordinate values, so
flooredis your friend.-
origin¶ Origin of the rectangle
-
size¶ Size of the rectangle
-
area¶ Returns: int (area of self)
-
center¶ Point at the center of this rect
-
contains(point)¶ Returns
Trueiffselfcontains all ofother’s points
-
floored¶ A copy of this rect with the
Point.flooredorigin/size copies
-
get_random_point()¶ Returns a random point inside
self
-
get_random_rect(min_size=Size(1, 1))¶ Parameters: min_size (Size) – Returns: RectReturns a random rect inside
selfwith the given minimum size. Returnsselfunmodified if size won’t fit.
-
height¶ Forwarded from
self.size.height
-
intersects(other)¶ Returns
Trueiffselfandothershare any points
-
point_bottom_left¶ Point at the bottom left corner of this rect
-
point_bottom_right¶ Point at the bottom right corner of this rect
-
point_top_right¶ Point at the top right corner of this rect
-
points¶ Iterator of all points in this rect
-
points_bottom¶ Iterator of all points along the bottom edge of this rect
-
points_corners¶ Iterator of all four points in this rect’s corners
-
points_left¶ Iterator of all points along the left edge of this rect
-
points_right¶ Iterator of all points along the right edge of this rect
-
points_top¶ Iterator of all points along the top edge of this rect
-
width¶ Forwarded from
self.size.width
-
with_inset(inset)¶ Parameters: inset (Point|Real) – A copy of this rect inset by the given amount. If you pass a number, all sides will be inset by the same amount. If you pass a
Pointor aSize, the X and Y axes will be inset by the respective amounts specified in each coordinate.
-
x¶ Forwarded from
self.origin.x
-
x2¶ Max X value of this rect. Read-only.
-
y¶ Forwarded from
self.origin.y
-
y2¶ Max Y value of this rect. Read-only.
-