Navigation
API > API/Plugins > API/Plugins/TextureGraph > API/Plugins/TextureGraph/Expressions
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UTG_Expression
- UTG_Expression_Variant
- UTG_Expression_BasicMath_Op
- UTG_Expression_Add
- UTG_Expression_Cross
- UTG_Expression_Divide
- UTG_Expression_Dot
- UTG_Expression_Multiply
- UTG_Expression_Subtract
- UTG_Expression_Clamp
- UTG_Expression_IfThenElse
- UTG_Expression_Lerp
- UTG_Expression_MAD
- UTG_Expression_Max
- UTG_Expression_Min
- UTG_Expression_OneInput
- UTG_Expression_Abs
- UTG_Expression_Cbrt
- UTG_Expression_Ceil
- UTG_Expression_Cube
- UTG_Expression_Exp
- UTG_Expression_Floor
- UTG_Expression_Log
- UTG_Expression_Log10
- UTG_Expression_Log2
- UTG_Expression_Round
- UTG_Expression_Sqrt
- UTG_Expression_Square
- UTG_Expression_Pow
- UTG_Expression_SmoothStep
- UTG_Expression_Trigonometry
References
| Module | TextureGraph |
| Header | /Engine/Plugins/Experimental/TextureGraph/Source/TextureGraph/Public/Expressions/TG_Expression_Variant.h |
| Include | #include "Expressions/TG_Expression_Variant.h" |
Syntax
UCLASS (Abstract)
class UTG_Expression_Variant : public UTG_Expression
Remarks
An abstract class to help with the boilerplate of handling variants in general
Variables
| Type | Name | Description | |
|---|---|---|---|
| FTG_Variant::EType | CommonVariantType | ||
| FTG_SignaturePtr | DynSignature | ||
| FTG_Variant | Output |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | Only override this if you don't want use the base class error handling (which is quite strict out of the box). | ||
| FLinearColor | EvaluateColor
(
FTG_EvaluationContext* InContext |
||
| 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. | |
| float | EvaluateScalar_WithValue
(
FTG_EvaluationContext* InContext, |
Most of the time these are the two functions that expressions will need to implement. | |
| FTG_Texture | EvaluateTexture
(
FTG_EvaluationContext* InContext |
||
| FVector4f | EvaluateVector
(
FTG_EvaluationContext* InContext |
||
| 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. | |
| std::vector< FTG_Variant > | If you use the basic structure of variant expression then you'll need to implement this correctly. |
Overridden from UTG_Expression
| Type | Name | Description | |
|---|---|---|---|
| bool | AssignCommonVariantType
(
FTG_Variant::EType InType |
||
| FTG_SignaturePtr | Build Signature in derived classes dynamically. | ||
| void | Evaluate
(
FTG_EvaluationContext* InContext |
This is THE evaluation call to overwrite. | |
| FName | GetCategory () |
||
| FTG_Variant::EType | |||
| FTG_SignaturePtr | GetSignature () |
||
| 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 | |
| void | NotifyCommonVariantTypeChanged
(
FTG_Variant::EType InType |
||
| void | If the signature changes and the node need to regenerate its own signature. |