CPoiMapModel: Pass by const where applicable

This commit is contained in:
Lioncache
2025-12-12 11:35:17 -05:00
parent b2fbbaa87c
commit 7f714eee07
2 changed files with 19 additions and 21 deletions

View File

@@ -62,7 +62,7 @@ QVariant CPoiMapModel::data(const QModelIndex& rkIndex, int Role) const
return QVariant(); return QVariant();
} }
void CPoiMapModel::AddPOI(CScriptNode *pPOI) void CPoiMapModel::AddPOI(const CScriptNode* pPOI)
{ {
if (mModelMap.contains(pPOI)) if (mModelMap.contains(pPOI))
return; return;
@@ -79,7 +79,7 @@ void CPoiMapModel::AddPOI(CScriptNode *pPOI)
void CPoiMapModel::AddMapping(const QModelIndex& rkIndex, CModelNode *pNode) void CPoiMapModel::AddMapping(const QModelIndex& rkIndex, CModelNode *pNode)
{ {
CScriptNode *pPOI = PoiNodePointer(rkIndex); const CScriptNode* pPOI = PoiNodePointer(rkIndex);
AddPOI(pPOI); AddPOI(pPOI);
QList<CModelNode*> *pList = mModelMap[pPOI]; QList<CModelNode*> *pList = mModelMap[pPOI];
@@ -92,7 +92,7 @@ void CPoiMapModel::AddMapping(const QModelIndex& rkIndex, CModelNode *pNode)
void CPoiMapModel::RemovePOI(const QModelIndex& rkIndex) void CPoiMapModel::RemovePOI(const QModelIndex& rkIndex)
{ {
beginRemoveRows(QModelIndex(), rkIndex.row(), rkIndex.row()); beginRemoveRows(QModelIndex(), rkIndex.row(), rkIndex.row());
CScriptNode *pPOI = PoiNodePointer(rkIndex); const CScriptNode* pPOI = PoiNodePointer(rkIndex);
if (mModelMap.contains(pPOI)) if (mModelMap.contains(pPOI))
{ {
@@ -106,7 +106,7 @@ void CPoiMapModel::RemovePOI(const QModelIndex& rkIndex)
void CPoiMapModel::RemoveMapping(const QModelIndex& rkIndex, CModelNode *pNode) void CPoiMapModel::RemoveMapping(const QModelIndex& rkIndex, CModelNode *pNode)
{ {
CScriptNode *pPOI = PoiNodePointer(rkIndex); const CScriptNode* pPOI = PoiNodePointer(rkIndex);
if (mModelMap.contains(pPOI)) if (mModelMap.contains(pPOI))
{ {
@@ -120,7 +120,7 @@ void CPoiMapModel::RemoveMapping(const QModelIndex& rkIndex, CModelNode *pNode)
} }
} }
bool CPoiMapModel::IsPoiTracked(CScriptNode *pPOI) const bool CPoiMapModel::IsPoiTracked(const CScriptNode* pPOI) const
{ {
return mModelMap.contains(pPOI); return mModelMap.contains(pPOI);
} }
@@ -130,12 +130,11 @@ bool CPoiMapModel::IsModelMapped(const QModelIndex& rkIndex, CModelNode *pNode)
if (!pNode) if (!pNode)
return false; return false;
CScriptNode *pPOI = PoiNodePointer(rkIndex); const CScriptNode* pPOI = PoiNodePointer(rkIndex);
if (mModelMap.contains(pPOI)) if (mModelMap.contains(pPOI))
{ {
QList<CModelNode*> *pList = mModelMap[pPOI]; QList<CModelNode*> *pList = mModelMap[pPOI];
return (pList->contains(pNode)); return pList->contains(pNode);
} }
return false; return false;
@@ -156,11 +155,11 @@ CScriptNode* CPoiMapModel::PoiNodePointer(const QModelIndex& rkIndex) const
const QList<CModelNode*>& CPoiMapModel::GetPoiMeshList(const QModelIndex& rkIndex) const const QList<CModelNode*>& CPoiMapModel::GetPoiMeshList(const QModelIndex& rkIndex) const
{ {
CScriptNode *pPOI = PoiNodePointer(rkIndex); const CScriptNode* pPOI = PoiNodePointer(rkIndex);
return GetPoiMeshList(pPOI); return GetPoiMeshList(pPOI);
} }
const QList<CModelNode*>& CPoiMapModel::GetPoiMeshList(CScriptNode *pPOI) const const QList<CModelNode*>& CPoiMapModel::GetPoiMeshList(const CScriptNode *pPOI) const
{ {
return *mModelMap[pPOI]; return *mModelMap[pPOI];
} }
@@ -178,7 +177,7 @@ void CPoiMapModel::OnMapChange(CWorld*, CGameArea *pArea)
for (CSceneIterator It(mpEditor->Scene(), ENodeType::Model, true); !It.DoneIterating(); ++It) for (CSceneIterator It(mpEditor->Scene(), ENodeType::Model, true); !It.DoneIterating(); ++It)
{ {
CModelNode *pNode = static_cast<CModelNode*>(*It); auto* pNode = static_cast<CModelNode*>(*It);
NodeMap[pNode->FindMeshID()] = pNode; NodeMap[pNode->FindMeshID()] = pNode;
} }
@@ -186,9 +185,8 @@ void CPoiMapModel::OnMapChange(CWorld*, CGameArea *pArea)
for (size_t iPoi = 0; iPoi < mpPoiToWorld->NumMappedPOIs(); iPoi++) for (size_t iPoi = 0; iPoi < mpPoiToWorld->NumMappedPOIs(); iPoi++)
{ {
const CPoiToWorld::SPoiMap *pkMap = mpPoiToWorld->MapByIndex(iPoi); const CPoiToWorld::SPoiMap *pkMap = mpPoiToWorld->MapByIndex(iPoi);
CScriptNode *pPoiNode = mpEditor->Scene()->NodeForInstanceID(pkMap->PoiID);
if (pPoiNode) if (const auto* pPoiNode = mpEditor->Scene()->NodeForInstanceID(pkMap->PoiID))
{ {
auto* pModelList = new QList<CModelNode*>(); auto* pModelList = new QList<CModelNode*>();

View File

@@ -20,7 +20,7 @@ class CPoiMapModel : public QAbstractListModel
CGameArea *mpArea = nullptr; CGameArea *mpArea = nullptr;
TResPtr<CPoiToWorld> mpPoiToWorld; TResPtr<CPoiToWorld> mpPoiToWorld;
QMap<CScriptNode*, QList<CModelNode*>*> mModelMap; QMap<const CScriptNode*, QList<CModelNode*>*> mModelMap;
public: public:
explicit CPoiMapModel(CWorldEditor *pEditor, QObject *pParent = nullptr); explicit CPoiMapModel(CWorldEditor *pEditor, QObject *pParent = nullptr);
@@ -29,16 +29,16 @@ public:
int rowCount(const QModelIndex& rkParent) const override; int rowCount(const QModelIndex& rkParent) const override;
QVariant data(const QModelIndex& rkIndex, int Role) const override; QVariant data(const QModelIndex& rkIndex, int Role) const override;
void AddPOI(CScriptNode *pPOI); void AddPOI(const CScriptNode* pPOI);
void AddMapping(const QModelIndex& rkIndex, CModelNode* pNode); void AddMapping(const QModelIndex& rkIndex, CModelNode* pNode);
void RemovePOI(const QModelIndex& rkIndex); void RemovePOI(const QModelIndex& rkIndex);
void RemoveMapping(const QModelIndex& rkIndex, CModelNode* pNode); void RemoveMapping(const QModelIndex& rkIndex, CModelNode* pNode);
bool IsPoiTracked(CScriptNode *pPOI) const; bool IsPoiTracked(const CScriptNode* pPOI) const;
bool IsModelMapped(const QModelIndex& rkIndex, CModelNode* pNode) const; bool IsModelMapped(const QModelIndex& rkIndex, CModelNode* pNode) const;
CScriptNode* PoiNodePointer(const QModelIndex& rkIndex) const; CScriptNode* PoiNodePointer(const QModelIndex& rkIndex) const;
const QList<CModelNode*>& GetPoiMeshList(const QModelIndex& rkIndex) const; const QList<CModelNode*>& GetPoiMeshList(const QModelIndex& rkIndex) const;
const QList<CModelNode*>& GetPoiMeshList(CScriptNode *pPOI) const; const QList<CModelNode*>& GetPoiMeshList(const CScriptNode* pPOI) const;
public slots: public slots:
void OnMapChange(CWorld*, CGameArea *pArea); void OnMapChange(CWorld*, CGameArea *pArea);