diff --git a/modules/ovis/src/ovis.cpp b/modules/ovis/src/ovis.cpp index eb194f059..1bb213b58 100644 --- a/modules/ovis/src/ovis.cpp +++ b/modules/ovis/src/ovis.cpp @@ -12,6 +12,7 @@ #include #include + namespace cv { namespace ovis @@ -277,7 +278,7 @@ class WindowSceneImpl : public WindowScene RenderWindow* rWin; Ptr camman; Ptr bgplane; - std::unordered_map*> frameCtrlrs; + std::unordered_map*> frameCtrlrs; Ogre::RenderTarget* depthRTT; int flags; @@ -600,9 +601,9 @@ public: animstate->setEnabled(true); animstate->setLoop(loop); - if (frameCtrlrs.find(animname) != frameCtrlrs.end()) return; + if (frameCtrlrs.find(animstate) != frameCtrlrs.end()) return; frameCtrlrs.insert({ - animname, + animstate, Ogre::ControllerManager::getSingleton().createFrameTimePassthroughController( Ogre::AnimationStateControllerValue::create(animstate, true) ) @@ -620,8 +621,8 @@ public: animstate->setEnabled(false); animstate->setTimePosition(0); - Ogre::ControllerManager::getSingleton().destroyController(frameCtrlrs[animname]); - frameCtrlrs.erase(animname); + Ogre::ControllerManager::getSingleton().destroyController(frameCtrlrs[animstate]); + frameCtrlrs.erase(animstate); } void setEntityProperty(const String& name, int prop, const String& value) CV_OVERRIDE @@ -659,7 +660,7 @@ public: Entity* ent = dynamic_cast(node.getAttachedObject(name)); CV_Assert(ent && "invalid entity"); - ent->getSkeleton()->setBlendMode(static_cast(value[0])); + ent->getSkeleton()->setBlendMode(static_cast(int(value[0]))); break; } default: