unreal.PCGBlueprintPointProcessorElement

class unreal.PCGBlueprintPointProcessorElement(outer: Object | None = None, name: Name | str = 'None')

Bases: PCGBlueprintBaseElement

Point processor element that supports the following two types of loop: - PointLoop: requires PointLoopBody to be overridden with optional override of InitalizePointLoop. - IterationLoop: requires IterationLoopBody to be overridden with optional override of InitializeIterationLoop.

C++ Source:

  • Plugin: PCG

  • Module: PCG

  • File: PCGBlueprintPointProcessorElement.h

Editor Properties: (see get_editor_property/set_editor_property)

  • category (Text): [Read-Write]

  • compute_full_data_crc (bool): [Read-Write] In cases where your node is non-cacheable but is likely to yield the same results on subsequent executions, this controls whether we will do a deep & computationally intensive CRC computation (true), which will allow cache usage in downstream nodes in your graph, or, by default (false), a shallow but quick crc computation which will not be cache-friendly.

  • custom_input_pins (Array[PCGPinProperties]): [Read-Write]

  • custom_output_pins (Array[PCGPinProperties]): [Read-Write]

  • dependency_parsing_depth (int32): [Read-Write]

  • description (Text): [Read-Write]

  • enable_preconfigured_settings (bool): [Read-Write]

  • expose_to_library (bool): [Read-Write]

  • has_default_in_pin (bool): [Read-Write]

  • has_default_out_pin (bool): [Read-Write]

  • has_dynamic_pins (bool): [Read-Write] If enabled, by default, the Out pin type will have the union of In pin types. Default only works if the pins are In and Out. For custom behavior, implement DynamicPinTypesOverride.

  • is_cacheable (bool): [Read-Write] Controls whether results can be cached so we can bypass execution if the inputs & settings are the same in a subsequent execution. If you have implemented the IsCacheableOverride function, then this value is ignored. Note that if your node relies on data that is not directly tracked by PCG or creates any kind of artifact (adds components, creates actors, etc.) then it should not be cacheable.

  • only_expose_preconfigured_settings (bool): [Read-Write]

  • preconfigured_info (Array[PCGPreConfiguredSettingsInfo]): [Read-Write]

  • requires_game_thread (bool): [Read-Write] Controls whether this node execution can be run from a non-game thread. This is not related to the Loop functions provided/implemented in this class, which should always run on any thread.

iteration_loop(num_iterations, input_point_data_a, input_point_data_b) PCGBasePointData

Calls the IterationLoopInitialize once and IterationLoopBody a fixed number of times.

Parameters:
  • num_iterations (int32)

  • input_point_data_a (PCGBasePointData) – Optional input point data, can be null. Constant, must not be modified.

  • input_point_data_b (PCGBasePointData) – Optional input point data, can be null. Constant, must not be modified.

Returns:

output_point_data (PCGBasePointData): IterationLoop output point data. Can be modified.

Return type:

PCGBasePointData

iteration_loop_body(iteration_index, input_range_a, input_range_b, output_range) -> (int32, output_range=PCGPointOutputRange)

Multi-threaded range based loop that will be called in chunks a number of times. Use the OutputRange.RangeSize to get the number of iterations to process in the IterationLoopBody [IterationIndex, IterationIndex + OutputRange.RangeSize [

Parameters:
  • iteration_index (int32) – Current IterationLoopBody index.

  • input_range_a (PCGPointInputRange) – Optional input range data if IterationLoop was called with a valid InputPointDataA.

  • input_range_b (PCGPointInputRange) – Optional input range data if IterationLoop was called with a valid InputPointDataB.

  • output_range (PCGPointOutputRange) – IterationLoop output range data used to write to the output point data.

Returns:

output_range (PCGPointOutputRange): IterationLoop output range data used to write to the output point data.

Return type:

PCGPointOutputRange

iteration_loop_initialize(num_iterations, input_point_data_a, input_point_data_b, output_point_data) None

Initialization of the IterationLoop output point data. This is called once before the IterationLoopBody calls. Native default implementation does not inherit spatial data and inherits metadata from its first non-null input if any.

Parameters:
  • num_iterations (int32)

  • input_point_data_a (PCGBasePointData) – Optional input point data, can be null. Constant, must not be modified.

  • input_point_data_b (PCGBasePointData) – Optional input point data, can be null. Constant, must not be modified.

  • output_point_data (PCGBasePointData) – IterationLoop output point data to initialize. Can be modified.

point_loop(input_point_data) PCGBasePointData

Calls the PointLoopInitialize once and PointLoopBody a fixed number of times.

Parameters:

input_point_data (PCGBasePointData) – Input point data. Constant, must not be modified.

Returns:

output_point_data (PCGBasePointData): PointLoop output point data. Can be modified.

Return type:

PCGBasePointData

point_loop_body(input_range, output_range) -> (int32, output_range=PCGPointOutputRange)

Multi-threaded range based loop that will be called in chunks a number of times.

Parameters:
  • input_range (PCGPointInputRange) – Input range data created from InputPointData.

  • output_range (PCGPointOutputRange) – PointLoop output range data used to write to the output point data.

Returns:

output_range (PCGPointOutputRange): PointLoop output range data used to write to the output point data.

Return type:

PCGPointOutputRange

point_loop_initialize(input_point_data, output_point_data) None

Initialization of the PointLoop output point data. This is called once before the PointLoopBody calls. Native default implementation inherits spatial data & metadata from input.

Parameters:
  • input_point_data (PCGBasePointData) – Input point data. Constant, must not be modified.

  • output_point_data (PCGBasePointData) – PointLoop output point data. Can be modified.