Navigation
Unreal Engine C++ API Reference > 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 |