58 lines
1.9 KiB
C++
58 lines
1.9 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "Dataflow/DataflowNode.h"
|
|
#include "GeometryCollection/ManagedArrayCollection.h"
|
|
#include "ClothCollectionQueryNode.generated.h"
|
|
|
|
|
|
class UDynamicMesh;
|
|
class UMaterialInterface;
|
|
|
|
/** Query a Managed Array Collection about its Cloth Collection properties.
|
|
*/
|
|
USTRUCT(Meta = (DataflowCloth))
|
|
struct FChaosClothAssetCollectionQueryNode : public FDataflowNode
|
|
{
|
|
GENERATED_USTRUCT_BODY()
|
|
DATAFLOW_NODE_DEFINE_INTERNAL(FChaosClothAssetCollectionQueryNode, "ClothCollectionQuery", "Cloth", "Cloth Collection Query")
|
|
DATAFLOW_NODE_RENDER_TYPE("SurfaceRender", FName("FClothCollection"), "Collection")
|
|
|
|
public:
|
|
|
|
FChaosClothAssetCollectionQueryNode(const UE::Dataflow::FNodeParameters& InParam, FGuid InGuid = FGuid::NewGuid());
|
|
|
|
virtual void Evaluate(UE::Dataflow::FContext& Context, const FDataflowOutput* Out) const override;
|
|
|
|
private:
|
|
|
|
/** Input/output collection (Output is always a passthrough)*/
|
|
UPROPERTY(Meta = (DataflowInput, DataflowOutput, DataflowPassthrough = "Collection"))
|
|
FManagedArrayCollection Collection;
|
|
|
|
/** Is this collection a valid cloth collection */
|
|
UPROPERTY(Meta = (DataflowOutput))
|
|
bool bIsClothCollection = false;
|
|
|
|
/** Does this collection have a cloth sim mesh */
|
|
UPROPERTY(Meta = (DataflowOutput))
|
|
bool bHasClothSimMesh = false;
|
|
|
|
/** Does this collection have a cloth render mesh */
|
|
UPROPERTY(Meta = (DataflowOutput))
|
|
bool bHasClothRenderMesh = false;
|
|
|
|
/** Does this collection have proxy deformer data */
|
|
UPROPERTY(Meta = (DataflowOutput))
|
|
bool bHasClothProxyDeformer = false;
|
|
|
|
/** Name of boolean property to query */
|
|
UPROPERTY(EditAnywhere, Category = "Cloth Collection Query")
|
|
FString BooleanPropertyName = TEXT("PropertyName");
|
|
|
|
/** Result of querying BooleanPropertyName. Default value if property doesn't exist matches node value.*/
|
|
UPROPERTY(EditAnywhere, Category = "Cloth Collection Query", Meta =(DataflowOutput))
|
|
bool bBooleanPropertyValue = false;
|
|
};
|