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.

Tutorials

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. This is calculated as position + size. Setting this value will change the size.

Vector2 position

Default Vector2( 0, 0 )

Beginning corner. Typically has values lower than end.

Vector2 size

Default Vector2( 0, 0 )

Size from position to end. Typically all components are positive.

If the size is negative, you can use abs to fix it.

Method Descriptions

Rect2 Rect2 ( Vector2 position, Vector2 size )

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.

Rect2 clip ( Rect2 b )

Returns the intersection of this Rect2 and b.

bool encloses ( Rect2 b )

Returns true if this Rect2 completely encloses another one.

Rect2 expand ( Vector2 to )

Returns this Rect2 expanded to include a given point.

float get_area ( )

Returns the area of the Rect2.

Rect2 grow ( float by )

Returns a copy of the Rect2 grown a given amount of units towards all the sides.

Rect2 grow_individual ( float left, float top, float right, float bottom )

Returns a copy of the Rect2 grown a given amount of units towards each direction individually.

Rect2 grow_margin ( int margin, float by )

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.

bool has_point ( Vector2 point )

Returns true if the Rect2 contains a point.

bool intersects ( Rect2 b, bool 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 ( Rect2 rect )

Returns true if this Rect2 and rect are approximately equal, by calling is_equal_approx on each component.

Rect2 merge ( Rect2 b )

Returns a larger Rect2 that contains this Rect2 and b.

© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_rect2.html