UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionOperator.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3
4#pragma once
5
6#include "CoreMinimal.h"
10#include "MaterialExpressionOperator.generated.h"
11
12UENUM()
14{
15 // Unary
17 Negate,
18 Not,
19 Abs,
20 ACos,
22 ACosh,
23 ASin,
25 ASinh,
26 ATan,
28 ATanh,
29 Ceil,
30 Cos,
31 Cosh,
34 Floor,
35 Frac,
37 IsInf,
38 IsNan,
39 Length,
43 LWCTile,
45 Round,
46 Rsqrt,
48 Sign,
49 Sin,
50 Sinh,
51 Sqrt,
52 Tan,
53 Tanh,
56
57 // Binary
58 Equals,
64 And,
65 Or,
66 Add,
70 Divide,
71 Modulo,
76 ATan2,
78 Cross,
80 Dot,
81 Fmod,
82 Max,
83 Min,
84 Pow,
85 Step,
86
87 // Ternary
88 Clamp,
89 Lerp,
90 Select,
92};
93
94USTRUCT()
96{
98
99 UPROPERTY()
100 FExpressionInput ExpressionInput;
101
102 UPROPERTY(EditAnywhere, Category = "AddInput")
103 float ConstValue;
104
106 : ConstValue(1.0f)
107 {
108 }
109};
110
111UCLASS(MinimalAPI, meta=(NewMaterialTranslator))
113{
115
116public:
118 UPROPERTY(EditAnywhere, Category = "Dynamic Inputs")
120
122 UPROPERTY(EditAnywhere, Category=MaterialExpressionOperator)
124
126 uint32 Arity = 2;
127
129 bool bAllowAddPin = true;
130
132
133 //~ Begin UMaterialExpression Interface
134#if WITH_EDITOR
135 virtual void AddInputPin();
136 virtual bool CanDeletePin(EEdGraphPinDirection PinDirection, int32 PinIndex) const override;
137 virtual void DeletePin(EEdGraphPinDirection PinDirection, int32 PinIndex) override;
138
139 virtual FExpressionInput* GetInput(int32 InputIndex) override;
140 virtual FName GetInputName(int32 InputIndex) const override;
141 virtual int32 CountInputs() const override;
142
143 virtual void GetCaption(TArray<FString>& OutCaptions) const override;
144 virtual FText GetKeywords() const override;
145 virtual FText GetCreationName() const override;
146
147 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
148 virtual void PostLoad() override;
149
150 virtual void Build(MIR::FEmitter& Emitter) override;
151#endif // WITH_EDITOR
152 //~ End UMaterialExpression Interface
153};
154
155
156
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
EEdGraphPinDirection
Definition EdGraphNode.h:98
return true
Definition ExternalRpcRegistry.cpp:601
EMaterialExpressionOperatorKind
Definition MaterialExpressionOperator.h:14
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition NameTypes.h:617
Definition UObjectGlobals.h:1292
Definition Text.h:385
Definition Array.h:670
Definition MaterialExpressionOperator.h:113
Definition MaterialExpression.h:150
Definition MaterialExpressionIO.h:23
Definition MaterialExpressionOperator.h:96
Definition UnrealType.h:6865