14struct FMeshIndexMappings;
16template<
typename ParentType>
17class TDynamicAttributeBase;
22template<
typename ParentType>
42 UE_DEPRECATED(5.6,
"Use the version of this method that takes a TSet instead")
65template<
typename ParentType>
262template<
typename ParentType>
322 A->OnRemoveTriangle(TriangleID);
329 A->OnRemoveVertex(VertexID);
336 A->OnReverseTriOrientation(TriangleID);
398 "is expected to have called OnCollapseEdge, not OnMergeVertices.")))
404 "is expected to have called OnMergeEdges, not OnMergeVertices.")))
#define ensureMsgf( InExpression, InFormat,...)
Definition AssertionMacros.h:465
#define ensure( InExpression)
Definition AssertionMacros.h:464
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition Archive.h:1208
virtual CORE_API void UsingCustomVersion(const struct FGuid &Guid)
Definition Archive.cpp:590
UE_FORCEINLINE_HINT bool IsLoading() const
Definition Archive.h:236
CORE_API int32 CustomVer(const struct FGuid &Key) const
Definition Archive.cpp:602
Definition NameTypes.h:617
Definition ArrayView.h:139
Definition UniquePtr.h:107
Definition CompactMaps.h:20
Definition DynamicAttribute.h:67
virtual TDynamicAttributeBase * MakeCopy(ParentType *ParentIn) const =0
FName GetName() const
Definition DynamicAttribute.h:77
virtual SIZE_T GetByteCount() const
Definition DynamicAttribute.h:241
virtual ~TDynamicAttributeBase()
Definition DynamicAttribute.h:70
virtual void OnMergeVertices(const DynamicMeshInfo::FMergeVerticesInfo &MergeInfo)
Definition DynamicAttribute.h:204
virtual bool CopyOut(int RawID, void *Buffer, int BufferSize) const =0
void SetName(FName NameIn)
Definition DynamicAttribute.h:80
virtual TDynamicAttributeBase * MakeNew(ParentType *ParentIn) const =0
virtual void OnNewTriangle(int TriangleID, bool bInserted)
Definition DynamicAttribute.h:146
virtual void OnSplitVertex(const DynamicMeshInfo::FVertexSplitInfo &SplitInfo, const TArrayView< const int > &TrianglesToUpdate)
Definition DynamicAttribute.h:209
virtual void OnMergeEdges(const DynamicMeshInfo::FMergeEdgesInfo &MergeInfo)
Definition DynamicAttribute.h:196
virtual void OnPokeTriangle(const DynamicMeshInfo::FPokeTriangleInfo &PokeInfo)
Definition DynamicAttribute.h:191
virtual TDynamicAttributeBase * MakeCompactCopy(const FCompactMaps &CompactMaps, ParentType *ParentIn) const
Definition DynamicAttribute.h:100
virtual void AppendDefaulted(const FDynamicMesh3::FAppendInfo &AppendInfo)=0
FName Name
Definition DynamicAttribute.h:84
virtual void OnReverseTriOrientation(int TriangleID)
Definition DynamicAttribute.h:154
virtual void Reparent(ParentType *NewParent)=0
virtual void CopyParentClassData(const TDynamicAttributeBase< ParentType > &Other)
Definition DynamicAttribute.h:249
virtual bool Append(const TDynamicAttributeBase &Source, const FDynamicMesh3::FAppendInfo &AppendInfo)=0
virtual TUniquePtr< TDynamicAttributeChangeBase< ParentType > > NewBlankChange() const =0
virtual void OnSplitEdge(const DynamicMeshInfo::FEdgeSplitInfo &SplitInfo)
Definition DynamicAttribute.h:176
virtual void OnRemoveVertex(int VertexID)
Definition DynamicAttribute.h:142
void Serialize(FArchive &Ar)
Definition DynamicAttribute.h:231
virtual void OnRemoveTriangle(int TriangleID)
Definition DynamicAttribute.h:150
virtual bool CheckValidity(bool bAllowNonmanifold, EValidityCheckFailMode FailMode) const
Definition DynamicAttribute.h:164
virtual void OnFlipEdge(const DynamicMeshInfo::FEdgeFlipInfo &FlipInfo)
Definition DynamicAttribute.h:181
virtual bool CopyIn(int RawID, void *Buffer, int BufferSize)=0
virtual void OnNewVertex(int VertexID, bool bInserted)
Definition DynamicAttribute.h:138
friend FArchive & operator<<(FArchive &Ar, TDynamicAttributeBase< ParentType > &Attr)
Definition DynamicAttribute.h:220
virtual void CompactInPlace(const FCompactMaps &CompactMaps)=0
virtual void OnCollapseEdge(const DynamicMeshInfo::FEdgeCollapseInfo &CollapseInfo)
Definition DynamicAttribute.h:186
virtual bool CopyThroughMapping(const TDynamicAttributeBase *Source, const FMeshIndexMappings &Mapping)=0
Definition DynamicAttribute.h:24
virtual void SaveInitialTriangle(const TDynamicAttributeBase< ParentType > *Attribute, int TriangleID)
Definition DynamicAttribute.h:32
virtual void StoreAllFinalVertices(const TDynamicAttributeBase< ParentType > *Attribute, const TArray< int > &TriangleIDs)
Definition DynamicAttribute.h:43
virtual ~TDynamicAttributeChangeBase()
Definition DynamicAttribute.h:26
virtual void StoreAllFinalTriangles(const TDynamicAttributeBase< ParentType > *Attribute, const TArray< int > &TriangleIDs)
Definition DynamicAttribute.h:39
virtual void SaveInitialVertex(const TDynamicAttributeBase< ParentType > *Attribute, int VertexID)
Definition DynamicAttribute.h:35
virtual void StoreAllFinalVertices(const TDynamicAttributeBase< ParentType > *Attribute, const TSet< int > &TriangleIDs)
Definition DynamicAttribute.h:47
virtual bool Apply(TDynamicAttributeBase< ParentType > *Attribute, bool bRevert) const
Definition DynamicAttribute.h:51
Definition DynamicAttribute.h:264
virtual void OnFlipEdge(const DynamicMeshInfo::FEdgeFlipInfo &FlipInfo)
Definition DynamicAttribute.h:367
TDynamicAttributeBase< ParentType > * GetRegisteredAttribute(int Idx) const
Definition DynamicAttribute.h:297
virtual void OnMergeVertices(const DynamicMeshInfo::FMergeVerticesInfo &MergeInfo)
Definition DynamicAttribute.h:395
virtual void OnPokeTriangle(const DynamicMeshInfo::FPokeTriangleInfo &PokeInfo)
Definition DynamicAttribute.h:381
virtual void OnMergeEdges(const DynamicMeshInfo::FMergeEdgesInfo &MergeInfo)
Definition DynamicAttribute.h:388
virtual void OnNewTriangle(int TriangleID, bool bInserted)
Definition DynamicAttribute.h:304
virtual void OnRemoveVertex(int VertexID)
Definition DynamicAttribute.h:325
virtual void OnNewVertex(int VertexID, bool bInserted)
Definition DynamicAttribute.h:311
virtual void OnSplitVertex(const DynamicMeshInfo::FVertexSplitInfo &SplitInfo, const TArrayView< const int > &TrianglesToUpdate)
Definition DynamicAttribute.h:415
int NumRegisteredAttributes() const
Definition DynamicAttribute.h:292
virtual void OnSplitEdge(const DynamicMeshInfo::FEdgeSplitInfo &SplitInfo)
Definition DynamicAttribute.h:360
virtual void OnReverseTriOrientation(int TriangleID)
Definition DynamicAttribute.h:332
virtual void OnRemoveTriangle(int TriangleID)
Definition DynamicAttribute.h:318
TArray< TDynamicAttributeBase< ParentType > * > RegisteredAttributes
Definition DynamicAttribute.h:267
void UnregisterExternalAttribute(TDynamicAttributeBase< ParentType > *Attribute)
Definition DynamicAttribute.h:277
virtual void OnCollapseEdge(const DynamicMeshInfo::FEdgeCollapseInfo &CollapseInfo)
Definition DynamicAttribute.h:374
void ResetRegisteredAttributes()
Definition DynamicAttribute.h:282
virtual ~TDynamicAttributeSetBase()
Definition DynamicAttribute.h:288
virtual bool CheckValidity(bool bAllowNonmanifold, EValidityCheckFailMode FailMode) const
Definition DynamicAttribute.h:346
void RegisterExternalAttribute(TDynamicAttributeBase< ParentType > *Attribute)
Definition DynamicAttribute.h:272
TDynamicAttributeSetBase< FDynamicMesh3 > FDynamicMeshAttributeSetBase
Definition DynamicAttribute.h:424
EValidityCheckFailMode
Definition GeometryTypes.h:72
TDynamicAttributeChangeBase< FDynamicMesh3 > FDynamicMeshAttributeChangeBase
Definition DynamicAttribute.h:57
TDynamicAttributeBase< FDynamicMesh3 > FDynamicMeshAttributeBase
Definition DynamicAttribute.h:256
Definition AdvancedWidgetsModule.cpp:13
Definition InfoTypes.h:181
Definition InfoTypes.h:171
Definition InfoTypes.h:155
Definition InfoTypes.h:197
Definition InfoTypes.h:216
Definition InfoTypes.h:229
Definition InfoTypes.h:242
Definition NameAsStringProxyArchive.h:12
CORE_API static const FGuid GUID
Definition UE5MainStreamObjectVersion.h:22
Definition DynamicMesh3.h:309
Definition MeshIndexMappings.h:22