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 ,
public TSharedFromThis< FRigVMRegistry_NoLock >
Inheritance Hierarchy
- FGCObject → FRigVMRegistry_NoLock
- FSharedFromThisBase → TSharedFromThis → FRigVMRegistry_NoLock
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FRigVMRegistry_NoLock
(
const FRigVMRegistry_NoLock& |
Disable copy constructor | RigVMCore/RigVMRegistry.h | |
FRigVMRegistry_NoLock
(
bool InIsGlobalRegistry |
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 | |
| TRigVMTypeIndexTriple | TTuple< TRigVMTypeIndex, TRigVMTypeIndex, TRigVMTypeIndex > | This type index triple represents the single value, array value, and 2d array value type indices. | 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 | |
| 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 | |
| RigVMCore/RigVMRegistry.h | |||
const FRigVMRegistryHandle & GetHandle_NoLock () |
Returns the handle referring to this hierarchy | 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 a struct. | 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 enum. | 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 | |
virtual TRigVMTypeIndex GetTypeIndex_NoLock
(
const FRigVMTemplateArgumentType& InType |
Returns the type index given a type. | 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 | |
bool IsGlobalRegistry() |
Returns true for the singleton global registry | 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 OnCleanupUnloadingObjects_NoLock
(
const TArrayView< UObject* > InObjects |
Update the registry when old types are being unloaded. | RigVMCore/RigVMRegistry.h | |
virtual bool OnModulesUnloaded_NoLock
(
TConstArrayView< FName > ModuleNames |
Removes all types associated with modules that are being unloaded. | 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 void RegisterCompiledInStruct_NoLock
(
UScriptStruct* InStruct, |
Register many functions, as if calling Register_NoLock in a loop. | 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 RemoveFactory_NoLock
(
UScriptStruct* InFactoryStruct |
Unregisters a factory given its script struct. This keeps the template index stable | RigVMCore/RigVMRegistry.h | |
virtual bool RemoveFunction_NoLock
(
int32 InFunctionIndex |
This keeps the function index stable - but assigns an invalid function. | RigVMCore/RigVMRegistry.h | |
virtual bool RemoveTemplate_NoLock
(
int32 InTemplateIndex |
Unregisters a template given its index. | 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 bool RemoveType_NoLock
(
TRigVMTypeIndex InTypeIndex |
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 | |
void Serialize_NoLock
(
FArchive& Ar |
Serializes the registry to an archive. This throws for the global 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 InitializeBaseTypes_NoLock() |
Initialize the base types. | RigVMCore/RigVMRegistry.h | |
bool IsAllowedType_NoLock
(
const UClass* InClass |
RigVMCore/RigVMRegistry.h | ||
bool IsAllowedType_NoLock
(
const UStruct* InStruct |
RigVMCore/RigVMRegistry.h | ||
bool IsAllowedType_NoLock
(
const UEnum* InEnum |
RigVMCore/RigVMRegistry.h | ||
bool IsAllowedType_NoLock
(
const FProperty* InProperty |
RigVMCore/RigVMRegistry.h | ||
| 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 TSharedRef< FRigVMRegistry_NoLock > CloneLocalizedRegistry
(
FRigVMRegistry_NoLock* InRegistry |
Constructor for a localized, independent registry based on an existing registry. | RigVMCore/RigVMRegistry.h | |
static TSharedRef< FRigVMRegistry_NoLock > CreateLocalizedRegistry() |
Constructor for a localized, independent registry. | RigVMCore/RigVMRegistry.h | |
static EObjectFlags DisallowedFlags() |
RigVMCore/RigVMRegistry.h | ||
static const TArray< UScriptStruct * > & GetMathTypes() |
RigVMCore/RigVMRegistry.h | ||
| Returns the prefixes for all modules within a plugin. | RigVMCore/RigVMRegistry.h | ||
| RigVMCore/RigVMRegistry.h | |||
static bool IsWithinPlugin
(
const TArray< FString >& InModulePrefixes, |
Returns true if a given object is part of a plugin object path. | RigVMCore/RigVMRegistry.h | |
static bool IsWithinPlugin
(
const IPlugin& InPlugin, |
Returns true if a given object is part of a plugin. | 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 |