# Rect2¶

2D axis-aligned bounding box.

## Descripción¶

`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 AABB.

Negative values for size are not supported and will not work for most methods. Use abs to get a Rect2 with a positive size.

## Tutoriales¶

 Vector2 end `Vector2( 0, 0 )` Vector2 position `Vector2( 0, 0 )` Vector2 size `Vector2( 0, 0 )`

## Métodos¶

 Rect2 Rect2 ( Vector2 position, Vector2 size ) Rect2 Rect2 ( float x, float y, float width, float height ) Rect2 abs ( ) Rect2 clip ( Rect2 b ) bool Rect2 expand ( Vector2 to ) float get_area ( ) Vector2 Rect2 grow ( float by ) Rect2 grow_individual ( float left, float top, float right, float bottom ) Rect2 grow_margin ( int margin, float by ) bool bool has_point ( Vector2 point ) bool intersects ( Rect2 b, bool include_borders=false ) bool is_equal_approx ( Rect2 rect ) Rect2 merge ( Rect2 b )

## Descripciones de Propiedades¶

 Default `Vector2( 0, 0 )`

Esquina final. Esto se calcula como `position + size`. Cambiar esta propiedad cambia el tamaño.

 Default `Vector2( 0, 0 )`

Esquina de inicio. Normalmente tiene valores inferiores a end.

 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.

## Descripciones de Métodos¶

Construye un `Rect2` por posición y tamaño.

Construye un `Rect2` por x, y, ancho y alto.

Devuelve una `Rect2` con posición y área equivalentes, modificada de manera que la esquina superior izquierda es el origen y `width` y `height` son positivos.

Devuelve la intersección de esta `Rect2` y b.

Devuelve `true` si este `Rect2` encierra completamente otro.

Returns a copy of this `Rect2` expanded to include a given point.

Example:

```# position (-3, 2), size (1, 1)
var rect = Rect2(Vector2(-3, 2), Vector2(1, 1))
# position (-3, -1), size (3, 4), so we fit both rect and Vector2(0, -1)
var rect2 = rect.expand(Vector2(0, -1))
```

Devuelve el área de la `Rect2`.

Returns the center of the `Rect2`, which is equal to position + (size / 2).

Devuelve una copia del `Rect2` crecido una cantidad dada de unidades hacia todos los lados.

Devuelve una copia del `Rect2` crecido una cantidad dada de unidades hacia todos los lados.

Devuelve una copia del `Rect2` crecido una cantidad dada de unidades hacia la dirección del Margin.

• bool has_no_area ( )

Devuelve `true` si la `Rect2` está plana o vacía.

Returns `true` if the `Rect2` contains a point. By convention, the right and bottom edges of the `Rect2` are considered exclusive, so points on these edges are not included.

Note: This method is not reliable for `Rect2` with a negative size. Use abs to get a positive sized equivalent rectangle to check for contained points.

Devuelve `true` si la `Rect2` se superpone con `b` (es decir, tienen al menos un punto en común).

Si `include_borders` es `true`, también se considerará que se superponen si sus bordes se tocan, incluso sin intersección.

Devuelve `true` si este `Rect2` y `rect` son aproximadamente iguales, llamando a `is_equal_approx` en cada componente.

Devuelve un `Rect2` más grande que contiene este `Rect2` y `b`.