/Engine/Source/Runtime/GeometryCore/Public/DynamicMeshEditor.h
Finds boundary loops of connected components of a set of triangles, and duplicates the vertices along the boundary, such that the triangles become disconnected. If the triangle set includes boundary vertices, they cannot be disconnected as they will become unreferenced. The function returns false if boundary vertices are found, unless bHandleBoundaryVertices = true. In that case, the boundary vertex is duplicated, and the original vertex is kept with the "Inner" loop. The new unreferenced vertex is left on the "Outer" loop, and the attached edges do not exist so are set as InvalidID. TheFLoopPairSet.bOuterIncludesIsolatedVerticesflag is set to true if boundary vertices are encountered. Note: This function can create a mesh with bowties if you pass in a subset of triangles that would have bowtie connectivity. (it is impossible to create the paired LoopSetOut with 1:1 vertex pairs without leaving in the bowties?)
true on success
bool DisconnectTriangles ( const [TArray](API\Runtime\Core\Containers\TArray)< int > & Triangles, [TArray](API\Runtime\Core\Containers\TArray)< [FLoopPairSet](API\Runtime\GeometryCore\FDynamicMeshEditor\FLoopPairSet) > & LoopSetOut, bool bHandleBoundaryVertices )