From c7f09e01719ad081548a5f46f5f6614a02334e6e Mon Sep 17 00:00:00 2001 From: Shauren Date: Wed, 11 Dec 2024 19:44:03 +0100 Subject: Core/Vmaps: Minor cleanup (formatting) and documentation updates for BIH::build copy vs move choice (cherry picked from commit 62dbb0619b552d22ec35f89249553b518af609b7) --- src/common/Collision/Models/GameObjectModel.cpp | 4 ++-- src/common/Collision/Models/WorldModel.cpp | 5 +++-- src/common/Collision/Models/WorldModel.h | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) (limited to 'src/common/Collision/Models') diff --git a/src/common/Collision/Models/GameObjectModel.cpp b/src/common/Collision/Models/GameObjectModel.cpp index 9fcf1b85e20..7e8d0b9d438 100644 --- a/src/common/Collision/Models/GameObjectModel.cpp +++ b/src/common/Collision/Models/GameObjectModel.cpp @@ -122,7 +122,7 @@ bool GameObjectModel::initialize(std::unique_ptr model iInvRot = iRotation.inverse(); // transform bounding box: mdl_box = AABox(mdl_box.low() * iScale, mdl_box.high() * iScale); - AABox rotated_bounds; + AABox rotated_bounds = G3D::AABox::empty(); for (int i = 0; i < 8; ++i) rotated_bounds.merge(iRotation * mdl_box.corner(i)); @@ -252,7 +252,7 @@ bool GameObjectModel::UpdatePosition() iInvRot = iRotation.inverse(); // transform bounding box: mdl_box = AABox(mdl_box.low() * iScale, mdl_box.high() * iScale); - AABox rotated_bounds; + AABox rotated_bounds = G3D::AABox::empty(); for (int i = 0; i < 8; ++i) rotated_bounds.merge(iRotation * mdl_box.corner(i)); diff --git a/src/common/Collision/Models/WorldModel.cpp b/src/common/Collision/Models/WorldModel.cpp index 68e9128a6e9..32548782103 100644 --- a/src/common/Collision/Models/WorldModel.cpp +++ b/src/common/Collision/Models/WorldModel.cpp @@ -26,7 +26,8 @@ using G3D::Vector3; template<> struct BoundsTrait { - static void getBounds(const VMAP::GroupModel& obj, G3D::AABox& out) { out = obj.GetBound(); } + static void getBounds(VMAP::GroupModel const& obj, G3D::AABox& out) { out = obj.GetBound(); } + void operator()(VMAP::GroupModel const& obj, G3D::AABox& out) const { getBounds(obj, out); } }; namespace VMAP @@ -477,7 +478,7 @@ namespace VMAP void WorldModel::setGroupModels(std::vector& models) { groupModels.swap(models); - groupTree.build(groupModels, BoundsTrait::getBounds, 1); + groupTree.build(groupModels, BoundsTrait(), 1); } struct WModelRayCallBack diff --git a/src/common/Collision/Models/WorldModel.h b/src/common/Collision/Models/WorldModel.h index 5e6d2a8a2fb..fd09703cfc5 100644 --- a/src/common/Collision/Models/WorldModel.h +++ b/src/common/Collision/Models/WorldModel.h @@ -80,7 +80,7 @@ namespace VMAP class TC_COMMON_API GroupModel { public: - GroupModel() : iBound(), iMogpFlags(0), iGroupWMOID(0), iLiquid(nullptr) { } + GroupModel() : iBound(G3D::AABox::empty()), iMogpFlags(0), iGroupWMOID(0), iLiquid(nullptr) { } GroupModel(GroupModel const& other); GroupModel(uint32 mogpFlags, uint32 groupWMOID, G3D::AABox const& bound): iBound(bound), iMogpFlags(mogpFlags), iGroupWMOID(groupWMOID), iLiquid(nullptr) { } -- cgit v1.2.3