Revision: 8555
          http://playerstage.svn.sourceforge.net/playerstage/?rev=8555&view=rev
Author:   hsujohnhsu
Date:     2010-02-17 22:13:05 +0000 (Wed, 17 Feb 2010)

Log Message:
-----------
support for x-less mode

Modified Paths:
--------------
    code/gazebo/trunk/server/physics/PhysicsEngine.cc

Modified: code/gazebo/trunk/server/physics/PhysicsEngine.cc
===================================================================
--- code/gazebo/trunk/server/physics/PhysicsEngine.cc   2010-02-17 22:06:44 UTC 
(rev 8554)
+++ code/gazebo/trunk/server/physics/PhysicsEngine.cc   2010-02-17 22:13:05 UTC 
(rev 8555)
@@ -33,6 +33,7 @@
 #include "Material.hh"
 #include "Shape.hh"
 #include "PhysicsEngine.hh"
+#include "Simulator.hh"  // disable X
 
 using namespace gazebo;
 
@@ -47,35 +48,38 @@
   Param::End();
 
   this->mutex = new boost::recursive_mutex();
-  this->visual = 
OgreCreator::Instance()->CreateVisual("Physics_Engine_Visual");
-  this->visual->SetVisible(false);
-  this->contactLines.resize(100);
+  if (Simulator::Instance()->GetRenderEngineEnabled())
+  {
+    this->visual = 
OgreCreator::Instance()->CreateVisual("Physics_Engine_Visual");
+    this->visual->SetVisible(false);
+    this->contactLines.resize(100);
 
-  Material *mat = new Material();
-  mat->SetName("ContactPointsMaterial");
-  mat->SetPointSize(10);
-  mat->SetAmbient(Color(1,1,0,1));
-  mat->SetDiffuse(Color(1,1,0,1));
-  mat->SetEmissive(Color(1,1,0,1));
-  std::string matName = OgreCreator::CreateMaterial(mat);
+    Material *mat = new Material();
+    mat->SetName("ContactPointsMaterial");
+    mat->SetPointSize(10);
+    mat->SetAmbient(Color(1,1,0,1));
+    mat->SetDiffuse(Color(1,1,0,1));
+    mat->SetEmissive(Color(1,1,0,1));
+    std::string matName = OgreCreator::CreateMaterial(mat);
 
-  unsigned int i=0;
-  for (this->contactLinesIter = this->contactLines.begin();
-       this->contactLinesIter != this->contactLines.end(); 
-       this->contactLinesIter++, i++)
-  {
-    (*this->contactLinesIter) = OgreCreator::Instance()->CreateDynamicLine(
-        OgreDynamicRenderable::OT_LINE_LIST);
-    (*this->contactLinesIter)->AddPoint(Vector3(0,0,0));
-    (*this->contactLinesIter)->AddPoint(Vector3(0,0,0));
-    (*this->contactLinesIter)->setMaterial(matName);
-    this->visual->AttachObject(*this->contactLinesIter);
-  }
+    unsigned int i=0;
+    for (this->contactLinesIter = this->contactLines.begin();
+         this->contactLinesIter != this->contactLines.end(); 
+         this->contactLinesIter++, i++)
+    {
+      (*this->contactLinesIter) = OgreCreator::Instance()->CreateDynamicLine(
+          OgreDynamicRenderable::OT_LINE_LIST);
+      (*this->contactLinesIter)->AddPoint(Vector3(0,0,0));
+      (*this->contactLinesIter)->AddPoint(Vector3(0,0,0));
+      (*this->contactLinesIter)->setMaterial(matName);
+      this->visual->AttachObject(*this->contactLinesIter);
+    }
 
-  World::Instance()->ConnectShowContactsSignal( 
boost::bind(&PhysicsEngine::ShowVisual, this, _1) );
+    World::Instance()->ConnectShowContactsSignal( 
boost::bind(&PhysicsEngine::ShowVisual, this, _1) );
 
-  this->contactLinesIter = this->contactLines.begin();
-  delete mat;
+    this->contactLinesIter = this->contactLines.begin();
+    delete mat;
+  }
 }
 
 
////////////////////////////////////////////////////////////////////////////////
@@ -168,6 +172,8 @@
 // Set whether to show contacts
 void PhysicsEngine::ShowVisual(bool show)
 {
+  if (!Simulator::Instance()->GetRenderEngineEnabled())
+    return;
   this->visual->SetVisible(show);
   if (show)
     this->contactLinesIter = this->contactLines.begin();


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
Playerstage-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to