BoundingBox - Fix exception when empty enumerable was passed

This commit is contained in:
miku-666
2024-10-16 18:32:24 +02:00
parent f3b848c625
commit ba07e8e009
3 changed files with 3 additions and 4 deletions

View File

@@ -71,7 +71,7 @@ namespace PckStudio.Rendering
public static BoundingBox GetEnclosingBoundingBox(IEnumerable<BoundingBox> boundingBoxes)
{
return boundingBoxes.Aggregate((a, b) => new BoundingBox(OpenTK.Vector3.ComponentMin(a.Start, b.Start), OpenTK.Vector3.ComponentMax(a.End, b.End)));
return boundingBoxes.DefaultIfEmpty().Aggregate((a, b) => new BoundingBox(OpenTK.Vector3.ComponentMin(a.Start, b.Start), OpenTK.Vector3.ComponentMax(a.End, b.End)));
}
}
}

View File

@@ -171,8 +171,7 @@ namespace PckStudio.Rendering
{
IEnumerable<BoundingBox> boundingBoxes = cubes
.Where(c => c.Visible)
.Select(c => c.GetBounds(Transform * transform))
.DefaultIfEmpty();
.Select(c => c.GetBounds(Transform * transform));
return BoundingBox.GetEnclosingBoundingBox(boundingBoxes);
}

View File

@@ -1059,7 +1059,7 @@ namespace PckStudio.Rendering
}
yield break;
}
return SelectedIndices.Length >= 1 ? BoundingBox.GetEnclosingBoundingBox(GetBoundingBoxesFromSelectedIndices(SelectedIndices)) : BoundingBox.Empty;
return BoundingBox.GetEnclosingBoundingBox(GetBoundingBoxesFromSelectedIndices(SelectedIndices));
}
private void RenderBodyPart(ShaderProgram shader, Matrix4 partsMatrix, Matrix4 globalMatrix, params string[] partNames)