2019-12-27 09:26:59 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2019-10-01 20:41:42 -04:00
|
|
|
|
|
|
|
|
#include "Changes/MeshChange.h"
|
2021-06-13 00:35:22 -04:00
|
|
|
#include "DynamicMesh/DynamicMesh3.h"
|
2019-10-01 20:41:42 -04:00
|
|
|
|
2021-03-09 19:33:56 -04:00
|
|
|
using namespace UE::Geometry;
|
|
|
|
|
|
2019-10-01 20:41:42 -04:00
|
|
|
FMeshChange::FMeshChange()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FMeshChange::FMeshChange(TUniquePtr<FDynamicMeshChange> DynamicMeshChangeIn)
|
|
|
|
|
{
|
|
|
|
|
DynamicMeshChange = MoveTemp(DynamicMeshChangeIn);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FMeshChange::Apply(UObject* Object)
|
|
|
|
|
{
|
|
|
|
|
IMeshCommandChangeTarget* ChangeTarget = CastChecked<IMeshCommandChangeTarget>(Object);
|
|
|
|
|
ChangeTarget->ApplyChange(this, false);
|
|
|
|
|
|
|
|
|
|
if (OnChangeAppliedFunc)
|
|
|
|
|
{
|
|
|
|
|
OnChangeAppliedFunc(this, Object, true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FMeshChange::Revert(UObject* Object)
|
|
|
|
|
{
|
|
|
|
|
IMeshCommandChangeTarget* ChangeTarget = CastChecked<IMeshCommandChangeTarget>(Object);
|
|
|
|
|
ChangeTarget->ApplyChange(this, true);
|
|
|
|
|
|
|
|
|
|
if (OnChangeAppliedFunc)
|
|
|
|
|
{
|
|
|
|
|
OnChangeAppliedFunc(this, Object, false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FString FMeshChange::ToString() const
|
|
|
|
|
{
|
|
|
|
|
return FString(TEXT("Mesh Change"));
|
|
|
|
|
}
|
|
|
|
|
|
2020-12-03 02:39:48 -04:00
|
|
|
|
|
|
|
|
void FMeshChange::ApplyChangeToMesh(FDynamicMesh3* Mesh, bool bRevert) const
|
|
|
|
|
{
|
|
|
|
|
DynamicMeshChange->Apply(Mesh, bRevert);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|