UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UMeshDescriptionBase Class Reference

#include <MeshDescriptionBase.h>

+ Inheritance diagram for UMeshDescriptionBase:

Public Member Functions

virtual MESHDESCRIPTION_API void Serialize (FArchive &Ar) override
 
FMeshDescriptionGetMeshDescription ()
 
const FMeshDescriptionGetMeshDescription () const
 
void SetMeshDescription (FMeshDescription InMeshDescription)
 
virtual MESHDESCRIPTION_API void RegisterAttributes ()
 
virtual FMeshAttributesGetRequiredAttributes ()
 
virtual const FMeshAttributesGetRequiredAttributes () const
 
MESHDESCRIPTION_API void Reset ()
 
FVertexArrayVertices ()
 
const FVertexArrayVertices () const
 
FVertexInstanceArrayVertexInstances ()
 
const FVertexInstanceArrayVertexInstances () const
 
FEdgeArrayEdges ()
 
const FEdgeArrayEdges () const
 
FTriangleArrayTriangles ()
 
const FTriangleArrayTriangles () const
 
FPolygonArrayPolygons ()
 
const FPolygonArrayPolygons () const
 
FPolygonGroupArrayPolygonGroups ()
 
const FPolygonGroupArrayPolygonGroups () const
 
TAttributesSet< FVertexID > & VertexAttributes ()
 
const TAttributesSet< FVertexID > & VertexAttributes () const
 
TAttributesSet< FVertexInstanceID > & VertexInstanceAttributes ()
 
const TAttributesSet< FVertexInstanceID > & VertexInstanceAttributes () const
 
TAttributesSet< FEdgeID > & EdgeAttributes ()
 
const TAttributesSet< FEdgeID > & EdgeAttributes () const
 
TAttributesSet< FTriangleID > & TriangleAttributes ()
 
const TAttributesSet< FTriangleID > & TriangleAttributes () const
 
TAttributesSet< FPolygonID > & PolygonAttributes ()
 
const TAttributesSet< FPolygonID > & PolygonAttributes () const
 
TAttributesSet< FPolygonGroupID > & PolygonGroupAttributes ()
 
const TAttributesSet< FPolygonGroupID > & PolygonGroupAttributes () const
 
TVertexAttributesRef< FVector3fGetVertexPositions ()
 
TVertexAttributesConstRef< FVector3fGetVertexPositions () const
 
MESHDESCRIPTION_API void Empty ()
 
MESHDESCRIPTION_API bool IsEmpty () const
 
MESHDESCRIPTION_API void ReserveNewVertices (int32 NumberOfNewVertices)
 
MESHDESCRIPTION_API FVertexID CreateVertex ()
 
MESHDESCRIPTION_API void CreateVertexWithID (FVertexID VertexID)
 
MESHDESCRIPTION_API void DeleteVertex (FVertexID VertexID)
 
MESHDESCRIPTION_API bool IsVertexValid (FVertexID VertexID) const
 
int32 GetVertexCount () const
 
MESHDESCRIPTION_API void ReserveNewVertexInstances (int32 NumberOfNewVertexInstances)
 
MESHDESCRIPTION_API FVertexInstanceID CreateVertexInstance (FVertexID VertexID)
 
MESHDESCRIPTION_API void CreateVertexInstanceWithID (FVertexInstanceID VertexInstanceID, FVertexID VertexID)
 
MESHDESCRIPTION_API void DeleteVertexInstance (FVertexInstanceID VertexInstanceID, TArray< FVertexID > &OrphanedVertices)
 
MESHDESCRIPTION_API bool IsVertexInstanceValid (FVertexInstanceID VertexInstanceID) const
 
int32 GetVertexInstanceCount () const
 
MESHDESCRIPTION_API void ReserveNewEdges (int32 NumberOfNewEdges)
 
MESHDESCRIPTION_API FEdgeID CreateEdge (FVertexID VertexID0, FVertexID VertexID1)
 
MESHDESCRIPTION_API void CreateEdgeWithID (FEdgeID EdgeID, FVertexID VertexID0, FVertexID VertexID1)
 
MESHDESCRIPTION_API void DeleteEdge (FEdgeID EdgeID, TArray< FVertexID > &OrphanedVertices)
 
MESHDESCRIPTION_API bool IsEdgeValid (FEdgeID EdgeID) const
 
int32 GetEdgeCount () const
 
MESHDESCRIPTION_API void ReserveNewTriangles (int32 NumberOfNewTriangles)
 
MESHDESCRIPTION_API FTriangleID CreateTriangle (FPolygonGroupID PolygonGroupID, const TArray< FVertexInstanceID > &VertexInstanceIDs, TArray< FEdgeID > &NewEdgeIDs)
 
MESHDESCRIPTION_API void CreateTriangleWithID (FTriangleID TriangleID, FPolygonGroupID PolygonGroupID, const TArray< FVertexInstanceID > &VertexInstanceIDs, TArray< FEdgeID > &NewEdgeIDs)
 
MESHDESCRIPTION_API void DeleteTriangle (FTriangleID TriangleID, TArray< FEdgeID > &OrphanedEdges, TArray< FVertexInstanceID > &OrphanedVertexInstances, TArray< FPolygonGroupID > &OrphanedPolygonGroupsPtr)
 
MESHDESCRIPTION_API bool IsTriangleValid (const FTriangleID TriangleID) const
 
int32 GetTriangleCount () const
 
MESHDESCRIPTION_API void ReserveNewPolygons (const int32 NumberOfNewPolygons)
 
MESHDESCRIPTION_API FPolygonID CreatePolygon (FPolygonGroupID PolygonGroupID, TArray< FVertexInstanceID > &VertexInstanceIDs, TArray< FEdgeID > &NewEdgeIDs)
 
MESHDESCRIPTION_API void CreatePolygonWithID (FPolygonID PolygonID, FPolygonGroupID PolygonGroupID, TArray< FVertexInstanceID > &VertexInstanceIDs, TArray< FEdgeID > &NewEdgeIDs)
 
MESHDESCRIPTION_API void DeletePolygon (FPolygonID PolygonID, TArray< FEdgeID > &OrphanedEdges, TArray< FVertexInstanceID > &OrphanedVertexInstances, TArray< FPolygonGroupID > &OrphanedPolygonGroups)
 
MESHDESCRIPTION_API bool IsPolygonValid (FPolygonID PolygonID) const
 
int32 GetPolygonCount () const
 
MESHDESCRIPTION_API void ReserveNewPolygonGroups (int32 NumberOfNewPolygonGroups)
 
MESHDESCRIPTION_API FPolygonGroupID CreatePolygonGroup ()
 
MESHDESCRIPTION_API void CreatePolygonGroupWithID (FPolygonGroupID PolygonGroupID)
 
MESHDESCRIPTION_API void DeletePolygonGroup (FPolygonGroupID PolygonGroupID)
 
MESHDESCRIPTION_API bool IsPolygonGroupValid (FPolygonGroupID PolygonGroupID) const
 
int32 GetPolygonGroupCount () const
 
MESHDESCRIPTION_API bool IsVertexOrphaned (FVertexID VertexID) const
 
MESHDESCRIPTION_API FEdgeID GetVertexPairEdge (FVertexID VertexID0, FVertexID VertexID1) const
 
MESHDESCRIPTION_API void GetVertexConnectedEdges (FVertexID VertexID, TArray< FEdgeID > &OutEdgeIDs) const
 
MESHDESCRIPTION_API int32 GetNumVertexConnectedEdges (FVertexID VertexID) const
 
MESHDESCRIPTION_API void GetVertexVertexInstances (FVertexID VertexID, TArray< FVertexInstanceID > &OutVertexInstanceIDs) const
 
MESHDESCRIPTION_API int32 GetNumVertexVertexInstances (FVertexID VertexID) const
 
MESHDESCRIPTION_API void GetVertexConnectedTriangles (FVertexID VertexID, TArray< FTriangleID > &OutConnectedTriangleIDs) const
 
MESHDESCRIPTION_API int32 GetNumVertexConnectedTriangles (FVertexID VertexID) const
 
MESHDESCRIPTION_API void GetVertexConnectedPolygons (FVertexID VertexID, TArray< FPolygonID > &OutConnectedPolygonIDs) const
 
MESHDESCRIPTION_API int32 GetNumVertexConnectedPolygons (FVertexID VertexID) const
 
MESHDESCRIPTION_API void GetVertexAdjacentVertices (FVertexID VertexID, TArray< FVertexID > &OutAdjacentVertexIDs) const
 
MESHDESCRIPTION_API FVector GetVertexPosition (FVertexID VertexID) const
 
MESHDESCRIPTION_API void SetVertexPosition (FVertexID VertexID, const FVector &Position)
 
MESHDESCRIPTION_API FVertexID GetVertexInstanceVertex (FVertexInstanceID VertexInstanceID) const
 
MESHDESCRIPTION_API FEdgeID GetVertexInstancePairEdge (FVertexInstanceID VertexInstanceID0, FVertexInstanceID VertexInstanceID1) const
 
MESHDESCRIPTION_API void GetVertexInstanceConnectedTriangles (FVertexInstanceID VertexInstanceID, TArray< FTriangleID > &OutConnectedTriangleIDs) const
 
MESHDESCRIPTION_API int32 GetNumVertexInstanceConnectedTriangles (FVertexInstanceID VertexInstanceID) const
 
MESHDESCRIPTION_API void GetVertexInstanceConnectedPolygons (FVertexInstanceID VertexInstanceID, TArray< FPolygonID > &OutConnectedPolygonIDs) const
 
MESHDESCRIPTION_API int32 GetNumVertexInstanceConnectedPolygons (FVertexInstanceID VertexInstanceID) const
 
MESHDESCRIPTION_API bool IsEdgeInternal (FEdgeID EdgeID) const
 
MESHDESCRIPTION_API bool IsEdgeInternalToPolygon (FEdgeID EdgeID, FPolygonID PolygonID) const
 
MESHDESCRIPTION_API void GetEdgeConnectedTriangles (FEdgeID EdgeID, TArray< FTriangleID > &OutConnectedTriangleIDs) const
 
MESHDESCRIPTION_API int32 GetNumEdgeConnectedTriangles (FEdgeID EdgeID) const
 
MESHDESCRIPTION_API void GetEdgeConnectedPolygons (FEdgeID EdgeID, TArray< FPolygonID > &OutConnectedPolygonIDs) const
 
MESHDESCRIPTION_API int32 GetNumEdgeConnectedPolygons (FEdgeID EdgeID) const
 
MESHDESCRIPTION_API FVertexID GetEdgeVertex (FEdgeID EdgeID, int32 VertexNumber) const
 
MESHDESCRIPTION_API void GetEdgeVertices (const FEdgeID EdgeID, TArray< FVertexID > &OutVertexIDs) const
 
MESHDESCRIPTION_API FPolygonID GetTrianglePolygon (FTriangleID TriangleID) const
 
MESHDESCRIPTION_API FPolygonGroupID GetTrianglePolygonGroup (FTriangleID TriangleID) const
 
MESHDESCRIPTION_API bool IsTrianglePartOfNgon (FTriangleID TriangleID) const
 
MESHDESCRIPTION_API void GetTriangleVertexInstances (FTriangleID TriangleID, TArray< FVertexInstanceID > &OutVertexInstanceIDs) const
 
MESHDESCRIPTION_API FVertexInstanceID GetTriangleVertexInstance (FTriangleID TriangleID, int32 Index) const
 
MESHDESCRIPTION_API void GetTriangleVertices (FTriangleID TriangleID, TArray< FVertexID > &OutVertexIDs) const
 
MESHDESCRIPTION_API void GetTriangleEdges (FTriangleID TriangleID, TArray< FEdgeID > &OutEdgeIDs) const
 
MESHDESCRIPTION_API void GetTriangleAdjacentTriangles (FTriangleID TriangleID, TArray< FTriangleID > &OutTriangleIDs) const
 
MESHDESCRIPTION_API FVertexInstanceID GetVertexInstanceForTriangleVertex (FTriangleID TriangleID, FVertexID VertexID) const
 
MESHDESCRIPTION_API void GetPolygonTriangles (FPolygonID PolygonID, TArray< FTriangleID > &OutTriangleIDs) const
 
MESHDESCRIPTION_API int32 GetNumPolygonTriangles (FPolygonID PolygonID) const
 
MESHDESCRIPTION_API void GetPolygonVertexInstances (FPolygonID PolygonID, TArray< FVertexInstanceID > &OutVertexInstanceIDs) const
 
MESHDESCRIPTION_API int32 GetNumPolygonVertices (FPolygonID PolygonID) const
 
MESHDESCRIPTION_API void GetPolygonVertices (FPolygonID PolygonID, TArray< FVertexID > &OutVertexIDs) const
 
MESHDESCRIPTION_API void GetPolygonPerimeterEdges (FPolygonID PolygonID, TArray< FEdgeID > &OutEdgeIDs) const
 
MESHDESCRIPTION_API void GetPolygonInternalEdges (FPolygonID PolygonID, TArray< FEdgeID > &OutEdgeIDs) const
 
MESHDESCRIPTION_API int32 GetNumPolygonInternalEdges (FPolygonID PolygonID) const
 
MESHDESCRIPTION_API void GetPolygonAdjacentPolygons (FPolygonID PolygonID, TArray< FPolygonID > &OutPolygonIDs) const
 
MESHDESCRIPTION_API FPolygonGroupID GetPolygonPolygonGroup (FPolygonID PolygonID) const
 
MESHDESCRIPTION_API FVertexInstanceID GetVertexInstanceForPolygonVertex (FPolygonID PolygonID, FVertexID VertexID) const
 
MESHDESCRIPTION_API void SetPolygonVertexInstances (FPolygonID PolygonID, const TArray< FVertexInstanceID > &VertexInstanceIDs)
 
MESHDESCRIPTION_API void SetPolygonPolygonGroup (FPolygonID PolygonID, FPolygonGroupID PolygonGroupID)
 
MESHDESCRIPTION_API void ReversePolygonFacing (FPolygonID PolygonID)
 
MESHDESCRIPTION_API void ComputePolygonTriangulation (FPolygonID PolygonID)
 
MESHDESCRIPTION_API void GetPolygonGroupPolygons (FPolygonGroupID PolygonGroupID, TArray< FPolygonID > &OutPolygonIDs) const
 
MESHDESCRIPTION_API int32 GetNumPolygonGroupPolygons (FPolygonGroupID PolygonGroupID) const
 
- Public Member Functions inherited from UObject
COREUOBJECT_API UObject ()
 
COREUOBJECT_API UObject (const FObjectInitializer &ObjectInitializer)
 
COREUOBJECT_API UObject (EStaticConstructor, EObjectFlags InFlags)
 
COREUOBJECT_API UObject (FVTableHelper &Helper)
 
COREUOBJECT_API UObjectCreateDefaultSubobject (FName SubobjectFName, UClass *ReturnType, UClass *ClassToCreateByDefault, bool bIsRequired, bool bIsTransient)
 
template<class TReturnType >
TReturnTypeCreateEditorOnlyDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
COREUOBJECT_API void GetDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects)
 
COREUOBJECT_API UObjectGetDefaultSubobjectByName (FName ToFind)
 
virtual COREUOBJECT_API void PostInitProperties ()
 
virtual COREUOBJECT_API void PostReinitProperties ()
 
virtual void PostCDOContruct ()
 
virtual COREUOBJECT_API void PreSaveRoot (FObjectPreSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PostSaveRoot (FObjectPostSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PreSave (FObjectPreSaveContext SaveContext)
 
virtual COREUOBJECT_API void CollectSaveOverrides (FObjectCollectSaveOverridesContext SaveContext)
 
UE_FORCEINLINE_HINT bool Modify (bool bAlwaysMarkDirty=true)
 
UE_FORCEINLINE_HINT bool IsCapturingAsRootObjectForTransaction () const
 
virtual bool ResolveSubobject (const TCHAR *SubObjectPath, UObject *&OutObject, bool bLoadIfExists)
 
virtual bool IsReadyForAsyncPostLoad () const
 
virtual COREUOBJECT_API void PostLoad ()
 
virtual COREUOBJECT_API void PostLoadSubobjects (FObjectInstancingGraph *OuterInstanceGraph)
 
virtual COREUOBJECT_API void BeginDestroy ()
 
virtual bool IsReadyForFinishDestroy ()
 
virtual COREUOBJECT_API void FinishDestroy ()
 
virtual COREUOBJECT_API void Serialize (FStructuredArchive::FRecord Record)
 
virtual void ShutdownAfterError ()
 
virtual void PostInterpChange (FProperty *PropertyThatChanged)
 
virtual COREUOBJECT_API void PostRename (UObject *OldOuter, const FName OldName)
 
virtual void PreDuplicate (FObjectDuplicationParameters &DupParams)
 
virtual void PostDuplicate (bool bDuplicateForPIE)
 
virtual void PostDuplicate (EDuplicateMode::Type DuplicateMode)
 
virtual COREUOBJECT_API bool NeedsLoadForClient () const
 
virtual COREUOBJECT_API bool NeedsLoadForServer () const
 
virtual COREUOBJECT_API bool NeedsLoadForTargetPlatform (const class ITargetPlatform *TargetPlatform) const
 
virtual bool NeedsLoadForEditorGame () const
 
virtual bool IsEditorOnly () const
 
virtual bool HasNonEditorOnlyReferences () const
 
virtual bool IsPostLoadThreadSafe () const
 
virtual COREUOBJECT_API bool IsDestructionThreadSafe () const
 
virtual COREUOBJECT_API void GetPreloadDependencies (TArray< UObject * > &OutDeps)
 
virtual void GetPrestreamPackages (TArray< UObject * > &OutPrestream)
 
virtual void ExportCustomProperties (FOutputDevice &Out, uint32 Indent)
 
virtual void ImportCustomProperties (const TCHAR *SourceText, FFeedbackContext *Warn)
 
virtual void PostEditImport ()
 
virtual void PostReloadConfig (class FProperty *PropertyThatWasLoaded)
 
virtual COREUOBJECT_API bool Rename (const TCHAR *NewName=nullptr, UObject *NewOuter=nullptr, ERenameFlags Flags=REN_None)
 
virtual FString GetDesc ()
 
COREUOBJECT_API UScriptStructGetSparseClassDataStruct () const
 
virtual bool GetNativePropertyValues (TMap< FString, FString > &out_PropertyValues, uint32 ExportFlags=0) const
 
virtual COREUOBJECT_API void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize)
 
SIZE_T GetResourceSizeBytes (EResourceSizeMode::Type Mode)
 
virtual FName GetExporterName (void)
 
COREUOBJECT_API void CallAddReferencedObjects (FReferenceCollector &Collector)
 
virtual FRestoreForUObjectOverwriteGetRestoreForUObjectOverwrite ()
 
virtual bool AreNativePropertiesIdenticalTo (UObject *Other) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (TArray< FAssetRegistryTag > &OutTags) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetData &Out) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context, FAssetData &Out) const
 
virtual COREUOBJECT_API bool IsAsset () const
 
virtual COREUOBJECT_API FPrimaryAssetId GetPrimaryAssetId () const
 
virtual COREUOBJECT_API bool IsLocalizedResource () const
 
virtual COREUOBJECT_API bool IsSafeForRootSet () const
 
virtual COREUOBJECT_API void TagSubobjects (EObjectFlags NewFlags)
 
virtual COREUOBJECT_API void GetLifetimeReplicatedProps (TArray< class FLifetimeProperty > &OutLifetimeProps) const
 
virtual COREUOBJECT_API void GetReplicatedCustomConditionState (FCustomPropertyConditionState &OutActiveState) const
 
virtual COREUOBJECT_API void RegisterReplicationFragments (UE::Net::FFragmentRegistrationContext &Context, UE::Net::EFragmentRegistrationFlags RegistrationFlags)
 
virtual COREUOBJECT_API bool IsNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsFullNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsSupportedForNetworking () const
 
virtual void GetSubobjectsWithStableNamesForNetworking (TArray< UObject * > &ObjList)
 
virtual COREUOBJECT_API void PreNetReceive ()
 
virtual COREUOBJECT_API void PostNetReceive ()
 
virtual void PostRepNotifies ()
 
virtual COREUOBJECT_API void PreDestroyFromReplication ()
 
COREUOBJECT_API bool IsSelected () const
 
COREUOBJECT_API void SerializeScriptProperties (FArchive &Ar) const
 
COREUOBJECT_API void SerializeScriptProperties (FStructuredArchive::FSlot Slot) const
 
COREUOBJECT_API void ReinitializeProperties (UObject *SourceObject=NULL, struct FObjectInstancingGraph *InstanceGraph=NULL)
 
COREUOBJECT_API FString GetDetailedInfo () const
 
COREUOBJECT_API bool ConditionalBeginDestroy ()
 
COREUOBJECT_API bool ConditionalFinishDestroy ()
 
COREUOBJECT_API void ConditionalPostLoad ()
 
COREUOBJECT_API void ConditionalPreload ()
 
COREUOBJECT_API void ConditionalPostLoadSubobjects (struct FObjectInstancingGraph *OuterInstanceGraph=NULL)
 
bool IsBasedOnArchetype (const UObject *const SomeObject) const
 
COREUOBJECT_API UFunctionFindFunction (FName InName) const
 
COREUOBJECT_API UFunctionFindFunctionChecked (FName InName) const
 
virtual COREUOBJECT_API void BuildSubobjectMapping (UObject *OtherObject, TMap< UObject *, UObject * > &ObjectMapping) const
 
COREUOBJECT_API void CollectDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects, bool bIncludeNestedSubobjects=false) const
 
COREUOBJECT_API bool CheckDefaultSubobjects (bool bForceCheck=false) const
 
COREUOBJECT_API void SaveConfig (uint64 RequiredPropertyFlags=CPF_Config, const TCHAR *Filename=nullptr, FConfigCacheIni *Config=GConfig, bool bAllowCopyToDefaultObject=true)
 
COREUOBJECT_API void SaveConfig (const FSaveConfigContext &Context)
 
COREUOBJECT_API void UpdateDefaultConfigFile (const FString &SpecificFileLocation="")
 
COREUOBJECT_API bool TryUpdateDefaultConfigFile (const FString &SpecificFileLocation="", bool bWarnIfFail=true)
 
COREUOBJECT_API void UpdateGlobalUserConfigFile ()
 
COREUOBJECT_API void UpdateProjectUserConfigFile ()
 
COREUOBJECT_API void UpdateSinglePropertyInConfigFile (const FProperty *InProperty, const FString &InConfigIniName)
 
COREUOBJECT_API FString GetDefaultConfigFilename () const
 
COREUOBJECT_API FString GetGlobalUserConfigFilename () const
 
COREUOBJECT_API FString GetProjectUserConfigFilename () const
 
virtual const TCHARGetConfigOverridePlatform () const
 
virtual void OverrideConfigSection (FString &SectionName)
 
virtual void OverridePerObjectConfigSection (FString &SectionName)
 
COREUOBJECT_API void LoadConfig (UClass *ConfigClass=nullptr, const TCHAR *Filename=nullptr, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=nullptr, TArray< UE::ConfigAccessTracking::FConfigAccessData > *OutAccessedKeys=nullptr)
 
COREUOBJECT_API void ReloadConfig (UClass *ConfigClass=NULL, const TCHAR *Filename=NULL, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=NULL)
 
COREUOBJECT_API void ParseParms (const TCHAR *Parms)
 
COREUOBJECT_API void OutputReferencers (FOutputDevice &Ar, FReferencerInformationList *Referencers=NULL)
 
COREUOBJECT_API void RetrieveReferencers (TArray< FReferencerInformation > *OutInternalReferencers, TArray< FReferencerInformation > *OutExternalReferencers)
 
COREUOBJECT_API void SetLinker (FLinkerLoad *LinkerLoad, int32 LinkerIndex, bool bShouldDetachExisting=true, bool bSilenceLogs=false)
 
COREUOBJECT_API UObjectGetArchetype () const
 
COREUOBJECT_API void GetArchetypeInstances (TArray< UObject * > &Instances)
 
COREUOBJECT_API void InstanceSubobjectTemplates (struct FObjectInstancingGraph *InstanceGraph=NULL)
 
template<class T >
bool Implements () const
 
virtual COREUOBJECT_API void ProcessEvent (UFunction *Function, void *Parms)
 
virtual int32 GetFunctionCallspace (UFunction *Function, FFrame *Stack)
 
virtual bool CallRemoteFunction (UFunction *Function, void *Parms, struct FOutParmRec *OutParms, FFrame *Stack)
 
COREUOBJECT_API bool CallFunctionByNameWithArguments (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor, bool bForceCallWithNonExec=false)
 
COREUOBJECT_API void CallFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
 DECLARE_FUNCTION (ProcessInternal)
 
virtual bool ProcessConsoleExec (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor)
 
COREUOBJECT_API void SkipFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
virtual UClassRegenerateClass (UClass *ClassToRegenerate, UObject *PreviousCDO)
 
COREUOBJECT_API bool IsInBlueprint () const
 
COREUOBJECT_API void DestroyNonNativeProperties ()
 
virtual void MarkAsEditorOnlySubobject ()
 
COREUOBJECT_API void AbortInsideMemberFunction () const
 
 DECLARE_FUNCTION (execUndefined)
 
 DECLARE_FUNCTION (execLocalVariable)
 
 DECLARE_FUNCTION (execInstanceVariable)
 
 DECLARE_FUNCTION (execDefaultVariable)
 
 DECLARE_FUNCTION (execLocalOutVariable)
 
 DECLARE_FUNCTION (execInterfaceVariable)
 
 DECLARE_FUNCTION (execClassSparseDataVariable)
 
 DECLARE_FUNCTION (execInterfaceContext)
 
 DECLARE_FUNCTION (execArrayElement)
 
 DECLARE_FUNCTION (execBoolVariable)
 
 DECLARE_FUNCTION (execClassDefaultVariable)
 
 DECLARE_FUNCTION (execEndFunctionParms)
 
 DECLARE_FUNCTION (execNothing)
 
 DECLARE_FUNCTION (execNothingInt32)
 
 DECLARE_FUNCTION (execNothingOp4a)
 
 DECLARE_FUNCTION (execBreakpoint)
 
 DECLARE_FUNCTION (execTracepoint)
 
 DECLARE_FUNCTION (execWireTracepoint)
 
 DECLARE_FUNCTION (execInstrumentation)
 
 DECLARE_FUNCTION (execEndOfScript)
 
 DECLARE_FUNCTION (execReturnNothing)
 
 DECLARE_FUNCTION (execEmptyParmValue)
 
 DECLARE_FUNCTION (execJump)
 
 DECLARE_FUNCTION (execJumpIfNot)
 
 DECLARE_FUNCTION (execAssert)
 
 DECLARE_FUNCTION (execPushExecutionFlow)
 
 DECLARE_FUNCTION (execPopExecutionFlow)
 
 DECLARE_FUNCTION (execComputedJump)
 
 DECLARE_FUNCTION (execPopExecutionFlowIfNot)
 
 DECLARE_FUNCTION (execLet)
 
 DECLARE_FUNCTION (execLetObj)
 
 DECLARE_FUNCTION (execLetWeakObjPtr)
 
 DECLARE_FUNCTION (execLetBool)
 
 DECLARE_FUNCTION (execLetDelegate)
 
 DECLARE_FUNCTION (execLetMulticastDelegate)
 
 DECLARE_FUNCTION (execAddMulticastDelegate)
 
 DECLARE_FUNCTION (execClearMulticastDelegate)
 
 DECLARE_FUNCTION (execEatReturnValue)
 
 DECLARE_FUNCTION (execRemoveMulticastDelegate)
 
 DECLARE_FUNCTION (execSelf)
 
 DECLARE_FUNCTION (execContext)
 
 DECLARE_FUNCTION (execContext_FailSilent)
 
 DECLARE_FUNCTION (execStructMemberContext)
 
 DECLARE_FUNCTION (execVirtualFunction)
 
 DECLARE_FUNCTION (execFinalFunction)
 
 DECLARE_FUNCTION (execLocalVirtualFunction)
 
 DECLARE_FUNCTION (execLocalFinalFunction)
 
 DECLARE_FUNCTION (execStructCmpEq)
 
 DECLARE_FUNCTION (execStructCmpNe)
 
 DECLARE_FUNCTION (execStructMember)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execNotEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execNotEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execIntConst)
 
 DECLARE_FUNCTION (execInt64Const)
 
 DECLARE_FUNCTION (execUInt64Const)
 
 DECLARE_FUNCTION (execSkipOffsetConst)
 
 DECLARE_FUNCTION (execFloatConst)
 
 DECLARE_FUNCTION (execDoubleConst)
 
 DECLARE_FUNCTION (execStringConst)
 
 DECLARE_FUNCTION (execUnicodeStringConst)
 
 DECLARE_FUNCTION (execTextConst)
 
 DECLARE_FUNCTION (execPropertyConst)
 
 DECLARE_FUNCTION (execObjectConst)
 
 DECLARE_FUNCTION (execSoftObjectConst)
 
 DECLARE_FUNCTION (execFieldPathConst)
 
 DECLARE_FUNCTION (execInstanceDelegate)
 
 DECLARE_FUNCTION (execNameConst)
 
 DECLARE_FUNCTION (execByteConst)
 
 DECLARE_FUNCTION (execIntZero)
 
 DECLARE_FUNCTION (execIntOne)
 
 DECLARE_FUNCTION (execTrue)
 
 DECLARE_FUNCTION (execFalse)
 
 DECLARE_FUNCTION (execNoObject)
 
 DECLARE_FUNCTION (execNullInterface)
 
 DECLARE_FUNCTION (execIntConstByte)
 
 DECLARE_FUNCTION (execRotationConst)
 
 DECLARE_FUNCTION (execVectorConst)
 
 DECLARE_FUNCTION (execVector3fConst)
 
 DECLARE_FUNCTION (execTransformConst)
 
 DECLARE_FUNCTION (execStructConst)
 
 DECLARE_FUNCTION (execSetArray)
 
 DECLARE_FUNCTION (execSetSet)
 
 DECLARE_FUNCTION (execSetMap)
 
 DECLARE_FUNCTION (execArrayConst)
 
 DECLARE_FUNCTION (execSetConst)
 
 DECLARE_FUNCTION (execMapConst)
 
 DECLARE_FUNCTION (execBitFieldConst)
 
 DECLARE_FUNCTION (execNew)
 
 DECLARE_FUNCTION (execClassContext)
 
 DECLARE_FUNCTION (execNativeParm)
 
 DECLARE_FUNCTION (execCast)
 
 DECLARE_FUNCTION (execDynamicCast)
 
 DECLARE_FUNCTION (execMetaCast)
 
 DECLARE_FUNCTION (execInterfaceCast)
 
 DECLARE_FUNCTION (execDoubleToFloatCast)
 
 DECLARE_FUNCTION (execFloatToDoubleCast)
 
 DECLARE_FUNCTION (execObjectToBool)
 
 DECLARE_FUNCTION (execInterfaceToBool)
 
 DECLARE_FUNCTION (execObjectToInterface)
 
 DECLARE_FUNCTION (execInterfaceToInterface)
 
 DECLARE_FUNCTION (execInterfaceToObject)
 
 DECLARE_FUNCTION (execGetDynArrayElement)
 
 DECLARE_FUNCTION (execSetDynArrayElement)
 
 DECLARE_FUNCTION (execGetDynArrayLength)
 
 DECLARE_FUNCTION (execSetDynArrayLength)
 
 DECLARE_FUNCTION (execDynArrayInsert)
 
 DECLARE_FUNCTION (execDynArrayRemove)
 
 DECLARE_FUNCTION (execDynArrayFind)
 
 DECLARE_FUNCTION (execDynArrayFindStruct)
 
 DECLARE_FUNCTION (execDynArrayAdd)
 
 DECLARE_FUNCTION (execDynArrayAddItem)
 
 DECLARE_FUNCTION (execDynArrayInsertItem)
 
 DECLARE_FUNCTION (execDynArrayRemoveItem)
 
 DECLARE_FUNCTION (execDynArraySort)
 
 DECLARE_FUNCTION (execBindDelegate)
 
 DECLARE_FUNCTION (execCallMulticastDelegate)
 
 DECLARE_FUNCTION (execLetValueOnPersistentFrame)
 
 DECLARE_FUNCTION (execCallMathFunction)
 
 DECLARE_FUNCTION (execSwitchValue)
 
 DECLARE_FUNCTION (execArrayGetByRef)
 
 DECLARE_FUNCTION (execAutoRtfmTransact)
 
 DECLARE_FUNCTION (execAutoRtfmStopTransact)
 
 DECLARE_FUNCTION (execAutoRtfmAbortIfNot)
 
void ExecuteUbergraph (int32 EntryPoint)
 
virtual void ValidateGeneratedRepEnums (const TArray< struct FRepRecord > &ClassReps) const
 
virtual uint64 GetNetPushIdDynamic () const
 
- Public Member Functions inherited from UObjectBaseUtility
 UObjectBaseUtility ()
 
 UObjectBaseUtility (EObjectFlags InFlags)
 
void SetFlags (EObjectFlags NewFlags)
 
void ClearFlags (EObjectFlags FlagsToClear)
 
bool HasAnyFlags (EObjectFlags FlagsToCheck) const
 
bool HasAllFlags (EObjectFlags FlagsToCheck) const
 
UE_FORCEINLINE_HINT EObjectFlags GetMaskedFlags (EObjectFlags Mask=RF_AllFlags) const
 
UE_FORCEINLINE_HINT void Mark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT void UnMark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAnyMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAllMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT EObjectMark GetAllMarks () const
 
void MarkAsGarbage ()
 
void ClearGarbage ()
 
UE_FORCEINLINE_HINT void AddToRoot ()
 
UE_FORCEINLINE_HINT void RemoveFromRoot ()
 
UE_FORCEINLINE_HINT bool IsRooted () const
 
UE_FORCEINLINE_HINT int32 GetRefCount () const
 
bool ThisThreadAtomicallyClearedRFUnreachable ()
 
UE_FORCEINLINE_HINT bool IsUnreachable () const
 
UE_FORCEINLINE_HINT bool IsNative () const
 
void SetInternalFlags (EInternalObjectFlags FlagsToSet) const
 
UE_FORCEINLINE_HINT EInternalObjectFlags GetInternalFlags () const
 
UE_FORCEINLINE_HINT bool HasAnyInternalFlags (EInternalObjectFlags FlagsToCheck) const
 
void ClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
bool AtomicallyClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
COREUOBJECT_API FString GetFullName (const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (const UObject *StopOuter, FString &ResultString, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (FStringBuilderBase &ResultString, const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API FString GetPathName (const UObject *StopOuter=NULL) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FString &ResultString) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FStringBuilderBase &ResultString) const
 
virtual bool CanBeClusterRoot () const
 
virtual COREUOBJECT_API bool CanBeInCluster () const
 
virtual COREUOBJECT_API void CreateCluster ()
 
virtual void OnClusterMarkedAsPendingKill ()
 
COREUOBJECT_API void AddToCluster (UObjectBaseUtility *ClusterRootOrObjectFromCluster, bool bAddAsMutableObject=false)
 
COREUOBJECT_API FString GetFullGroupName (bool bStartWithOuter) const
 
UE_FORCEINLINE_HINT FString GetName () const
 
UE_FORCEINLINE_HINT void GetName (FString &ResultString) const
 
UE_FORCEINLINE_HINT void AppendName (FString &ResultString) const
 
COREUOBJECT_API bool IsPackageExternal () const
 
COREUOBJECT_API void DetachExternalPackage ()
 
COREUOBJECT_API void ReattachExternalPackage ()
 
COREUOBJECT_API UObjectGetOutermostObject () const
 
COREUOBJECT_API UPackageGetPackage () const
 
UE_INTERNAL virtual COREUOBJECT_API UE::Core::FVersePath GetVersePath () const
 
COREUOBJECT_API UPackageGetOutermost () const
 
COREUOBJECT_API bool MarkPackageDirty () const
 
COREUOBJECT_API bool IsTemplate (EObjectFlags TemplateTypes=RF_ArchetypeObject|RF_ClassDefaultObject) const
 
COREUOBJECT_API UObjectGetTypedOuter (UClass *Target) const
 
template<typename T >
T * GetTypedOuter () const
 
template<typename InterfaceClassType >
InterfaceClassTypeGetImplementingOuter () const
 
COREUOBJECT_API UObjectBaseUtilityGetImplementingOuterObject (const UClass *InInterfaceClass) const
 
COREUOBJECT_API bool IsIn (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsIn (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInOuter (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsInPackage (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInA (const UClass *SomeBaseClass) const
 
COREUOBJECT_API bool RootPackageHasAnyFlags (uint32 CheckFlagMask) const
 
template<typename OtherClassType >
bool IsA (OtherClassType SomeBase) const
 
template<class T >
bool IsA () const
 
COREUOBJECT_API const UClassFindNearestCommonBaseClass (const UClass *TestClass) const
 
COREUOBJECT_API voidGetInterfaceAddress (UClass *InterfaceClass)
 
COREUOBJECT_API voidGetNativeInterfaceAddress (UClass *InterfaceClass)
 
const voidGetNativeInterfaceAddress (UClass *InterfaceClass) const
 
COREUOBJECT_API bool IsTemplateForSubobjects (EObjectFlags TemplateTypes=RF_ClassDefaultObject|RF_DefaultSubObject|RF_InheritableComponentTemplate) const
 
COREUOBJECT_API bool IsDefaultSubobject () const
 
COREUOBJECT_API class FLinkerLoadGetLinker () const
 
COREUOBJECT_API int32 GetLinkerIndex () const
 
COREUOBJECT_API FPackageFileVersion GetLinkerUEVersion () const
 
int32 GetLinkerUE4Version () const
 
COREUOBJECT_API int32 GetLinkerLicenseeUEVersion () const
 
int32 GetLinkerLicenseeUE4Version () const
 
COREUOBJECT_API int32 GetLinkerCustomVersion (FGuid CustomVersionKey) const
 
UE_FORCEINLINE_HINT bool operator< (const UObjectBaseUtility &Other) const
 
TStatId GetStatID (bool bForDeferredUse=false) const
 
- Public Member Functions inherited from UObjectBase
COREUOBJECT_API UObjectBase (UClass *InClass, EObjectFlags InFlags, EInternalObjectFlags InInternalFlags, UObject *InOuter, FName InName, int32 InInternalIndex=-1, int32 InSerialNumber=0, FRemoteObjectId InRemoteId=FRemoteObjectId())
 
virtual COREUOBJECT_API ~UObjectBase ()
 
COREUOBJECT_API bool IsValidLowLevel () const
 
COREUOBJECT_API bool IsValidLowLevelFast (bool bRecursive=true) const
 
FORCEINLINE uint32 GetUniqueID () const
 
FORCEINLINE UClassGetClass () const
 
FORCEINLINE UObjectGetOuter () const
 
FORCEINLINE FName GetFName () const
 
virtual COREUOBJECT_API FName GetFNameForStatID () const
 
COREUOBJECT_API UPackageGetExternalPackage () const
 
COREUOBJECT_API void SetExternalPackage (UPackage *InPackage)
 
COREUOBJECT_API UPackageGetExternalPackageInternal () const
 
COREUOBJECT_API void MarkAsReachable () const
 
COREUOBJECT_API void AddRef () const
 
COREUOBJECT_API void ReleaseRef () const
 
FORCEINLINE EObjectFlags GetFlags () const
 
FORCENOINLINE void AtomicallySetFlags (EObjectFlags FlagsToAdd)
 
FORCENOINLINE void AtomicallyClearFlags (EObjectFlags FlagsToClear)
 

Protected Attributes

FMeshDescription OwnedMeshDescription
 
TUniquePtr< FMeshAttributesRequiredAttributes
 

Additional Inherited Members

- Public Types inherited from UObject
enum class  ENetFields_Private { NETFIELD_REP_START = 0 , NETFIELD_REP_END = -1 }
 
typedef UObject WithinClass
 
- Static Public Member Functions inherited from UObject
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedServer (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedClient (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API bool CanCreateInCurrentContext (UObject *Template)
 
static COREUOBJECT_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static COREUOBJECT_API const FNameSourceFileTagName ()
 
static COREUOBJECT_API UObjectGetArchetypeFromRequiredInfo (const UClass *Class, const UObject *Outer, FName Name, EObjectFlags ObjectFlags)
 
- Static Public Member Functions inherited from UObjectBaseUtility
static bool IsGarbageEliminationEnabled ()
 
static bool IsPendingKillEnabled ()
 
static void SetGarbageEliminationEnabled (bool bEnabled)
 
static COREUOBJECT_API void ReloadObjectsFromModifiedConfigSections (const class FConfigModificationTracker *ChangeTracker)
 
- Static Public Member Functions inherited from UObjectBase
static COREUOBJECT_API FString RemoveClassPrefix (const TCHAR *ClassName)
 
static void PrefetchClass (UObject *Object)
 
static void PrefetchOuter (UObject *Object)
 
- Protected Member Functions inherited from UObject
virtual FString GetDetailedInfoInternal () const
 
COREUOBJECT_API bool CanCheckDefaultSubObjects (bool bForceCheck, bool &bResult) const
 
virtual COREUOBJECT_API bool CheckDefaultSubobjectsInternal () const
 
- Protected Member Functions inherited from UObjectBase
 UObjectBase ()
 
COREUOBJECT_API UObjectBase (EObjectFlags InFlags)
 
COREUOBJECT_API void LowLevelRename (FName NewName, UObject *NewOuter=NULL)
 
virtual void RegisterDependencies ()
 
COREUOBJECT_API void Register (class UClass *(*StaticClassFn)(), const TCHAR *PackageName, const TCHAR *Name)
 
COREUOBJECT_API void Register (const TCHAR *PackageName, const TCHAR *Name)
 
virtual COREUOBJECT_API void DeferredRegister (UClass *UClassStaticClass, const TCHAR *PackageName, const TCHAR *Name)
 
FORCEINLINE void SetFlagsTo (EObjectFlags NewFlags)
 

Member Function Documentation

◆ ComputePolygonTriangulation()

void UMeshDescriptionBase::ComputePolygonTriangulation ( FPolygonID  PolygonID)

Generates triangles and internal edges for the given polygon

◆ CreateEdge()

FEdgeID UMeshDescriptionBase::CreateEdge ( FVertexID  VertexID0,
FVertexID  VertexID1 
)

Adds a new edge to the mesh and returns its ID

◆ CreateEdgeWithID()

void UMeshDescriptionBase::CreateEdgeWithID ( FEdgeID  EdgeID,
FVertexID  VertexID0,
FVertexID  VertexID1 
)

Adds a new edge to the mesh with the given ID

◆ CreatePolygon()

FPolygonID UMeshDescriptionBase::CreatePolygon ( FPolygonGroupID  PolygonGroupID,
TArray< FVertexInstanceID > &  VertexInstanceIDs,
TArray< FEdgeID > &  NewEdgeIDs 
)

Adds a new polygon to the mesh and returns its ID. This will also make any missing edges, and all constituent triangles.

◆ CreatePolygonGroup()

FPolygonGroupID UMeshDescriptionBase::CreatePolygonGroup ( )

Adds a new polygon group to the mesh and returns its ID

◆ CreatePolygonGroupWithID()

void UMeshDescriptionBase::CreatePolygonGroupWithID ( FPolygonGroupID  PolygonGroupID)

Adds a new polygon group to the mesh with the given ID

◆ CreatePolygonWithID()

void UMeshDescriptionBase::CreatePolygonWithID ( FPolygonID  PolygonID,
FPolygonGroupID  PolygonGroupID,
TArray< FVertexInstanceID > &  VertexInstanceIDs,
TArray< FEdgeID > &  NewEdgeIDs 
)

Adds a new polygon to the mesh with the given ID. This will also make any missing edges, and all constituent triangles.

◆ CreateTriangle()

FTriangleID UMeshDescriptionBase::CreateTriangle ( FPolygonGroupID  PolygonGroupID,
const TArray< FVertexInstanceID > &  VertexInstanceIDs,
TArray< FEdgeID > &  NewEdgeIDs 
)

Adds a new triangle to the mesh and returns its ID. This will also make an encapsulating polygon, and any missing edges.

◆ CreateTriangleWithID()

void UMeshDescriptionBase::CreateTriangleWithID ( FTriangleID  TriangleID,
FPolygonGroupID  PolygonGroupID,
const TArray< FVertexInstanceID > &  VertexInstanceIDs,
TArray< FEdgeID > &  NewEdgeIDs 
)

Adds a new triangle to the mesh with the given ID. This will also make an encapsulating polygon, and any missing edges.

◆ CreateVertex()

FVertexID UMeshDescriptionBase::CreateVertex ( )

Adds a new vertex to the mesh and returns its ID

◆ CreateVertexInstance()

FVertexInstanceID UMeshDescriptionBase::CreateVertexInstance ( FVertexID  VertexID)

Adds a new vertex instance to the mesh and returns its ID

◆ CreateVertexInstanceWithID()

void UMeshDescriptionBase::CreateVertexInstanceWithID ( FVertexInstanceID  VertexInstanceID,
FVertexID  VertexID 
)

Adds a new vertex instance to the mesh with the given ID

◆ CreateVertexWithID()

void UMeshDescriptionBase::CreateVertexWithID ( FVertexID  VertexID)

Adds a new vertex to the mesh with the given ID

◆ DeleteEdge()

void UMeshDescriptionBase::DeleteEdge ( FEdgeID  EdgeID,
TArray< FVertexID > &  OrphanedVertices 
)

Deletes an edge from a mesh

◆ DeletePolygon()

void UMeshDescriptionBase::DeletePolygon ( FPolygonID  PolygonID,
TArray< FEdgeID > &  OrphanedEdges,
TArray< FVertexInstanceID > &  OrphanedVertexInstances,
TArray< FPolygonGroupID > &  OrphanedPolygonGroups 
)

Deletes a polygon from the mesh

◆ DeletePolygonGroup()

void UMeshDescriptionBase::DeletePolygonGroup ( FPolygonGroupID  PolygonGroupID)

Deletes a polygon group from the mesh

◆ DeleteTriangle()

void UMeshDescriptionBase::DeleteTriangle ( FTriangleID  TriangleID,
TArray< FEdgeID > &  OrphanedEdges,
TArray< FVertexInstanceID > &  OrphanedVertexInstances,
TArray< FPolygonGroupID > &  OrphanedPolygonGroupsPtr 
)

Deletes a triangle from the mesh

◆ DeleteVertex()

void UMeshDescriptionBase::DeleteVertex ( FVertexID  VertexID)

Deletes a vertex from the mesh

◆ DeleteVertexInstance()

void UMeshDescriptionBase::DeleteVertexInstance ( FVertexInstanceID  VertexInstanceID,
TArray< FVertexID > &  OrphanedVertices 
)

Deletes a vertex instance from a mesh

◆ EdgeAttributes() [1/2]

TAttributesSet< FEdgeID > & UMeshDescriptionBase::EdgeAttributes ( )
inline

◆ EdgeAttributes() [2/2]

const TAttributesSet< FEdgeID > & UMeshDescriptionBase::EdgeAttributes ( ) const
inline

◆ Edges() [1/2]

FEdgeArray & UMeshDescriptionBase::Edges ( )
inline

◆ Edges() [2/2]

const FEdgeArray & UMeshDescriptionBase::Edges ( ) const
inline

◆ Empty()

void UMeshDescriptionBase::Empty ( )

Empty the mesh description

◆ GetEdgeConnectedPolygons()

void UMeshDescriptionBase::GetEdgeConnectedPolygons ( FEdgeID  EdgeID,
TArray< FPolygonID > &  OutConnectedPolygonIDs 
) const

Returns the polygons connected to this edge

◆ GetEdgeConnectedTriangles()

void UMeshDescriptionBase::GetEdgeConnectedTriangles ( FEdgeID  EdgeID,
TArray< FTriangleID > &  OutConnectedTriangleIDs 
) const

Returns reference to an array of triangle IDs connected to this edge

◆ GetEdgeCount()

int32 UMeshDescriptionBase::GetEdgeCount ( ) const
inline

Returns the number of edges

◆ GetEdgeVertex()

FVertexID UMeshDescriptionBase::GetEdgeVertex ( FEdgeID  EdgeID,
int32  VertexNumber 
) const

Returns the vertex ID corresponding to one of the edge endpoints

◆ GetEdgeVertices()

void UMeshDescriptionBase::GetEdgeVertices ( const FEdgeID  EdgeID,
TArray< FVertexID > &  OutVertexIDs 
) const

Returns a pair of vertex IDs defining the edge

◆ GetMeshDescription() [1/2]

FMeshDescription & UMeshDescriptionBase::GetMeshDescription ( )
inline

Get a reference to the actual mesh description

◆ GetMeshDescription() [2/2]

const FMeshDescription & UMeshDescriptionBase::GetMeshDescription ( ) const
inline

◆ GetNumEdgeConnectedPolygons()

int32 UMeshDescriptionBase::GetNumEdgeConnectedPolygons ( FEdgeID  EdgeID) const

Returns the number of polygons connected to this edge

◆ GetNumEdgeConnectedTriangles()

int32 UMeshDescriptionBase::GetNumEdgeConnectedTriangles ( FEdgeID  EdgeID) const

Returns the number of triangles connected to this edge

◆ GetNumPolygonGroupPolygons()

int32 UMeshDescriptionBase::GetNumPolygonGroupPolygons ( FPolygonGroupID  PolygonGroupID) const

Returns the number of polygons in this polygon group

◆ GetNumPolygonInternalEdges()

int32 UMeshDescriptionBase::GetNumPolygonInternalEdges ( FPolygonID  PolygonID) const

Return the number of internal edges in this polygon

◆ GetNumPolygonTriangles()

int32 UMeshDescriptionBase::GetNumPolygonTriangles ( FPolygonID  PolygonID) const

Return the number of triangles which comprise this polygon

◆ GetNumPolygonVertices()

int32 UMeshDescriptionBase::GetNumPolygonVertices ( FPolygonID  PolygonID) const

Returns the number of vertices this polygon has

◆ GetNumVertexConnectedEdges()

int32 UMeshDescriptionBase::GetNumVertexConnectedEdges ( FVertexID  VertexID) const

Returns number of edges connected to this vertex

◆ GetNumVertexConnectedPolygons()

int32 UMeshDescriptionBase::GetNumVertexConnectedPolygons ( FVertexID  VertexID) const

Returns the number of polygons connected to this vertex

◆ GetNumVertexConnectedTriangles()

int32 UMeshDescriptionBase::GetNumVertexConnectedTriangles ( FVertexID  VertexID) const

Returns number of triangles connected to this vertex

◆ GetNumVertexInstanceConnectedPolygons()

int32 UMeshDescriptionBase::GetNumVertexInstanceConnectedPolygons ( FVertexInstanceID  VertexInstanceID) const

Returns the number of polygons connected to this vertex instance.

◆ GetNumVertexInstanceConnectedTriangles()

int32 UMeshDescriptionBase::GetNumVertexInstanceConnectedTriangles ( FVertexInstanceID  VertexInstanceID) const

Returns the number of triangles connected to this vertex instance

◆ GetNumVertexVertexInstances()

int32 UMeshDescriptionBase::GetNumVertexVertexInstances ( FVertexID  VertexID) const

Returns number of vertex instances created from this vertex

◆ GetPolygonAdjacentPolygons()

void UMeshDescriptionBase::GetPolygonAdjacentPolygons ( FPolygonID  PolygonID,
TArray< FPolygonID > &  OutPolygonIDs 
) const

Populates the passed array with adjacent polygons

◆ GetPolygonCount()

int32 UMeshDescriptionBase::GetPolygonCount ( ) const
inline

Returns the number of polygons

◆ GetPolygonGroupCount()

int32 UMeshDescriptionBase::GetPolygonGroupCount ( ) const
inline

Returns the number of polygon groups

◆ GetPolygonGroupPolygons()

void UMeshDescriptionBase::GetPolygonGroupPolygons ( FPolygonGroupID  PolygonGroupID,
TArray< FPolygonID > &  OutPolygonIDs 
) const

Returns the polygons associated with the given polygon group

◆ GetPolygonInternalEdges()

void UMeshDescriptionBase::GetPolygonInternalEdges ( FPolygonID  PolygonID,
TArray< FEdgeID > &  OutEdgeIDs 
) const

Populate the provided array with a list of edges which are internal to the polygon, i.e. those which separate constituent triangles.

◆ GetPolygonPerimeterEdges()

void UMeshDescriptionBase::GetPolygonPerimeterEdges ( FPolygonID  PolygonID,
TArray< FEdgeID > &  OutEdgeIDs 
) const

Returns the edges which form the polygon perimeter

◆ GetPolygonPolygonGroup()

FPolygonGroupID UMeshDescriptionBase::GetPolygonPolygonGroup ( FPolygonID  PolygonID) const

Return the polygon group associated with a polygon

◆ GetPolygonTriangles()

void UMeshDescriptionBase::GetPolygonTriangles ( FPolygonID  PolygonID,
TArray< FTriangleID > &  OutTriangleIDs 
) const

Return reference to an array of triangle IDs which comprise this polygon

◆ GetPolygonVertexInstances()

void UMeshDescriptionBase::GetPolygonVertexInstances ( FPolygonID  PolygonID,
TArray< FVertexInstanceID > &  OutVertexInstanceIDs 
) const

Returns reference to an array of VertexInstance IDs forming the perimeter of this polygon

◆ GetPolygonVertices()

void UMeshDescriptionBase::GetPolygonVertices ( FPolygonID  PolygonID,
TArray< FVertexID > &  OutVertexIDs 
) const

Returns the vertices which form the polygon perimeter

◆ GetRequiredAttributes() [1/2]

virtual FMeshAttributes & UMeshDescriptionBase::GetRequiredAttributes ( )
inlinevirtual

◆ GetRequiredAttributes() [2/2]

virtual const FMeshAttributes & UMeshDescriptionBase::GetRequiredAttributes ( ) const
inlinevirtual

◆ GetTriangleAdjacentTriangles()

void UMeshDescriptionBase::GetTriangleAdjacentTriangles ( FTriangleID  TriangleID,
TArray< FTriangleID > &  OutTriangleIDs 
) const

Returns the adjacent triangles to this triangle

◆ GetTriangleCount()

int32 UMeshDescriptionBase::GetTriangleCount ( ) const
inline

Returns the number of triangles

◆ GetTriangleEdges()

void UMeshDescriptionBase::GetTriangleEdges ( FTriangleID  TriangleID,
TArray< FEdgeID > &  OutEdgeIDs 
) const

Returns the edges which define this triangle

◆ GetTrianglePolygon()

FPolygonID UMeshDescriptionBase::GetTrianglePolygon ( FTriangleID  TriangleID) const

Get the polygon which contains this triangle

◆ GetTrianglePolygonGroup()

FPolygonGroupID UMeshDescriptionBase::GetTrianglePolygonGroup ( FTriangleID  TriangleID) const

Get the polygon group which contains this triangle

◆ GetTriangleVertexInstance()

FVertexInstanceID UMeshDescriptionBase::GetTriangleVertexInstance ( FTriangleID  TriangleID,
int32  Index 
) const

Get the specified vertex instance by index

◆ GetTriangleVertexInstances()

void UMeshDescriptionBase::GetTriangleVertexInstances ( FTriangleID  TriangleID,
TArray< FVertexInstanceID > &  OutVertexInstanceIDs 
) const

Get the vertex instances which define this triangle

◆ GetTriangleVertices()

void UMeshDescriptionBase::GetTriangleVertices ( FTriangleID  TriangleID,
TArray< FVertexID > &  OutVertexIDs 
) const

Returns the vertices which define this triangle

◆ GetVertexAdjacentVertices()

void UMeshDescriptionBase::GetVertexAdjacentVertices ( FVertexID  VertexID,
TArray< FVertexID > &  OutAdjacentVertexIDs 
) const

Returns the vertices adjacent to this vertex

◆ GetVertexConnectedEdges()

void UMeshDescriptionBase::GetVertexConnectedEdges ( FVertexID  VertexID,
TArray< FEdgeID > &  OutEdgeIDs 
) const

Returns reference to an array of Edge IDs connected to this vertex

◆ GetVertexConnectedPolygons()

void UMeshDescriptionBase::GetVertexConnectedPolygons ( FVertexID  VertexID,
TArray< FPolygonID > &  OutConnectedPolygonIDs 
) const

Returns the polygons connected to this vertex

◆ GetVertexConnectedTriangles()

void UMeshDescriptionBase::GetVertexConnectedTriangles ( FVertexID  VertexID,
TArray< FTriangleID > &  OutConnectedTriangleIDs 
) const

Returns the triangles connected to this vertex

◆ GetVertexCount()

int32 UMeshDescriptionBase::GetVertexCount ( ) const
inline

Returns the number of vertices

◆ GetVertexInstanceConnectedPolygons()

void UMeshDescriptionBase::GetVertexInstanceConnectedPolygons ( FVertexInstanceID  VertexInstanceID,
TArray< FPolygonID > &  OutConnectedPolygonIDs 
) const

Returns the polygons connected to this vertex instance

◆ GetVertexInstanceConnectedTriangles()

void UMeshDescriptionBase::GetVertexInstanceConnectedTriangles ( FVertexInstanceID  VertexInstanceID,
TArray< FTriangleID > &  OutConnectedTriangleIDs 
) const

Returns reference to an array of Triangle IDs connected to this vertex instance

◆ GetVertexInstanceCount()

int32 UMeshDescriptionBase::GetVertexInstanceCount ( ) const
inline

Returns the number of vertex instances

◆ GetVertexInstanceForPolygonVertex()

FVertexInstanceID UMeshDescriptionBase::GetVertexInstanceForPolygonVertex ( FPolygonID  PolygonID,
FVertexID  VertexID 
) const

Return the vertex instance which corresponds to the given vertex on the given polygon, or INDEX_NONE

◆ GetVertexInstanceForTriangleVertex()

FVertexInstanceID UMeshDescriptionBase::GetVertexInstanceForTriangleVertex ( FTriangleID  TriangleID,
FVertexID  VertexID 
) const

Return the vertex instance which corresponds to the given vertex on the given triangle, or INDEX_NONE

◆ GetVertexInstancePairEdge()

FEdgeID UMeshDescriptionBase::GetVertexInstancePairEdge ( FVertexInstanceID  VertexInstanceID0,
FVertexInstanceID  VertexInstanceID1 
) const

Returns the edge ID defined by the two given vertex instance IDs, if there is one; otherwise INDEX_NONE

◆ GetVertexInstanceVertex()

FVertexID UMeshDescriptionBase::GetVertexInstanceVertex ( FVertexInstanceID  VertexInstanceID) const

Returns the vertex ID associated with the given vertex instance

◆ GetVertexPairEdge()

FEdgeID UMeshDescriptionBase::GetVertexPairEdge ( FVertexID  VertexID0,
FVertexID  VertexID1 
) const

Returns the edge ID defined by the two given vertex IDs, if there is one; otherwise INDEX_NONE

◆ GetVertexPosition()

FVector UMeshDescriptionBase::GetVertexPosition ( FVertexID  VertexID) const

Gets a vertex position

◆ GetVertexPositions() [1/2]

TVertexAttributesRef< FVector3f > UMeshDescriptionBase::GetVertexPositions ( )
inline

Accessors for cached vertex position array

◆ GetVertexPositions() [2/2]

TVertexAttributesConstRef< FVector3f > UMeshDescriptionBase::GetVertexPositions ( ) const
inline

◆ GetVertexVertexInstances()

void UMeshDescriptionBase::GetVertexVertexInstances ( FVertexID  VertexID,
TArray< FVertexInstanceID > &  OutVertexInstanceIDs 
) const

Returns reference to an array of VertexInstance IDs instanced from this vertex

◆ IsEdgeInternal()

bool UMeshDescriptionBase::IsEdgeInternal ( FEdgeID  EdgeID) const

Determine whether a given edge is an internal edge between triangles of a polygon

◆ IsEdgeInternalToPolygon()

bool UMeshDescriptionBase::IsEdgeInternalToPolygon ( FEdgeID  EdgeID,
FPolygonID  PolygonID 
) const

Determine whether a given edge is an internal edge between triangles of a specific polygon

◆ IsEdgeValid()

bool UMeshDescriptionBase::IsEdgeValid ( FEdgeID  EdgeID) const

Returns whether the passed edge ID is valid

◆ IsEmpty()

bool UMeshDescriptionBase::IsEmpty ( ) const

Return whether the mesh description is empty

◆ IsPolygonGroupValid()

bool UMeshDescriptionBase::IsPolygonGroupValid ( FPolygonGroupID  PolygonGroupID) const

Returns whether the passed polygon group ID is valid

◆ IsPolygonValid()

bool UMeshDescriptionBase::IsPolygonValid ( FPolygonID  PolygonID) const

Returns whether the passed polygon ID is valid

◆ IsTrianglePartOfNgon()

bool UMeshDescriptionBase::IsTrianglePartOfNgon ( FTriangleID  TriangleID) const

Determines if this triangle is part of an n-gon

◆ IsTriangleValid()

bool UMeshDescriptionBase::IsTriangleValid ( const FTriangleID  TriangleID) const

Returns whether the passed triangle ID is valid

◆ IsVertexInstanceValid()

bool UMeshDescriptionBase::IsVertexInstanceValid ( FVertexInstanceID  VertexInstanceID) const

Returns whether the passed vertex instance ID is valid

◆ IsVertexOrphaned()

bool UMeshDescriptionBase::IsVertexOrphaned ( FVertexID  VertexID) const

Returns whether a given vertex is orphaned, i.e. it doesn't form part of any polygon

◆ IsVertexValid()

bool UMeshDescriptionBase::IsVertexValid ( FVertexID  VertexID) const

Returns whether the passed vertex ID is valid

◆ PolygonAttributes() [1/2]

TAttributesSet< FPolygonID > & UMeshDescriptionBase::PolygonAttributes ( )
inline

◆ PolygonAttributes() [2/2]

const TAttributesSet< FPolygonID > & UMeshDescriptionBase::PolygonAttributes ( ) const
inline

◆ PolygonGroupAttributes() [1/2]

TAttributesSet< FPolygonGroupID > & UMeshDescriptionBase::PolygonGroupAttributes ( )
inline

◆ PolygonGroupAttributes() [2/2]

const TAttributesSet< FPolygonGroupID > & UMeshDescriptionBase::PolygonGroupAttributes ( ) const
inline

◆ PolygonGroups() [1/2]

FPolygonGroupArray & UMeshDescriptionBase::PolygonGroups ( )
inline

◆ PolygonGroups() [2/2]

const FPolygonGroupArray & UMeshDescriptionBase::PolygonGroups ( ) const
inline

◆ Polygons() [1/2]

FPolygonArray & UMeshDescriptionBase::Polygons ( )
inline

◆ Polygons() [2/2]

const FPolygonArray & UMeshDescriptionBase::Polygons ( ) const
inline

◆ RegisterAttributes()

void UMeshDescriptionBase::RegisterAttributes ( )
virtual

◆ ReserveNewEdges()

void UMeshDescriptionBase::ReserveNewEdges ( int32  NumberOfNewEdges)

Reserves space for this number of new edges

◆ ReserveNewPolygonGroups()

void UMeshDescriptionBase::ReserveNewPolygonGroups ( int32  NumberOfNewPolygonGroups)

Reserves space for this number of new polygon groups

◆ ReserveNewPolygons()

void UMeshDescriptionBase::ReserveNewPolygons ( const int32  NumberOfNewPolygons)

Reserves space for this number of new polygons

◆ ReserveNewTriangles()

void UMeshDescriptionBase::ReserveNewTriangles ( int32  NumberOfNewTriangles)

Reserves space for this number of new triangles

◆ ReserveNewVertexInstances()

void UMeshDescriptionBase::ReserveNewVertexInstances ( int32  NumberOfNewVertexInstances)

Reserves space for this number of new vertex instances

◆ ReserveNewVertices()

void UMeshDescriptionBase::ReserveNewVertices ( int32  NumberOfNewVertices)

Reserves space for this number of new vertices

◆ Reset()

void UMeshDescriptionBase::Reset ( )

Reset the contained mesh description

◆ ReversePolygonFacing()

void UMeshDescriptionBase::ReversePolygonFacing ( FPolygonID  PolygonID)

Reverse the winding order of the vertices of this polygon

◆ Serialize()

void UMeshDescriptionBase::Serialize ( FArchive Ar)
overridevirtual

Handles reading, writing, and reference collecting using FArchive. This implementation handles all FProperty serialization, but can be overridden for native variables.

Reimplemented from UObject.

◆ SetMeshDescription()

void UMeshDescriptionBase::SetMeshDescription ( FMeshDescription  InMeshDescription)
inline

Set the mesh description

◆ SetPolygonPolygonGroup()

void UMeshDescriptionBase::SetPolygonPolygonGroup ( FPolygonID  PolygonID,
FPolygonGroupID  PolygonGroupID 
)

Sets the polygon group associated with a polygon

◆ SetPolygonVertexInstances()

void UMeshDescriptionBase::SetPolygonVertexInstances ( FPolygonID  PolygonID,
const TArray< FVertexInstanceID > &  VertexInstanceIDs 
)

Set the vertex instance at the given index around the polygon to the new value

◆ SetVertexPosition()

void UMeshDescriptionBase::SetVertexPosition ( FVertexID  VertexID,
const FVector Position 
)

Sets a vertex position

◆ TriangleAttributes() [1/2]

TAttributesSet< FTriangleID > & UMeshDescriptionBase::TriangleAttributes ( )
inline

◆ TriangleAttributes() [2/2]

const TAttributesSet< FTriangleID > & UMeshDescriptionBase::TriangleAttributes ( ) const
inline

◆ Triangles() [1/2]

FTriangleArray & UMeshDescriptionBase::Triangles ( )
inline

◆ Triangles() [2/2]

const FTriangleArray & UMeshDescriptionBase::Triangles ( ) const
inline

◆ VertexAttributes() [1/2]

TAttributesSet< FVertexID > & UMeshDescriptionBase::VertexAttributes ( )
inline

Accessors for mesh element attributes

◆ VertexAttributes() [2/2]

const TAttributesSet< FVertexID > & UMeshDescriptionBase::VertexAttributes ( ) const
inline

◆ VertexInstanceAttributes() [1/2]

TAttributesSet< FVertexInstanceID > & UMeshDescriptionBase::VertexInstanceAttributes ( )
inline

◆ VertexInstanceAttributes() [2/2]

const TAttributesSet< FVertexInstanceID > & UMeshDescriptionBase::VertexInstanceAttributes ( ) const
inline

◆ VertexInstances() [1/2]

FVertexInstanceArray & UMeshDescriptionBase::VertexInstances ( )
inline

◆ VertexInstances() [2/2]

const FVertexInstanceArray & UMeshDescriptionBase::VertexInstances ( ) const
inline

◆ Vertices() [1/2]

FVertexArray & UMeshDescriptionBase::Vertices ( )
inline

Accessors for mesh element arrays

◆ Vertices() [2/2]

const FVertexArray & UMeshDescriptionBase::Vertices ( ) const
inline

Member Data Documentation

◆ OwnedMeshDescription

FMeshDescription UMeshDescriptionBase::OwnedMeshDescription
protected

◆ RequiredAttributes

TUniquePtr<FMeshAttributes> UMeshDescriptionBase::RequiredAttributes
protected

The documentation for this class was generated from the following files: