本文整理汇总了C++中ogre::resourcemanager::ResourceMapIterator::moveNext方法的典型用法代码示例。如果您正苦于以下问题:C++ ResourceMapIterator::moveNext方法的具体用法?C++ ResourceMapIterator::moveNext怎么用?C++ ResourceMapIterator::moveNext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ogre::resourcemanager::ResourceMapIterator
的用法示例。
在下文中一共展示了ResourceMapIterator::moveNext方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: wxBusyInfo
void
MaterialSelector::Reload(void)
{
if (!Ogre::ResourceGroupManager::getSingletonPtr())
return;
wxBusyInfo* busyInfo = new wxBusyInfo(_("正在读取材质数据 ..."), this);
mMaterialList->Freeze();
mMaterialList->ClearAll();
Ogre::ResourceManager::ResourceMapIterator resourceMapIterator = Ogre::MaterialManager::getSingleton().getResourceIterator();
while ( resourceMapIterator.hasMoreElements() )
{
long index = mMaterialList->GetItemCount();
mMaterialList->InsertItem( index, AS_STRING( resourceMapIterator.peekNextValue()->getName()));
resourceMapIterator.moveNext();
}
mMaterialList->Thaw();
delete busyInfo;
}
示例2: LiquidCreator
void
LiquidCreatorDialog::OnInitDialog(wxInitDialogEvent &e)
{
wxDialog::OnInitDialog(e);
wxSizer* sizer = LiquidCreator(this, true, true);
/// 获取各控件的引用
mComboBox = wxDynamicCast(this->FindWindow(ID_MATERIALCOMBO),wxComboBox);
assert (mComboBox);
Ogre::ResourceManager::ResourceMapIterator resourceMapIterator = Ogre::MaterialManager::getSingleton().getResourceIterator();
while ( resourceMapIterator.hasMoreElements() )
{
if ( resourceMapIterator.peekNextValue()->getGroup() == Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME )
{
Ogre::String matName = resourceMapIterator.peekNextValue()->getName();
// 只有材质名称中包含“水”才加入到combobox中
if (matName.find("water") != Ogre::String::npos ||
matName.find("Water") != Ogre::String::npos ||
matName.find("水01") != Ogre::String::npos)
mComboBox->AppendString( matName.c_str() );
}
resourceMapIterator.moveNext();
}
resourceMapIterator = Ogre::MaterialManager::getSingleton().getResourceIterator();
mComboBox->SetValue( resourceMapIterator.peekNextValue()->getName().c_str() );
mSubDivideTextCtrl = wxDynamicCast(this->FindWindow(ID_SUBDIVISIONTEXTCTRL),wxTextCtrl);
assert (mSubDivideTextCtrl);
mTexScaleTextCtrl = wxDynamicCast(this->FindWindow(ID_TEXCOORDSCALETEXTCTRL),wxTextCtrl);
assert (mTexScaleTextCtrl);
mDiffuseTextCtrl = wxDynamicCast(this->FindWindow(ID_DIFFUSETEXTCTRL),wxTextCtrl);
assert (mDiffuseTextCtrl);
mDepthTextCtrl = wxDynamicCast(this->FindWindow(ID_DEPTHTEXTCTRL),wxTextCtrl);
assert (mDepthTextCtrl);
}
示例3: InitMaterialCombo
void MaterialEditorDialog::InitMaterialCombo(void)
{
typedef std::list<Ogre::String> MaterialFileNameList;
MaterialFileNameList materialFileNameList;
Ogre::FileInfoListPtr fileInfoList =
Ogre::ResourceGroupManager::getSingleton().findResourceFileInfo(
Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
"*.material");
for (Ogre::FileInfoList::const_iterator it = fileInfoList->begin(); it != fileInfoList->end(); ++it)
{
if ( it->archive->getName() == EFFECT_PATH)
{
materialFileNameList.push_back(it->filename);
}
}
Ogre::ResourceManager::ResourceMapIterator resourceMapIterator = Ogre::MaterialManager::getSingleton().getResourceIterator();
while ( resourceMapIterator.hasMoreElements() )
{
Ogre::String matName = resourceMapIterator.peekNextValue()->getName();
for ( MaterialFileNameList::iterator i = materialFileNameList.begin();
i != materialFileNameList.end(); ++i )
{
if ( *i == resourceMapIterator.peekNextValue()->getOrigin() )
{
mMaterialComboBox->Append(matName);
break;
}
}
resourceMapIterator.moveNext();
}
}
示例4: if
wxPGConstants * FairySkillEditDialog::PopulateConstants(const Ogre::String& name)
{
size_t id = reinterpret_cast<size_t>(&name);
wxPGConstants* constants = wxPropertyGrid::GetConstantsArray(id);
if (constants)
{
for (std::list<wxPGConstants*>::iterator it = mConstantList.begin(); it != mConstantList.end(); ++it)
{
if (constants == *it)
{
if (constants->UnRef())
delete constants;
mConstantList.erase(it);
break;
}
}
}
// if (!constants)
// {
constants = wxPropertyGrid::CreateConstantsArray(id);
if ( name == "Animation" )
{
// 第一个为空,表示设置这个元素的材质是用原mesh的材质
for ( unsigned short i = 0; i < mDObject->getSkeletonAnimationCount(); ++i )
{
Ogre::Animation *anim = mDObject->getSkeletonAnimation(i);
if ( anim )
{
constants->Add(anim->getName().c_str());
}
}
}
else if ( name == "EffectTemplateName" )
{
WX::EffectManager::EffectTemplateIterator it =
WX::EffectManager::getSingleton().getEffectTemplateIterator();
while ( it.hasMoreElements() )
{
constants->Add(it.peekNextKey().c_str());
it.moveNext();
}
}
else if ( name == "AttachPoint" )
{
for ( unsigned short i=0; i<mDObject->getNumBones(); ++i )
{
constants->Add(mDObject->getBoneName(i).c_str());
}
Ogre::StringVector locatorNames;
mDObject->getLocatorNames(locatorNames);
for ( size_t i=0; i<locatorNames.size(); ++i )
{
constants->Add(locatorNames[i].c_str());
}
}
else if ( name == "Material" )
{
typedef std::list<Ogre::String> MaterialFileNameList;
MaterialFileNameList materialFileNameList;
Ogre::FileInfoListPtr fileInfoList =
Ogre::ResourceGroupManager::getSingleton().findResourceFileInfo(
Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
"*.material");
for (Ogre::FileInfoList::const_iterator it = fileInfoList->begin(); it != fileInfoList->end(); ++it)
{
if ( it->archive->getName() == MATERIAL_PATH)
{
materialFileNameList.push_back(it->filename);
}
}
Ogre::ResourceManager::ResourceMapIterator resourceMapIterator = Ogre::MaterialManager::getSingleton().getResourceIterator();
while ( resourceMapIterator.hasMoreElements() )
{
Ogre::String matName = resourceMapIterator.peekNextValue()->getName();
for ( MaterialFileNameList::iterator i = materialFileNameList.begin();
i != materialFileNameList.end(); ++i )
{
if ( *i == resourceMapIterator.peekNextValue()->getOrigin() )
{
constants->Add(matName.c_str());
break;
}
}
resourceMapIterator.moveNext();
}
//.........这里部分代码省略.........
示例5: if
wxPGConstants * WXEffectEditDialog::PopulateConstants(const Ogre::String& type)
{
size_t id = reinterpret_cast<size_t>(&type);
wxPGConstants* constants = wxPropertyGrid::GetConstantsArray(id);
if (constants)
{
for (std::list<wxPGConstants*>::iterator it = mConstantList.begin(); it != mConstantList.end(); ++it)
{
if (constants == *it)
{
if (constants->UnRef())
delete constants;
mConstantList.erase(it);
break;
}
}
}
// if (!constants)
// {
constants = wxPropertyGrid::CreateConstantsArray(id);
if ( type == "Material" )
{
typedef std::list<Ogre::String> MaterialFileNameList;
MaterialFileNameList materialFileNameList;
Ogre::FileInfoListPtr fileInfoList =
Ogre::ResourceGroupManager::getSingleton().findResourceFileInfo(
Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
"*.material");
for (Ogre::FileInfoList::const_iterator it = fileInfoList->begin(); it != fileInfoList->end(); ++it)
{
if ( it->archive->getName() == EFFECT_PATH)
{
materialFileNameList.push_back(it->filename);
}
}
// 第一个为空,表示设置这个元素的材质是用原mesh的材质
constants->Add("none");
Ogre::ResourceManager::ResourceMapIterator resourceMapIterator = Ogre::MaterialManager::getSingleton().getResourceIterator();
while ( resourceMapIterator.hasMoreElements() )
{
Ogre::String matName = resourceMapIterator.peekNextValue()->getName();
for ( MaterialFileNameList::iterator i = materialFileNameList.begin();
i != materialFileNameList.end(); ++i )
{
if ( *i == resourceMapIterator.peekNextValue()->getOrigin() )
{
constants->Add(matName.c_str());
break;
}
}
resourceMapIterator.moveNext();
}
}
else if ( type == "MeshName" )
{
constants->Add("none");
Ogre::FileInfoListPtr fileInfoList =
Ogre::ResourceGroupManager::getSingleton().findResourceFileInfo(
Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
"*.mesh");
for (Ogre::FileInfoList::const_iterator it = fileInfoList->begin(); it != fileInfoList->end(); ++it)
{
if ( it->archive->getName() == EFFECT_PATH)
{
const Fairy::String& name = it->filename;
constants->Add(name.c_str());
}
}
}
else if ( type == "ParticleSystem" )
{
Ogre::ParticleSystemManager::ParticleSystemTemplateIterator iterator = Ogre::ParticleSystemManager::getSingleton().getTemplateIterator();
while ( iterator.hasMoreElements() )
{
// 获取到粒子系统的名称
Ogre::String parName = iterator.peekNextKey();
constants->Add(parName.c_str());
// 使iterator往后移
iterator.moveNext();
}
}
registerConstants(constants);
// }
return constants;
}