GBGeometryUtils

Checks if a tile is...

sort Weight: 10

Checks if a tile is covered by a CollisionPolygon2D (using Geometry2D intersection) Returns true if a tile is covered by a CollisionPolygon2D, using intersection area (with epsilon threshold). Useful for strict collision checks between tiles and collision polygons. tile_type: TileSet.TileShape (required) epsilon: minimum intersection area to count as covered (default 0.01)

Version: v5.0.0

STABLE

Inherits: RefCounted
Source: gb_geometry_utils.gd
Parsing: AST-based for maximum accuracy with symbol typing


Methods

points_array_to_rect_2d

Signature: static points_array_to_rect_2d(p_vector_array : PackedVector2Array: Variant, p_rect_position : Vector2: Variant) -> Rect2

Returns a Rect2 that bounds all points in the given PackedVector2Array, with the origin at p_rect_position.

Returns: Rect2

Static: true

Parameters:

  • p_vector_array : PackedVector2Array: Variant
  • p_rect_position : Vector2: Variant

get_collision_object_shapes

Signature: static get_collision_object_shapes(p_collision_object : CollisionObject2D: Variant) -> Array

p_collision_object: CollisionObject2D - Collision object to extract shapes from

Returns: Array

Static: true

Parameters:

  • p_collision_object : CollisionObject2D: Variant

get_all_collision_shapes_by_owner

Signature: static get_all_collision_shapes_by_owner(root_node: Node2D) -> Dictionary

Useful for mapping collision owners to their shapes for collision checks.

Returns: Dictionary

Static: true

Parameters:

  • root_node: Node2D

get_shapes_from_owner

Signature: static get_shapes_from_owner(p_owner: Node2D) -> Array

p_owner: Node2D - Node to extract shapes from (CollisionObject2D or CollisionPolygon2D)

Returns: Array

Static: true

Parameters:

  • p_owner: Node2D

grow_rect2_to_increment

Signature: static grow_rect2_to_increment(p_rect : Rect2: Variant, p_increment : Vector2: Variant) -> Rect2

Useful for expanding bounding boxes or shapes by a margin.

Returns: Rect2

Static: true

Parameters:

  • p_rect : Rect2: Variant
  • p_increment : Vector2: Variant

grow_rect2_to_square

Signature: static grow_rect2_to_square(p_rect : Rect2: Variant) -> Rect2

Useful for fitting non-square shapes into square tiles or grids.

Returns: Rect2

Static: true

Parameters:

  • p_rect : Rect2: Variant

get_rect2_position_offset

Signature: static get_rect2_position_offset(p_rect : Rect2: Variant) -> Vector2

Useful for calculating position differences or alignment offsets.

Returns: Vector2

Static: true

Parameters:

  • p_rect : Rect2: Variant

get_overlapped_tiles_for_rect

Signature: static get_overlapped_tiles_for_rect(rect_center: Vector2, rect_size: Vector2, tile_map: TileMapLayer, epsilon: float = 0.1) -> Array

Useful for mapping which tiles are covered by a rectangular shape in a TileMapLayer.

Returns: Array

Static: true

Parameters:

  • rect_center: Vector2
  • rect_size: Vector2
  • tile_map: TileMapLayer
  • epsilon: float (optional, default: 0.1)

is_tile_covered_by_collision_shape

Signature: static is_tile_covered_by_collision_shape(tile_pos: Vector2, tile_size: Vector2, collision_shape: CollisionShape2D, tile_type: TileSet.TileShape: Variant, epsilon: float = 0.01) -> bool

epsilon: minimum intersection area to count as covered (default 0.01)

Returns: bool

Static: true

Parameters:

  • tile_pos: Vector2
  • tile_size: Vector2
  • collision_shape: CollisionShape2D
  • tile_type: TileSet.TileShape: Variant
  • epsilon: float (optional, default: 0.01)

is_tile_covered_by_collision_polygon

Signature: static is_tile_covered_by_collision_polygon(tile_pos: Vector2, tile_size: Vector2, collision_polygon: CollisionPolygon2D, tile_type: TileSet.TileShape: Variant, epsilon: float = 0.01) -> bool

epsilon: minimum intersection area to count as covered (default 0.01)

Returns: bool

Static: true

Parameters:

  • tile_pos: Vector2
  • tile_size: Vector2
  • collision_polygon: CollisionPolygon2D
  • tile_type: TileSet.TileShape: Variant
  • epsilon: float (optional, default: 0.01)