@ -66,8 +66,14 @@ public class BrushModel
private void GroupSurfaces(QNode node, QSurface[] surfaces, Dictionary<(IntPtr, int, QSurfaceFlags), List<QSurface>> surfaceGroups)
{
var nodeQueue = new Queue<QNode>();
nodeQueue.Enqueue(node);
while (nodeQueue.Count > 0)
node = nodeQueue.Dequeue();
if (node.contents < 0) // Leaf node
return;
continue;
for (int surfIdx = 0; surfIdx < node.numSurfaces; ++surfIdx)
@ -86,7 +92,8 @@ public class BrushModel
foreach (var childNode in node.Children)
GroupSurfaces(childNode, surfaces, surfaceGroups);
nodeQueue.Enqueue(childNode);
}