You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
ModelingTools: Initialize triangle groups at the call site and disable compute of group mappings unless requested.
#rb ryan.schmidt #rnx #jira UE-137576 #preflight 61de464fb97cb66880a054df #ROBOMERGE-AUTHOR: lonnie.li #ROBOMERGE-SOURCE: CL 18587641 in //UE5/Release-5.0/... via CL 18587793 via CL 18587824 #ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669) [CL 18587891 by lonnie li in ue5-main branch]
This commit is contained in:
+23
-13
@@ -1929,11 +1929,7 @@ void FDynamicMeshEditor::AppendTriangles(const FDynamicMesh3* SourceMesh, const
|
||||
ResultOut.Reset();
|
||||
IndexMaps.Initialize(Mesh);
|
||||
|
||||
if (SourceMesh->HasTriangleGroups())
|
||||
{
|
||||
Mesh->EnableTriangleGroups();
|
||||
}
|
||||
|
||||
int DefaultGroupID = FDynamicMesh3::InvalidID;
|
||||
for (int SourceTriangleID : SourceTriangles)
|
||||
{
|
||||
check(SourceMesh->IsTriangle(SourceTriangleID));
|
||||
@@ -1946,19 +1942,33 @@ void FDynamicMeshEditor::AppendTriangles(const FDynamicMesh3* SourceMesh, const
|
||||
|
||||
// FindOrCreateDuplicateGroup
|
||||
int NewGroupID = FDynamicMesh3::InvalidID;
|
||||
if (SourceMesh->HasTriangleGroups())
|
||||
if (Mesh->HasTriangleGroups())
|
||||
{
|
||||
int SourceGroupID = SourceMesh->GetTriangleGroup(SourceTriangleID);
|
||||
if (SourceGroupID >= 0)
|
||||
if (SourceMesh->HasTriangleGroups())
|
||||
{
|
||||
NewGroupID = IndexMaps.GetNewGroup(SourceGroupID);
|
||||
if (NewGroupID == IndexMaps.InvalidID())
|
||||
int SourceGroupID = SourceMesh->GetTriangleGroup(SourceTriangleID);
|
||||
if (SourceGroupID >= 0)
|
||||
{
|
||||
NewGroupID = Mesh->AllocateTriangleGroup();
|
||||
IndexMaps.SetGroup(SourceGroupID, NewGroupID);
|
||||
ResultOut.NewGroups.Add(NewGroupID);
|
||||
NewGroupID = IndexMaps.GetNewGroup(SourceGroupID);
|
||||
if (NewGroupID == IndexMaps.InvalidID())
|
||||
{
|
||||
NewGroupID = Mesh->AllocateTriangleGroup();
|
||||
IndexMaps.SetGroup(SourceGroupID, NewGroupID);
|
||||
ResultOut.NewGroups.Add(NewGroupID);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// If the source mesh does not have triangle groups, but the destination
|
||||
// mesh does, create a default group for all triangles.
|
||||
if (DefaultGroupID == FDynamicMesh3::InvalidID)
|
||||
{
|
||||
DefaultGroupID = Mesh->AllocateTriangleGroup();
|
||||
ResultOut.NewGroups.Add(DefaultGroupID);
|
||||
}
|
||||
NewGroupID = DefaultGroupID;
|
||||
}
|
||||
}
|
||||
|
||||
// FindOrCreateDuplicateVertex
|
||||
|
||||
Reference in New Issue
Block a user