本文整理汇总了C++中ogre::SceneManager::destroyStaticGeometry方法的典型用法代码示例。如果您正苦于以下问题:C++ SceneManager::destroyStaticGeometry方法的具体用法?C++ SceneManager::destroyStaticGeometry怎么用?C++ SceneManager::destroyStaticGeometry使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ogre::SceneManager
的用法示例。
在下文中一共展示了SceneManager::destroyStaticGeometry方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createStaticBatches
void gkGameObjectGroup::createStaticBatches(gkScene* scene)
{
Ogre::SceneManager* mgr = scene->getManager();
if (m_geometry)
mgr->destroyStaticGeometry(m_geometry);
m_geometry = 0;
// Span all instances.
gkResourceManager::ResourceIterator it = m_instanceManager->getResourceIterator();
while (it.hasMoreElements())
{
gkGameObjectInstance* inst = static_cast<gkGameObjectInstance*>(it.getNext().second);
if (!inst->isInstanced() || !(inst->getLayer() & scene->getLayer()) || inst->getRoot()->getOwner()!=scene)
continue;
gkGameObjectInstance::Objects::Iterator instIt = inst->getObjects().iterator();
while (instIt.hasMoreElements())
{
gkGameObject* obj = instIt.getNext().second;
obj->createInstance();
if (obj->getType() == GK_ENTITY)
{
const gkGameObjectProperties& props = obj->getProperties();
if (!props.isPhysicsObject())
{
gkEntity* ent = obj->getEntity();
if (!m_geometry)
m_geometry = mgr->createStaticGeometry(m_name.getName());
m_geometry->addEntity(ent->getEntity(),
obj->getWorldPosition(),
obj->getWorldOrientation(),
obj->getWorldScale());
// no longer needed
ent->_destroyAsStaticGeometry();
}
}
}
}
if (m_geometry)
{
m_geometry->build();
m_geometry->setCastShadows(false);
}
}
示例2: destroyStaticBatches
void gkGameObjectGroup::destroyStaticBatches(gkScene* scene)
{
bool isSceneUnloading = scene->isBeingDestroyed();
if (!isSceneUnloading)
{
if (m_geometry)
{
Ogre::SceneManager* mgr = scene->getManager();
mgr->destroyStaticGeometry(m_geometry);
}
}
else
{
// TODO: reinstance entities.
m_geometry = 0;
}
}
示例3: operator
bool operator()()
{
if(!component->ready())
return false;
Ogre::SceneManager* sm = GraphicsManager::get().sceneManager();
sm->destroyStaticGeometry(
Ogre::StringConverter::toString(component->localId()));
sm->destroyEntity(
Ogre::StringConverter::toString(component->localId()));
component->m_staticGeometry = 0;
component->m_entity = 0;
ThreadPool::get().schedule(boost::bind(
&ComponentContainer::componentDetachedCallback,
component->parent(), component));
return true;
}