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)