Skip to content

Class

ObjectFillSpan3D

Generated GDScript class reference for GridPlacement.ObjectFillSpan3D.

Status
Current
Version
v6.2.1
Source updated
2026-09-24
Generated on
2026-10-22

Line and rectangle fills for ObjectPlacementService3D: resolves one drag between two grid cells into the mounts the gesture places, previews them, and commits them in order through the service. Set the drag fields, then call cells() and pass the result to preview_edges() / cell_verdicts() while the drag moves and to commit() on release. CELL entries place one piece per span cell; EDGE entries mount one piece per authored span along the run. CORNER, FACE and TOP entries need a specific host per placement and are not fillable. var fill := ObjectFillSpan3D.new(service) fill.brush_shape = PlacementEnums.ObjectTool.RECTANGLE_FILL fill.start_cell = press_cell fill.end_cell = release_cell var result := fill.commit(fill.cells()) print("placed %d/%d" % [result.committed, result.attempted])

Source: addons/grid_placement/systems/building/3d/object_fill_span_3d.gd

Syntax

class ObjectFillSpan3D extends RefCounted

Members

NameKindSummary
MISSField
attemptedPropertyOutcome of one commit(). Mounts the commit tried to place.
committedPropertyPieces actually placed.
last_reportPropertyThe last report the commit produced, or null when nothing was tried.
last_successPropertyThe last successful report, or null when nothing placed.
blockedPropertyThe first issue of each failed mount, in commit order.
cellsPropertyThe EDGE mounts a fill places: one cell and edge per piece, in order.
edgesProperty
addMethod
serviceProperty
brush_shapePropertyThe PlacementEnums.ObjectTool the session brush holds.
start_cellPropertyGrid cell the drag started on (its Y is the fill level).
end_cellPropertyGrid cell under the cursor now.
anchor_cellPropertyEDGE entries: anchor cell of the pressed mount; MISS means start_cell.
start_edgePropertyEDGE entries: edge of the pressed mount. A pressed edge keeps its rotation along the whole run; Vector3i.ZERO derives facings from the drag.
max_cellsPropertyLargest span a gesture may cover; a larger drag yields no cells at all so preview and commit never disagree. 0 means no limit.
cursor_edgePropertyOptional func(cell: Vector3i) -> Vector3i: the edge nearest the cursor, for EDGE spans with no drag direction. Defaults to +Z.
cursor_mountPropertyOptional func(cell: Vector3i) -> Array[Vector3i]: the [anchor_cell, edge] mount under the cursor, for a one-cell EDGE span with no pressed edge. Defaults to [cell, cursor edge].
budget_exceededPropertyTrue when the last cells() call went over max_cells.
is_edge_fillMethod
span_shapeMethod
cellsMethod
cells_3dMethod
cell_verdictsMethod
cell_verdicts_fromMethod
verdictsProperty
entryProperty
claimedProperty
yawProperty
profileProperty
occupiesProperty
cellProperty
footprintProperty
validProperty
edge_mountsMethod
preview_edgesMethod
preview_cellsMethod
liftedProperty
verdictsProperty
orderedProperty
commitMethod