UNiagaraDataInterfaceExport

This Data Interface can be used to gather particles at execution time and call either a C++ or blueprint object with the gathered particle data each tick.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Niagara

Header

/Engine/Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraDataInterfaceExport.h

Include

#include "NiagaraDataInterfaceExport.h"

Syntax

[UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Export", Meta=(DisplayName="Export particle data"))
class UNiagaraDataInterfaceExport : public UNiagaraDataInterface

Remarks

This Data Interface can be used to gather particles at execution time and call either a C++ or blueprint object with the gathered particle data each tick.

Variables

Name Description

Public variable UProperty Category, EditAnywhere

FNiagaraUserPar...

 

CallbackHandlerParameter

Reference to a user parameter that should receive the particle data after the simulation tick.

Public variable UProperty Category, EditAnywhere, Meta

int

 

GPUAllocationFixedSize

Reserve a fixed number of elements we can write per frame.

Public variable UProperty Category, EditAnywhere, Meta

ENDIExport_GPUA...

 

GPUAllocationMode

Public variable UProperty Category, EditAnywhere, Meta

float

 

GPUAllocationPerParticleSize

Uses the emitter property particle count * this to determine the number of elements we reserve for write per frame.

Constructors

Name Description

Public function

UNiagaraDataInterfaceExport

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function Virtual

void

 

ExportData

(
    FVectorVMContext& Context
)

Public function Virtual

void

 

StoreData

(
    FVectorVMContext& Context
)

Overridden from UNiagaraDataInterface

Name Description

Public function Virtual Const

bool

 

AppendCompileHash

(
    FNiagaraCompileHashVisitor* In...
)

Allows the generic class defaults version of this class to specify any dependencies/version/etc that might invalidate the compile.

Public function Virtual Const

bool

 

CanExecuteOnTarget

(
    ENiagaraSimTarget Target
)

Protected function Virtual Const

bool

 

CopyToInternal

(
    UNiagaraDataInterface* Destina...
)

Public function Virtual

void

 

DestroyPerInstanceData

(
    void* PerInstanceData,
    FNiagaraSystemInstance* System...
)

Destroys the per instance data for this interface.

Public function Virtual Const

bool

 

Equals

(
    const UNiagaraDataInterface* O...
)

Determines if this DataInterface is the same as another.

Public function Virtual

bool

 

GetFunctionHLSL

(
    const FNiagaraDataInterfaceGPUParam...,
    const FNiagaraDataInterfaceGenerate...,
    int FunctionInstanceIndex,
    FString& OutHLSL
)

Public function Virtual

void

 

GetFunctions

Gets all the available functions for this data interface.

Public function Virtual

void

 

GetParameterDefinitionHLSL

(
    const FNiagaraDataInterfaceGPUParam...,
    FString& OutHLSL
)

Public function Virtual

void

 

GetVMExternalFunction

(
    const FVMExternalFunctionBindingInf...,
    void* InstanceData,
    FVMExternalFunction& OutFunc
)

Returns the delegate for the passed function signature.

Public function Virtual Const

bool

 

HasPostSimulateTick()

Public function Virtual Const

bool

 

HasPreSimulateTick()

Public function Virtual

bool

 

InitPerInstanceData

(
    void* PerInstanceData,
    FNiagaraSystemInstance* System...
)

Initializes the per instance data for this interface.

Public function Virtual Const

int32

 

PerInstanceDataSize()

Returns the size of the per instance data for this interface.

Public function Virtual

bool

 

PerInstanceTick

(
    void* PerInstanceData,
    FNiagaraSystemInstance* System...,
    float DeltaSeconds
)

Ticks the per instance data for this interface, if it has any.

Public function Virtual

bool

 

PerInstanceTickPostSimulate

(
    void* PerInstanceData,
    FNiagaraSystemInstance* System...,
    float DeltaSeconds
)

Overridden from UNiagaraDataInterfaceBase

Name Description

Public function Virtual

void

 

BindParameters

(
    FNiagaraDataInterfaceParametersCS&...,
    const FNiagaraDataInterfaceGPUParam...,
    const FShaderParameterMap& Paramet...
)

Methods that operate on an instance of type FNiagaraDataInterfaceParametersCS*, created by the above CreateComputeParameters() method

Public function Virtual Const

FNiagaraData...

 

CreateComputeParameters()

Constructs the correct CS parameter type for this DI (if any).

Public function Virtual Const

const FTypeL...

 

GetComputeParametersTypeDesc()

Public function Virtual Const

bool

 

HasInternalAttributeReads

(
    const UNiagaraEmitter* OwnerEm...,
    const UNiagaraEmitter* Provide...
)

Returns true if the DI (owned by OwnerEmitter) reads any attributes from the Provider emitter

Public function Virtual Const

void

 

SetParameters

(
    const FNiagaraDataInterfaceParamete...,
    FRHICommandList& RHICmdList,
    const FNiagaraDataInterfaceSetArgs ...
)

Public function Virtual Const

void

 

UnsetParameters

(
    const FNiagaraDataInterfaceParamete...,
    FRHICommandList& RHICmdList,
    const FNiagaraDataInterfaceSetArgs ...
)

Overridden from UObject

Name Description

Public function Virtual

void

 

PostInitProperties()

Called after the C++ constructor and after the properties have been initialized, including those loaded from config.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss