GBGeometryUtils
Checks if a tile is...
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
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: Variantp_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: Variantp_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: Vector2rect_size: Vector2tile_map: TileMapLayerepsilon: 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: Vector2tile_size: Vector2collision_shape: CollisionShape2Dtile_type: TileSet.TileShape: Variantepsilon: 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: Vector2tile_size: Vector2collision_polygon: CollisionPolygon2Dtile_type: TileSet.TileShape: Variantepsilon: float(optional, default:0.01)