Navigation
API > API/Plugins > API/Plugins/RigVM > API/Plugins/RigVM/RigVMCore
References
| Module | RigVM |
| Header | /Engine/Plugins/Runtime/RigVM/Source/RigVM/Public/RigVMCore/RigVMMemoryDeprecated.h |
| Include | #include "RigVMCore/RigVMMemoryDeprecated.h" |
Syntax
USTRUCT&40;&41;
struct FRigVMRegister
Remarks
The register represents an address with the VM's memory. Within a register we can store arbitrary data, so it provides a series of properties to describe the memory location. Registers also support the notion of slices. A slice is a complete copy of the memory - so for example if your register stores 4 Vectors, then a slice would contain 48 bytes (4 * 3 * 4). The register can however store multiple slices / copies of that if needed. Slices can be used to provide per-invocation memory to functions within the same register. An integrator for example that needs to store a simulated position might want access to a separate memory per loop iteration.
Variables
| Type | Name | Description | |
|---|---|---|---|
| uint8 | AlignmentBytes | The number of leading bytes for alignment. | |
| FName | BaseCPPType | Defines the CPP type used for the register This is only used for debugging purposes in editor. | |
| TObjectPtr< UObject > | BaseCPPTypeObject | The resolved UScriptStruct / UObject (in the future) used for debugging. | |
| bool | bIsArray | If true defines this register as an array. | |
| bool | bIsDynamic | If true defines this register to use dynamic storage. | |
| uint32 | ByteIndex | The index of the first work byte. | |
| uint16 | ElementCount | The number of elements in this register (for example the number of elements in an array) | |
| uint16 | ElementSize | The size of each store element (for example 4 for a float) | |
| FName | Name | The name of the register (can be None) | |
| int32 | ScriptStructIndex | For struct registers this is the index of the struct used - otherwise INDEX_NONE | |
| uint16 | SliceCount | The number of slices (complete copies) (for example the number of iterations on a fixed loop) Potentially redundant state - can be removed. | |
| uint16 | TrailingBytes | The number of trailing bytes. | |
| ERigVMRegisterType | Type | The type of register (plain, name, string, etc.) |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| uint8 | Returns the leading alignment bytes. | ||
| uint16 | Returns the number of allocated bytes (including alignment + trailing bytes) | ||
| uint64 | Returns the first allocated byte in the data byte array | ||
| uint16 | Returns the number of bytes for all slices. | ||
| uint16 | Returns the number of bytes for a complete slice. | ||
| uint32 | Returns the total number of elements (elementcount * slicecount) in the register. | ||
| uint64 | GetWorkByteIndex
(
int32 InSliceIndex |
Returns the current address of the register within the data byte array. | |
| bool | IsArray () |
Returns true if the register stores more than one element. | |
| bool | IsDynamic () |
Returns true if this register is using a dynamic array for storage | |
| bool | Returns true if this register is using a dynamic array for storage | ||
| void | |||
| void | |||
| void |