Files
UnrealEngineUWP/Engine/Plugins/Experimental/MeshModelingToolset/Source/MeshModelingTools/Private/Properties/MeshAnalysisProperties.cpp

25 lines
788 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Properties/MeshAnalysisProperties.h"
#include "DynamicMesh/DynamicMesh3.h"
#include "MeshQueries.h"
#include "MeshAdapter.h"
#include "DynamicMesh/MeshAdapterUtil.h"
#define LOCTEXT_NAMESPACE "UMeshAnalysisProperites"
using namespace UE::Geometry;
void UMeshAnalysisProperties::Update(const FDynamicMesh3& MeshIn, const FTransform& Transform)
{
FTriangleMeshAdapterd TransformedMesh = UE::Geometry::MakeTransformedDynamicMeshAdapter(&MeshIn, Transform);
FVector2d VolArea = TMeshQueries<FTriangleMeshAdapterd>::GetVolumeArea(TransformedMesh);
this->SurfaceArea = FString::Printf(TEXT("%.2f m^2"), VolArea.Y / 10000);
this->Volume = FString::Printf(TEXT("%.2f m^3"), VolArea.X / 1000000);
}
#undef LOCTEXT_NAMESPACE