Rect2¶
2D axis-aligned bounding box.
Description¶
Rect2 consists of a position, a size, and several utility functions. It is typically used for fast overlap tests.
Properties¶
Vector2 | end | Vector2( 0, 0 ) |
Vector2 | position | Vector2( 0, 0 ) |
Vector2 | size | Vector2( 0, 0 ) |
Methods¶
Rect2 | Rect2 ( Vector2 position, Vector2 size ) |
Rect2 | Rect2 ( float x, float y, float width, float height ) |
Rect2 | abs ( ) |
Rect2 | clip ( Rect2 b ) |
bool | encloses ( Rect2 b ) |
Rect2 | expand ( Vector2 to ) |
float | get_area ( ) |
Rect2 | grow ( float by ) |
Rect2 | grow_individual ( float left, float top, float right, float bottom ) |
Rect2 | grow_margin ( int margin, float by ) |
bool | has_no_area ( ) |
bool | has_point ( Vector2 point ) |
bool | intersects ( Rect2 b, bool include_borders=false ) |
bool | is_equal_approx ( Rect2 rect ) |
Rect2 | merge ( Rect2 b ) |
Property Descriptions¶
- Vector2 end
Default | Vector2( 0, 0 ) |
Ending corner.
- Vector2 position
Default | Vector2( 0, 0 ) |
Position (starting corner).
- Vector2 size
Default | Vector2( 0, 0 ) |
Size from position to end.
Method Descriptions¶
Constructs a Rect2
by position and size.
Constructs a Rect2
by x, y, width, and height.
- Rect2 abs ( )
Returns a Rect2
with equivalent position and area, modified so that the top-left corner is the origin and width
and height
are positive.
Returns the intersection of this Rect2
and 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
.
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 each direction individually.
Returns a copy of the Rect2
grown a given amount of units towards the Margin direction.
- bool has_no_area ( )
Returns true
if the Rect2
is flat or empty.
Returns true
if the Rect2
contains a point.
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.
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 Rect2
and b
.