UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionPinBase.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
11#include "MaterialExpressionPinBase.generated.h"
12
32USTRUCT()
34{
36
37 UPROPERTY(EditAnywhere, Category=CustomInput, meta = (NoResetToDefault))
39
40 UPROPERTY(meta = (NoResetToDefault))
42
45 , Expression(nullptr)
46 {
47 }
48
50 : Name(InName)
51 , Expression(InExpression)
52 {
53 }
54};
55
56UCLASS(MinimalAPI)
58{
60
61
62 UPROPERTY(EditAnywhere, Category = MaterialExpressionPinBase, meta = (NoResetToDefault, TitleProperty = Name))
63 TArray<FCompositeReroute> ReroutePins;
64
66 UPROPERTY()
68
69#if WITH_EDITOR
71 virtual void DeleteReroutePins();
72
73 //~ Begin UObject Interface.
74 virtual void PreEditChange(FProperty* PropertyAboutToChange) override;
75 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
76 //~ End UObject Interface.
77
78 //~ Begin UMaterialExpression Interface
79 virtual TArray<FExpressionOutput>& GetOutputs() override;
81 virtual FExpressionInput* GetInput(int32 InputIndex) override;
82 virtual FName GetInputName(int32 InputIndex) const override;
83 virtual EMaterialValueType GetInputValueType(int32 InputIndex) override;
84 virtual EMaterialValueType GetOutputValueType(int32 OutputIndex) override;
85 virtual bool IsExpressionConnected(FExpressionInput* Input, int32 OutputIndex) override;
86 virtual void ConnectExpression(FExpressionInput* Input, int32 OutputIndex) override;
87
88 virtual void GetCaption(TArray<FString>& OutCaptions) const override;
89#endif // WITH_EDITOR
90
91 virtual bool IsAllowedIn(const UObject* MaterialOrFunction) const override { return false; }
92 //~ End UMaterialExpression Interface
93
94#if WITH_EDITOR
95 //~ Begin UObject Interface.
96 virtual bool Modify(bool bAlwaysMarkDirty = true) override;
97 //~ End UObject Interface.
98
99 bool ModifyAsSubObject(bool bAlwaysMarkDirty = true);
100private:
103
104#endif // WITH_EDITOR
105};
106
107
108
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
EMaterialValueType
Definition MaterialValueType.h:15
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
Definition NameTypes.h:617
Definition UnrealType.h:174
Definition ArrayView.h:139
Definition Array.h:670
Definition EnumAsByte.h:22
Definition MaterialExpressionPinBase.h:58
Definition MaterialExpressionReroute.h:14
Definition MaterialExpression.h:150
Definition Object.h:95
Definition MaterialExpressionPinBase.h:34
FCompositeReroute(FName InName, UMaterialExpressionReroute *InExpression)
Definition MaterialExpressionPinBase.h:49
Definition MaterialExpressionIO.h:23
Definition UnrealType.h:6865
Definition ObjectPtr.h:488