Revision: 8672
http://playerstage.svn.sourceforge.net/playerstage/?rev=8672&view=rev
Author: hsujohnhsu
Date: 2010-05-11 23:05:55 +0000 (Tue, 11 May 2010)
Log Message:
-----------
add function to unregister camera from scenenode.
call unregister on ogrecamera destruct.
Modified Paths:
--------------
code/gazebo/trunk/server/rendering/OgreAdaptor.cc
code/gazebo/trunk/server/rendering/OgreAdaptor.hh
code/gazebo/trunk/server/rendering/OgreCamera.cc
Modified: code/gazebo/trunk/server/rendering/OgreAdaptor.cc
===================================================================
--- code/gazebo/trunk/server/rendering/OgreAdaptor.cc 2010-05-11 22:41:08 UTC
(rev 8671)
+++ code/gazebo/trunk/server/rendering/OgreAdaptor.cc 2010-05-11 23:05:55 UTC
(rev 8672)
@@ -258,7 +258,7 @@
}
// Default background color
- this->backgroundColor = new Ogre::ColourValue(Ogre::ColourValue::Black);
+ this->backgroundColor = new Ogre::ColourValue(Ogre::ColourValue::White);
// Load all the plugins
this->LoadPlugins();
@@ -727,6 +727,21 @@
}
////////////////////////////////////////////////////////////////////////////////
+/// Unregister a user camera
+void OgreAdaptor::UnregisterCamera( OgreCamera *cam )
+{
+ std::vector<OgreCamera*>::iterator iter;
+ for(iter=this->cameras.begin();iter != this->cameras.end();iter++)
+ {
+ if ((*iter) == cam)
+ {
+ this->cameras.erase(iter);
+ break;
+ }
+ }
+}
+
+////////////////////////////////////////////////////////////////////////////////
/// Print scene graph
void OgreAdaptor::PrintSceneGraph()
{
Modified: code/gazebo/trunk/server/rendering/OgreAdaptor.hh
===================================================================
--- code/gazebo/trunk/server/rendering/OgreAdaptor.hh 2010-05-11 22:41:08 UTC
(rev 8671)
+++ code/gazebo/trunk/server/rendering/OgreAdaptor.hh 2010-05-11 23:05:55 UTC
(rev 8672)
@@ -112,6 +112,7 @@
/// \brief Register a user camera
public: void RegisterCamera( OgreCamera *cam );
+ public: void UnregisterCamera( OgreCamera *cam );
public: void PrintSceneGraph();
Modified: code/gazebo/trunk/server/rendering/OgreCamera.cc
===================================================================
--- code/gazebo/trunk/server/rendering/OgreCamera.cc 2010-05-11 22:41:08 UTC
(rev 8671)
+++ code/gazebo/trunk/server/rendering/OgreCamera.cc 2010-05-11 23:05:55 UTC
(rev 8672)
@@ -114,11 +114,18 @@
delete this->imageFormatP;
delete this->visMaskP;
delete this->hfovP;
+
+ if (this->pitchNode)
+ {
+ this->sceneNode->removeAndDestroyChild( this->cameraName + "PitchNode");
+ this->pitchNode = NULL;
+ }
if (this->camera)
{
OgreCreator::DeleteCamera(this->camera);
this->camera = NULL;
}
+ OgreAdaptor::Instance()->UnregisterCamera(this);
}
//////////////////////////////////////////////////////////////////////////////
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit