Rect2
consists of a position, a size, and several utility functions. It is typically used for fast overlap tests.
It uses floating-point coordinates.
The 3D counterpart to Rect2
is .
Tutorials
Methods
- Vector2 end
Ending corner. This is calculated as position + size
. Setting this value will change the size.
- position
Beginning corner. Typically has values lower than end.
- size
Size from position to . Typically all components are positive.
If the size is negative, you can use abs to fix it.
Method Descriptions
- Rect2 ( Vector2 position, size )
Constructs a Rect2
by x, y, width, and height.
- abs ( )
Returns a Rect2
with equivalent position and area, modified so that the top-left corner is the origin and and height
are positive.
- Rect2 clip ( b )
Returns the intersection of this Rect2
and b.
- bool encloses ( b )
Returns true
if this Rect2
completely encloses another one.
Returns this Rect2
expanded to include a given point.
- float get_area ( )
Returns the area of the Rect2
.
- grow ( float by )
Returns a copy of the Rect2
grown a given amount of units towards all the sides.
Returns a copy of the Rect2
grown a given amount of units towards the direction.
- bool has_no_area ( )
Returns true
if the Rect2
is flat or empty.
- has_point ( Vector2 point )
Returns if the Rect2
contains a point.
- intersects ( Rect2 b, include_borders=false )
Returns true
if the Rect2
overlaps with b
(i.e. they have at least one point in common).
If include_borders
is true
, they will also be considered overlapping if their borders touch, even without intersection.
- bool is_equal_approx ( rect )
Returns true
if this Rect2
and rect
are approximately equal, by calling is_equal_approx
on each component.
Returns a larger Rect2
that contains this and b
.