Navigation
API > API/Plugins > API/Plugins/TextureGraph
An abstract class to help with the boilerplate of handling variants in general
| Name | UTG_Expression_Variant |
| Type | class |
| Header File | /Engine/Plugins/TextureGraph/Source/TextureGraph/Public/Expressions/TG_Expression_Variant.h |
| Include Path | #include "Expressions/TG_Expression_Variant.h" |
Syntax
UCLASS (Abstract)
class UTG_Expression_Variant : public UTG_Expression
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UTG_Expression → UTG_Expression_Variant
Derived Classes
UTG_Expression_Variant derived class hierarchy
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Output | FTG_Variant | Expressions/TG_Expression_Variant.h |
|
Functions
Public
Overridden from UTG_Expression
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Evaluate
(
FTG_EvaluationContext* InContext |
This is THE evaluation call to overwrite. | Expressions/TG_Expression_Variant.h | |
virtual FName GetCategory() |
Expressions/TG_Expression_Variant.h | ||
virtual FTG_SignaturePtr GetSignature() |
Expressions/TG_Expression_Variant.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool ErrorCheckInputTextures () |
Only override this if you don't want use the base class error handling (which is quite strict out of the box). | Expressions/TG_Expression_Variant.h | |
virtual FLinearColor EvaluateColor
(
FTG_EvaluationContext* InContext |
Expressions/TG_Expression_Variant.h | ||
virtual float EvaluateScalar
(
FTG_EvaluationContext* InContext |
This only need to be overridden if want to have your own variant implementation along with the EvaluateTexture(...) method defined above. | Expressions/TG_Expression_Variant.h | |
virtual float EvaluateScalar_WithValue
(
FTG_EvaluationContext* InContext, |
Most of the time these are the two functions that expressions will need to implement. | Expressions/TG_Expression_Variant.h | |
virtual FTG_Texture EvaluateTexture
(
FTG_EvaluationContext* InContext |
Expressions/TG_Expression_Variant.h | ||
virtual FVector4f EvaluateVector
(
FTG_EvaluationContext* InContext |
Expressions/TG_Expression_Variant.h | ||
virtual FVector4f EvaluateVector_WithValue
(
FTG_EvaluationContext* InContext, |
Evaluate vector only needs to be implemented if there vector handling isn't just a component-wise scalar handling. | Expressions/TG_Expression_Variant.h | |
virtual std::vector< FTG_Variant > GetEvaluateArgs () |
If you use the basic structure of variant expression then you'll need to implement this correctly. | Expressions/TG_Expression_Variant.h |
Overridden from UTG_Expression
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FTG_SignaturePtr BuildSignatureDynamically() |
Build Signature in derived classes dynamically. | Expressions/TG_Expression_Variant.h | |
virtual FTG_Variant::EType GetCommonInputVariantType() |
Expressions/TG_Expression_Variant.h | ||
virtual void Initialize() |
Initialize the expression in cascade from the node allowing it to re create transient data This is called in the PostLoad of the Graph | Expressions/TG_Expression_Variant.h | |
virtual void NotifySignatureChanged () |
If the signature changes and the node need to regenerate its own signature. | Expressions/TG_Expression_Variant.h | |
virtual bool ResetCommonInputVariantType
(
FTG_Variant::EType InType |
Variant expression API: specialized when using the macro TG_DECLARE_VARIANT_EXPRESSION: When input connection are changing, the graph / node calls ResetCommonInputVariantType in order for the expression to reeval its CommonInputVariant type as well as it s signature if it changes | Expressions/TG_Expression_Variant.h |