UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionAggregate.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
10#include "MaterialExpressionAggregate.generated.h"
11
12UENUM()
18
19USTRUCT(MinimalAPI)
30
31UCLASS(MinimalAPI, meta=(NewMaterialTranslator))
33{
35
36public:
37 UPROPERTY(EditAnywhere, Category=MaterialAggregate)
39
40 UPROPERTY(EditAnywhere, Category=MaterialAggregate, Meta=(EditCondition="Kind == EMaterialExpressionMakeAggregateKind::UserDefined"))
42
43 UPROPERTY(EditAnywhere, Category=MaterialAggregate, Meta=(DisplayName="Attributes", GetOptions="GetPossibleAttributeNames"))
44 TArray<FName> AttributeNames;
45
46 UPROPERTY()
47 FExpressionInput PrototypeInput;
48
49 UPROPERTY()
51
53
54#if WITH_EDITOR
55 // Returns the aggregate currently bound to this expression.
56 const UMaterialAggregate* GetAggregate() const;
57
58 // Returns the attribute with given index of the aggregate currently bound to this expression.
60
61 // Utility function to list the attribute names in the attribute selection combobox.
62 UFUNCTION()
63 TArray<FString> GetPossibleAttributeNames() const;
64
65 //~ Begin UMaterialExpression Interface
66 virtual void GetCaption(TArray<FString>& OutCaptions) const override;
67 virtual FExpressionInput* GetInput(int32 InputIndex) override;
68 virtual FName GetInputName(int32 InputIndex) const override;
73 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
75 //~ End UMaterialExpression Interface
76#endif // WITH_EDITOR
77
78private:
79#if WITH_EDITOR
80 // Used to store the state of the expression before a change was made.
81 struct FPrevEditData
82 {
84 TArray<FName> AttributeNames{};
86 };
87
89#endif // WITH_EDITOR
90};
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EMaterialExpressionMakeAggregateKind
Definition MaterialExpressionAggregate.h:14
EMaterialValueType
Definition MaterialValueType.h:15
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
Definition NameTypes.h:617
Definition UObjectGlobals.h:1292
Definition UnrealType.h:174
Definition Array.h:670
Definition MaterialAggregate.h:82
Definition MaterialExpressionAggregate.h:33
Definition MaterialExpression.h:150
Definition MaterialExpression.h:36
U16 Index
Definition radfft.cpp:71
Definition MaterialExpressionIO.h:23
Definition MaterialAggregate.h:52
Definition MaterialExpressionAggregate.h:21
Definition UnrealType.h:6865
Definition ObjectPtr.h:488