Navigation
API > API/Plugins > API/Plugins/RigVMDeveloper > API/Plugins/RigVMDeveloper/RigVMModel
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- URigVMPin
References
| Module | RigVMDeveloper |
| Header | /Engine/Plugins/Runtime/RigVM/Source/RigVMDeveloper/Public/RigVMModel/RigVMPin.h |
| Include | #include "RigVMModel/RigVMPin.h" |
Syntax
UCLASS&40;BlueprintType&41;
class URigVMPin : public UObject
Remarks
The Pin represents a single connector / pin on a node in the RigVM model. Pins can be connected based on rules. Pins also provide access to a 'PinPath', which essentially represents . separated list of names to reach the pin within the owning graph. PinPaths are unique. In comparison to the EdGraph Pin the URigVMPin supports the concept of 'SubPins', so child / parent relationships between pins. A FVector Pin for example might have its X, Y and Z components as SubPins. Array Pins will have its elements as SubPins, and so on. A URigVMPin is owned solely by a URigVMNode.
Constructors
| Type | Name | Description | |
|---|---|---|---|
URigVMPin () |
Default constructor. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | CanBeBoundToVariable
(
const FRigVMExternalVariable& InExternalVariable, |
Returns true if the pin can be bound to a given variable. | |
| bool | CanLink
(
const URigVMPin* InSourcePin, |
Returns true is the two provided source and target Pins can be linked to one another. | |
| FString | ClampDefaultValueFromMetaData
(
const FString& InDefaultValue |
Returns the default value clamped with the limit meta values defined by the UPROPERTY in URigVMUnitNodes. | |
| bool | Returns true if any of the subpins is a wildcard. | ||
| URigVMLink * | FindLinkForPin
(
const URigVMPin* InOtherPin |
Returns the link that represents the connection between this pin and InOtherPin. | |
| URigVMPin * | FindSubPin
(
const FString& InPinPath |
Returns a SubPin given a name / path or nullptr. | |
| int32 | Returns the absolute index of the Pin within the node / parent Pin. | ||
| FString | Returns the C++ data type of an element of the Pin array. | ||
| int32 | GetArraySize () |
Returns the number of elements within an array Pin. | |
| FString | Returns the variable bound to this pin (or NAME_None) | ||
| URigVMVariableNode * | |||
| const FString | GetBoundVariablePath
(
const FPinOverride& InOverride |
Returns the variable bound to this pin (or NAME_None) | |
| const FString | Returns the variable bound to this pin (or NAME_None) | ||
| FString | GetCPPType () |
Returns the C++ data type of the pin. | |
| UObject * | Returns the struct of the data type of the Pin, or nullptr otherwise. | ||
| FName | Returns the name of a custom widget to be used for editing the Pin. | ||
| TSharedPtr< FStructOnScope > | GetDecoratorInstance
(
bool bUseDefaultValueFromPin |
Returns the decorator backing up this pin. | |
| FString | Returns the default value of the Pin as a string. | ||
| FString | GetDefaultValue
(
const FPinOverride& InOverride |
Returns the default value with an additional override ma. | |
| FString | GetDefaultValueForArray
(
TConstArrayView< FString > InDefaultValues |
Joins a collection of element DefaultValues into a default value for an array of those elements. | |
| ERigVMPinDirection | GetDirection () |
Returns the direction of the pin. | |
| FName | Returns the display label of the pin. | ||
| UEnum * | GetEnum () |
Returns the enum of the data type of the Pin, or nullptr otherwise. | |
| void | GetExposedPinChain
(
TArray< const URigVMPin* >& OutExposedPins |
Populates an array of pins which will be reduced to the same operand in the VM. | |
| URigVMGraph * | GetGraph () |
Returns the graph of this Pin. | |
| const TArray< URigVMInjectionInfo * > | Returns the injected nodes this pin contains. | ||
| TArray< URigVMPin * > | GetLinkedSourcePins
(
bool bRecursive |
Returns all of the linked source Pins, using this Pin as the target. | |
| TArray< URigVMPin * > | GetLinkedTargetPins
(
bool bRecursive |
Returns all of the linked target Pins, using this Pin as the source. | |
| const TArray< URigVMLink * > & | GetLinks () |
Returns all of the links linked to this Pin. | |
| URigVMNode * | GetNode () |
Returns the node of this Pin. | |
| URigVMPin * | Returns the original pin for a pin on an injected node. This can be used to determine where a link | ||
| URigVMPin * | GetParentPin () |
Returns the parent Pin - or nullptr if the Pin is nested directly below a node. | |
| URigVMPin * | Returns the pin to be used for a link. | ||
| int32 | GetPinIndex () |
Returns the index of the Pin within the node / parent Pin. | |
| FString | GetPinPath
(
bool bUseNodePath |
Returns a . | |
| URigVMPin * | GetRootPin () |
Returns the top-most parent Pin, so for example for "Node.Transform.Translation.X" this returns the Pin for "Node.Transform". | |
| UScriptStruct * | Returns the struct of the data type of the Pin, or nullptr otherwise. | ||
| FString | GetSegmentPath
(
bool bIncludeRootPin |
Returns a . | |
| TArray< URigVMLink * > | GetSourceLinks
(
bool bRecursive |
Returns all of the source pins using this Pin as the target. | |
| uint32 | |||
| FString | GetSubPinPath
(
const URigVMPin* InParentPin, |
Returns a . | |
| const TArray< URigVMPin * > & | GetSubPins () |
Returns all of the SubPins of this one. | |
| TArray< URigVMLink * > | GetTargetLinks
(
bool bRecursive |
Returns all of the target links, using this Pin as the source. | |
| FRigVMTemplateArgumentType | Returns the argument type this pin would represent within a template. | ||
| FText | Returns the tooltip of this pin. | ||
| TRigVMTypeIndex | GetTypeIndex () |
Returns the argument type index this pin would represent within a template. | |
| bool | Returns true if this pin has injected nodes. | ||
| bool | Returns true if this pin has injected nodes. | ||
| bool | IsArray () |
Returns true if the data type of the Pin is an array. | |
| bool | Returns true if the Pin is a SubPin within an array. | ||
| bool | Returns true if this pin is bound to an external variable. | ||
| bool | Returns true if this pin is bound to an input argument. | ||
| bool | Returns true if this pin is bound to a local variable. | ||
| bool | Returns true if this pin is bound to a variable. | ||
| bool | IsBoundToVariable
(
const FPinOverride& InOverride |
Returns true if this pin is bound to a variable. | |
| bool | Returns true if this pin represents a decorator. | ||
| bool | Returns true if the pin is defined as a constant value / literal. | ||
| bool | Returns true if this pin represents a dynamic array. | ||
| bool | IsEnum () |
Returns true if the data type of the Pin is a enum. | |
| bool | Returns true if the C++ data type is an execute context. | ||
| bool | IsExpanded () |
Returns true if the pin is currently expanded. | |
| bool | Returns true if this pin is an array that should be displayed as elements only. | ||
| bool | IsInterface () |
||
| bool | IsLazy () |
Returns true if this pin's value may be executed lazily. | |
| bool | IsLinked
(
bool bRecursive |
Returns true if the pin has any link. | |
| bool | IsLinkedTo
(
const URigVMPin* InPin |
Returns true if this Pin is linked to another Pin. | |
| bool | IsOrphanPin () |
Returns true if the pin has been orphaned. | |
| bool | Returns true if this data type is referenced counted. | ||
| bool | IsRootPin () |
Returns true if this pin is a root pin. | |
| bool | IsStringType () |
Returns true if the C++ data type is FString or FName. | |
| bool | IsStruct () |
Returns true if the data type of the Pin is a struct. | |
| bool | Returns true if the Pin is a SubPin within a struct. | ||
| bool | IsUObject () |
Returns true if the data type of the Pin is a uobject. | |
| bool | IsValidDefaultValue
(
const FString& InDefaultValue |
Returns true if the default value provided is valid. | |
| bool | IsWildCard () |
Returns true if the C++ data type is unknown. | |
| FString | JoinPinPath
(
const TArray< FString >& InParts |
Joins a PinPath from to segments, so for example ["Node", "Color", "R"] becomes "Node.Color.R". | |
| FString | JoinPinPath
(
const FString& Left, |
Joins a PinPath from to segments, so for example "Node.Color" and "R" becomes "Node.Color.R". | |
| bool | NameEquals
(
const FString& InName, |
Returns true if the name of this pin matches a given name | |
| bool | RequiresWatch
(
const bool bCheckExposedPinChain |
Returns true if the pin should be watched. | |
| bool | Returns true if this pin's subpins should be hidden in the UI. | ||
| bool | Returns true if this pin is an array that should be displayed as elements only. | ||
| bool | Returns true if the pin should not show up on a node, but in the details panel. | ||
| TArray< FString > | SplitDefaultValue
(
const FString& InDefaultValue |
Splits the default value into name-value pairs. | |
| bool | SplitPinPath
(
const FString& InPinPath, |
Splits a PinPath into all segments, so for example "Node.Color.R" becomes ["Node", "Color", "R"]. | |
| bool | SplitPinPathAtEnd
(
const FString& InPinPath, |
Splits a PinPath at the start, so for example "Node.Color.R" becomes "Node.Color" and "R". | |
| bool | SplitPinPathAtStart
(
const FString& InPinPath, |
Splits a PinPath at the start, so for example "Node.Color.R" becomes "Node" and "Color.R". | |
| FRigVMExternalVariable | Returns an external variable matching this pin's type. |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FPinOverrideValue | A struct to store a pin override value. |
Typedefs
| Name | Description |
|---|---|
| FPinOverride | |
| FPinOverrideMap | A map used to override pin default values. |
Constants
| Name | Description |
|---|---|
| EmptyPinOverride | |
| EmptyPinOverrideMap | |
| OrphanPinPrefix |