Esempio n. 1
0
Ogre::Entity* OGRE3DPointRenderable::fetchEntity(const Ogre::String& name)
{
 Ogre::Entity* entity = NULL;
 
 if (Ogre::StringUtil::endsWith(name, ".mesh")) // Is it a mesh?
 {
  entity = mRenderSystem->getSceneManager()->createEntity(mRenderSystem->getUniqueName("Entity"), name);
 }
 else if (mRenderSystem->getSceneManager()->hasEntity(name)) // Could it be an entity?
 {
  entity = mRenderSystem->getSceneManager()->getEntity(name);
  
  if (entity->isAttached())
   entity->getParentSceneNode()->detachObject(entity);
 }
 else // It must be a mesh.
 {
  entity = mRenderSystem->getSceneManager()->createEntity(mRenderSystem->getUniqueName("Entity"), name);
 }
 
 return entity;
}