Commit e639c8ef authored by Pavel Rojtberg's avatar Pavel Rojtberg

ovis: correctly destroy additional windows

parent 20dbe789
...@@ -31,3 +31,5 @@ iwin.setCameraIntrinsics(K, imsize) ...@@ -31,3 +31,5 @@ iwin.setCameraIntrinsics(K, imsize)
while cv.ovis.waitKey(1) != 27: while cv.ovis.waitKey(1) != 27:
R, t = iwin.getCameraPose() R, t = iwin.getCameraPose()
owin.setEntityPose("cam", t, R) owin.setEntityPose("cam", t, R)
del iwin # must be destroyed in reverse creation order
\ No newline at end of file
...@@ -238,6 +238,20 @@ struct Application : public OgreBites::ApplicationContext, public OgreBites::Inp ...@@ -238,6 +238,20 @@ struct Application : public OgreBites::ApplicationContext, public OgreBites::Inp
return ret; return ret;
} }
#if OGRE_VERSION < ((1 << 16) | (12 << 8) | 3)
void destroyWindow(const Ogre::String& name)
{
for (auto it = mWindows.begin(); it != mWindows.end(); ++it)
{
if (it->render->getName() != name)
continue;
mRoot->destroyRenderTarget(it->render);
mWindows.erase(it);
return;
}
}
#endif
size_t numWindows() const { return mWindows.size(); } size_t numWindows() const { return mWindows.size(); }
void locateResources() CV_OVERRIDE void locateResources() CV_OVERRIDE
...@@ -371,6 +385,10 @@ public: ...@@ -371,6 +385,10 @@ public:
_app->closeApp(); _app->closeApp();
_app.release(); _app.release();
} }
else
{
_app->destroyWindow(title);
}
} }
void setBackground(InputArray image) CV_OVERRIDE void setBackground(InputArray image) CV_OVERRIDE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment