From 953199d6871fb6f85d4e71a6da478b7f950be660 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Wed, 9 Oct 2024 14:30:08 +0200 Subject: [PATCH] Move 'SceneViewport.GetBounds' to 'BoundingBox.GetEnclosingBoundingBox' --- PCK-Studio/Rendering/BoundingBox.cs | 5 +++++ PCK-Studio/Rendering/ModelRenderer.cs | 2 +- PCK-Studio/Rendering/SceneViewport.cs | 5 ----- PCK-Studio/Rendering/SkinRenderer.cs | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/PCK-Studio/Rendering/BoundingBox.cs b/PCK-Studio/Rendering/BoundingBox.cs index aba58775..1ed7a458 100644 --- a/PCK-Studio/Rendering/BoundingBox.cs +++ b/PCK-Studio/Rendering/BoundingBox.cs @@ -68,5 +68,10 @@ namespace PckStudio.Rendering 3, 7 ]; } + + public static BoundingBox GetEnclosingBoundingBox(IEnumerable boundingBoxes) + { + return boundingBoxes.Aggregate((a, b) => new BoundingBox(OpenTK.Vector3.ComponentMin(a.Start, b.Start), OpenTK.Vector3.ComponentMax(a.End, b.End))); + } } } diff --git a/PCK-Studio/Rendering/ModelRenderer.cs b/PCK-Studio/Rendering/ModelRenderer.cs index 2f8fa24e..6c79e344 100644 --- a/PCK-Studio/Rendering/ModelRenderer.cs +++ b/PCK-Studio/Rendering/ModelRenderer.cs @@ -115,7 +115,7 @@ namespace PckStudio.Rendering .Select(b => new ModelBox(b.Position + p.Translation, b.Size, System.Numerics.Vector2.Zero, 0f, false))) .Select(b => new BoundingBox(b.Position, b.Position + b.Size)); - _maxBounds = GetBounds(allBoxes); + _maxBounds = BoundingBox.GetEnclosingBoundingBox(allBoxes); if (!GameModelImporter.ModelMetaData.TryGetValue(model.Name, out JsonModelMetaData modelMetaData)) { diff --git a/PCK-Studio/Rendering/SceneViewport.cs b/PCK-Studio/Rendering/SceneViewport.cs index 0bb175d1..a62a926d 100644 --- a/PCK-Studio/Rendering/SceneViewport.cs +++ b/PCK-Studio/Rendering/SceneViewport.cs @@ -283,11 +283,6 @@ namespace PckStudio.Rendering Renderer.SetLineWidth(1f); } - protected BoundingBox GetBounds(IEnumerable boundingBoxes) - { - return boundingBoxes.Aggregate((a, b) => new BoundingBox(Vector3.ComponentMin(a.Start, b.Start), Vector3.ComponentMax(a.End, b.End))); - } - static void DebugProc(DebugSource source, DebugType type, int id, DebugSeverity severity, int length, IntPtr message, IntPtr instanceHandle) { string dbgMessage = Marshal.PtrToStringAnsi(message, length); diff --git a/PCK-Studio/Rendering/SkinRenderer.cs b/PCK-Studio/Rendering/SkinRenderer.cs index db708a94..721152a8 100644 --- a/PCK-Studio/Rendering/SkinRenderer.cs +++ b/PCK-Studio/Rendering/SkinRenderer.cs @@ -1042,7 +1042,7 @@ namespace PckStudio.Rendering } yield break; } - return SelectedIndices.Length >= 1 ? GetBounds(GetBoundingBoxesFromSelectedIndices(SelectedIndices)) : BoundingBox.Empty; + return SelectedIndices.Length >= 1 ? BoundingBox.GetEnclosingBoundingBox(GetBoundingBoxesFromSelectedIndices(SelectedIndices)) : BoundingBox.Empty; } private void RenderBodyPart(ShaderProgram shader, Matrix4 partsMatrix, Matrix4 globalMatrix, params string[] partNames)