UNiagaraDataInterfacePressureGrid

Data Interface for the strand base

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

HairStrandsNiagara

Header

/Engine/Plugins/Experimental/HairStrands/Source/HairStrandsNiagara/Public/NiagaraDataInterfacePressureGrid.h

Include

#include "NiagaraDataInterfacePressureGrid.h"

Syntax

[UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Grid", Meta=(DisplayName="Pressure Grid"))
class UNiagaraDataInterfacePressureGrid : public UNiagaraDataInterfaceRWBase

Remarks

Data Interface for the strand base

Variables

Name Description

Public variable UProperty Category, EditAnywhere

FIntVector

 

GridSize

Grid size along the X axis.

Public variable UProperty Category, EditAnywhere

int

 

MaxIteration

Max stage iteration number

Public variable UProperty Category, EditAnywhere

int

 

MaxOutput

Max stage output number

Public variable UProperty Category, EditAnywhere

int

 

MinIteration

Min stage iteration number

Public variable UProperty Category, EditAnywhere

int

 

MinOutput

Min stage output number

Constructors

Name Description

Public function

UNiagaraDataInterfacePressureGrid

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function

void

 

AddGridVelocity

(
    FVectorVMContext& Context
)

Add velocity to the grid

Public function

void

 

BuildGridTopology

(
    FVectorVMContext& Context
)

Build the grid topology

Public function

void

 

BuildVelocityField

(
    FVectorVMContext& Context
)

Build the velocity field

Public function

void

 

ComputeBoundaryWeights

(
    FVectorVMContext& Context
)

Compute the solid weights

Public function

void

 

GetGridVelocity

(
    FVectorVMContext& Context
)

Get the grid velocity

Public function

void

 

GetNodePosition

(
    FVectorVMContext& Context
)

Compute the cell position

Public function

void

 

ProjectVelocityField

(
    FVectorVMContext& Context
)

Project the velocity field to be divergence free

Public function

void

 

SampleVelocityField

(
    FVectorVMContext& Context
)

Sample the grid

Public function

void

 

SetGridDimension

(
    FVectorVMContext& Context
)

Set the grid dimension

Public function

void

 

SetSolidBoundary

(
    FVectorVMContext& Context
)

Set the solid boundary

Public function

void

 

TransferCellVelocity

(
    FVectorVMContext& Context
)

Transfer the cell velocity

Public function

void

 

UpdateGridTransform

(
    FVectorVMContext& Context
)

Update the grid transform

Overridden from UNiagaraDataInterface

Name Description

Public function Virtual Const

bool

 

CanExecuteOnTarget

(
    ENiagaraSimTarget Target
)

Protected function Virtual Const

bool

 

CopyToInternal

(
    UNiagaraDataInterface* Destina...
)

Copy one niagara DI to this

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

void

 

GetCommonHLSL

(
    FString& OutHLSL
)

Allows data interfaces to provide common functionality that will be shared across interfaces on that type.

Public function Virtual

bool

 

GetFunctionHLSL

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

Public function Virtual

void

 

GetFunctions

UNiagaraDataInterface Interface

Public function Virtual

void

 

GetParameterDefinitionHLSL

(
    const FNiagaraDataInterfaceGPUParam...,
    FString& OutHLSL
)

GPU simulation functionality

Public function Virtual

void

 

GetVMExternalFunction

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

Returns the delegate for the passed function signature.

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

void

 

ProvidePerInstanceDataForRenderThread

(
    void* DataForRenderThread,
    void* PerInstanceData,
    const FNiagaraSystemInstanceID& Sy...
)

Subclasses that wish to work with GPU systems/emitters must implement this.

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

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()

UObject Interface

Constants

Name

Description

GridCurrentBufferName

Name of the grid current buffer

GridDestinationBufferName

Name of the grid X velocity buffer

GridOriginName

Name of the grid origin

GridSizeName

Name of the grid size

WorldInverseName

Name of the World transform inverse

WorldTransformName

Name of the world transform

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