12
12
#include < opencv2/calib3d.hpp>
13
13
#include < opencv2/core/utils/configuration.private.hpp>
14
14
15
+
15
16
namespace cv
16
17
{
17
18
namespace ovis
@@ -277,7 +278,7 @@ class WindowSceneImpl : public WindowScene
277
278
RenderWindow* rWin;
278
279
Ptr<OgreBites::CameraMan> camman;
279
280
Ptr<Rectangle2D> bgplane;
280
- std::unordered_map<String , Controller<Real>*> frameCtrlrs;
281
+ std::unordered_map<AnimationState* , Controller<Real>*> frameCtrlrs;
281
282
282
283
Ogre::RenderTarget* depthRTT;
283
284
int flags;
@@ -600,9 +601,9 @@ class WindowSceneImpl : public WindowScene
600
601
animstate->setEnabled (true );
601
602
animstate->setLoop (loop);
602
603
603
- if (frameCtrlrs.find (animname ) != frameCtrlrs.end ()) return ;
604
+ if (frameCtrlrs.find (animstate ) != frameCtrlrs.end ()) return ;
604
605
frameCtrlrs.insert ({
605
- animname ,
606
+ animstate ,
606
607
Ogre::ControllerManager::getSingleton ().createFrameTimePassthroughController (
607
608
Ogre::AnimationStateControllerValue::create (animstate, true )
608
609
)
@@ -620,8 +621,8 @@ class WindowSceneImpl : public WindowScene
620
621
621
622
animstate->setEnabled (false );
622
623
animstate->setTimePosition (0 );
623
- Ogre::ControllerManager::getSingleton ().destroyController (frameCtrlrs[animname ]);
624
- frameCtrlrs.erase (animname );
624
+ Ogre::ControllerManager::getSingleton ().destroyController (frameCtrlrs[animstate ]);
625
+ frameCtrlrs.erase (animstate );
625
626
}
626
627
627
628
void setEntityProperty (const String& name, int prop, const String& value) CV_OVERRIDE
@@ -659,7 +660,7 @@ class WindowSceneImpl : public WindowScene
659
660
Entity* ent = dynamic_cast <Entity*>(node.getAttachedObject (name));
660
661
CV_Assert (ent && " invalid entity" );
661
662
662
- ent->getSkeleton ()->setBlendMode (static_cast <Ogre::SkeletonAnimationBlendMode>(value[0 ]));
663
+ ent->getSkeleton ()->setBlendMode (static_cast <Ogre::SkeletonAnimationBlendMode>(int ( value[0 ]) ));
663
664
break ;
664
665
}
665
666
default :
0 commit comments