Grid Placement

CollisionGeometryCalculator

AUTO-GENERATED (GDScript) API entry

AUTO-GENERATED FILE — DO NOT EDIT MANUALLY

Source: placement/manager/components/collision_geometry_calculator.gd

Version: 5.0

class_name: CollisionGeometryCalculator extends: RefCounted

Signals

(none)

Exports

(none)

Methods

  • calculate_tile_overlap(polygon: PackedVector2Array, tile_size: Vector2, tile_type: TileSet, tile_map_layer: TileMapLayer, epsilon: float = 0.01, min_overlap_ratio: float = 0.05) -> Array
  • calculate_tile_overlap_numeric(polygon: PackedVector2Array, tile_size: Vector2, tile_type: TileSet, epsilon: float = 0.01, min_overlap_ratio: float = 0.05) -> Array
  • _calculate_square_tile_overlap(polygon: PackedVector2Array, tile_size: Vector2, epsilon: float, min_overlap_ratio: float, tile_map_layer: TileMapLayer) -> Array
  • _calculate_isometric_tile_overlap(polygon: PackedVector2Array, tile_map_layer: TileMapLayer, epsilon: float, min_overlap_ratio: float) -> Array
  • detect_collisions(shape1: PackedVector2Array, shape2: PackedVector2Array, epsilon: float = 0.01) -> bool
  • _get_polygon_bounds(polygon: PackedVector2Array) -> Rect2
  • _clip_polygon_to_edge(polygon: PackedVector2Array, edge_start: Vector2, edge_end: Vector2) -> PackedVector2Array
  • _line_intersection(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2) -> Vector2
  • polygons_overlap(poly1: PackedVector2Array, poly2: PackedVector2Array, min_overlap_ratio: float, reference_area: float) -> bool
  • polygon_overlaps_rect(polygon: PackedVector2Array, rect: Rect2, epsilon: float, min_overlap_ratio: float) -> bool
    • Fast reject via bounds test
  • _sanitize_polygon(polygon: PackedVector2Array) -> PackedVector2Array
  • clip_polygon_to_rect(polygon: PackedVector2Array, rect: Rect2) -> PackedVector2Array
  • point_inside_boundary(p: Vector2, boundary: int, left: float, right: float, top: float, bottom: float) -> bool
  • _compute_intersection(a: Vector2, b: Vector2, boundary: int, left: float, right: float, top: float, bottom: float) -> Vector2
  • polygon_area(polygon: PackedVector2Array) -> float
  • point_in_polygon(point: Vector2, polygon: PackedVector2Array) -> bool
  • _lines_intersect(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2) -> bool
  • _polygons_intersect(poly1: PackedVector2Array, poly2: PackedVector2Array, epsilon: float) -> bool
    • Check if any point from poly1 is inside poly2