You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
27 lines
955 B
C++
27 lines
955 B
C++
// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "MeshConstraintsUtil.h"
|
|
|
|
|
|
void FMeshConstraintsUtil::ConstrainAllSeams(FMeshConstraints& Constraints, const FDynamicMesh3& Mesh, bool bAllowSplits, bool bAllowSmoothing)
|
|
{
|
|
if (Mesh.HasAttributes() == false)
|
|
{
|
|
return;
|
|
}
|
|
const FDynamicMeshAttributeSet* Attributes = Mesh.Attributes();
|
|
|
|
FEdgeConstraint EdgeConstraint = (bAllowSplits) ? FEdgeConstraint::SplitsOnly() : FEdgeConstraint::FullyConstrained();
|
|
FVertexConstraint VtxConstraint = (bAllowSmoothing) ? FVertexConstraint::PinnedMovable() : FVertexConstraint::Pinned();
|
|
|
|
for (int EdgeID : Mesh.EdgeIndicesItr())
|
|
{
|
|
if (Attributes->IsSeamEdge(EdgeID))
|
|
{
|
|
Constraints.SetOrUpdateEdgeConstraint(EdgeID, EdgeConstraint);
|
|
FIndex2i EdgeVerts = Mesh.GetEdgeV(EdgeID);
|
|
Constraints.SetOrUpdateVertexConstraint(EdgeVerts.A, VtxConstraint);
|
|
Constraints.SetOrUpdateVertexConstraint(EdgeVerts.B, VtxConstraint);
|
|
}
|
|
}
|
|
} |