Navigation
API > API/Plugins > API/Plugins/RigVM
The FRigVMRegistry is used to manage all known function pointers for use in the RigVM. The Register method is called automatically when the static struct is initially constructed for each USTRUCT hosting a RIGVM_METHOD enabled virtual function.
Inheriting from FGCObject to ensure that all type objects cannot be GCed
| Name | FRigVMRegistry_NoLock |
| Type | struct |
| Header File | /Engine/Plugins/Runtime/RigVM/Source/RigVM/Public/RigVMCore/RigVMRegistry.h |
| Include Path | #include "RigVMCore/RigVMRegistry.h" |
Syntax
struct FRigVMRegistry_NoLock : public FGCObject
Inheritance Hierarchy
- FGCObject → FRigVMRegistry_NoLock
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| RigVMCore/RigVMRegistry.h | |||
FRigVMRegistry_NoLock
(
const FRigVMRegistry_NoLock& |
Disable copy constructor | RigVMCore/RigVMRegistry.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FRigVMRegistry_NoLock() |
RigVMCore/RigVMRegistry.h |
Structs
| Name | Remarks |
|---|---|
| FTypeInfo |
Enums
Public
| Name | Remarks |
|---|---|
| ELockType | |
| ERegisterObjectOperation | How to register an object's class when passed to RegisterObjectTypes. |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnRigVMRegistryChanged | TMulticastDelegate_NoParams< void > | RigVMCore/RigVMRegistry.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| TemplateNameMetaName | const FLazyName | RigVMCore/RigVMRegistry.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual const FRigVMTemplate * AddTemplateFromArguments_NoLock
(
const FName& InName, |
Adds a new template given its arguments. | RigVMCore/RigVMRegistry.h | |
virtual bool CanMatchTypes_NoLock
(
TRigVMTypeIndex InTypeIndexA, |
Returns true if the types can be matched. | RigVMCore/RigVMRegistry.h | |
virtual bool ConvertExecuteContextToBaseType_NoLock
(
TRigVMTypeIndex& InOutTypeIndex |
Converts the given execute context type to the base execute context type. | RigVMCore/RigVMRegistry.h | |
virtual FRigVMDispatchFactory * FindDispatchFactory_NoLock
(
const FName& InFactoryName |
Returns a dispatch factory given its name (or nullptr) | RigVMCore/RigVMRegistry.h | |
virtual const FRigVMFunction * FindFunction_NoLock
(
UScriptStruct* InStruct, |
Returns the function given its backing up struct and method name. | RigVMCore/RigVMRegistry.h | |
virtual const FRigVMFunction * FindFunction_NoLock
(
const TCHAR* InName, |
Returns the function given its name (or nullptr) | RigVMCore/RigVMRegistry.h | |
virtual FRigVMDispatchFactory * FindOrAddDispatchFactory_NoLock
(
UScriptStruct* InFactoryStruct |
Returns a dispatch factory given its static struct (or nullptr) | RigVMCore/RigVMRegistry.h | |
| Returns a dispatch factory given its static struct (or nullptr) | RigVMCore/RigVMRegistry.h | ||
virtual FString FindOrAddSingletonDispatchFunction_NoLock
(
UScriptStruct* InFactoryStruct |
Returns a dispatch factory's singleton function name if that exists. | RigVMCore/RigVMRegistry.h | |
FString FindOrAddSingletonDispatchFunction_NoLock () |
Returns a dispatch factory's singleton function name if that exists. | RigVMCore/RigVMRegistry.h | |
virtual TRigVMTypeIndex FindOrAddType_NoLock
(
const FRigVMTemplateArgumentType& InType, |
Adds a type if it doesn't exist yet and returns its index. This function is thread-safe | RigVMCore/RigVMRegistry.h | |
virtual const FRigVMTemplate * FindTemplate_NoLock
(
const FName& InNotation, |
Returns a template pointer given its notation (or nullptr) | RigVMCore/RigVMRegistry.h | |
virtual const FRigVMTemplateArgumentType & FindTypeFromCPPType_NoLock
(
const FString& InCPPType |
Returns the type given only its cpp type. | RigVMCore/RigVMRegistry.h | |
virtual int32 GetArrayDimensionsForType_NoLock
(
TRigVMTypeIndex InTypeIndex |
Returns the dimensions of the array. | RigVMCore/RigVMRegistry.h | |
virtual TRigVMTypeIndex GetArrayTypeFromBaseTypeIndex_NoLock
(
TRigVMTypeIndex InTypeIndex |
Returns the type index of the array matching the given element type index. | RigVMCore/RigVMRegistry.h | |
virtual TRigVMTypeIndex GetBaseTypeFromArrayTypeIndex_NoLock
(
TRigVMTypeIndex InTypeIndex |
Returns the type index of the element matching the given array type index. | RigVMCore/RigVMRegistry.h | |
virtual const TArray< TRigVMTypeIndex > & GetCompatibleTypes_NoLock
(
TRigVMTypeIndex InTypeIndex |
Returns the list of compatible types for a given type. | RigVMCore/RigVMRegistry.h | |
virtual const TArray< FRigVMDispatchFactory * > & GetFactories_NoLock() |
Returns all dispatch factories. | RigVMCore/RigVMRegistry.h | |
virtual const TChunkedArray< FRigVMFunction > & GetFunctions_NoLock() |
Returns all current RigVM functions. | RigVMCore/RigVMRegistry.h | |
virtual uint32 GetHashForEnum_NoLock
(
const UEnum* InEnum, |
RigVMCore/RigVMRegistry.h | ||
virtual uint32 GetHashForProperty_NoLock
(
const FProperty* InProperty |
RigVMCore/RigVMRegistry.h | ||
virtual uint32 GetHashForScriptStruct_NoLock
(
const UScriptStruct* InScriptStruct, |
RigVMCore/RigVMRegistry.h | ||
virtual uint32 GetHashForStruct_NoLock
(
const UStruct* InStruct |
RigVMCore/RigVMRegistry.h | ||
virtual uint32 GetHashForType_NoLock
(
TRigVMTypeIndex InTypeIndex |
Returns a unique hash per type index. | RigVMCore/RigVMRegistry.h | |
virtual const FRigVMTemplate * GetOrAddTemplateFromArguments_NoLock
(
const FName& InName, |
Defines and retrieves a template given its arguments. | RigVMCore/RigVMRegistry.h | |
virtual const TArray< FRigVMFunction > * GetPredicatesForStruct_NoLock
(
const FName& InStructName |
Given a struct name, return the predicates. | RigVMCore/RigVMRegistry.h | |
virtual const TChunkedArray< FRigVMTemplate > & GetTemplates_NoLock() |
Returns all current RigVM functions. | RigVMCore/RigVMRegistry.h | |
virtual const FRigVMTemplateArgumentType & GetType_NoLock
(
TRigVMTypeIndex InTypeIndex |
Returns the type given its index. | RigVMCore/RigVMRegistry.h | |
TRigVMTypeIndex GetTypeIndex_NoLock
(
bool bAsArray |
Returns the type index given an enum. | RigVMCore/RigVMRegistry.h | |
virtual TRigVMTypeIndex GetTypeIndex_NoLock
(
const FRigVMTemplateArgumentType& InType |
Returns the type index given a type. | RigVMCore/RigVMRegistry.h | |
TRigVMTypeIndex GetTypeIndex_NoLock
(
bool bAsArray |
Returns the type index given a struct. | RigVMCore/RigVMRegistry.h | |
TRigVMTypeIndex GetTypeIndex_NoLock
(
bool bAsArray |
Returns the type index given an object. | RigVMCore/RigVMRegistry.h | |
virtual TRigVMTypeIndex GetTypeIndex_NoLock
(
const FName& InCPPType, |
Returns the type index given a cpp type and a type object. | RigVMCore/RigVMRegistry.h | |
TRigVMTypeIndex GetTypeIndex_NoLock
(
bool bAsArray |
Returns the type index given a struct. | RigVMCore/RigVMRegistry.h | |
virtual TRigVMTypeIndex GetTypeIndexFromCPPType_NoLock
(
const FString& InCPPType |
Returns the type index given only its cpp type. | RigVMCore/RigVMRegistry.h | |
virtual const TArray< TRigVMTypeIndex > & GetTypesForCategory_NoLock
(
FRigVMTemplateArgument::ETypeCategory InCategory |
Returns all compatible types given a category. | RigVMCore/RigVMRegistry.h | |
virtual bool IsArrayType_NoLock
(
TRigVMTypeIndex InTypeIndex |
Returns true if the type is an array. | RigVMCore/RigVMRegistry.h | |
virtual bool IsExecuteType_NoLock
(
TRigVMTypeIndex InTypeIndex |
Returns true if the type is an execute type. | RigVMCore/RigVMRegistry.h | |
virtual bool IsWildCardType_NoLock
(
TRigVMTypeIndex InTypeIndex |
Returns true if the type is a wildcard type. | RigVMCore/RigVMRegistry.h | |
virtual int32 NumTypes_NoLock() |
Returns the number of types. | RigVMCore/RigVMRegistry.h | |
virtual void OnAnimationAttributeTypesChanged_NoLock
(
const UScriptStruct* InStruct, |
Update the registry when new types are added to the attribute system so that they can be selected on Attribute Nodes | RigVMCore/RigVMRegistry.h | |
virtual bool OnAssetRemoved_NoLock
(
const FAssetData& InAssetData |
Update the registry when old types are removed. | RigVMCore/RigVMRegistry.h | |
virtual void OnAssetRenamed_NoLock
(
const FAssetData& InAssetData, |
Update the registry when types are renamed. | RigVMCore/RigVMRegistry.h | |
virtual bool OnPluginLoaded_NoLock
(
IPlugin& InPlugin |
May add factories and unit functions declared in the plugin. | RigVMCore/RigVMRegistry.h | |
virtual bool OnPluginUnloaded_NoLock
(
IPlugin& InPlugin |
Removes all types associated with a plugin that's being unloaded. | RigVMCore/RigVMRegistry.h | |
virtual void RebuildRegistry_NoLock() |
RigVMCore/RigVMRegistry.h | ||
virtual void RefreshEngineTypes_NoLock() |
Refreshes the list and finds the function pointers based on the names. | RigVMCore/RigVMRegistry.h | |
virtual void RefreshEngineTypesIfRequired_NoLock() |
Refreshes the list and finds the function pointers based on the names. | RigVMCore/RigVMRegistry.h | |
virtual bool RefreshFunctionsAndDispatches_NoLock() |
Refreshes the registered functions and dispatches. | RigVMCore/RigVMRegistry.h | |
virtual void Register_NoLock
(
const TCHAR* InName, |
Registers a function given its name. | RigVMCore/RigVMRegistry.h | |
virtual const FRigVMDispatchFactory * RegisterFactory_NoLock
(
UScriptStruct* InFactoryStruct |
Registers a dispatch factory given its struct. | RigVMCore/RigVMRegistry.h | |
virtual void RegisterObjectTypes_NoLock
(
TConstArrayView< TPair< UClass*, ERegisterObjectOperation > > InClasses |
Register a set of allowed object types. | RigVMCore/RigVMRegistry.h | |
virtual void RegisterPredicate_NoLock
(
UScriptStruct* InStruct, |
Register a predicate contained in the input struct. | RigVMCore/RigVMRegistry.h | |
virtual void RegisterStructTypes_NoLock
(
TConstArrayView< UScriptStruct* > InStructs |
Register a set of allowed struct types. | RigVMCore/RigVMRegistry.h | |
virtual bool RemoveType_NoLock
(
const FSoftObjectPath& InObjectPath, |
Removes a type from the registry, and updates all dependent templates which also creates invalid permutations in templates that we should ignore | RigVMCore/RigVMRegistry.h | |
virtual void Reset_NoLock() |
Clear the registry. | RigVMCore/RigVMRegistry.h |
Overridden from FGCObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddReferencedObjects
(
FReferenceCollector& Collector |
RigVMCore/RigVMRegistry.h | ||
virtual FString GetReferencerName() |
RigVMCore/RigVMRegistry.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void Initialize
(
bool bLockRegistry |
RigVMCore/RigVMRegistry.h | ||
void Initialize_NoLock() |
Initialize the base types. | RigVMCore/RigVMRegistry.h | |
bool IsAllowedType_NoLock
(
const FProperty* InProperty |
RigVMCore/RigVMRegistry.h | ||
bool IsAllowedType_NoLock
(
const UEnum* InEnum |
RigVMCore/RigVMRegistry.h | ||
bool IsAllowedType_NoLock
(
const UClass* InClass |
RigVMCore/RigVMRegistry.h | ||
bool IsAllowedType_NoLock
(
const UStruct* InStruct |
RigVMCore/RigVMRegistry.h | ||
void PropagateTypeAddedToCategory_NoLock
(
const FRigVMTemplateArgument::ETypeCategory InCategory, |
RigVMCore/RigVMRegistry.h | ||
void RegisterTypeInCategory_NoLock
(
const FRigVMTemplateArgument::ETypeCategory InCategory, |
RigVMCore/RigVMRegistry.h | ||
void RemoveTypeInCategory_NoLock
(
FRigVMTemplateArgument::ETypeCategory InCategory, |
RigVMCore/RigVMRegistry.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static EObjectFlags DisallowedFlags() |
RigVMCore/RigVMRegistry.h | ||
static FRigVMRegistry_NoLock & Get
(
ELockType InLockType |
Returns the singleton registry. | RigVMCore/RigVMRegistry.h | |
static const FRigVMRegistry_NoLock & GetForRead() |
RigVMCore/RigVMRegistry.h | ||
static FRigVMRegistry_NoLock & GetForWrite() |
RigVMCore/RigVMRegistry.h | ||
static const TArray< UScriptStruct * > & GetMathTypes() |
RigVMCore/RigVMRegistry.h | ||
| RigVMCore/RigVMRegistry.h | |||
static EObjectFlags NeededFlags() |
RigVMCore/RigVMRegistry.h | ||
static void OnEngineInit() |
RigVMCore/RigVMRegistry.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FRigVMRegistry_NoLock & operator=
(
const FRigVMRegistry_NoLock& InOther |
Disable assignment operator | RigVMCore/RigVMRegistry.h |