fix(rendering): selection box around models

This commit is contained in:
maelstrom 2025-06-10 21:05:25 +02:00
parent 525a9155e4
commit e51ed0c7c5
2 changed files with 5 additions and 5 deletions

View file

@ -23,6 +23,7 @@ public:
inline CFrame assemblyOrigin() { return _assemblyOrigin; }; inline CFrame assemblyOrigin() { return _assemblyOrigin; };
inline Vector3 bounds() { return _bounds; }; inline Vector3 bounds() { return _bounds; };
inline Vector3 size() { return _size; }; inline Vector3 size() { return _size; };
inline bool multipleSelected() { return parts.size() > 1; }
// Transforms the assembly such that newOrigin is now this assembly's new assemblyOrigin // Transforms the assembly such that newOrigin is now this assembly's new assemblyOrigin
void SetOrigin(CFrame newOrigin); void SetOrigin(CFrame newOrigin);

View file

@ -475,11 +475,10 @@ void renderOutlines() {
} }
// Render AABB of selected parts // Render AABB of selected parts
if (count <= 1) return; PartAssembly selectionAssembly = PartAssembly::FromSelection();
if (!selectionAssembly.multipleSelected()) return;
glm::vec3 outlineSize, outlinePos; glm::vec3 outlineSize = selectionAssembly.bounds();
outlineSize = (max - min); glm::vec3 outlinePos = selectionAssembly.assemblyOrigin().Position();
outlinePos = (max + min) / 2.f;
glm::mat4 model = glm::translate(glm::mat4(1.0f), outlinePos); glm::mat4 model = glm::translate(glm::mat4(1.0f), outlinePos);
model = glm::scale(model, outlineSize + glm::vec3(0.1)); model = glm::scale(model, outlineSize + glm::vec3(0.1));