Navigation
| Name | GeometryFlowCore |
| Type | Plugin |
| Part of Plugins | GeometryFlow |
| Location | /Engine/Plugins/Experimental/GeometryFlow/Source/GeometryFlowCore/ |
| Module Build Rules | GeometryFlowCore.Build.cs |
Classes
| Name | Remarks |
|---|---|
| FAddFloatNode | |
| FDoubleSourceNode | |
| FDoubleStructSourceNode | |
| FEvaluationInfo | |
| FFloatSourceNode | |
| FFloatStructSourceNode | |
| FGeometryFlowCoreModule | |
| FGraph | TODO: |
| FInt32SourceNode | |
| FInt32StructSourceNode | |
| FNamedDataMap | |
| FNameSourceNode | |
| FNameStructSourceNode | |
| FNode | |
| FNodeFactory | Singleton used to create nodes UE::GeometryFlow::FGraph, introduced to help with serialization. |
| FSourceNodeBase | |
| FVector3dSourceNode | |
| FVector3dStructSourceNode | |
| FVector3fSourceNode | |
| FVector3fStructSourceNode | |
| TBasicNodeInput | |
| TBasicNodeOutput | |
| TBinaryOpAddNode | |
| TBinaryOpLambdaNode | |
| TImmutableData | |
| TImmutableNodeInput | |
| TImmutableNodeOutput | |
| TMovableData | |
| TSourceNode | |
| TSourceNodeBase | |
| TSwitchNode | TSwitchNode selects one of N inputs and provides it as an Output. |
| TTransferNode | |
| TTransformerWithSettingsNode | |
| TUStructSourceNode | Add ability to expose parameters to UI. |
Structs
| Name | Remarks |
|---|---|
| FCoreNodeRegistration | |
| FDataFlags | |
| FDoubleSetting | |
| FEvalRequirement | |
| FFloatSetting | |
| FInt32Setting | |
| FNameSetting | |
| FNodeInputFlags | |
| FVector3dSetting | |
| FVector3fSetting | |
| TSerializationMethod | This must be specialized for new data types. see GeometryFlowTSourceNode.h for example |
Interfaces
| Name | Remarks |
|---|---|
| IData | |
| INodeInput | |
| INodeOutput |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FDataDouble | TMovableData< double,(int) EDataTypes::Double > | GeometryFlowCoreNodes.h | |
| FDataDoubleStruct | TMovableData< FDoubleSetting,(int) EDataTypes::DoubleStruct > | GeometryFlowCoreNodes.h | |
| FDataFloat | TMovableData< float,(int) EDataTypes::Float > | GeometryFlowCoreNodes.h | |
| FDataFloatStruct | TMovableData< FFloatSetting,(int) EDataTypes::FloatStruct > | GeometryFlowCoreNodes.h | |
| FDataInt32 | TMovableData< int,(int) EDataTypes::Integer > | GeometryFlowCoreNodes.h | |
| FDataInt32Struct | TMovableData< FInt32Setting,(int) EDataTypes::IntegerStruct > | GeometryFlowCoreNodes.h | |
| FDataName | TMovableData< FName,(int) EDataTypes::Name > | GeometryFlowCoreNodes.h | |
| FDataNameStruct | TMovableData< FNameSetting,(int) EDataTypes::NameStruct > | GeometryFlowCoreNodes.h | |
| FDataVector3d | TMovableData< FVector3d,(int) EDataTypes::Vector3d > | GeometryFlowCoreNodes.h | |
| FDataVector3dStruct | TMovableData< FVector3dSetting,(int) EDataTypes::Vector3dStruct > | GeometryFlowCoreNodes.h | |
| FDataVector3f | TMovableData< FVector3f,(int) EDataTypes::Vector3f > | GeometryFlowCoreNodes.h | |
| FDataVector3fStruct | TMovableData< FVector3fSetting,(int) EDataTypes::Vector3fStruct > | GeometryFlowCoreNodes.h | |
| FDoubleInput | TBasicNodeInput< double,(int) EDataTypes::Double > | GeometryFlowCoreNodes.h | |
| FDoubleOutput | TBasicNodeOutput< double,(int) EDataTypes::Double > | GeometryFlowCoreNodes.h | |
| FDoubleStructInput | TBasicNodeInput< FDoubleSetting,(int) EDataTypes::DoubleStruct > | GeometryFlowCoreNodes.h | |
| FDoubleStructOutput | TBasicNodeOutput< FDoubleSetting,(int) EDataTypes::DoubleStruct > | GeometryFlowCoreNodes.h | |
| FFloatInput | TBasicNodeInput< float,(int) EDataTypes::Float > | GeometryFlowCoreNodes.h | |
| FFloatOutput | TBasicNodeOutput< float,(int) EDataTypes::Float > | GeometryFlowCoreNodes.h | |
| FFloatStructInput | TBasicNodeInput< FFloatSetting,(int) EDataTypes::FloatStruct > | GeometryFlowCoreNodes.h | |
| FFloatStructOutput | TBasicNodeOutput< FFloatSetting,(int) EDataTypes::FloatStruct > | GeometryFlowCoreNodes.h | |
| FInt32Input | TBasicNodeInput< int,(int) EDataTypes::Integer > | GeometryFlowCoreNodes.h | |
| FInt32Output | TBasicNodeOutput< int,(int) EDataTypes::Integer > | GeometryFlowCoreNodes.h | |
| FInt32StructInput | TBasicNodeInput< FInt32Setting,(int) EDataTypes::IntegerStruct > | GeometryFlowCoreNodes.h | |
| FInt32StructOutput | TBasicNodeOutput< FInt32Setting,(int) EDataTypes::IntegerStruct > | GeometryFlowCoreNodes.h | |
| FNameInput | TBasicNodeInput< FName,(int) EDataTypes::Name > | GeometryFlowCoreNodes.h | |
| FNameOutput | TBasicNodeOutput< FName,(int) EDataTypes::Name > | GeometryFlowCoreNodes.h | |
| FNameStructInput | TBasicNodeInput< FNameSetting,(int) EDataTypes::NameStruct > | GeometryFlowCoreNodes.h | |
| FNameStructOutput | TBasicNodeOutput< FNameSetting,(int) EDataTypes::NameStruct > | GeometryFlowCoreNodes.h | |
| FVector3dInput | TBasicNodeInput< FVector3d,(int) EDataTypes::Vector3d > | GeometryFlowCoreNodes.h | |
| FVector3dOutput | TBasicNodeOutput< FVector3d,(int) EDataTypes::Vector3d > | GeometryFlowCoreNodes.h | |
| FVector3dStructInput | TBasicNodeInput< FVector3dSetting,(int) EDataTypes::Vector3dStruct > | GeometryFlowCoreNodes.h | |
| FVector3dStructOutput | TBasicNodeOutput< FVector3dSetting,(int) EDataTypes::Vector3dStruct > | GeometryFlowCoreNodes.h | |
| FVector3fInput | TBasicNodeInput< FVector3f,(int) EDataTypes::Vector3f > | GeometryFlowCoreNodes.h | |
| FVector3fOutput | TBasicNodeOutput< FVector3f,(int) EDataTypes::Vector3f > | GeometryFlowCoreNodes.h | |
| FVector3fStructInput | TBasicNodeInput< FVector3fSetting,(int) EDataTypes::Vector3fStruct > | GeometryFlowCoreNodes.h | |
| FVector3fStructOutput | TBasicNodeOutput< FVector3fSetting,(int) EDataTypes::Vector3fStruct > | GeometryFlowCoreNodes.h | |
| TSafeSharedPtr | TSharedPtr< T, ESPMode::ThreadSafe > | Alias for Thread-Safe TSharedPtr | GeometryFlowTypes.h |
Enums
Public
| Name | Remarks |
|---|---|
| UE::GeometryFlow::EDataTypes | Every data type in a GeometryFlow graph requires a unique integer to identify the type. |
| UE::GeometryFlow::EGeometryFlowResult | |
| UE::GeometryFlow::ENodeCachingStrategy | TODO: this needs more work need option to opportunistically cache, ie on multi-use of output, or when we can't re-use anyway (this is currently what NeverCache does?) |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
NodeType * UE::GeometryFlow::CastToNodePtr
(
FNode* Node |
GeometryFlowNode.h | ||
EGeometryFlowResult UE::GeometryFlow::ExtractData
(
TSafeSharedPtr< IData > Data, |
GeometryFlowNodeUtil.h | ||
TArray< int > UE::GeometryFlow::FindAllConnectionsToNode
(
FGraph::FHandle ToNodeID, |
Returns an indices into the Connections array. | GeometryFlowGraphUtil.h | |
int UE::GeometryFlow::FindAnyConnectionFromNode
(
FGraph::FHandle FromNode, |
Returns an index into the Connections array or -1 if not found. | GeometryFlowGraphUtil.h | |
int UE::GeometryFlow::FindAnyConnectionToNode
(
FGraph::FHandle ToNode, |
Returns an index into the Connections array or -1 if not found. | GeometryFlowGraphUtil.h | |
uint32 UE::GeometryFlow::GetTypeHash
(
FGraph::FHandle Handle |
GeometryFlowGraph.h | ||
TUniquePtr< TBasicNodeInput< DataType, DataType::DataTypeIdentifier > > UE::GeometryFlow::MakeBasicInput() |
GeometryFlowNodeUtil.h | ||
TUniquePtr< TBasicNodeOutput< DataType, DataType::DataTypeIdentifier > > UE::GeometryFlow::MakeBasicOutput() |
GeometryFlowNodeUtil.h | ||
TSafeSharedPtr< TMovableData< DataType, DataType::DataTypeIdentifier > > UE::GeometryFlow::MakeMovableData
(
DataType&& Data |
GeometryFlowNodeUtil.h | ||
TSafeSharedPtr< T > UE::GeometryFlow::MakeSafeShared
(
InArgTypes&&... Args |
Wrapper around MakeShared for creating a TSafeSharedPtr | GeometryFlowTypes.h | |
void UE::GeometryFlow::UpdateSettingsSourceNodeValue
(
FGraph& Graph, |
GeometryFlowGraphUtil.h | ||
void UE::GeometryFlow::UpdateSourceNodeValue
(
FGraph& Graph, |
GeometryFlowGraphUtil.h | ||
void UE::GeometryFlow::UpdateSwitchNodeInputIndex
(
FGraph& Graph, |
Update the integer index that controls which Input to a TSwitchNode will be provided as it's Output. | GeometryFlowGraphUtil.h |