Revision: 8887
          http://playerstage.svn.sourceforge.net/playerstage/?rev=8887&view=rev
Author:   hsujohnhsu
Date:     2010-09-10 02:39:49 +0000 (Fri, 10 Sep 2010)

Log Message:
-----------
removed renderOneFrame.  added GetLastRenderTime() which gives back sim time of 
last image rendering for each OgreCamera.  fixed render rate of 0 for 
OgreCamera.

Modified Paths:
--------------
    code/gazebo/trunk/server/rendering/OgreAdaptor.cc
    code/gazebo/trunk/server/rendering/OgreCamera.cc
    code/gazebo/trunk/server/rendering/OgreCamera.hh
    code/gazebo/trunk/server/rendering/UserCamera.cc

Modified: code/gazebo/trunk/server/rendering/OgreAdaptor.cc
===================================================================
--- code/gazebo/trunk/server/rendering/OgreAdaptor.cc   2010-09-10 01:38:31 UTC 
(rev 8886)
+++ code/gazebo/trunk/server/rendering/OgreAdaptor.cc   2010-09-10 02:39:49 UTC 
(rev 8887)
@@ -474,8 +474,6 @@
       (*iter)->Render();
   }
 
-  this->root->renderOneFrame();
-
   // Must update the user camera's last.
   for (iter = this->cameras.begin(); iter != this->cameras.end(); iter++)
   {

Modified: code/gazebo/trunk/server/rendering/OgreCamera.cc
===================================================================
--- code/gazebo/trunk/server/rendering/OgreCamera.cc    2010-09-10 01:38:31 UTC 
(rev 8886)
+++ code/gazebo/trunk/server/rendering/OgreCamera.cc    2010-09-10 02:39:49 UTC 
(rev 8887)
@@ -55,6 +55,7 @@
 OgreCamera::OgreCamera(const std::string &namePrefix)
 {
   this->name = "DefaultCameraName";
+  this->lastRenderTime = Simulator::Instance()->GetSimTime();
 
   this->animState = NULL;
   this->textureWidth = this->textureHeight = 0;
@@ -88,7 +89,11 @@
 
   this->camera = NULL;
 
-  this->renderPeriod = Time(1.0/(**this->updateRateP));
+  if (**this->updateRateP == 0)
+    this->renderPeriod = Time(0.0);
+  else
+    this->renderPeriod = Time(1.0/(**this->updateRateP));
+
   this->renderingEnabled = true;
 
   World::Instance()->ConnectShowWireframeSignal( 
boost::bind(&OgreCamera::ShowWireframe, this, _1) );
@@ -322,6 +327,7 @@
   {
     {
       //boost::recursive_mutex::scoped_lock 
md_lock(*Simulator::Instance()->GetMDMutex());
+      this->lastRenderTime = Simulator::Instance()->GetSimTime();
       this->renderTarget->update();
     }
 
@@ -1039,3 +1045,10 @@
 {
   this->viewController->HandleMouseEvent(evt);
 }
+
+////////////////////////////////////////////////////////////////////////////////
+/// Get the time of the last render update
+gazebo::Time OgreCamera::GetLastRenderTime() const
+{
+  return this->lastRenderTime;
+}

Modified: code/gazebo/trunk/server/rendering/OgreCamera.hh
===================================================================
--- code/gazebo/trunk/server/rendering/OgreCamera.hh    2010-09-10 01:38:31 UTC 
(rev 8886)
+++ code/gazebo/trunk/server/rendering/OgreCamera.hh    2010-09-10 02:39:49 UTC 
(rev 8887)
@@ -244,6 +244,9 @@
     /// \brief Hande a mouse event
     public: void HandleMouseEvent(const MouseEvent &evt);
 
+    /// \brief Get the time of the last render update
+    public: gazebo::Time GetLastRenderTime() const; 
+
     /// \brief if user requests bayer image, post process rgb from ogre to 
generate bayer formats
     private: void ConvertRGBToBAYER(unsigned char* dst, unsigned char* src, 
std::string format,int width, int height);
 
@@ -301,6 +304,9 @@
     private: Ogre::AnimationState *animState;
 
     private: ViewController *viewController;
+
+    protected: Time lastRenderTime;
+
   };
   
   /// \}

Modified: code/gazebo/trunk/server/rendering/UserCamera.cc
===================================================================
--- code/gazebo/trunk/server/rendering/UserCamera.cc    2010-09-10 01:38:31 UTC 
(rev 8886)
+++ code/gazebo/trunk/server/rendering/UserCamera.cc    2010-09-10 02:39:49 UTC 
(rev 8887)
@@ -189,6 +189,7 @@
   {
     boost::recursive_mutex::scoped_lock 
md_lock(*Simulator::Instance()->GetMDMutex());
     OgreCamera::UpdateCam();
+    this->window->update();
   }
 
   if (this->saveFramesP->GetValue())


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Automate Storage Tiering Simply
Optimize IT performance and efficiency through flexible, powerful, 
automated storage tiering capabilities. View this brief to learn how
you can reduce costs and improve performance. 
http://p.sf.net/sfu/dell-sfdev2dev
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to