mirror of
https://github.com/AxioDL/PrimeWorldEditor.git
synced 2025-12-18 17:35:43 +00:00
CPoiMapModel: Pass by const where applicable
This commit is contained in:
@@ -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];
|
||||||
}
|
}
|
||||||
@@ -174,11 +173,11 @@ void CPoiMapModel::OnMapChange(CWorld*, CGameArea *pArea)
|
|||||||
if (mpPoiToWorld)
|
if (mpPoiToWorld)
|
||||||
{
|
{
|
||||||
// Create an ID -> Model Node lookup map
|
// Create an ID -> Model Node lookup map
|
||||||
QMap<uint32,CModelNode*> NodeMap;
|
QMap<uint32, CModelNode*> NodeMap;
|
||||||
|
|
||||||
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*>();
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user