Navigation
API > API/Plugins > API/Plugins/CustomizableObjectEditor > API/Plugins/CustomizableObjectEditor/MuCOE > API/Plugins/CustomizableObjectEditor/MuCOE/Nodes
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UEdGraphNode
- UCustomizableObjectNode
- UCustomizableObjectNodeAnimationPose
- UCustomizableObjectNodeColorArithmeticOp
- UCustomizableObjectNodeColorConstant
- UCustomizableObjectNodeColorFromFloats
- UCustomizableObjectNodeColorParameter
- UCustomizableObjectNodeColorVariation
- UCustomizableObjectNodeCurve
- UCustomizableObjectNodeEditMaterialBase
- UCustomizableObjectNodeEditLayoutBlocks
- UCustomizableObjectNodeEditMaterial
- UCustomizableObjectNodeRemoveMeshBlocks
- UCustomizableObjectNodeMorphMaterial
- UCustomizableObjectNodeRemoveMesh
- UCustomizableObjectNodeEnumParameter
- UCustomizableObjectNodeExposePin
- UCustomizableObjectNodeExtensionDataConstant
- UCustomizableObjectNodeExtensionDataVariation
- UCustomizableObjectNodeExternalPin
- UCustomizableObjectNodeFloatConstant
- UCustomizableObjectNodeFloatParameter
- UCustomizableObjectNodeFloatVariation
- UCustomizableObjectNodeLayoutBlocks
- UCustomizableObjectNodeMaterialBase
- UCustomizableObjectNodeExtendMaterial
- UCustomizableObjectNodeMaterial
- UCustomizableObjectNodeCopyMaterial
- UCustomizableObjectNodeMaterialVariation
- UCustomizableObjectNodeModifierBase
- UCustomizableObjectNodeMeshClipDeform
- UCustomizableObjectNodeMeshClipMorph
- UCustomizableObjectNodeMeshClipWithMesh
- UCustomizableObjectNodeMesh
- UCustomizableObjectNodeSkeletalMesh
- UCustomizableObjectNodeStaticMesh
- UCustomizableObjectNodeMeshGeometryOperation
- UCustomizableObjectNodeMeshMorph
- UCustomizableObjectNodeMeshMorphStackApplication
- UCustomizableObjectNodeMeshMorphStackDefinition
- UCustomizableObjectNodeMeshReshape
- UCustomizableObjectNodeMeshVariation
- UCustomizableObjectNodeObject
- UCustomizableObjectNodeObjectChild
- UCustomizableObjectNodeObjectGroup
- UCustomizableObjectNodeProjectorConstant
- UCustomizableObjectNodeProjectorParameter
- UCustomizableObjectNodeGroupProjectorParameter
- UCustomizableObjectNodeReroute
- UCustomizableObjectNodeSwitchBase
- UCustomizableObjectNodeColorSwitch
- UCustomizableObjectNodeExtensionDataSwitch
- UCustomizableObjectNodeFloatSwitch
- UCustomizableObjectNodeMeshSwitch
- UCustomizableObjectNodePassThroughTextureSwitch
- UCustomizableObjectNodeTextureSwitch
- UCustomizableObjectNodeTable
- UCustomizableObjectNodeTextureBase
- UCustomizableObjectNodePassThroughTexture
- UCustomizableObjectNodeTexture
- UCustomizableObjectNodeTextureBinarise
- UCustomizableObjectNodeTextureColourMap
- UCustomizableObjectNodeTextureFromChannels
- UCustomizableObjectNodeTextureFromColor
- UCustomizableObjectNodeTextureInterpolate
- UCustomizableObjectNodeTextureInvert
- UCustomizableObjectNodeTextureLayer
- UCustomizableObjectNodeTextureParameter
- UCustomizableObjectNodeTextureProject
- UCustomizableObjectNodeTextureSample
- UCustomizableObjectNodeTextureSaturate
- UCustomizableObjectNodeTextureToChannels
- UCustomizableObjectNodeTextureTransform
- UCustomizableObjectNodeTextureVariation
References
| Module | CustomizableObjectEditor |
| Header | /Engine/Plugins/Experimental/Mutable/Source/CustomizableObjectEditor/Classes/MuCOE/Nodes/CustomizableObjectNode.h |
| Include | #include "MuCOE/Nodes/CustomizableObjectNode.h" |
Syntax
UCLASS&40;Abstract&41;
class UCustomizableObjectNode : public UEdGraphNode
Remarks
Base class of all Customizable Object nodes.
The Customizable Object node system is build on top of the following premises. To avoid breaking this system, these premise must be hold!
PREMISES:
A node can only be modified when a node is reconstructed (i.e., inside the ReconstructNode, AllocateDefaultPins functions). Exceptionally, a pin can also be created inside the BeginConstruct. We consider that a node has been modified if one of the following things happen:
- Creation, destruction and modification of pins.
- Modification of any data that would modify any pin.
Variables
| Type | Name | Description | |
|---|---|---|---|
| FDestroyNodeDelegate | DestroyNodeDelegate | ||
| FNodeConnectionListChangedDelegate | NodeConnectionListChangedDelegate | ||
| FPinConnectionListChangedDelegate | PinConnectionListChangedDelegate | ||
| FPostEditChangePropertyDelegate | PostEditChangePropertyDelegate | ||
| FPostEditChangePropertyRegularDelegate | PostEditChangePropertyRegularDelegate | ||
| FPostReconstructNodeDelegate | PostReconstructNodeDelegate | ||
| FRemapPinsDelegate | RemapPinsDelegate |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddAttachedErrorData
(
const FAttachedErrorDataView& |
||
| void | AddPinData
(
const UEdGraphPin& Pin, |
Attach data to a given pin. | |
| void | AllocateDefaultPins
(
UCustomizableObjectNodeRemapPins* RemapPins |
Specialization of AllocateDefaultPins UEdGraphNode function. | |
| void | Add backwards compatible code here. | ||
| void | Called at the beginning of the node lifecycle. | ||
| void | BeginPostDuplicate
(
bool bDuplicateForPIE |
Custom post duplicate function. | |
| void | BreakExistingConnectionsPostConnection
(
UEdGraphPin* InputPin, |
Called when a new connection is perform. | |
| bool | CanConnect
(
const UEdGraphPin* InOwnedInputPin, |
Check if two pins can be connected. | |
| bool | CanPinBeHidden
(
const UEdGraphPin& Pin |
Return true if a pin can be hidden. Override it to have a custom behaivour. | |
| UCustomizableObjectNodeRemapPinsByName * | Creates and returns a remap pins by name action. | ||
| UCustomizableObjectNodeRemapPinsByPosition * | Creates and returns a remap pins by position action. | ||
| UCustomizableObjectNodeRemapPins * | Creates and returns the node default node remap pins action. | ||
| UEdGraphPin * | CustomCreatePin
(
EEdGraphPinDirection Direction, |
Wrapper of the pin creation method, to cope with multiple Unreal Engine versions. | |
| UEdGraphPin * | CustomCreatePin
(
EEdGraphPinDirection Direction, |
Create pin with attached data. | |
| TSharedPtr< SWidget > | CustomizePinDetails
(
UEdGraphPin& Pin |
Returns pin custom details. Override if required. | |
| bool | CustomRemovePin
(
UEdGraphPin& Pin |
Virtual implementation of RemovePin. | |
| TArray< UEdGraphPin * > | Gets all non orphan pins this node owns. | ||
| TArray< UEdGraphPin * > | Gets all orphan pins this node owns. | ||
| UCustomizableObjectGraph * | Get the CustomizableObject graph that owns this node. | ||
| TSharedPtr< class ICustomizableObjectEditor > | |||
| void | GetInputPins
(
TArray< class UEdGraphPin* >& OutInputPins |
||
| int32 | GetLOD () |
Return the LOD which this node belongs to. | |
| UEdGraphPin * | GetOutputPin
(
int32 OutputIndex |
||
| void | GetOutputPins
(
TArray< class UEdGraphPin* >& OutOutputPins |
||
| TArray< UCustomizableObjectNodeObject * > | GetParentObjectNodes
(
int LOD |
Get all parent Object nodes of this node which are parents of this node. | |
| T & | GetPinData
(
const UEdGraphPin& Pin |
Given a pin which has attached data, get the typed pin data. | |
| UCustomizableObjectNodePinData * | GetPinData
(
const UEdGraphPin& Pin |
See GetPinData(const FEdGraphPinReference&). | |
| FString | |||
| bool | Used during compilation process to cache the node for all LODs, or generate it specifically for each of them. | ||
| bool | |||
| bool | IsPinRelevant
(
const UEdGraphPin* |
||
| bool | If returns true, only a single link can go out of every output pin. False by default. | ||
| void | Add post load work here. | ||
| bool | |||
| void | ReconstructNode
(
UCustomizableObjectNodeRemapPins* RemapPinsMode |
Specialization of ReconstructNode UEdGraphNode function. | |
| void | RemapPins
(
const TMap< UEdGraphPin*, UEdGraphPin* >& PinsToRemap |
Allows to perform work when remapping a pin. | |
| void | RemapPinsData
(
const TMap< UEdGraphPin*, UEdGraphPin* >& PinsToRemap |
||
| void | |||
| void | |||
| void | SetPinHidden
(
UEdGraphPin& Pin, |
Set a pin to be hidden or not. | |
| void | SetPinHidden
(
const TArray< UEdGraphPin* >& Pins, |
Set an array of pins to be hidden or not. | |
| void | |||
| bool | ShouldAddToContextMenu
(
FText& OutCategory |
Subclasses should override this to return true and set OutCategory if this node should be auto-added to the right-click context menu in the graph editor. | |
| bool | ShouldBreakExistingConnections
(
const UEdGraphPin* InputPin, |
When creating a new connection, break all previous connections. This method can be overridden. | |
| void | UpdateReferencedNodeId
(
const FGuid& NewGuid |
Used to replace Ids of referenced nodes by their new ids after duplicating the CustomizableObject. |
Overridden from UEdGraphNode
| Type | Name | Description | |
|---|---|---|---|
| void | Allocates the default pins using the empty remap pins action. Usually called from CreateNode. | ||
| void | AutowireNewNode
(
UEdGraphPin* FromPin |
Autowire a newly created node. | |
| void | DestroyNode () |
Destroy the specified node | |
| void | Called when something external to this node has changed the connection list of any of the pins in the node | ||
| void | PinConnectionListChanged
(
UEdGraphPin* Pin |
Called when the connection list of one of the pins of this node is changed in the editor | |
| void | Reconstructs the node using its default remap pins action. |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally | |
| void | Called after the C++ constructor and after the properties have been initialized, including those loaded from config. | ||
| void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. | |
| void | Handles reading, writing, and reference collecting using FArchive. |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FAttachedErrorDataView |