59 lines
1.3 KiB
C++
59 lines
1.3 KiB
C++
/**
|
|
@file JCIDGenerator.cpp
|
|
@brief
|
|
@author James
|
|
@version 1.0
|
|
@date 2016_5_12
|
|
*/
|
|
|
|
#include "JCIDGenerator.h"
|
|
|
|
namespace laya
|
|
{
|
|
JCIDGenerator::JCIDGenerator()
|
|
{
|
|
}
|
|
JCIDGenerator::~JCIDGenerator()
|
|
{
|
|
}
|
|
bool JCIDGenerator::deleteID(GLuint nFakeID)
|
|
{
|
|
//只设置为无效,不从vector中删除
|
|
if (nFakeID >= 0 && nFakeID < m_vIDTable.size())
|
|
{
|
|
m_vIDTable[nFakeID] = 0;
|
|
}
|
|
return true;
|
|
}
|
|
bool JCIDGenerator::setRealID(GLuint nFakeID,GLuint nRealID)
|
|
{
|
|
if (nFakeID == m_vIDTable.size())
|
|
{
|
|
m_vIDTable.push_back(nRealID);
|
|
}
|
|
else if (nFakeID > m_vIDTable.size())
|
|
{
|
|
int nLastSize = m_vIDTable.size();
|
|
m_vIDTable.resize(nFakeID +1);
|
|
//把中间的空的,全部填充成无效的
|
|
for (int i = nLastSize,n=m_vIDTable.size(); i < n; i++)
|
|
{
|
|
m_vIDTable[i] = 0;
|
|
}
|
|
m_vIDTable[nFakeID] = nRealID;
|
|
}
|
|
else
|
|
{
|
|
m_vIDTable[nFakeID] = nRealID;
|
|
}
|
|
return true;
|
|
}
|
|
void JCIDGenerator::reset()
|
|
{
|
|
m_vIDTable.clear();
|
|
}
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
|
|
|
|
//-----------------------------END FILE--------------------------------
|