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

Method rrOrientEntityToward

source/render/RenderManager.cpp:836–850  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

834}
835
836void RenderManager::rrOrientEntityToward(MovableGameEntity* gameEntity, const Ogre::Vector3& direction)
837{
838 Ogre::SceneNode* node = mSceneManager->getSceneNode(gameEntity->getOgreNamePrefix() + gameEntity->getName() + "_node");
839 Ogre::Vector3 tempVector = node->getOrientation() * Ogre::Vector3::NEGATIVE_UNIT_Y;
840
841 // Work around 180 degree quaternion rotation quirk
842 if ((1.0f + tempVector.dotProduct(direction)) < 0.0001f)
843 {
844 node->roll(Ogre::Degree(180));
845 }
846 else
847 {
848 node->rotate(tempVector.getRotationTo(direction));
849 }
850}
851
852void RenderManager::rrScaleCreature(Creature& creature)
853{

Callers 2

setWalkDirectionMethod · 0.80
restoreEntityStateMethod · 0.80

Calls 1

getOgreNamePrefixMethod · 0.45

Tested by

no test coverage detected