📄 modelloadmanager.cpp
字号:
#include "StdAfx.h"
#include "../model/Model.h"
#include "ModelLoadManager.h"
//-------------------------------------------------------------------------------
// 模型载入管理器全局对象
//-------------------------------------------------------------------------------
CModelLoadManager g_ModelLoadManager;
//-------------------------------------------------------------------------------
// 构造函数
//-------------------------------------------------------------------------------
CModelLoadManager::CModelLoadManager()
{
}
//-------------------------------------------------------------------------------
// 析构函数
//-------------------------------------------------------------------------------
CModelLoadManager::~CModelLoadManager()
{
CleanUp();
}
//-------------------------------------------------------------------------------
// 载入模型
//-------------------------------------------------------------------------------
Model *CModelLoadManager::LoadModel(const char *szFilename)
{
char buf[64];
strcpy(buf, szFilename);
strlwr(buf);
Model *pModel = FindIsLoad(buf);
if (pModel == NULL)
{
pModel = new Model;
pModel->Import3DS(szFilename);
}
return pModel;
}
//-------------------------------------------------------------------------------
// 查找是否载入过
//-------------------------------------------------------------------------------
Model *CModelLoadManager::FindIsLoad(const char *szFilename)
{
FileMap::iterator itr = m_modelFileMap.find(szFilename);
if (itr != m_modelFileMap.end())
{
return itr->second;
}
else
{
return NULL;
}
}
//-------------------------------------------------------------------------------
// 清空所有模型资源
//-------------------------------------------------------------------------------
void CModelLoadManager::CleanUp()
{
FileMap::iterator itr = m_modelFileMap.begin();
for (; itr != m_modelFileMap.end(); ++itr)
{
Model *pModel = itr->second;
delete pModel;
}
m_modelFileMap.clear();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -