From 282596007950093ef9fce4ed3d4bd6f66e735c6a Mon Sep 17 00:00:00 2001 From: Lioncache Date: Sun, 14 Dec 2025 01:26:27 -0500 Subject: [PATCH] CBasicModel: Return CAABox by const reference Allows avoiding unnecessary 24 byte copies, plus unnecessary function calls for extremely trivial members. --- src/Core/Resource/Model/CBasicModel.cpp | 34 +++++-------------------- src/Core/Resource/Model/CBasicModel.h | 13 +++++----- 2 files changed, 14 insertions(+), 33 deletions(-) diff --git a/src/Core/Resource/Model/CBasicModel.cpp b/src/Core/Resource/Model/CBasicModel.cpp index 2759276a..3b758042 100644 --- a/src/Core/Resource/Model/CBasicModel.cpp +++ b/src/Core/Resource/Model/CBasicModel.cpp @@ -14,37 +14,17 @@ CBasicModel::~CBasicModel() delete surface; } -size_t CBasicModel::GetVertexCount() const +const CAABox& CBasicModel::GetSurfaceAABox(size_t Surface) const { - return mVertexCount; -} - -size_t CBasicModel::GetTriangleCount() const -{ - return mTriangleCount; -} - -CAABox CBasicModel::AABox() const -{ - return mAABox; -} - -bool CBasicModel::IsBuffered() const -{ - return mBuffered; -} - -size_t CBasicModel::GetSurfaceCount() const -{ - return mSurfaces.size(); -} - -CAABox CBasicModel::GetSurfaceAABox(size_t Surface) const -{ - return mSurfaces[Surface]->AABox; + return GetSurface(Surface)->AABox; } SSurface* CBasicModel::GetSurface(size_t Surface) { return mSurfaces[Surface]; } + +const SSurface* CBasicModel::GetSurface(size_t Surface) const +{ + return mSurfaces[Surface]; +} diff --git a/src/Core/Resource/Model/CBasicModel.h b/src/Core/Resource/Model/CBasicModel.h index 2d90ec4a..decaff5b 100644 --- a/src/Core/Resource/Model/CBasicModel.h +++ b/src/Core/Resource/Model/CBasicModel.h @@ -24,13 +24,14 @@ public: explicit CBasicModel(CResourceEntry *pEntry = nullptr); ~CBasicModel() override; - size_t GetVertexCount() const; - size_t GetTriangleCount() const; - CAABox AABox() const; - bool IsBuffered() const; - size_t GetSurfaceCount() const; - CAABox GetSurfaceAABox(size_t Surface) const; + size_t GetVertexCount() const { return mVertexCount; } + size_t GetTriangleCount() const { return mTriangleCount; } + const CAABox& AABox() const { return mAABox; } + bool IsBuffered() const { return mBuffered; } + size_t GetSurfaceCount() const { return mSurfaces.size(); } + const CAABox& GetSurfaceAABox(size_t Surface) const; SSurface* GetSurface(size_t Surface); + const SSurface* GetSurface(size_t Surface) const; virtual void ClearGLBuffer() = 0; };