MCPcopy Create free account
hub / github.com/OpenDungeons/OpenDungeons / rrCreateRenderedMovableEntity

Method rrCreateRenderedMovableEntity

source/render/RenderManager.cpp:688–725  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

686}
687
688void RenderManager::rrCreateRenderedMovableEntity(RenderedMovableEntity* renderedMovableEntity)
689{
690 std::string meshName = renderedMovableEntity->getMeshName();
691 std::string tempString = renderedMovableEntity->getOgreNamePrefix() + renderedMovableEntity->getName();
692
693 Ogre::SceneNode* node = mRoomSceneNode->createChildSceneNode(tempString + "_node");
694
695 node->setPosition(renderedMovableEntity->getPosition());
696 node->roll(Ogre::Degree(renderedMovableEntity->getRotationAngle()));
697 Ogre::Entity* ent = nullptr;
698 if(!meshName.empty())
699 {
700 ent = mSceneManager->createEntity(tempString, meshName + ".mesh");
701 node->attachObject(ent);
702 }
703
704 renderedMovableEntity->setParentSceneNode(node->getParentSceneNode());
705 renderedMovableEntity->setEntityNode(node);
706
707 // If it is required, we hide the tile
708 if((renderedMovableEntity->getHideCoveredTile()) &&
709 (renderedMovableEntity->getOpacity() >= 1.0))
710 {
711 Tile* posTile = renderedMovableEntity->getPositionTile();
712 if(posTile == nullptr)
713 return;
714
715 std::string tileName = posTile->getOgreNamePrefix() + posTile->getName();
716 if (!mSceneManager->hasEntity(tileName))
717 return;
718
719 Ogre::Entity* entity = mSceneManager->getEntity(tileName);
720 entity->setVisible(false);
721 }
722
723 if ((ent != nullptr) && (renderedMovableEntity->getOpacity() < 1.0f))
724 setEntityOpacity(ent, renderedMovableEntity->getOpacity());
725}
726
727void RenderManager::rrDestroyRenderedMovableEntity(RenderedMovableEntity* curRenderedMovableEntity)
728{

Callers 1

createMeshLocalMethod · 0.80

Calls 10

setParentSceneNodeMethod · 0.80
getParentSceneNodeMethod · 0.80
setEntityNodeMethod · 0.80
getHideCoveredTileMethod · 0.80
getOpacityMethod · 0.80
getPositionTileMethod · 0.80
setVisibleMethod · 0.80
getOgreNamePrefixMethod · 0.45
setPositionMethod · 0.45
getRotationAngleMethod · 0.45

Tested by

no test coverage detected