Navigation
API > API/Plugins > API/Plugins/WaveFunctionCollapse > API/Plugins/WaveFunctionCollapse/UWaveFunctionCollapseSubsystem
Description
Propagation phase: This process checks if the selection made during the observation is valid by checking constraint validity with neighboring tiles. Neighboring tiles may reduce their remaining options to include only valid options. If the remaining options of a tile were modified, the neighboring tiles of the modified tile will be added to a queue. During this process, if any contradiction (a tile with zero remaining options) is encountered, the current solve will fail.
| Name | Propagate |
| Type | function |
| Header File | /Engine/Plugins/Experimental/WaveFunctionCollapse/Source/WaveFunctionCollapse/Public/WaveFunctionCollapseSubsystem.h |
| Include Path | #include "WaveFunctionCollapseSubsystem.h" |
| Source | /Engine/Plugins/Experimental/WaveFunctionCollapse/Source/WaveFunctionCollapse/Private/WaveFunctionCollapseSubsystem.cpp |
UFUNCTION (BlueprintCallable, Category="WFCFunctions")
bool Propagate
(
TArray < FWaveFunctionCollapseTile > & Tiles,
TArray < int32 > & RemainingTiles,
TMap < int32, FWaveFunctionCollapseQueueElement > & ObservationQueue,
int32 & PropagationCount
)
Parameters
| Name | Remarks |
|---|---|
| Tiles | Array of tiles (by ref) |
| RemainingTiles | Array of remaining tile indices. Semi-sorted: Min Entropy tiles at the front, the rest remains unsorted (by ref) |
| ObservationQueue | Array to store tiles that need to be checked whether remaining options are affected (by ref) |
| PropagationCount | Counter for propagation passes |