Navigation
API > API/Plugins > API/Plugins/AnimNext > API/Plugins/AnimNext/TraitCore
References
| Module | AnimNext |
| Header | /Engine/Plugins/Experimental/AnimNext/Source/AnimNext/Public/TraitCore/NodeHandle.h |
| Include | #include "TraitCore/NodeHandle.h" |
Syntax
struct FNodeHandle
Remarks
Node Handle A node handle represents a reference to a specific node instance in the shared/read-only portion of a sub-graph. It points to a FNodeDescription when resolved.
Internally, it contains either a shared data offset into the parent graph (at runtime) or a FNodeID (during compilation and on disk). Shared offsets must be computed at runtime and as such we use the FNodeID to resolve into our final offset on load. We only use the bottom 24 bits. If the LSB is 0, the packed value represents a shared offset (due to alignment) but if the LSB is 1, the packed value represents a node ID shifted left by 1.
Constructors
| Type | Name | Description | |
|---|---|---|---|
| constexpr | FNodeHandle () |
Creates an invalid node handle. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| FNodeHandle | FromNodeID
(
FNodeID NodeID |
Creates a node handle from a node ID. | |
| FNodeHandle | FromSharedOffset
(
uint32 SharedOffset |
Creates a node handle for the specified shared offset. | |
| FNodeID | GetNodeID () |
Returns the node ID encoded by the handle. | |
| uint32 | Returns the offset into the shared data relative to the root of the owning sub-graph. | ||
| bool | IsNodeID () |
Returns whether this node handle encodes a node ID or not. | |
| bool | Returns whether this node handle encodes a shared offset or not. | ||
| bool | IsValid () |
Returns true if this node handle is valid, false otherwise. |
Operators
| Type | Name | Description | |
|---|---|---|---|
| bool | operator!=
(
FNodeHandle RHS |
||
| bool | operator==
(
FNodeHandle RHS |
Equality and inequality tests. |
Constants
| Name | Description |
|---|---|
| INVALID_NODE_HANDLE_RAW_VALUE | We pack the shared offset on 24 bits, the top 8 bits are unused and they can have any value (zero by default) |
| NODE_HANDLE_MASK | |
| NODE_ID_MARKER_BIT_MASK | |
| NODE_ID_SHIFT |