Files
UnrealEngineUWP/Engine/Plugins/Experimental/GeometryProcessing/Source/DynamicMesh/Private/Solvers/ConstrainedMeshSmoother.cpp
ryan schmidt e7c0c460cc GeometryProcessing: further refactoring of mesh solvers. Moved different parts of LaplacianMeshSmoother file into ConstarinedMeshSmoothers.h, ConstrainedMeshDeformers.h, ConstrainedMeshDeformationSolver.h, MeshDiffusionIntegrator, and MeshDiffusionSmoothing.h. DeformMeshPolygonsTool now uses IConstrainedMeshSolver interface, and no longer includes Private headers from GeometryProcessing.
Also made a small change to LaplacianOperators.cpp:ConstructScaledCotangentLaplacian(), which had checkSlow() that was failing on zero-elements Area matrix at boundary vertices. Code in this function does not appear to correctly handle boundary vertices (however things work out in the end because matrices are squared later?)

#rb none
#rnx

#ROBOMERGE-SOURCE: CL 13145964 via CL 13145965 via CL 13145966
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v688-13145358)

[CL 13145967 by ryan schmidt in Main branch]
2020-05-03 16:34:34 -04:00

13 lines
471 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Solvers/ConstrainedMeshSmoother.h"
#include "Solvers/Internal/ConstrainedMeshSmoothers.h"
TUniquePtr<UE::Solvers::IConstrainedMeshSolver> UE::MeshDeformation::ConstructConstrainedMeshSmoother(const ELaplacianWeightScheme WeightScheme, const FDynamicMesh3& DynamicMesh)
{
TUniquePtr<UE::Solvers::IConstrainedMeshSolver> Deformer(new FBiHarmonicMeshSmoother(DynamicMesh, WeightScheme));
return Deformer;
}