Revision: 8584
http://playerstage.svn.sourceforge.net/playerstage/?rev=8584&view=rev
Author: natepak
Date: 2010-03-12 02:05:17 +0000 (Fri, 12 Mar 2010)
Log Message:
-----------
Cleaned up destruction of visuals
Modified Paths:
--------------
code/gazebo/trunk/server/AssimpLoader.cc
code/gazebo/trunk/server/Entity.cc
code/gazebo/trunk/server/Factory.cc
code/gazebo/trunk/server/Model.cc
code/gazebo/trunk/server/gui/GLWindow.cc
code/gazebo/trunk/server/physics/Body.cc
code/gazebo/trunk/server/physics/PhysicsEngine.cc
code/gazebo/trunk/server/physics/bullet/BulletPhysics.cc
code/gazebo/trunk/server/rendering/CameraManager.cc
code/gazebo/trunk/server/rendering/OgreCreator.cc
code/gazebo/trunk/server/rendering/OgreVisual.cc
code/gazebo/trunk/server/rendering/UserCamera.cc
Modified: code/gazebo/trunk/server/AssimpLoader.cc
===================================================================
--- code/gazebo/trunk/server/AssimpLoader.cc 2010-03-12 00:21:16 UTC (rev
8583)
+++ code/gazebo/trunk/server/AssimpLoader.cc 2010-03-12 02:05:17 UTC (rev
8584)
@@ -34,7 +34,7 @@
if (!scene)
{
- std::cout << "Importer Error:" << this->importer.GetErrorString();
+ gzerr(0) << "Importer Error:" << this->importer.GetErrorString();
gzthrow("Unable to import mesh file[" << filename << "] using assimp");
}
Modified: code/gazebo/trunk/server/Entity.cc
===================================================================
--- code/gazebo/trunk/server/Entity.cc 2010-03-12 00:21:16 UTC (rev 8583)
+++ code/gazebo/trunk/server/Entity.cc 2010-03-12 02:05:17 UTC (rev 8584)
@@ -60,15 +60,19 @@
this->parent->AddChild(this);
if (Simulator::Instance()->GetRenderEngineEnabled())
+ {
this->visualNode = OgreCreator::Instance()->CreateVisual(
visname.str(), this->parent->GetVisualNode(), this);
+ }
this->SetStatic(parent->IsStatic());
}
else
{
if (Simulator::Instance()->GetRenderEngineEnabled())
+ {
this->visualNode = OgreCreator::Instance()->CreateVisual(
visname.str(), NULL, this );
+ }
}
}
@@ -81,8 +85,12 @@
World::Instance()->GetPhysicsEngine()->RemoveEntity(this);
if (Simulator::Instance()->GetRenderEngineEnabled())
+ {
if (this->visualNode)
+ {
OgreCreator::Instance()->DeleteVisual(this->visualNode);
+ }
+ }
this->visualNode = NULL;
}
Modified: code/gazebo/trunk/server/Factory.cc
===================================================================
--- code/gazebo/trunk/server/Factory.cc 2010-03-12 00:21:16 UTC (rev 8583)
+++ code/gazebo/trunk/server/Factory.cc 2010-03-12 02:05:17 UTC (rev 8584)
@@ -90,7 +90,6 @@
if (strcmp((const char*)this->factoryIface->data->newModel,"")!=0)
{
- //std::cout << " factory update: " << this->factoryIface->data->newModel
<< std::endl;
std::string xmlString;
std::string xmlMiddle = (const char*)(this->factoryIface->data->newModel);
Modified: code/gazebo/trunk/server/Model.cc
===================================================================
--- code/gazebo/trunk/server/Model.cc 2010-03-12 00:21:16 UTC (rev 8583)
+++ code/gazebo/trunk/server/Model.cc 2010-03-12 02:05:17 UTC (rev 8584)
@@ -102,6 +102,11 @@
JointContainer::iterator jiter;
std::map< std::string, Controller* >::iterator citer;
+ if (this->light)
+ {
+ OgreCreator::Instance()->DeleteLight(this->light);
+ }
+
if (this->graphicsHandler)
{
delete this->graphicsHandler;
@@ -146,8 +151,6 @@
this->myBodyNameP = NULL;
}
- if (this->light)
- OgreCreator::Instance()->DeleteLight(this->light);
}
////////////////////////////////////////////////////////////////////////////////
Modified: code/gazebo/trunk/server/gui/GLWindow.cc
===================================================================
--- code/gazebo/trunk/server/gui/GLWindow.cc 2010-03-12 00:21:16 UTC (rev
8583)
+++ code/gazebo/trunk/server/gui/GLWindow.cc 2010-03-12 02:05:17 UTC (rev
8584)
@@ -84,11 +84,12 @@
activeWin = this;
}
-
////////////////////////////////////////////////////////////////////////////////
// Destructor
GLWindow::~GLWindow()
{
+ if (this->userCamera)
+ delete this->userCamera;
}
////////////////////////////////////////////////////////////////////////////////
Modified: code/gazebo/trunk/server/physics/Body.cc
===================================================================
--- code/gazebo/trunk/server/physics/Body.cc 2010-03-12 00:21:16 UTC (rev
8583)
+++ code/gazebo/trunk/server/physics/Body.cc 2010-03-12 02:05:17 UTC (rev
8584)
@@ -92,6 +92,7 @@
this->iyzP = new ParamT<double>("iyz",0.0,0);
Param::End();
+
}
@@ -113,6 +114,7 @@
for (siter = this->sensors.begin(); siter != this->sensors.end(); siter++)
SensorManager::Instance()->RemoveSensor(*siter);
+
if (this->cgVisual)
{
OgreCreator::Instance()->DeleteVisual( this->cgVisual );
@@ -136,6 +138,10 @@
delete this->ixyP;
delete this->ixzP;
delete this->iyzP;
+
+ if (this->comEntity)
+ delete this->comEntity;
+ this->comEntity = NULL;
}
////////////////////////////////////////////////////////////////////////////////
Modified: code/gazebo/trunk/server/physics/PhysicsEngine.cc
===================================================================
--- code/gazebo/trunk/server/physics/PhysicsEngine.cc 2010-03-12 00:21:16 UTC
(rev 8583)
+++ code/gazebo/trunk/server/physics/PhysicsEngine.cc 2010-03-12 02:05:17 UTC
(rev 8584)
@@ -27,8 +27,8 @@
#include <boost/thread/recursive_mutex.hpp>
#include "World.hh"
+#include "OgreVisual.hh"
#include "OgreDynamicLines.hh"
-#include "OgreVisual.hh"
#include "OgreCreator.hh"
#include "Material.hh"
#include "Shape.hh"
Modified: code/gazebo/trunk/server/physics/bullet/BulletPhysics.cc
===================================================================
--- code/gazebo/trunk/server/physics/bullet/BulletPhysics.cc 2010-03-12
00:21:16 UTC (rev 8583)
+++ code/gazebo/trunk/server/physics/bullet/BulletPhysics.cc 2010-03-12
02:05:17 UTC (rev 8584)
@@ -86,8 +86,10 @@
delete this->collisionConfig;
delete this->dispatcher;
delete this->solver;
- delete this->dynamicsWorld;
+ // TODO: Fix this line
+ //delete this->dynamicsWorld;
+
this->broadPhase = NULL;
this->collisionConfig = NULL;
this->dispatcher = NULL;
Modified: code/gazebo/trunk/server/rendering/CameraManager.cc
===================================================================
--- code/gazebo/trunk/server/rendering/CameraManager.cc 2010-03-12 00:21:16 UTC
(rev 8583)
+++ code/gazebo/trunk/server/rendering/CameraManager.cc 2010-03-12 02:05:17 UTC
(rev 8584)
@@ -41,7 +41,7 @@
////////////////////////////////////////////////////////////////////////////////
// Destructor
CameraManager::~CameraManager()
-{}
+{ }
////////////////////////////////////////////////////////////////////////////////
/// Get instance of myself
Modified: code/gazebo/trunk/server/rendering/OgreCreator.cc
===================================================================
--- code/gazebo/trunk/server/rendering/OgreCreator.cc 2010-03-12 00:21:16 UTC
(rev 8583)
+++ code/gazebo/trunk/server/rendering/OgreCreator.cc 2010-03-12 02:05:17 UTC
(rev 8584)
@@ -129,6 +129,7 @@
{
if (*iter == light)
{
+ delete *iter;
this->lights.erase(iter);
break;
}
Modified: code/gazebo/trunk/server/rendering/OgreVisual.cc
===================================================================
--- code/gazebo/trunk/server/rendering/OgreVisual.cc 2010-03-12 00:21:16 UTC
(rev 8583)
+++ code/gazebo/trunk/server/rendering/OgreVisual.cc 2010-03-12 02:05:17 UTC
(rev 8584)
@@ -151,6 +151,7 @@
/// Destructor
OgreVisual::~OgreVisual()
{
+
delete this->mutex;
delete this->xyzP;
delete this->rpyP;
@@ -172,9 +173,13 @@
RTShaderSystem::Instance()->DetachEntity(this);
if (this->sceneNode)
+ {
OgreAdaptor::Instance()->sceneMgr->destroySceneNode(this->sceneNode);
+ }
if (this->boundingBoxNode)
+ {
OgreAdaptor::Instance()->sceneMgr->destroySceneNode(this->boundingBoxNode);
+ }
}
Modified: code/gazebo/trunk/server/rendering/UserCamera.cc
===================================================================
--- code/gazebo/trunk/server/rendering/UserCamera.cc 2010-03-12 00:21:16 UTC
(rev 8583)
+++ code/gazebo/trunk/server/rendering/UserCamera.cc 2010-03-12 02:05:17 UTC
(rev 8584)
@@ -67,7 +67,7 @@
{
if (this->visual)
{
- OgreCreator::Instance()->DeleteVisual( this->visual );
+ delete this->visual;
this->visual = NULL;
}
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit