unreal.RigVMPin

class unreal.RigVMPin(outer: Object | None = None, name: Name | str = 'None')

Bases: Object

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.

C++ Source:

  • Plugin: RigVM

  • Module: RigVMDeveloper

  • File: RigVMPin.h

contains_wild_card_sub_pin() bool

Returns true if any of the subpins is a wildcard

Return type:

bool

Returns the link that represents the connection between this pin and InOtherPin. nullptr is returned if the pins are not connected.

Parameters:

other_pin (RigVMPin) –

Return type:

RigVMLink

find_sub_pin(pin_path) RigVMPin

Returns a SubPin given a name / path or nullptr.

Parameters:

pin_path (str) –

Return type:

RigVMPin

get_absolute_pin_index() int32

Returns the absolute index of the Pin within the node / parent Pin

Return type:

int32

get_array_element_cpp_type() str

Returns the C++ data type of an element of the Pin array

Return type:

str

get_array_size() int32

Returns the number of elements within an array Pin

Return type:

int32

get_cpp_type() str

Returns the C++ data type of the pin

Return type:

str

get_cpp_type_object() Object

Returns the struct of the data type of the Pin, or nullptr otherwise.

Return type:

Object

get_custom_widget_name() Name

Returns the name of a custom widget to be used for editing the Pin.

Return type:

Name

get_default_value() str

Returns the default value of the Pin as a string. Note that this value is computed based on the Pin’s SubPins - so for example for a FVector typed Pin the default value is actually composed out of the default values of the X, Y and Z SubPins.

Return type:

str

get_direction() RigVMPinDirection

Returns the direction of the pin

Return type:

RigVMPinDirection

get_display_name() Name

Returns the display label of the pin

Return type:

Name

get_enum() Enum

Returns the enum of the data type of the Pin, or nullptr otherwise.

Return type:

Enum

get_graph() RigVMGraph

Returns the graph of this Pin.

Return type:

RigVMGraph

get_linked_source_pins(recursive=False) Array[RigVMPin]

Returns all of the linked source Pins, using this Pin as the target.

Parameters:

recursive (bool) –

Return type:

Array[RigVMPin]

get_linked_target_pins(recursive=False) Array[RigVMPin]

Returns all of the linked target Pins, using this Pin as the source.

Parameters:

recursive (bool) –

Return type:

Array[RigVMPin]

Returns all of the links linked to this Pin.

Return type:

Array[RigVMLink]

get_meta_data(key) str

Returns the keyed metadata associated with this pin, if any

Parameters:

key (Name) –

Return type:

str

get_node() RigVMNode

Returns the node of this Pin.

Return type:

RigVMNode

get_original_pin_from_injected_node() RigVMPin

Returns the original pin for a pin on an injected node. This can be used to determine where a link should go in the user interface

Return type:

RigVMPin

get_parent_pin() RigVMPin

Returns the parent Pin - or nullptr if the Pin is nested directly below a node.

Return type:

RigVMPin

Returns the pin to be used for a link. This might differ from this actual pin, since the pin might contain injected nodes.

Return type:

RigVMPin

get_pin_index() int32

Returns the index of the Pin within the node / parent Pin

Return type:

int32

get_pin_path(use_node_path=False) str

Returns a . separated path containing all names of the pin and its owners, this includes the node name, for example “Node.Color.R”

Parameters:

use_node_path (bool) –

Return type:

str

get_root_pin() RigVMPin

Returns the top-most parent Pin, so for example for “Node.Transform.Translation.X” this returns the Pin for “Node.Transform”.

Return type:

RigVMPin

get_script_struct() ScriptStruct

Returns the struct of the data type of the Pin, or nullptr otherwise.

Return type:

ScriptStruct

get_segment_path(include_root_pin=False) str

Returns a . separated path containing all names of the pin within its main memory owner / storage. This is typically used to create an offset pointer within memory (FRigVMRegisterOffset). So for example for a PinPath such as “Node.Transform.Translation.X” the corresponding SegmentPath is “Translation.X”, since the transform is the storage / memory.

Parameters:

include_root_pin (bool) –

Return type:

str

Returns all of the source pins using this Pin as the target.

Parameters:

recursive (bool) –

Return type:

Array[RigVMLink]

get_sub_pin_path(parent_pin, include_parent_pin_name=False) str

Returns a . separated path containing all names of the pin and its owners until we hit the provided parent pin.

Parameters:
  • parent_pin (RigVMPin) –

  • include_parent_pin_name (bool) –

Return type:

str

get_sub_pins() Array[RigVMPin]

Returns all of the SubPins of this one.

Return type:

Array[RigVMPin]

Returns all of the target links, using this Pin as the source.

Parameters:

recursive (bool) –

Return type:

Array[RigVMLink]

get_tool_tip_text() Text

Returns the tooltip of this pin

Return type:

Text

is_array() bool

Returns true if the data type of the Pin is an array

Return type:

bool

is_array_element() bool

Returns true if the Pin is a SubPin within an array

Return type:

bool

is_decorator_pin() bool

Returns true if this pin represents a decorator

Return type:

bool

is_defined_as_constant() bool

Returns true if the pin is defined as a constant value / literal

Return type:

bool

is_dynamic_array() bool

Returns true if this pin represents a dynamic array

Return type:

bool

is_enum() bool

Returns true if the data type of the Pin is a enum

Return type:

bool

is_execute_context() bool

Returns true if the C++ data type is an execute context

Return type:

bool

is_expanded() bool

Returns true if the pin is currently expanded

Return type:

bool

is_fixed_size_array() bool

Returns true if this pin is an array that should be displayed as elements only

Return type:

bool

is_interface() bool

Returns true if the data type of the Pin is a interface

Return type:

bool

is_lazy() bool

Returns true if this pin’s value may be executed lazily

Return type:

bool

is_linked_to(pin) bool

Returns true if this Pin is linked to another Pin

Parameters:

pin (RigVMPin) –

Return type:

bool

is_reference_counted_container() bool

Returns true if this data type is referenced counted

Return type:

bool

is_root_pin() bool

Returns true if this pin is a root pin

Return type:

bool

is_string_type() bool

Returns true if the C++ data type is FString or FName

Return type:

bool

is_struct() bool

Returns true if the data type of the Pin is a struct

Return type:

bool

is_struct_member() bool

Returns true if the Pin is a SubPin within a struct

Return type:

bool

is_u_object() bool

Returns true if the data type of the Pin is a uobject

Return type:

bool

is_wild_card() bool

Returns true if the C++ data type is unknown

Return type:

bool

requires_watch(check_exposed_pin_chain=False) bool

Returns true if the pin should be watched

Parameters:

check_exposed_pin_chain (bool) –

Return type:

bool

should_hide_sub_pins() bool

Returns true if this pin’s subpins should be hidden in the UI

Return type:

bool

should_only_show_sub_pins() bool

Returns true if this pin is an array that should be displayed as elements only

Return type:

bool