Rect2i

A 2D axis-aligned bounding box using integer coordinates.

Description

The Rect2i built-in Variant type represents an axis-aligned rectangle in a 2D space, using integer coordinates. It is defined by its position and size, which are Vector2i. Because it does not rotate, it is frequently used for fast overlap tests (see intersects).

For floating-point coordinates, see Rect2.

Note: Negative values for size are not supported. With negative size, most Rect2i methods do not work correctly. Use abs to get an equivalent Rect2i with a non-negative size.

Note: In a boolean context, a Rect2i evaluates to false if both position and size are zero (equal to Vector2i.ZERO). Otherwise, it always evaluates to true.

Note

There are notable differences when using this API with C#. See C# API differences to GDScript for more information.

Tutorials

Properties

Vector2i

end

Vector2i(0, 0)

Vector2i

position

Vector2i(0, 0)

Vector2i

size

Vector2i(0, 0)

Constructors

Rect2i

Rect2i ( )

Rect2i

Rect2i ( Rect2i from )

Rect2i

Rect2i ( Rect2 from )

Rect2i

Rect2i ( Vector2i position, Vector2i size )

Rect2i

Rect2i ( int x, int y, int width, int height )

Methods

Rect2i

abs ( ) const

bool

encloses ( Rect2i b ) const

Rect2i

expand ( Vector2i to ) const

int

get_area ( ) const

Vector2i

get_center ( ) const

Rect2i

grow ( int amount ) const

Rect2i

grow_individual ( int left, int top, int right, int bottom ) const

Rect2i

grow_side ( int side, int amount ) const

bool

has_area ( ) const

bool

has_point ( Vector2i point ) const

Rect2i

intersection ( Rect2i b ) const

bool

intersects ( Rect2i b ) const

Rect2i

merge ( Rect2i b ) const

Operators

bool

operator != ( Rect2i right )

bool

operator == ( Rect2i right )


Property Descriptions

Vector2i end = Vector2i(0, 0)

The ending point. This is usually the bottom-right corner of the rectangle, and is equivalent to position + size. Setting this point affects the size.


Vector2i position =