UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionSwitch.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 "MaterialValueType.h"
11#include "MaterialExpressionSwitch.generated.h"
12
14
15UENUM()
24
25USTRUCT()
36
39{
41
42 UPROPERTY(EditAnywhere, Category= UMaterialExpressionSwitch)
43 FString Description = TEXT("Switch");
44
45 UPROPERTY(meta = (RequiredInput = "false", ToolTip = "Defaults to 'ConstSwitchValue' if not specified"))
46 FExpressionInput SwitchValue;
47
49 UPROPERTY(EditAnywhere, Category= UMaterialExpressionSwitch, meta=(OverridingInputProperty = "SwitchValue"))
50 float ConstSwitchValue;
51
52 UPROPERTY(meta = (RequiredInput = "false", ToolTip = "Defaults to 'ConstDefault' if not specified"))
54
56 UPROPERTY(EditAnywhere, Category= UMaterialExpressionSwitch, meta=(OverridingInputProperty = "Default"))
57 float ConstDefault;
58
59 UPROPERTY(EditAnywhere, Category= UMaterialExpressionSwitch)
61
62 //~ Begin UObject Interface.
63#if WITH_EDITOR
64 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
65 void RebuildOutputs();
66#endif // WITH_EDITOR
67 virtual void Serialize(FStructuredArchive::FRecord Record) override;
68 //~ End UObject Interface.
69
70 //~ Begin UMaterialExpression Interface
71#if WITH_EDITOR
72 virtual void Build(MIR::FEmitter& Emitter) override;
73 virtual int32 Compile(class FMaterialCompiler* Compiler, int32 OutputIndex) override;
74 virtual void GetCaption(TArray<FString>& OutCaptions) const override;
75 virtual FText GetCreationName() const override { return FText::FromString(TEXT("Switch")); }
77 virtual FExpressionInput* GetInput(int32 InputIndex) override;
78 virtual FName GetInputName(int32 InputIndex) const override;
79 virtual EMaterialValueType GetInputValueType(int32 InputIndex) override {return MCT_Unknown;}
80
81#endif // WITH_EDITOR
82 //~ End UMaterialExpression Interface
83};
84
85
86
#define TEXT(x)
Definition Platform.h:1272
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
ESwitchMaterialOutputType
Definition MaterialExpressionSwitch.h:17
@ TMMOT_Float2
Definition MaterialExpressionSwitch.h:19
@ TMMOT_Float3
Definition MaterialExpressionSwitch.h:20
@ TMMOT_Float1
Definition MaterialExpressionSwitch.h:18
@ TMMOT_Float4
Definition MaterialExpressionSwitch.h:21
@ TMMOT_MAX
Definition MaterialExpressionSwitch.h:22
EMaterialValueType
Definition MaterialValueType.h:15
@ MCT_Unknown
Definition MaterialValueType.h:36
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#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
Definition MaterialCompiler.h:109
Definition NameTypes.h:617
Definition StructuredArchiveSlots.h:144
Definition Text.h:385
static CORE_API FText FromString(const ANSICHAR *String)
Definition Text.cpp:1081
Definition ArrayView.h:139
Definition Array.h:670
Definition MaterialExpressionSwitch.h:39
Definition MaterialExpression.h:150
Definition MaterialExpressionIO.h:23
Definition UnrealType.h:6865
Definition MaterialExpressionSwitch.h:27